ec2_ami – создание или удаление образа в ec2
Описание
- Регистрирует или аннулирует образы 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. | |
| debug_botocore_endpoint_logs логический добавлен в 2.8 |
| Используйте логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «resource:action», выполненных во время задачи, выводит набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, выполненного во время выполнения плейбука. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| delete_snapshot логический |
| Удалять снимки при отмене регистрации AMI. |
| description - | Читаемая строка, описывающая содержимое и назначение AMI. | |
| device_mapping - добавлен в 2.0 | Список хешей/словаря устройств с пользовательскими конфигурациями (те же параметры block-device-mapping). Допустимые свойства включают: device_name, volume_type, size/volume_size (в GiB), 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 - | Идентификатор изображения, подлежащий отмене регистрации. | |
| 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 строка | Использует профиль 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 строка | Токен безопасности 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 логический |
| При установке значения "нет" сертификаты SSL для версий boto >= 2.6.0 не будут проверяться. |
| virtualization_type - добавлен в 2.3 | Тип виртуализации изображения для регистрации. | |
| wait логический |
| Дождаться, пока 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), если учетные данные не предоставлены. См. 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.
# 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. [community]
Авторы
- 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.8/modules/ec2_ami_module.html