如何使用 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"}}'
我尝试在 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"}}'