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. | |
| delete_snapshot boolean |
| Удалить снимки при аннулировании 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 - | 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 boolean |
| Флаг, указывающий, что процесс объединения не должен пытаться выключить экземпляр перед объединением. Если этот флаг имеет значение 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 Virtual Function для AMI и любых экземпляров, запущенных из AMI. | |
| state - |
| Регистрация или аннулирование AMI. |
| tags - добавлен в 2.0 | Словарь тегов для добавления в новый образ; '{"key":"value"}' и '{"key":"value","key":"value"}' | |
| validate_certs boolean добавлен в 1.5 |
| Когда установлено в "нет", сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| virtualization_type - добавлен в 2.3 | Тип виртуализации образа для регистрации. | |
| wait boolean |
| Дождаться, пока AMI перейдет в состояние 'available', перед возвратом. |
| 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' установлено в 'да' | список идентификаторов снимков, удаленных после дерегистрации образа Пример: ['snap-fbcccb8f', 'snap-cfe7cdb4'] |
| state строка | при создании или уже существующей AMI | состояние образа Пример: available |
| tags словарь | при создании или уже существующей AMI | словарь тегов, назначенных образу Пример: {'Env': 'devel', 'Name': 'nat-server'} |
| virtualization_type строка | при создании или уже существующей AMI | тип виртуализации образа Пример: hvm |
Статус
- Этот модуль гарантирует отсутствие изменений интерфейса, несовместимых с предыдущими версиями. [stableinterface]
- Этот модуль поддерживается партнером Ansible. [certified]
Авторы
- 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.7/modules/ec2_ami_module.html