Как написать сложный тип в формате JSON с помощью 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": "Неверный запрос", "message": "Значения тега должны быть строками", "opc-request-id": "7B645B7F3D3F4047BE04E39DD6F4CCCA/8904CFD298C5E9F34AF032AF079EB84A/F627FF4010F095011011015015015015015011015011015011015011015
Как правильно отформатировать значение моего тега?
2 ответа
После того, как я провел некоторые дополнительные тесты, основанные на вводе @user3291073, я нашел правильное решение: сначала вы должны создать пространство имен тегов и определение ключа тега, а затем обратиться к существующему пространству имен тегов и определению ключа тега в Опция -defined-tags. Так что для моего предыдущего примера это будет работать с существующим пространством имен тегов launch-options с определением ключа тега firmware:
oci compute instance update --instance-id=ocid1.instance.oc1.eu-frankfurt-1.aaaaaa... --defined-tags '{"launch-options":{"firmware":"UEFI_64"}}'
В настоящее время строки являются единственным поддерживаемым типом данных для определенных тегов: https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/taggingoverview.htm
Таким образом, вы можете сделать только что-то вроде:--defined-tags '{"tag_name_1": "tag_value_1"}'