amazon.aws.ec2_ami модуль — Создание или удаление образа (AMI) в EC2
Примечание
Этот модуль входит в коллекцию amazon.aws (версия 8.2.1).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.
Чтобы использовать его в книге задач, укажите: amazon.aws.ec2_ami.
Новая версия в amazon.aws 1.0.0
Описание
- Регистрирует или удаляет образы EC2.
Требования
Ниже перечислены требования, которые должны быть выполнены на хосте, на котором выполняется данный модуль.
- python >= 3.6
- boto3 >= 1.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
access_key aliases: aws_access_key_id, aws_access_key, ec2_access_key string | Идентификатор ключа доступа AWS. См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Переменные среды Параметры aws_access_key и profile являются взаимоисключающими. Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с AWS botocore SDK. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
architecture string | Целевая архитектура регистрируемого образа. По умолчанию: |
aws_ca_bundle path | Расположение пакета CA, используемого при проверке SSL-сертификатов. Переменная среды |
aws_config dictionary | Словарь для изменения конфигурации botocore. Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
billing_products list / elements=string | Список допустимых кодов биллинга. Для использования с действительными учетными записями поставщиками AWS Marketplace. |
boot_mode string добавлено в amazon.aws 5.5.0 | Режим загрузки AMI. См. документацию AWS для получения дополнительной информации https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html. Поддержка Варианты:
|
debug_botocore_endpoint_logs boolean | Использовать Переменная среды Варианты:
|
delete_snapshot boolean | Удалять снимки при отмене регистрации AMI. Варианты:
|
description string | Читаемая строка, описывающая содержимое и назначение AMI. По умолчанию: |
device_mapping list / elements=dictionary | Список хэшей/словарях устройств с пользовательскими конфигурациями (те же параметры block-device-mapping). |
|
delete_on_termination boolean |
Следует ли автоматически удалять устройство при завершении работы экземпляра. Варианты:
|
|
device_name string / required |
Имя устройства. Например |
|
encrypted boolean |
Следует ли шифровать том. Варианты:
|
|
iops integer |
При использовании |
|
no_device boolean |
Подавляет указанное устройство, включенное в сопоставление блочных устройств AMI. Варианты:
|
|
snapshot_id string |
Идентификатор снимка. |
|
virtual_name string |
Виртуальное имя устройства. См. документацию AWS для получения дополнительной информации https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html. |
|
volume_size aliases: size целое число |
Размер тома (в ГБ). |
|
volume_type строка |
Тип тома. По умолчанию |
endpoint_url aliases: ec2_url, aws_endpoint_url, s3_url строка | URL для подключения вместо стандартных конечных точек AWS. Хотя это может быть использовано для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws протестированы только с AWS. Также могут быть использованы переменные среды Алиасы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной среды |
enhanced_networking логический тип | Логическое значение, указывающее, включено ли расширенное сетевое взаимодействие с ENA. Варианты:
|
image_id строка | Идентификатор образа для отмены регистрации. |
image_location строка | Расположение образа в S3, используемого для AMI. |
instance_id строка | Идентификатор экземпляра для создания AMI. |
kernel_id строка | Идентификатор целевого ядра образа для регистрации. |
launch_permissions словарь | Права запуска для AMI. Вы должны передать все необходимые права запуска, если хотите изменить существующие права запуска (передача только групп приведет к удалению всех пользователей). |
|
group_names список / элементы=строка |
Список имён групп. |
|
org_arns список / элементы=строка добавлен в amazon.aws 6.5.0 |
Список Имен Ресурсов Amazon (ARN) организации(й). |
|
org_unit_arns список / элементы=строка добавлен в amazon.aws 6.5.0 |
Список Имен Ресурсов Amazon (ARN) организационных подразделений (OU). |
|
user_ids список / элементы=строка |
Список идентификаторов учётных записей. |
name строка | Название нового AMI. |
no_reboot логический тип | Флаг, указывающий, что процесс сборки не должен пытаться выключить экземпляр до сборки. Если этот флаг Варианты:
|
profile aliases: aws_profile строка | Используемый профиль AWS для аутентификации. Дополнительную информацию о профилях см. в документации AWS https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также может использоваться переменная среды Параметр profile несовместим с параметрами aws_access_key, aws_secret_key и security_token. |
purge_tags логический тип | Если purge_tags=true и tags заданы, существующие метки будут очищены, чтобы точно соответствовать параметру tags. Если параметр tags не задан, метки не будут изменены, даже если purge_tags=True. Ключи меток, начинающиеся с Варианты:
|
ramdisk_id строка | Идентификатор RAM-диска. |
region aliases: aws_region, ec2_region string | Регион AWS для использования. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, region игнорируется. Переменные окружения См. документацию Amazon AWS для получения дополнительной информации http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Псевдоним Поддержка переменной окружения |
root_device_name string | Имя корневого устройства образа для регистрации. |
secret_key aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key string | Секретный ключ доступа AWS. См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Переменные окружения Параметры secret_key и profile являются взаимоисключающими. Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для согласованности с AWS botocore SDK. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной окружения |
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | Токен сессии AWS STS для использования с временными учетными данными. См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Переменные окружения Параметры security_token и profile являются взаимоисключающими. Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0. Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01. Поддержка переменных окружения |
sriov_net_support string | Установите значение simple, чтобы включить расширенную работу в сети с интерфейсом Intel 82599 Virtual Function для AMI и любых экземпляров, которые вы запускаете из AMI. |
state string | Зарегистрировать или отменить регистрацию AMI. Варианты:
|
tags aliases: resource_tags dictionary | Словарь, представляющий теги, которые необходимо применить к ресурсу. Если параметр tags не задан, теги не будут изменены. |
tpm_support string добавлено в amazon.aws 5.5.0 | Установите значение Если образ настроен для поддержки NitroTPM, значение равно Требуется, чтобы Требуется тип экземпляра, совместимый с Nitro. См. документацию AWS для получения дополнительной информации https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html. |
uefi_data string добавлено в amazon.aws 5.5.0 | Представление Base64 хранилища непостоянных переменных UEFI. См. документацию AWS для получения дополнительной информации https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/uefi-secure-boot.html. |
validate_certs boolean | Если установлено значение Установка validate_certs=false настоятельно не рекомендуется, в качестве альтернативы рассмотрите возможность установки aws_ca_bundle вместо этого. Варианты:
|
virtualization_type string | Тип виртуализации образа для регистрации. По умолчанию: |
wait boolean | Дождитесь, пока AMI не перейдет в состояние «доступно», прежде чем возвращать. Варианты:
|
wait_timeout integer | Сколько времени ждать, прежде чем ожидание завершится, в секундах. По умолчанию: |
Примечания
Примечание
- Внимание: Для модулей переменные окружения и конфигурационные файлы считываются из контекста Ansible «хост», а не из контекста «контроллер». Следовательно, файлы могут потребоваться явно скопировать на «хост». Для плагинов поиска и подключения переменные окружения и конфигурационные файлы считываются из контекста Ansible «контроллер», а не из контекста «хост».
- AWS SDK (boto3), используемый Ansible, также может считывать значения по умолчанию для учетных данных и других настроек, таких как регион, из его конфигурационных файлов в контексте Ansible «хост» (обычно
~/.aws/credentials). См. https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html для получения дополнительной информации.
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Basic AMI Creation
amazon.aws.ec2_ami:
instance_id: i-xxxxxx
wait: true
name: newtest
tags:
Name: newtest
Service: TestService
- name: Basic AMI Creation, without waiting
amazon.aws.ec2_ami:
instance_id: i-xxxxxx
wait: false
name: newtest
- name: AMI Registration from EBS Snapshot
amazon.aws.ec2_ami:
name: newtest
state: present
architecture: x86_64
virtualization_type: hvm
root_device_name: /dev/xvda
device_mapping:
- device_name: /dev/xvda
volume_size: 8
snapshot_id: snap-xxxxxxxx
delete_on_termination: true
volume_type: gp2
- name: AMI Creation, with a custom root-device size and another EBS attached
amazon.aws.ec2_ami:
instance_id: i-xxxxxx
name: newtest
device_mapping:
- device_name: /dev/sda1
size: XXX
delete_on_termination: true
volume_type: gp2
- device_name: /dev/sdb
size: YYY
delete_on_termination: false
volume_type: gp2
- name: AMI Creation, excluding a volume attached at /dev/sdb
amazon.aws.ec2_ami:
instance_id: i-xxxxxx
name: newtest
device_mapping:
- device_name: /dev/sda1
size: XXX
delete_on_termination: true
volume_type: gp2
- device_name: /dev/sdb
no_device: true
- name: AMI Creation with boot_mode and tpm_support
amazon.aws.ec2_ami:
name: newtest
state: present
architecture: x86_64
virtualization_type: hvm
root_device_name: /dev/sda1
device_mapping:
- device_name: /dev/sda1
snapshot_id: "{{ snapshot_id }}"
wait: true
region: us-east-1
boot_mode: uefi
uefi_data: data_file.bin
tpm_support: v2.0
- name: Deregister/Delete AMI (keep associated snapshots)
amazon.aws.ec2_ami:
image_id: "{{ instance.image_id }}"
delete_snapshot: false
state: absent
- name: Deregister AMI (delete associated snapshots too)
amazon.aws.ec2_ami:
image_id: "{{ instance.image_id }}"
delete_snapshot: true
state: absent
- name: Update AMI Launch Permissions, making it public
amazon.aws.ec2_ami:
image_id: "{{ instance.image_id }}"
state: present
launch_permissions:
group_names: ['all']
- name: Allow AMI to be launched by another account
amazon.aws.ec2_ami:
image_id: "{{ instance.image_id }}"
state: present
launch_permissions:
user_ids: ['123456789012']
- name: Update AMI Launch Permissions, share AMI across an Organization and Organizational Units
amazon.aws.ec2_ami:
image_id: "{{ instance.image_id }}"
state: present
launch_permissions:
org_arns: ['arn:aws:organizations::123456789012:organization/o-123ab4cdef']
org_unit_arns: ['arn:aws:organizations::123456789012:ou/o-123example/ou-1234-5example']
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
architecture string | Архитектура образа. Возвращается: когда AMI создан или уже существует Пример: |
block_device_mapping dictionary | Сопоставление блочных устройств, связанных с образом. Возвращается: когда AMI создан или уже существует Пример: |
creationDate string | Дата создания образа. Возвращается: когда AMI создан или уже существует Пример: |
description string | Описание образа. Возвращается: когда AMI создан или уже существует Пример: |
enhanced_networking boolean | Указывает, включена ли расширенная работа в сети с ENA. Возвращается: когда AMI создан или уже существует Пример: |
hypervisor string | Тип гипервизора. Возвращается: когда AMI создан или уже существует Пример: |
image_id string | ID образа. Возвращается: когда AMI создан или уже существует Пример: |
image_owner_alias string | Псевдоним владельца (amazon | aws-marketplace). Возвращается: когда AMI создан или уже существует Пример: |
image_type string | Тип образа. Возвращается: когда AMI создан или уже существует Пример: |
is_public boolean | Является ли образ общедоступным. Возвращается: когда AMI создан или уже существует Пример: |
kernel_id string | Ядро, связанное с образом, если таковое имеется. Применимо только для образов машин. Возвращается: когда AMI создан или уже существует Пример: |
launch_permission list / elements=string | Разрешения, позволяющие другим учетным записям получать доступ к AMI. Возвращается: когда AMI создан или уже существует Пример: |
location string | Расположение образа. Возвращается: когда AMI создан или уже существует Пример: |
name string | Имя AMI образа. Возвращается: когда AMI создан или уже существует Пример: |
ownerId string | Владелец образа. Возвращается: когда AMI создан или уже существует Пример: |
platform string | Платформа образа. Возвращается: когда AMI создан или уже существует Пример: |
product_codes list / elements=string | Любые коды продуктов, связанные с AMI. Возвращается: когда AMI создан или уже существует Пример: |
ramdisk_id string | Идентификатор диска RAM, присвоенный образу, если таковой имеется. Применимо только к образам машин. Возвращается: при создании или если AMI уже существует |
root_device_name string | Имя корневого устройства образа. Возвращается: при создании или если AMI уже существует Пример: |
root_device_type string | Тип корневого устройства образа. Возвращается: при создании или если AMI уже существует Пример: |
snapshots_deleted list / elements=string | Список идентификаторов снимков, удаленных после отмены регистрации образа. Возвращается: после отмены регистрации AMI, если delete_snapshot=true Пример: |
sriov_net_support string | Указывает, включено ли улучшенное сетевое взаимодействие с интерфейсом Intel 82599 Virtual Function. Возвращается: при создании или если AMI уже существует Пример: |
state string | Состояние образа. Возвращается: при создании или если AMI уже существует Пример: |
state_reason dictionary | Причина изменения состояния. Возвращается: при создании или если AMI уже существует Пример: |
tags dictionary | Словарь тегов, присвоенных образу. Возвращается: при создании или если AMI уже существует Пример: |
virtualization_type string | Тип виртуализации образа. Возвращается: при создании или если AMI уже существует Пример: |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/amazon/aws/ec2_ami_module.html