ec2_ami - создание или удаление образа в ec2
Новая в версии 1.3.
- Описание
- Требования (для хоста, выполняющего модуль)
- Параметры
- Примеры
- Возвращаемые значения
- Примечания
Описание
- Создаёт или удаляет образы ec2.
Требования (для хоста, выполняющего модуль)
- python >= 2.6
- boto
Параметры
| параметр | обязательный | по умолчанию | значения | комментарии |
|---|---|---|---|---|
| архитектура (добавлен в 2.3)
| нет | Целевая архитектура образа для регистрации | ||
| aws_access_key | нет | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. псевдонимы: ec2_access_key, access_key | ||
| aws_secret_key | нет | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. псевдонимы: ec2_secret_key, secret_key | ||
| delete_snapshot | нет | нет |
| Удалить снимки при дерегистрации AMI. |
| описание | нет | Строка, описывающая содержимое и назначение AMI. | ||
| device_mapping (добавлен в 2.0)
| нет | Список хешей/словарей устройств с настраиваемыми конфигурациями (параметры block-device-mapping) Допустимые свойства: device_name, volume_type, size (в ГБ), delete_on_termination (логическое), no_device (логическое), snapshot_id, iops (для io1 volume_type) | ||
| ec2_url | нет | URL для подключения к EC2 или облаку Eucalyptus (по умолчанию модуль использует EC2-endpoints). Игнорируется для модулей, где регион необходим. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL (если есть). | ||
| image_id | нет | ID образа для дерегистрации. | ||
| instance_id | нет | ID экземпляра для создания AMI. | ||
| kernel_id (добавлен в 2.3)
| нет | Целевой kernel id образа для регистрации | ||
| launch_permissions (добавлен в 2.0)
| нет | Пользователи и группы, которые должны иметь возможность запуска AMI. Ожидается словарь с ключом user_ids и/или group_names. user_ids должен быть списком идентификаторов учетных записей. group_name должен быть списком групп, "all" — единственное допустимое значение на данный момент. | ||
| name | нет | Название нового AMI. | ||
| no_reboot | нет |
| Флаг, указывающий, что процесс создания образа не должен пытаться выключить экземпляр до создания образа. Если этот флаг True, ответственность за сохранение целостности файловой системы возлагается на владельца экземпляра. | |
| profile (добавлен в 1.6)
| нет | Использует профиль boto. Работает только с boto >= 2.24.0. | ||
| 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)
| нет | AWS STS security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | ||
| состояние | нет | present |
| Создать или дерегистрировать/удалить AMI. |
| tags (добавлен в 2.0)
| нет | Словарь тегов для добавления к новому образу; '{"key":"value"}' и '{"key":"value","key":"value"}' | ||
| validate_certs (добавлен в 1.5)
| нет | да |
| При значении "нет", сертификаты SSL не будут проверены для boto версий >= 2.6.0. |
| virtualization_type (добавлен в 2.3)
| нет | Тип виртуализации образа для регистрации | ||
| wait | нет | нет |
| Ожидание, пока AMI перейдёт в состояние 'available' перед возвратом. |
| wait_timeout | нет | 300 | Время ожидания в секундах, после которого wait прекращает работу. |
Примеры
# Basic AMI Creation
- ec2_ami:
aws_access_key: xxxxxxxxxxxxxxxxxxxxxxx
aws_secret_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
instance_id: i-xxxxxx
wait: yes
name: newtest
tags:
Name: newtest
Service: TestService
register: image
# Basic AMI Creation, without waiting
- ec2_ami:
aws_access_key: xxxxxxxxxxxxxxxxxxxxxxx
aws_secret_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
region: xxxxxx
instance_id: i-xxxxxx
wait: no
name: newtest
register: image
# AMI Registration from EBS Snapshot
- ec2_ami:
aws_access_key: xxxxxxxxxxxxxxxxxxxxxxx
aws_secret_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
region: xxxxxx
name: newtest
state: present
architecture: x86_64
virtualization_type: hvm
root_device_name: /dev/xvda
device_mapping:
- device_name: /dev/xvda
size: 8
snapshot_id: snap-xxxxxxxx
delete_on_termination: true
volume_type: gp2
register: image
# AMI Creation, with a custom root-device size and another EBS attached
- ec2_ami:
aws_access_key: xxxxxxxxxxxxxxxxxxxxxxx
aws_secret_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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
register: image
# AMI Creation, excluding a volume attached at /dev/sdb
- ec2_ami:
aws_access_key: xxxxxxxxxxxxxxxxxxxxxxx
aws_secret_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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
register: image
# Deregister/Delete AMI (keep associated snapshots)
- ec2_ami:
aws_access_key: xxxxxxxxxxxxxxxxxxxxxxx
aws_secret_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
region: xxxxxx
image_id: "{{ instance.image_id }}"
delete_snapshot: False
state: absent
# Deregister AMI (delete associated snapshots too)
- ec2_ami:
aws_access_key: xxxxxxxxxxxxxxxxxxxxxxx
aws_secret_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
region: xxxxxx
image_id: "{{ instance.image_id }}"
delete_snapshot: True
state: absent
# Update AMI Launch Permissions, making it public
- ec2_ami:
aws_access_key: xxxxxxxxxxxxxxxxxxxxxxx
aws_secret_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
region: xxxxxx
image_id: "{{ instance.image_id }}"
state: present
launch_permissions:
group_names: ['all']
# Allow AMI to be launched by another account
- ec2_ami:
aws_access_key: xxxxxxxxxxxxxxxxxxxxxxx
aws_secret_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
region: xxxxxx
image_id: "{{ instance.image_id }}"
state: present
launch_permissions:
user_ids: ['123456789012']
Возвращаемые значения
Общие возвращаемые значения описаны здесь Возвращаемые значения, следующие — уникальные для данного модуля поля:
| название | описание | возвращается | тип | пример |
|---|---|---|---|---|
| архитектура | архитектура образа | при создании или существовании 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 |
| описание | описание образа | при создании или существовании AMI | строка | nat-server |
| hypervisor | тип гипервизора | при создании или существовании AMI | строка | xen |
| image_id | id образа | при создании или существовании AMI | строка | ami-1234abcd |
| is_public | является ли образ публичным | при создании или существовании AMI | булево | False |
| location | местоположение образа | при создании или существовании AMI | строка | 315210894379/nat-server |
| name | имя AMI образа | при создании или существовании AMI | строка | nat-server |
| ownerId | владелец образа | при создании или существовании AMI | строка | 435210894375 |
| platform | платформа образа | при создании или существовании AMI | строка | None |
| root_device_name | имя корневого устройства образа | при создании или существовании AMI | строка | /dev/sda1 |
| root_device_type | тип корневого устройства образа | при создании или существовании AMI | строка | ebs |
| snapshots_deleted | список идентификаторов снимков, удалённых после дерегистрации образа | после дерегистрации AMI, если 'delete_snapshot' равен 'да' | список | ['snap-fbcccb8f', 'snap-cfe7cdb4'] |
| состояние | состояние образа | при создании или существовании AMI | строка | available |
| tags | словарь тегов, присвоенных образу | при создании или существовании AMI | словарь | {'Name': 'nat-server', 'Env': 'devel'} |
| virtualization_type | тип виртуализации образа | при создании или существовании AMI | строка | hvm |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
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
Статус
Этот модуль помечен как stableinterface, что означает, что поддерживающие его разработчики гарантируют, что не будет внесено обратной несовместимости.
Для помощи в разработке модулей, если вы заинтересованы, пожалуйста, прочитайте Информация о сообществе и участие, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/ec2_ami_module.html