ec2_ami – создание или удаление образа в ec2
Описание
- Регистрирует или удаляет образы ec2.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| architecture - | Целевая архитектура образа для регистрации | |
| 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_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода общего списка, сделанного во время выполнения книги команд. |
| delete_snapshot логический |
| Удалять снимки при удалении AMI. |
| description - | Строка, описывающая содержимое и назначение AMI. | |
| device_mapping - | Список хэшей/словаря устройств с пользовательскими конфигурациями (те же параметры block-device-mapping). Допустимые свойства: device_name, volume_type, size/volume_size (в GiB), delete_on_termination (логический), no_device (логический), snapshot_id, iops (для volume_type io1), 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 - | Целевой идентификатор ядра образа для регистрации. | |
| launch_permissions - | Пользователи и группы, которые должны иметь возможность запускать 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 - | Имя корневого устройства образа для регистрации. | |
| security_token строка | Токен безопасности 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 - | Словарь тегов для добавления к новому образу; '{"key":"value"}' и '{"key":"value","key":"value"}' | |
| validate_certs логический |
| При установке в «нет», сертификаты SSL для boto версий >= 2.6.0 не будут проверены. |
| virtualization_type - | Тип виртуализации образа для регистрации. | |
| 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.9/modules/ec2_ami_module.html