У меня возникла странная проблема с использованием инструментов AWS CLI (модуль awscli python awscli-1.11.136, awscli-1.11.177). При вызове действия run-instance с --cli-input-json аргумент, экземпляр не помечен тегом имени, который я указываю при вызове. Пример звонка: aws ec2 run-instances --cli-input-json file://test-1c.json
.
В test-1c.json содержит следующие Тег Технические характеристики:
"TagSpecifications": [
{
"ResourceType": "instance",
"Tags": [
{
"Key": "Name",
"Value": "test-1c"
}
],
"ResourceType": "volume",
"Tags": [
{
"Key": "Name",
"Value": "test-1c"
}
]
}
]
Том правильно помечен указанным название тег, а экземпляр - нет.
При вызове того же самого с использованием аргументов командной строки он работает правильно:
aws ec2 run-instances \
--image-id ami-123456 \
--instance-type t2.micro \
--placement AvailabilityZone=eu-central-1b \
--security-group-ids sg-123456 \
--subnet-id subnet-123456 \
--private-ip-address 172.31.0.1 \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=test-1c}]' 'ResourceType=volume,Tags=[{Key=name,Value=test-1c}]'{code}
Есть ли ошибка в функциональности модуля awscli python run-instance JSON или я что-то делаю не так?
Заранее благодарю за любую помощь!
Проблема с вашей структурой JSON.
Ваш TagSpecifications
В массиве есть только один объект тега. У этого одного объекта 2 ResourceType
и 2 Tags
свойства, 2-е из которых (для объема) перекрывает 1-е (для экземпляра). Это причина неудачи.
Добавить недостающий },{
в вашу структуру до "ResourceType": "volume",
Такие как
"TagSpecifications": [
{
"ResourceType": "instance",
"Tags": [
{
"Key": "Name",
"Value": "test-1c"
}
],
},
{
"ResourceType": "volume",
"Tags": [
{
"Key": "Name",
"Value": "test-1c"
}
]
}
]