ec2_ami - создание или удаление образа в ec2
Новое в версии 1.3.
Обзор
- Регистрирует или аннулирует ec2 образы.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| architecture (добавлен в 2.3) | Целевая архитектура образа для регистрации | |
| aws_access_key | По умолчанию: None | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key |
| aws_secret_key | По умолчанию: None | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key |
| billing_products (добавлен в 2.5) | Список допустимых кодов выставления счетов. Используется с валидными учетными записями поставщиков на AWS marketplace. | |
| delete_snapshot |
| Удалить снимки при аннулировании AMI. |
| description | Строка, читаемая человеком, описывающая содержимое и назначение AMI. | |
| device_mapping (добавлен в 2.0) | Список хэшей/словарей устройств с пользовательскими конфигурациями (параметры block-device-mapping). Допустимые свойства: device_name, volume_type, size/volume_size (в ГБ), delete_on_termination (boolean), no_device (boolean), snapshot_id, iops (для io1 volume_type), encrypted | |
| ec2_url | По умолчанию: None | URL для подключения к EC2 или вашему Eucalyptus облаку (по умолчанию модуль использует EC2 конечные точки). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она есть. |
| enhanced_networking (добавлен в 2.5) | Булево значение, указывающее, включена ли расширенная сеть с ENA. | |
| image_id | Идентификатор образа, который нужно аннулировать. | |
| image_location (добавлен в 2.5) | Расположение образа s3 для использования в AMI. | |
| instance_id | Идентификатор экземпляра для создания AMI. | |
| kernel_id (добавлен в 2.3) | Идентификатор целевого ядра образа для регистрации. | |
| launch_permissions (добавлен в 2.0) | Пользователи и группы, которые должны иметь возможность запуска AMI. Ожидает словарь с ключом user_ids и/или group_names. user_ids должен быть списком идентификаторов учетных записей. group_name должен быть списком групп, "all" — единственное приемлемое значение в настоящее время. Вы должны передать все желаемые права запуска, если хотите изменить существующие права запуска (передача только групп удалит всех пользователей) | |
| name | Имя нового AMI. | |
| no_reboot |
| Флаг, указывающий, что процесс связывания не должен пытаться остановить экземпляр перед связыванием. Если этот флаг True, ответственность за поддержание целостности файловой системы возлагается на владельца экземпляра. |
| profile (добавлен в 1.6) | По умолчанию: None | Использует профиль boto. Работает только с boto >= 2.24.0. |
| purge_tags (добавлен в 2.5) | По умолчанию: no | Удалить существующие теги, которые не переданы в параметре tags |
| ramdisk_id (добавлен в 2.5) | Идентификатор 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 (добавлен в 2.3) | Имя корневого устройства образа для регистрации. | |
| security_token (добавлен в 1.6) | По умолчанию: None | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token |
| sriov_net_support (добавлен в 2.5) | Установите значение simple для включения расширенной сети с интерфейсом Intel 82599 Virtual Function для AMI и любых экземпляров, запущенных из AMI. | |
| state |
| Регистрация или аннулирование AMI. |
| tags (добавлен в 2.0) | Словарь тегов для добавления к новому образу; '{"key":"value"}' и '{"key":"value","key":"value"}' | |
| validate_certs (добавлен в 1.5) |
| При значении "no", сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| virtualization_type (добавлен в 2.3) | Тип виртуализации образа для регистрации. | |
| wait |
| Ожидать, пока AMI не перейдет в состояние 'available', прежде чем возвращать результат. |
| wait_timeout | По умолчанию: 900 | Время ожидания, прежде чем wait прекратит ожидание, в секундах. |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
AWS_URLилиEC2_URL,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 - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не указаны. См. http://boto.readthedocs.org/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.
# Basic AMI Creation
- ec2_ami:
instance_id: i-xxxxxx
wait: yes
name: newtest
tags:
Name: newtest
Service: TestService
# Basic AMI Creation, without waiting
- ec2_ami:
instance_id: i-xxxxxx
wait: no
name: newtest
# AMI Registration from EBS Snapshot
- 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
# AMI Creation, with a custom root-device size and another EBS attached
- 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
# AMI Creation, excluding a volume attached at /dev/sdb
- 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
# Deregister/Delete AMI (keep associated snapshots)
- ec2_ami:
image_id: "{{ instance.image_id }}"
delete_snapshot: False
state: absent
# Deregister AMI (delete associated snapshots too)
- ec2_ami:
image_id: "{{ instance.image_id }}"
delete_snapshot: True
state: absent
# Update AMI Launch Permissions, making it public
- ec2_ami:
image_id: "{{ instance.image_id }}"
state: present
launch_permissions:
group_names: ['all']
# Allow AMI to be launched by another account
- ec2_ami:
image_id: "{{ instance.image_id }}"
state: present
launch_permissions:
user_ids: ['123456789012']
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| architecture строка | при создании или уже существующем AMI | архитектура образа Пример: x86_64 |
| block_device_mapping словарь | при создании или уже существующем AMI | отображение блочных устройств, связанных с образом Пример: {'/dev/sda1': {'encrypted': False, 'size': 10, 'delete_on_termination': True, 'volume_type': 'standard', 'snapshot_id': 'snap-1a03b80e7'}} |
| creationDate строка | при создании или уже существующем AMI | дата создания образа Пример: 2015-10-15T22:43:44.000Z |
| description строка | при создании или уже существующем AMI | описание образа Пример: nat-server |
| hypervisor строка | при создании или уже существующем AMI | тип гипервизора Пример: xen |
| image_id строка | при создании или уже существующем AMI | идентификатор образа Пример: ami-1234abcd |
| is_public логическое | при создании или уже существующем 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' установлено в 'yes' | список идентификаторов снимков, удаленных после дерегистрации образа Пример: ['snap-fbcccb8f', 'snap-cfe7cdb4'] |
| state строка | при создании или уже существующем AMI | состояние образа Пример: available |
| tags словарь | при создании или уже существующем AMI | словарь тегов, назначенных образу Пример: {'Name': 'nat-server', 'Env': 'devel'} |
| virtualization_type строка | при создании или уже существующем AMI | тип виртуализации образа Пример: hvm |
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будет внесено обратных изменений в интерфейс.
Автор
- 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.5/modules/ec2_ami_module.html