community.aws.ec2_instance – Создание и управление экземплярами EC2
Примечание
Этот плагин является частью коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в playbook, укажите: community.aws.ec2_instance.
Новое в версии 1.0.0: of community.aws
Описание
- Создание и управление экземплярами AWS EC2.
- Примечание: Этот модуль не поддерживает создание EC2 Spot-экземпляров. Модуль amazon.aws.ec2 может создавать и управлять Spot-экземплярами.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| availability_zone строка | Укажите зону доступности для использования подсети по умолчанию. Полезно, если не указан параметр vpc_subnet_id. Если не указана подсеть, ENI или зона доступности, будет использоваться подсеть по умолчанию в VPC по умолчанию в первой зоне доступности (в алфавитном порядке). | ||
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное использование параметров aws_access_key и profile устарело и будет сделано взаимоисключающим после 2022-06-01. Псевдонимы: ec2_access_key, access_key | ||
| aws_ca_bundle путь | Расположение файла CA-сертификатов для проверки SSL-сертификатов. Используется только для модулей на основе boto3. Примечание: CA-сертификаты читаются со стороны модуля и, возможно, должны быть явно скопированы из контроллера, если модуль не запущен локально. | ||
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для дополнительной конфигурации boto. | ||
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное использование параметров aws_secret_key и profile устарело и будет сделано взаимоисключающим после 2022-06-01. Псевдонимы: ec2_secret_key, secret_key | ||
| cpu_credit_specification строка |
| Для экземпляров серии T выберите, разрешить ли увеличение платы за CPU-кредиты, если резервный пул исчерпан. Выберите unlimited, чтобы разрешить покупку дополнительных CPU-кредитов. | |
| cpu_options словарь | Уменьшите количество доступных виртуальных ядер процессора для экземпляра. Эти параметры могут быть заданы только при запуске экземпляра. Два подпараметра threads_per_core и core_count являются обязательными. См. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html для доступных комбинаций. Требуется botocore >= 1.10.16 | ||
| core_count целое число / обязательно | Установите количество ядер для активации. | ||
| threads_per_core целое число / обязательно |
| Выберите количество потоков на ядро для активации. Отключить или включить Intel HT. | |
| debug_botocore_endpoint_logs булево |
| Используйте логирования botocore.endpoint для анализа уникальных (а не общих) API-вызовов «resource:action», сделанных во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в полный список, созданный во время выполнения книги задач. Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. | |
| detailed_monitoring булево |
| Разрешить сбор подробных метрик cloudwatch, что позволит получить более подробные оповещения. | |
| ebs_optimized булево |
| Использовать ли оптимизированные тома EBS, см. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html. | |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть. Псевдонимы: aws_endpoint_url, endpoint_url | ||
| filters словарь | Словарь фильтров, применяемых при определении, соответствуют ли существующие экземпляры критериям и должны ли быть изменены. Каждый элемент словаря содержит ключ фильтра и значение фильтра. См. https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html для возможных фильтров. Названия и значения фильтров чувствительны к регистру. По умолчанию экземпляры фильтруются по тегу "Name", базовому AMI, состоянию (рабочему по умолчанию) и ID подсети. Можно использовать любые запросы фильтров. Хорошими кандидатами являются специфические теги, SSH-ключи или группы безопасности. | ||
| image словарь | Изображение для использования в экземпляре. Модуль amazon.aws.ec2_ami_info может быть использован для получения изображений. Один из параметров image или image_id требуется, когда экземпляр ещё не существует. | ||
| id строка | ID AMI. | ||
| kernel строка | строка AKI для переопределения ядра AMI. | ||
| ramdisk строка | Переопределяет значение ID системного диска по умолчанию AMI. | ||
| image_id строка |
ami ID для использования в экземпляре. Один из параметров image или image_id требуется, когда экземпляр ещё не существует. Это псевдоним для image.id. | ||
| instance_ids список / элементы=строка | Если вы укажете один или несколько идентификаторов экземпляров, будут возвращены только экземпляры с указанными идентификаторами. | ||
| instance_initiated_shutdown_behavior строка |
| Определяет, будет ли экземпляр остановлен или удалён при выключении. | |
| instance_role строка | ARN или имя EC2-совместимой роли экземпляра. Если имя не предоставлено в формате arn, то разрешение ListInstanceProfiles также должно быть предоставлено. https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListInstanceProfiles.html Если не предоставлен полный ARN, то роль с соответствующим именем будет использоваться из активной учетной записи AWS. | ||
| instance_type строка | По умолчанию: "t2.micro" | Тип экземпляра для использования в экземпляре, см. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Требуется только при создании экземпляра. | |
| key_name строка | Имя SSH-ключа для назначения экземпляру - ключ должен существовать в регионе, где создается экземпляр. | ||
| launch_template словарь | Шаблон запуска EC2 для настройки экземпляра. | ||
| id строка | Идентификатор шаблона запуска (необязательно, если указано имя). | ||
| name строка | Красивое имя шаблона запуска (необязательно, если указан идентификатор). | ||
| version строка | Конкретная версия шаблона запуска. Если не указано, используется версия по умолчанию шаблона. | ||
| name строка | Тег имени для экземпляра. | ||
| network словарь | Словарь с ключом 'interfaces', содержащим список идентификаторов сетевых интерфейсов, или указание для одного сетевого интерфейса. Используйте модуль amazon.aws.ec2_eni для создания сетевых интерфейсов со специальными настройками. | ||
| assign_public_ip булево |
| Если true, назначает публичный IP-адрес интерфейсу | |
| delete_on_termination булево |
| Удалить интерфейс при завершении работы экземпляра, к которому он прикреплен. | |
| description строка | Описание сетевого интерфейса | ||
| device_index целое число | Индекс интерфейса для изменения | ||
| groups list / elements=string | список идентификаторов групп безопасности для подключения к интерфейсу | ||
| interfaces list / elements=string | список идентификаторов ENI (строки) или список объектов, содержащих ключ id. | ||
| ipv6_addresses list / elements=string | список адресов IPv6 для назначения сетевому интерфейсу | ||
| private_ip_address string | адрес IPv4 для назначения интерфейсу | ||
| private_ip_addresses list / elements=string | список адресов IPv4 для назначения сетевому интерфейсу | ||
| source_dest_check boolean |
| управляет включением проверки источника/назначения на интерфейсе | |
| subnet_id string | подсеть для подключения сетевого интерфейса | ||
| placement_group string | Группа размещения, которая должна быть назначена экземпляру | ||
| profile string | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределяет aws_access_key, aws_secret_key и security_token, и поддержка их передачи одновременно с profile устарела.
aws_access_key, aws_secret_key и security_token будут сделаны взаимоисключающими с profile после 2022-06-01. псевдонимы: aws_profile | ||
| purge_tags boolean |
| Удалить любые теги, не указанные в задаче, которые есть на экземпляре. Это означает, что вам необходимо указывать все желаемые теги в каждой задаче, влияющей на экземпляр. | |
| region string | AWS регион для использования. Если не указано, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковая имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | ||
| security_group string | Идентификатор или имя группы безопасности. Взаимоисключающее с security_groups. | ||
| security_groups list / elements=string | Список идентификаторов или имён (строк) групп безопасности. Взаимоисключающее с security_group. | ||
| security_token string | AWS STS security token. Если не задано, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задано profile, этот параметр игнорируется. Передача параметров security_token и profile одновременно устарела и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: aws_security_token, access_token | ||
| state string |
| Целевое состояние для экземпляров. | |
| tags dictionary | Хэш/словарь тегов для добавления к новому экземпляру или для добавления/удаления из существующего. | ||
| tenancy string |
| Тип аренды, который должен использовать экземпляр. По умолчанию — общая аренда. Аренда с выделенными ресурсами повлечёт дополнительные расходы. | |
| termination_protection boolean |
| Включить защиту от удаления. Данный модуль не удалит экземпляр с активной защитой от удаления, её необходимо отключить предварительно. | |
| tower_callback dictionary | Настроенные данные пользователя для выполнения обратного вызова Tower (только Linux). Взаимоисключающее с user_data. Для экземпляров Windows, чтобы включить удалённый доступ через Ansible, установите tower_callback.windows в значение true, и, необязательно, задайте пароль администратора. Если используется 'windows' и 'set_password', обратный вызов Tower не будет выполнен, но экземпляр будет готов к получению winrm подключений от Ansible. | ||
| host_config_key string | Секретный ключ конфигурации хоста, сгенерированный шаблоном задачи Tower. | ||
| job_template_id string | Либо целочисленный ID шаблона задачи Tower, либо имя (имя поддерживается только для Tower 3.2+). | ||
| tower_address string | IP-адрес или имя DNS сервера Tower. Должен быть доступен по этому адресу из VPC, в котором будет запущен этот экземпляр. | ||
| user_data string | Неструктурированные данные, которые доступны экземпляру ec2 | ||
| validate_certs boolean |
| При значении "no", сертификаты SSL не будут проверяться для версий boto >= 2.6.0. | |
| volumes list / elements=dictionary | Список отображений блочных устройств, по умолчанию всегда используется корневой диск AMI, поэтому параметр volumes, главным образом, для добавления дополнительного хранилища. Карта содержит (необязательные) ключи device_name, virtual_name, ebs.volume_type, ebs.volume_size, ebs.kms_key_id, ebs.iops и ebs.delete_on_termination. Дополнительная информация о каждом параметре находится по адресу https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html. | ||
| vpc_subnet_id string | Идентификатор подсети в VPC, в которой необходимо запустить экземпляр. Если не указано, community.aws.ec2_instance выберет зону по умолчанию из VPC по умолчанию. псевдонимы: subnet_id | ||
| wait boolean |
| Ожидать или нет желаемого состояния (использовать wait_timeout для настройки этого). | |
| wait_timeout integer | По умолчанию: 600 | Сколько времени ждать (в секундах) пока экземпляр закончит загрузку/удаление. | |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION,AWS_CA_BUNDLE - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания AWS региона, когда это необходимо, но это также можно настроить в файле конфигурации boto
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Terminate every running instance in a region. Use with EXTREME caution.
community.aws.ec2_instance:
state: absent
filters:
instance-state-name: running
- name: restart a particular instance by its ID
community.aws.ec2_instance:
state: restarted
instance_ids:
- i-12345678
- name: start an instance with a public IP address
community.aws.ec2_instance:
name: "public-compute-instance"
key_name: "prod-ssh-key"
vpc_subnet_id: subnet-5ca1ab1e
instance_type: c5.large
security_group: default
network:
assign_public_ip: true
image_id: ami-123456
tags:
Environment: Testing
- name: start an instance and Add EBS
community.aws.ec2_instance:
name: "public-withebs-instance"
vpc_subnet_id: subnet-5ca1ab1e
instance_type: t2.micro
key_name: "prod-ssh-key"
security_group: default
volumes:
- device_name: /dev/sda1
ebs:
volume_size: 16
delete_on_termination: true
- name: start an instance with a cpu_options
community.aws.ec2_instance:
name: "public-cpuoption-instance"
vpc_subnet_id: subnet-5ca1ab1e
tags:
Environment: Testing
instance_type: c4.large
volumes:
- device_name: /dev/sda1
ebs:
delete_on_termination: true
cpu_options:
core_count: 1
threads_per_core: 1
- name: start an instance and have it begin a Tower callback on boot
community.aws.ec2_instance:
name: "tower-callback-test"
key_name: "prod-ssh-key"
vpc_subnet_id: subnet-5ca1ab1e
security_group: default
tower_callback:
# IP or hostname of tower server
tower_address: 1.2.3.4
job_template_id: 876
host_config_key: '[secret config key goes here]'
network:
assign_public_ip: true
image_id: ami-123456
cpu_credit_specification: unlimited
tags:
SomeThing: "A value"
- name: start an instance with ENI (An existing ENI ID is required)
community.aws.ec2_instance:
name: "public-eni-instance"
key_name: "prod-ssh-key"
vpc_subnet_id: subnet-5ca1ab1e
network:
interfaces:
- id: "eni-12345"
tags:
Env: "eni_on"
volumes:
- device_name: /dev/sda1
ebs:
delete_on_termination: true
instance_type: t2.micro
image_id: ami-123456
- name: add second ENI interface
community.aws.ec2_instance:
name: "public-eni-instance"
network:
interfaces:
- id: "eni-12345"
- id: "eni-67890"
image_id: ami-123456
tags:
Env: "eni_on"
instance_type: t2.micro
Значения возврата
Общие значения возврата документированы здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание | ||||
|---|---|---|---|---|---|---|
| instances сложный | когда wait == true | список ec2-инстансов | ||||
| ami_launch_index целое число | всегда | Индекс запуска AMI, который можно использовать для поиска этого экземпляра в группе запуска. | ||||
| architecture строка | всегда | Архитектура образа Пример: x86_64 | ||||
| block_device_mappings сложный | всегда | Любые записи сопоставления блочных устройств для экземпляра. | ||||
| device_name строка | всегда | Имя устройства, доступное экземпляру (например, /dev/sdh или xvdh). Пример: /dev/sdh | ||||
| ebs сложный | всегда | Параметры, используемые для автоматической настройки томов EBS при запуске экземпляра. | ||||
| attach_time строка | всегда | Отметка времени, когда началась привязка. Пример: 2017-03-23T22:51:24+00:00 | ||||
| delete_on_termination булево | всегда | Указывает, будет ли том удалён при завершении работы экземпляра. Пример: True | ||||
| status строка | всегда | Состояние привязки. Пример: attached | ||||
| volume_id строка | всегда | Идентификатор тома EBS Пример: vol-12345678 | ||||
| client_token строка | всегда | Токен идемпотенции, который вы предоставили при запуске экземпляра, если применимо. Пример: mytoken | ||||
| ebs_optimized булево | всегда | Указывает, оптимизирован ли экземпляр для ввода-вывода EBS. | ||||
| hypervisor строка | всегда | Тип гипервизора экземпляра. Пример: xen | ||||
| iam_instance_profile сложный | всегда | Профиль экземпляра IAM, связанный с экземпляром, если применимо. | ||||
| arn строка | всегда | Amazon Resource Name (ARN) профиля экземпляра. Пример: arn:aws:iam::000012345678:instance-profile/myprofile | ||||
| id строка | всегда | Идентификатор профиля экземпляра Пример: JFJ397FDG400FG9FD1N | ||||
| image_id строка | всегда | Идентификатор AMI, используемого для запуска экземпляра. Пример: ami-0011223344 | ||||
| instance_id строка | всегда | Идентификатор экземпляра. Пример: i-012345678 | ||||
| instance_type строка | всегда | Размер типа экземпляра работающего экземпляра. Пример: t2.micro | ||||
| key_name строка | всегда | Имя пары ключей, если этот экземпляр был запущен с связанной парой ключей. Пример: my-key | ||||
| launch_time строка | всегда | Время запуска экземпляра. Пример: 2017-03-23T22:51:24+00:00 | ||||
| monitoring сложный | всегда | Мониторинг экземпляра. | ||||
| state строка | всегда | Указывает, включен ли подробный мониторинг. В противном случае включен базовый мониторинг. Пример: disabled | ||||
| network.source_dest_check булево | всегда | Указывает, включена ли проверка источника/назначения. Пример: True | ||||
| network_interfaces сложный | всегда | Один или несколько сетевых интерфейсов для экземпляра. | ||||
| association сложный | всегда | Информация о связи с Elastic IPv4, связанной с сетевым интерфейсом. | ||||
| ip_owner_id строка | всегда | Идентификатор владельца адреса Elastic IP. Пример: amazon | ||||
| public_dns_name строка | всегда | Общедоступное имя DNS. | ||||
| public_ip строка | всегда | Общедоступный IP-адрес или Elastic IP-адрес, привязанный к сетевому интерфейсу. Пример: 1.2.3.4 | ||||
| attachment сложный | всегда | Прикрепление сетевого интерфейса. | ||||
| attach_time строка | всегда | Отметка времени, когда началась привязка. Пример: 2017-03-23T22:51:24+00:00 | ||||
| attachment_id строка | всегда | Идентификатор прикрепления сетевого интерфейса. Пример: eni-attach-3aff3f | ||||
| delete_on_termination булево | всегда | Указывает, будет ли сетевой интерфейс удалён при завершении работы экземпляра. Пример: True | ||||
| device_index целое число | всегда | Индекс устройства на экземпляре для прикрепления сетевого интерфейса. | ||||
| status строка | всегда | Состояние привязки. Пример: attached | ||||
| description строка | всегда | Описание. Пример: Мой интерфейс | ||||
| groups список / элементы=словарь | всегда | Один или несколько наборов правил безопасности. | ||||
| group_id строка | всегда | Идентификатор набора правил безопасности. Пример: sg-abcdef12 | ||||
| group_name строка | всегда | Имя набора правил безопасности. Пример: mygroup | ||||
| ipv6_addresses список / элементы=словарь | всегда | Один или несколько адресов IPv6, связанных с сетевым интерфейсом. | ||||
| ipv6_address строка | всегда | Адрес IPv6. Пример: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 | ||||
| mac_address string | always | MAC-адрес. Пример: 00:11:22:33:44:55 | ||||
| network_interface_id string | always | Идентификатор сетевого интерфейса. Пример: eni-01234567 | ||||
| owner_id string | always | Идентификатор учётной записи AWS владельца сетевого интерфейса. Пример: 01234567890 | ||||
| private_ip_address string | always | IP-адрес IPv4 сетевого интерфейса в подсети. Пример: 10.0.0.1 | ||||
| private_ip_addresses list / elements=dictionary | always | Приватные IP-адреса IPv4, связанные с сетевым интерфейсом. | ||||
| association complex | always | Информация об ассоциации с адресом Elastic IP (IPv4), связанным с сетевым интерфейсом. | ||||
| ip_owner_id string | always | Идентификатор владельца адреса Elastic IP. Пример: amazon | ||||
| public_dns_name string | always | Публичное DNS-имя. | ||||
| public_ip string | always | Публичный IP-адрес или адрес Elastic IP, привязанный к сетевому интерфейсу. Пример: 1.2.3.4 | ||||
| primary boolean | always | Указывает, является ли этот IP-адрес IPv4 основным приватным IP-адресом сетевого интерфейса. Пример: True | ||||
| private_ip_address string | always | Приватный IPv4-адрес сетевого интерфейса. Пример: 10.0.0.1 | ||||
| source_dest_check boolean | always | Указывает, включена ли проверка источника/назначения. Пример: True | ||||
| status string | always | Статус сетевого интерфейса. Пример: in-use | ||||
| subnet_id string | always | Идентификатор подсети для сетевого интерфейса. Пример: subnet-0123456 | ||||
| vpc_id string | always | Идентификатор VPC для сетевого интерфейса. Пример: vpc-0123456 | ||||
| placement complex | always | Расположение, где был запущен экземпляр, если применимо. | ||||
| availability_zone string | always | Зона доступности экземпляра. Пример: ap-southeast-2a | ||||
| group_name string | always | Имя группы размещения, в которой находится экземпляр (для кластерных вычислительных экземпляров). | ||||
| tenancy string | always | Тип аренды экземпляра (если экземпляр работает в VPC). Пример: default | ||||
| private_dns_name string | always | Приватное DNS-имя. Пример: ip-10-0-0-1.ap-southeast-2.compute.internal | ||||
| private_ip_address string | always | IPv4-адрес сетевого интерфейса в подсети. Пример: 10.0.0.1 | ||||
| product_codes list / elements=dictionary | always | Один или несколько кодов продукта. | ||||
| product_code_id string | always | Код продукта. Пример: aw0evgkw8ef3n2498gndfgasdfsd5cce | ||||
| product_code_type string | always | Тип кода продукта. Пример: marketplace | ||||
| public_dns_name string | always | Публичное DNS-имя, назначенное экземпляру. | ||||
| public_ip_address string | always | Публичный IPv4-адрес, назначенный экземпляру. Пример: 52.0.0.1 | ||||
| root_device_name string | always | Имя устройства корневого устройства. Пример: /dev/sda1 | ||||
| root_device_type string | always | Тип корневого устройства, используемого AMI. Пример: ebs | ||||
| security_groups list / elements=dictionary | always | Один или несколько профилей безопасности для экземпляра. | ||||
| group_id string | always | Идентификатор профиля безопасности. Пример: sg-0123456 | ||||
| group_name string | always | Имя профиля безопасности. Пример: my-security-group | ||||
| state complex | always | Текущее состояние экземпляра. | ||||
| code integer | always | Нижние биты представляют состояние. Пример: 16 | ||||
| name string | always | Имя состояния. Пример: running | ||||
| state_transition_reason string | always | Причина последнего перехода состояния. | ||||
| subnet_id string | always | Идентификатор подсети, в которой работает экземпляр. Пример: subnet-00abcdef | ||||
| tags dictionary | always | Все метки, назначенные экземпляру. | ||||
| virtualization_type string | always | Тип виртуализации AMI. Пример: hvm | ||||
| vpc_id dictionary | always | Идентификатор VPC, в котором находится экземпляр. Пример: vpc-0011223344 | ||||
Авторы
- Ryan Scott Brown (@ryansb)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/ec2_instance_module.html