如何使用 OCI CLI 以 json 格式编写复杂类型?

How to write complex type in json format using OCI CLI?

我尝试在 oci cli 中更新计算实例,但命令如下:

oci compute instance update --instance-id=ocid1.instance.oc1.eu-frankfurt-1.aaaaaa... --defined-tags '{"data":{"launch-options":{"firmware":"UEFI_64"}}}'

导致此错误:

ServiceError: { "code": "Bad Request", "message": "Tag values must be strings", "opc-request-id": "7B645B7F3D3F4047BE04E39DD6F4CCCA/8904CFD298C5E9F34AF032AF079EB84A/F627F1D27D0DF095A32C89C4701554F1", "status": 400 }

我应该如何正确设置标签值的格式?

目前,字符串是定义标签唯一支持的数据类型: https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/taggingoverview.htm#Defined

所以你只能这样做: --defined-tags '{"tag_name_1": "tag_value_1"}'

在我根据@user3291073 的输入做了一些进一步的测试后,我找到了正确的解决方案: 首先你必须创建一个标签命名空间和标签键定义,然后你必须在 cli --defined-tags 选项中引用现有的标签命名空间和标签键定义。因此,对于我之前的示例,这将适用于具有固件标签键定义的现有启动选项标签命名空间:

oci compute instance update --instance-id=ocid1.instance.oc1.eu-frankfurt-1.aaaaaa... --defined-tags '{"launch-options":{"firmware":"UEFI_64"}}'