amazon.aws.ec2_ami – Создание или удаление образа (AMI) в ec2
Примечание
Этот плагин входит в коллекцию amazon.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install amazon.aws.
Для использования в плейбуке укажите: amazon.aws.ec2_ami.
Новое в версии 1.0.0: из amazon.aws
Описание
- Регистрирует или аннулирует регистрация образов ec2.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| architecture строка | По умолчанию: "x86_64" | Архитектура целевого образа для регистрации | |
| 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 Bundle для проверки SSL-сертификатов. Используется только для модулей на основе boto3. Примечание: CA Bundle считывается со стороны модуля и может потребоваться явное копирование его с контроллера, если модуль не выполняется локально. | ||
| aws_config словарь | Словарь для изменения настроек botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. Дополнительные настройки boto см. по адресу http://boto.cloudhackers.com/en/latest/boto_config_tut.html#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 | ||
| billing_products список / элементы=строка | Список допустимых кодов выставления счетов. Используется для учетных записей, имеющих право доступа к поставщикам AWS Marketplace. | ||
| debug_botocore_endpoint_logs логический тип |
| Используйте регистрирователь botocore.endpoint для анализа уникальных (а не суммарных) API-вызовов "resource:action", сделанных во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время выполнения playbook. Также может быть использована переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. | |
| delete_snapshot логический тип |
| Удалять снимки при дерегистрации AMI. | |
| description строка | Строка, понятная человеку, описывающая содержимое и назначение AMI. | ||
| device_mapping список / элементы=словарь | Список хешей/словарей устройств с настраиваемыми параметрами (те же параметры block-device-mapping). | ||
| delete_on_termination логический тип |
| Указывает, должно ли устройство автоматически удаляться при завершении работы экземпляра. | |
| device_name строка / обязательно | Имя устройства. Например /dev/sda.Псевдонимы: DeviceName | ||
| encrypted логический тип |
| Указывает, должен ли том быть зашифрован. | |
| iops целое число | При использовании io1 volume_type это устанавливает количество IOPS, предоставленных для тома. | ||
| no_device логический тип |
| Исключает указанное устройство из отображения блочных устройств AMI. Псевдоним NoDevice устарел и будет удален после 2022-06-01.Псевдонимы: NoDevice | |
| snapshot_id строка | Идентификатор снимка. | ||
| virtual_name строка | Виртуальное имя устройства. Дополнительные сведения см. в документации AWS по адресу https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html. Псевдоним VirtualName устарел и будет удален после 2022-06-01.Псевдонимы: VirtualName | ||
| volume_size целое число | Размер тома (в GiB) Псевдонимы: size | ||
| volume_type строка | Тип тома. По умолчанию gp2, если не задан. | ||
| ec2_url строка | URL для подключения к облаку EC2 или Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она есть. Псевдонимы: aws_endpoint_url, endpoint_url | ||
| enhanced_networking логический тип |
| Логическое значение, указывающее, включена или нет усовершенствованная сеть с использованием ENA. | |
| image_id строка | Идентификатор образа для дерегистрации. | ||
| image_location строка | Местоположение изображения в s3 для использования в AMI. | ||
| instance_id строка | Идентификатор экземпляра для создания AMI. | ||
| kernel_id строка | Идентификатор целевого ядра образа для регистрации. | ||
| launch_permissions словарь | Пользователи и группы, которые должны иметь возможность запускать AMI. Ожидается словарь с ключом user_ids и/или group_names. user_ids должен быть списком идентификаторов учетных записей. group_name должен быть списком групп, «все» — единственное допустимое значение в настоящее время. Вы должны указать все необходимые разрешения на запуск, если хотите изменить существующие разрешения на запуск (передача только групп удалит всех пользователей). | ||
| name строка | Имя новой AMI. | ||
| no_reboot логический тип |
| Флаг, указывающий, что процесс объединения не должен пытаться выключить экземпляр перед объединением. Если этот флаг имеет значение True, ответственность за поддержание целостности файловой системы возлагается на владельца экземпляра. | |
| profile строка | Использует профиль 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 логический тип |
| Указывает, нужно ли удалять существующие теги, которые не переданы в параметре tags | |
| ramdisk_id строка | Идентификатор RAM-диска. | ||
| region строка | AWS-регион для использования. Если не указан, используется значение переменной среды AWS_REGION или EC2_REGION, если она есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
Псевдонимы: aws_region, ec2_region | ||
| root_device_name строка | Имя корневого устройства образа для регистрации. | ||
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Одновременное использование параметров security_token и profile устарело и после 2022-06-01 параметры будут взаимоисключающими. Псевдонимы: aws_security_token, access_token | ||
| sriov_net_support строка | Установите значение в simple, чтобы включить усовершенствованную сеть с интерфейсом виртуальной функции Intel 82599 для AMI и всех экземпляров, запущенных из AMI. | ||
| state строка |
| Регистрация или дерегистрация AMI. | |
| tags словарь | Словарь тегов для добавления к новому образу; '{"key":"value"}' и '{"key":"value","key":"value"}' | ||
| validate_certs boolean |
| При установке в "нет", сертификаты SSL для версий boto >= 2.6.0 не будут проверяться. | |
| virtualization_type строка | По умолчанию: "hvm" | Тип виртуализации регистрируемого образа. | |
| wait boolean |
| Ожидать, пока AMI не перейдет в состояние 'доступен', перед возвратом. | |
| wait_timeout целое число | По умолчанию: 1200 | Сколько времени ждать, прежде чем ожидание будет прервано, в секундах. | |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
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: Basic AMI Creation
amazon.aws.ec2_ami:
instance_id: i-xxxxxx
wait: yes
name: newtest
tags:
Name: newtest
Service: TestService
- name: Basic AMI Creation, without waiting
amazon.aws.ec2_ami:
instance_id: i-xxxxxx
wait: no
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: yes
- 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']
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| architecture строка | при создании или существовании AMI | Архитектура образа. Пример: x86_64 |
| block_device_mapping словарь | при создании или существовании AMI | Сопоставление блочных устройств, связанных с образом. Пример: {'/dev/sda1': {'delete_on_termination': True, 'encrypted': False, 'size': 10, 'snapshot_id': 'snap-1a03b80e7', 'volume_type': 'standard'}} |
| creationDate строка | при создании или существовании AMI | Дата создания образа. Пример: 2015-10-15T22:43:44.000Z |
| description строка | при создании или существовании AMI | Описание образа. Пример: nat-server |
| hypervisor строка | при создании или существовании AMI | Тип гипервизора. Пример: xen |
| image_id строка | при создании или существовании AMI | Идентификатор образа. Пример: ami-1234abcd |
| is_public boolean | при создании или существовании AMI | Является ли образ общедоступным. |
| launch_permission список / элементы=строка | при создании или существовании AMI | Разрешения, позволяющие другим учетным записям получить доступ к AMI. Пример: [{'group': 'all'}] |
| location строка | при создании или существовании AMI | Расположение образа. Пример: 315210894379/nat-server |
| name строка | при создании или существовании AMI | Имя AMI образа. Пример: nat-server |
| ownerId строка | при создании или существовании AMI | Владелец образа. Пример: 435210894375 |
| platform строка | при создании или существовании AMI | Платформа образа. |
| root_device_name строка | при создании или существовании AMI | Имя корневого устройства образа. Пример: /dev/sda1 |
| root_device_type строка | при создании или существовании AMI | Тип корневого устройства образа. Пример: ebs |
| snapshots_deleted список / элементы=строка | после дерегистрации AMI, если delete_snapshot=true | Список идентификаторов снимков, удаленных после дерегистрации образа. Пример: ['snap-fbcccb8f', 'snap-cfe7cdb4'] |
| state строка | при создании или существовании AMI | Состояние образа. Пример: доступен |
| tags словарь | при создании или существовании AMI | Словарь тегов, назначенных образу. Пример: {'Env': 'devel', 'Name': 'nat-server'} |
| virtualization_type строка | при создании или существовании AMI | Тип виртуализации образа. Пример: hvm |
Авторы
- Evan Duffield (@scicoin-project) <eduffield@iacquire.com>
- Constantin Bugneac (@Constantin07) <constantin.bugneac@endava.com>
- Ross Williams (@gunzy83) <gunzy83au@gmail.com>
- Willem van Ketwich (@wilvk) <willvk@gmail.com>
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/amazon/aws/ec2_ami_module.html