невозможно пометить ресурсы ec2 boto3 python - PullRequest
0 голосов
/ 29 января 2019

Я бы хотел пометить хост, на котором я работаю, используя boto3 python api

response = client.allocate_hosts(
AutoPlacement='on'|'off',
AvailabilityZone='string',
ClientToken='string',
InstanceType='string',
Quantity=123,
TagSpecifications=[
    {
        'ResourceType': 'dedicated-host',
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ]
    },
])

Вот что я делаю

Зона доступности, Тип экземпляра, Количество параметризуются иЯ использую словарь для ввода данных

            count = 10
            input_dict = {}
            input_dict['AvailabilityZone'] = 'us-east-1a'
            input_dict['InstanceType'] = 'c5.large'
            input_dict['Quantity'] = int(count)
            instance = client.allocate_hosts(**input_dict,)
            print(str(instance))

Этот код работает для меня, но мне нужно пометить ресурс тоже

TagSpecifications=[
    {
        'ResourceType': 'customer-gateway'|'dedicated-host'|'dhcp-options'|'elastic-ip'|'fleet'|'fpga-image'|'image'|'instance'|'internet-gateway'|'launch-template'|'natgateway'|'network-acl'|'network-interface'|'reserved-instances'|'route-table'|'security-group'|'snapshot'|'spot-instances-request'|'subnet'|'transit-gateway'|'transit-gateway-attachment'|'transit-gateway-route-table'|'volume'|'vpc'|'vpc-peering-connection'|'vpn-connection'|'vpn-gateway',
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ]
    },
]

как я могу ввести это в словарь .. Кажется, чтоу спецификации тега есть словарь внутри dict. Я делаю синтаксические ошибки.Я попробовал приведенный ниже код без успеха.

 input_dict['TagSpecifications'] = [{'ResourceType':'dedicated-host','Tags':[{'key':'Name','Value':'demo'},]},]

1 Ответ

0 голосов
/ 29 января 2019

Самый простой способ - просто передать значения напрямую:

response = client.allocate_hosts(
    AvailabilityZone='us-east-1a',
    InstanceType='c5.large',
    Quantity=10,
    TagSpecifications=[
        {
            'ResourceType': 'dedicated-host',
            'Tags': [
                {
                    'Key': 'Name',
                    'Value': 'Demo'
                }
            ]
        }
    ])
...