Spec-Zone.ru › Ansible 2.4

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
  • absent
  • 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API