Spec-Zone.ru › Ansible 2.10

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 Bundle для проверки SSL-сертификатов.
Используется только для модулей на основе boto3.
Примечание: CA Bundle считывается со стороны модуля и может потребоваться явное копирование его с контроллера, если модуль не выполняется локально.
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:action", сделанных во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время выполнения playbook. Также может быть использована переменная среды 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 volume_type это устанавливает количество 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
целое число
Размер тома (в GiB)

Псевдонимы: 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 должен быть списком групп, «все» — единственное допустимое значение в настоящее время.
Вы должны указать все необходимые разрешения на запуск, если хотите изменить существующие разрешения на запуск (передача только групп удалит всех пользователей).
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 для AMI и всех экземпляров, запущенных из AMI.
state
строка
    Варианты:
  • отсутствует
  • наличие ←
Регистрация или дерегистрация AMI.
tags
словарь
Словарь тегов для добавления к новому образу; '{"key":"value"}' и '{"key":"value","key":"value"}'
validate_certs
boolean
    Варианты:
  • нет
  • да ←
При установке в "нет", сертификаты SSL для версий boto >= 2.6.0 не будут проверяться.
virtualization_type
строка
По умолчанию:
"hvm"
Тип виртуализации регистрируемого образа.
wait
boolean
    Варианты:
  • нет ←
  • да
Ожидать, пока AMI не перейдет в состояние 'доступен', перед возвратом.
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
Идентификатор образа.

Пример:
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
Состояние образа.

Пример:
доступен
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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/amazon/aws/ec2_ami_module.html

Spec-Zone.ru

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