ec2_ami - создание или удаление образа в ec2
Новое в версии 1.3.
Описание
- Регистрирует или отменяет регистрацию образов ec2.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| architecture (добавлено в 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 | |
| billing_products (добавлено в 2.5) | Список допустимых кодов выставления счетов. Используется с валидными учетными записями поставщиков AWS Marketplace. | |
| delete_snapshot bool |
| Удалить снимки при отмене регистрации AMI. |
| description | Строка для чтения человеком, описывающая содержимое и назначение AMI. | |
| device_mapping (добавлено в 2.0) | Список хэшей/словаря устройств с пользовательскими настройками (параметры block-device-mapping). Допустимые свойства: device_name, volume_type, size/volume_size (в ГБ), delete_on_termination (булево), no_device (булево), snapshot_id, iops (для io1 volume_type), encrypted | |
| ec2_url | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если не используется регион. Если не задан, используется значение переменной окружения EC2_URL, если она есть. | |
| enhanced_networking (добавлено в 2.5) | Булево значение, указывающее, включено ли улучшенное сетевое взаимодействие с ENA. | |
| image_id | ID образа для отмены регистрации. | |
| image_location (добавлено в 2.5) | Расположение в s3 образа для использования в AMI. | |
| instance_id | ID экземпляра для создания AMI. | |
| kernel_id (добавлено в 2.3) | Целевой идентификатор ядра для регистрации образа. | |
| launch_permissions (добавлено в 2.0) | Пользователи и группы, которые должны иметь возможность запускать AMI. Ожидается словарь с ключом user_ids и/или group_names. user_ids должен быть списком идентификаторов учетных записей. group_name должен быть списком групп, "all" — единственное приемлемое значение на данный момент. Вы должны передать все необходимые права запуска, если хотите изменить существующие права запуска (передача только групп удалит всех пользователей) | |
| name | Имя нового AMI. | |
| no_reboot bool |
| Флаг, указывающий, что процесс создания пакета не должен пытаться остановить экземпляр перед созданием пакета. Если этот флаг равен True, ответственность за поддержание целостности файловой системы возлагается на владельца экземпляра. |
| profile (добавлено в 1.6) | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| purge_tags (добавлено в 2.5) | По умолчанию: "нет" | Удалить существующие теги, которые не переданы в параметре 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) | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| sriov_net_support (добавлено в 2.5) | Установите в simple, чтобы включить улучшенное сетевое взаимодействие с интерфейсом виртуальной функции Intel 82599 для AMI и любых экземпляров, запускаемых из AMI. | |
| state |
| Регистрация или отмена регистрации AMI. |
| tags (добавлено в 2.0) | Словарь тегов для добавления к новому образу; '{"ключ":"значение"}' и '{"ключ":"значение","ключ":"значение"}' | |
| validate_certs bool (добавлено в 1.5) |
| Если установлено в "нет", сертификаты SSL для boto версий >= 2.6.0 не будут проверяться. |
| virtualization_type (добавлено в 2.3) | Тип виртуализации образа для регистрации. | |
| wait bool |
| Ожидание состояния 'available' AMI перед возвратом. |
| wait_timeout | По умолчанию: 900 | Время ожидания, прежде чем ожидание прекратится, в секундах. |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
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': {'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 булево | при создании или уже существующем 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 | словарь тегов, назначенных образу Пример: {'Env': 'devel', 'Name': 'nat-server'} |
| virtualization_type строка | при создании или уже существующем AMI | тип виртуализации образа Пример: hvm |
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будут вноситься несовместимые изменения в интерфейс.
Техническое обслуживание
Этот модуль помечен как сертифицированный, что означает, что он поддерживается партнером Ansible. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых партнерами Ansible, см. здесь.
Автор
- 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.6/modules/ec2_ami_module.html