Spec-Zone.ru › Ansible 2.11

amazon.aws.ec2_ami – Создание или удаление образа (AMI) в ec2

Примечание

Этот плагин входит в коллекцию amazon.aws (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install amazon.aws.

Для использования в книге задач укажите: amazon.aws.ec2_ami.

Новое в версии 1.0.0: из amazon.aws

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Регистрирует или удаляет ec2 образы.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • python >= 2.6
  • boto

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
architecture
строка
По умолчанию:
"x86_64"
Архитектура целевого образа для регистрации
aws_access_key
строка
Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.
Если параметр profile задан, этот параметр игнорируется.
Одновременное использование параметров aws_access_key и profile устарело и будет сделано взаимоисключающими после 2022-06-01.

псевдонимы: ec2_access_key, access_key
aws_ca_bundle
путь
Расположение файла с сертификатами CA для проверки SSL-сертификатов.
Используется только для модулей на основе boto3.
Примечание: Файл с сертификатами CA читается со стороны модуля и может потребоваться явное копирование с контроллера, если модуль не запущен локально.
aws_config
словарь
Словарь для модификации конфигурации botocore.
Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.
Для модулей boto используется только ключ 'user_agent'. Дополнительную информацию о конфигурации boto см. по адресу http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto.
aws_secret_key
строка
Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.
Если параметр profile задан, этот параметр игнорируется.
Одновременное использование параметров aws_secret_key и profile устарело и будет сделано взаимоисключающими после 2022-06-01.

псевдонимы: ec2_secret_key, secret_key
billing_products
список / элементы=строка
Список допустимых кодов выставления счетов. Используется для работы с действительными учетными записями поставщиков AWS Marketplace.
debug_botocore_endpoint_logs
логический тип
    Варианты:
  • нет ←
  • да
Используйте логгер botocore.endpoint для анализа уникальных (а не суммарных) API-вызовов "ресурс:действие", выполненных во время задачи, выведя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода общего списка, выполненного во время выполнения плана. Переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована.
delete_snapshot
логический тип
    Варианты:
  • нет ←
  • да
Удалять снимки при дерегистрации AMI.
description
строка
Строка с описанием содержимого и назначения AMI для человека.
device_mapping
список / элементы=словарь
Список хешей устройств/словарей с пользовательскими конфигурациями (те же параметры block-device-mapping).
delete_on_termination
логический тип
    Варианты:
  • нет
  • да
Указывает, должен ли диск автоматически удаляться при завершении работы экземпляра.
device_name
строка / обязательно
Имя устройства. Например /dev/sda.

псевдонимы: DeviceName
encrypted
логический тип
    Варианты:
  • нет
  • да
Указывает, должен ли том быть зашифрован.
iops
целое число
При использовании типа тома io1, это устанавливает количество IOPS, выделенных для тома.
no_device
логический тип
    Варианты:
  • нет
  • да
Исключает указанное устройство из отображения блочных устройств AMI.
Псевдоним NoDevice устарел и будет удален после 2022-06-01.

псевдонимы: NoDevice
snapshot_id
строка
Идентификатор снимка.
virtual_name
строка
Виртуальное имя устройства.
См. документацию AWS для более подробной информации https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html.
Псевдоним VirtualName устарел и будет удален после 2022-06-01.

псевдонимы: VirtualName
volume_size
целое число
Размер тома (в ГБ).

псевдонимы: size
volume_type
строка
Тип тома. По умолчанию gp2, если не задан.
ec2_url
строка
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковая есть.

псевдонимы: aws_endpoint_url, endpoint_url
enhanced_networking
логический тип
    Варианты:
  • нет
  • да
Логический тип, указывающий, включено ли расширенное сетевое взаимодействие с ENA.
image_id
строка
Идентификатор образа для дерегистрации.
image_location
строка
Расположение образа в 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.
Использование profile переопределит aws_access_key, aws_secret_key и security_token, а поддержка их одновременного использования с profile устарела.
aws_access_key, aws_secret_key и security_token будут сделаны взаимоисключающими с profile после 2022-06-01.

псевдонимы: aws_profile
purge_tags
логический тип
    Варианты:
  • нет ←
  • да
Удалить существующие теги, которые не переданы в параметре tags
ramdisk_id
строка
Идентификатор 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.
Если параметр profile задан, этот параметр игнорируется.
Одновременное использование параметров security_token и profile устарело и будет сделано взаимоисключающими после 2022-06-01.

псевдонимы: aws_security_token, access_token
sriov_net_support
строка
Установите значение "simple", чтобы включить расширенную сеть с интерфейсом Intel 82599 Virtual Function для AMI и любых экземпляров, созданных на основе AMI.
state
строка
    Варианты:
  • отсутствует
  • существующий ←
Регистрация или дерегистрация AMI.
tags
словарь
Словарь тегов для добавления к новому образу; '{"ключ":"значение"}' и '{"ключ":"значение","ключ":"значение"}'
validate_certs
boolean
    Варианты:
  • нет
  • да ←
При установке в значение "нет", сертификаты SSL для версий boto >= 2.6.0 не будут проверяться.
virtualization_type
строка
По умолчанию:
"hvm"
Тип виртуализации регистрируемого образа.
wait
boolean
    Варианты:
  • нет ←
  • да
Ожидать, пока AMI не перейдет в состояние 'available' перед возвратом.
wait_timeout
целое число
По умолчанию:
1200
Время ожидания (в секундах), после которого ожидание прекратится.

Примечания

Примечание

  • Если параметры не установлены в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета AWS_URL или EC2_URL, AWS_PROFILE или AWS_DEFAULT_PROFILE, 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, AWS_CA_BUNDLE
  • 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.

- name: Basic AMI Creation
  amazon.aws.ec2_ami:
    instance_id: i-xxxxxx
    wait: yes
    name: newtest
    tags:
      Name: newtest
      Service: TestService

- name: Basic AMI Creation, without waiting
  amazon.aws.ec2_ami:
    instance_id: i-xxxxxx
    wait: no
    name: newtest

- name: AMI Registration from EBS Snapshot
  amazon.aws.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

- name: AMI Creation, with a custom root-device size and another EBS attached
  amazon.aws.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

- name: AMI Creation, excluding a volume attached at /dev/sdb
  amazon.aws.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

- name: Deregister/Delete AMI (keep associated snapshots)
  amazon.aws.ec2_ami:
    image_id: "{{ instance.image_id }}"
    delete_snapshot: False
    state: absent

- name: Deregister AMI (delete associated snapshots too)
  amazon.aws.ec2_ami:
    image_id: "{{ instance.image_id }}"
    delete_snapshot: True
    state: absent

- name: Update AMI Launch Permissions, making it public
  amazon.aws.ec2_ami:
    image_id: "{{ instance.image_id }}"
    state: present
    launch_permissions:
      group_names: ['all']

- name: Allow AMI to be launched by another account
  amazon.aws.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
ID образа.

Пример:
ami-1234abcd
is_public
boolean
при создании или при наличии 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=true
Список идентификаторов снимков, удаленных после дерегистрации образа.

Пример:
['snap-fbcccb8f', 'snap-cfe7cdb4']
state
строка
при создании или при наличии AMI
Состояние образа.

Пример:
available
tags
словарь
при создании или при наличии AMI
Словарь тегов, назначенных образу.

Пример:
{'Env': 'devel', 'Name': 'nat-server'}
virtualization_type
строка
при создании или при наличии AMI
Тип виртуализации образа.

Пример:
hvm


Авторы

  • 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/amazon/aws/ec2_ami_module.html

Spec-Zone.ru

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