Spec-Zone.ru › Ansible

amazon.aws.ec2_ami модуль — Создание или удаление образа (AMI) в EC2

Примечание

Этот модуль входит в коллекцию amazon.aws (версия 8.2.1).

У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.

Чтобы использовать его в книге задач, укажите: amazon.aws.ec2_ami.

Новая версия в amazon.aws 1.0.0

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

Описание

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

Требования

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

  • python >= 3.6
  • boto3 >= 1.26.0
  • botocore >= 1.29.0

Параметры

Параметр

Комментарии

access_key

aliases: aws_access_key_id, aws_access_key, ec2_access_key

string

Идентификатор ключа доступа AWS.

См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Переменные среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY также могут использоваться в порядке убывания предпочтения.

Параметры aws_access_key и profile являются взаимоисключающими.

Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с AWS botocore SDK.

Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_ACCESS_KEY устарела и будет удалена в релизе после 2024-12-01.

architecture

string

Целевая архитектура регистрируемого образа.

По умолчанию: "x86_64"

aws_ca_bundle

path

Расположение пакета CA, используемого при проверке SSL-сертификатов.

Переменная среды AWS_CA_BUNDLE также может использоваться.

aws_config

dictionary

Словарь для изменения конфигурации botocore.

Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

billing_products

list / elements=string

Список допустимых кодов биллинга. Для использования с действительными учетными записями поставщиками AWS Marketplace.

boot_mode

string

добавлено в amazon.aws 5.5.0

Режим загрузки AMI.

См. документацию AWS для получения дополнительной информации https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html.

Поддержка uefi-preferred была добавлена в релизе 8.2.0.

Варианты:

  • "legacy-bios"
  • "uefi"
  • "uefi-preferred"

debug_botocore_endpoint_logs

boolean

Использовать botocore.endpoint регистратор для анализа уникальных (а не общих) "resource:action" вызовов API, выполненных во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, созданный во время playbook.

Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может использоваться.

Варианты:

  • false ← (по умолчанию)
  • true

delete_snapshot

boolean

Удалять снимки при отмене регистрации AMI.

Варианты:

  • false ← (по умолчанию)
  • true

description

string

Читаемая строка, описывающая содержимое и назначение AMI.

По умолчанию: ""

device_mapping

list / elements=dictionary

Список хэшей/словарях устройств с пользовательскими конфигурациями (те же параметры block-device-mapping).

delete_on_termination

boolean

Следует ли автоматически удалять устройство при завершении работы экземпляра.

Варианты:

  • false
  • true

device_name

string / required

Имя устройства. Например /dev/sda.

encrypted

boolean

Следует ли шифровать том.

Варианты:

  • false
  • true

iops

integer

При использовании device_mapping.volume_type=io1, это устанавливает количество операций ввода-вывода в секунду, выделенных для тома.

no_device

boolean

Подавляет указанное устройство, включенное в сопоставление блочных устройств AMI.

Варианты:

  • false
  • true

snapshot_id

string

Идентификатор снимка.

virtual_name

string

Виртуальное имя устройства.

См. документацию AWS для получения дополнительной информации https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html.

volume_size

aliases: size

целое число

Размер тома (в ГБ).

volume_type

строка

Тип тома. По умолчанию gp2, если не задано.

endpoint_url

aliases: ec2_url, aws_endpoint_url, s3_url

строка

URL для подключения вместо стандартных конечных точек AWS. Хотя это может быть использовано для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws протестированы только с AWS.

Также могут быть использованы переменные среды AWS_URL или EC2_URL, в порядке убывания приоритета.

Алиасы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменной среды EC2_URL устарела и будет удалена в релизе после 2024-12-01.

enhanced_networking

логический тип

Логическое значение, указывающее, включено ли расширенное сетевое взаимодействие с ENA.

Варианты:

  • false
  • true

image_id

строка

Идентификатор образа для отмены регистрации.

image_location

строка

Расположение образа в S3, используемого для AMI.

instance_id

строка

Идентификатор экземпляра для создания AMI.

kernel_id

строка

Идентификатор целевого ядра образа для регистрации.

launch_permissions

словарь

Права запуска для AMI.

Вы должны передать все необходимые права запуска, если хотите изменить существующие права запуска (передача только групп приведет к удалению всех пользователей).

group_names

список / элементы=строка

Список имён групп.

org_arns

список / элементы=строка

добавлен в amazon.aws 6.5.0

Список Имен Ресурсов Amazon (ARN) организации(й).

org_unit_arns

список / элементы=строка

добавлен в amazon.aws 6.5.0

Список Имен Ресурсов Amazon (ARN) организационных подразделений (OU).

user_ids

список / элементы=строка

Список идентификаторов учётных записей.

name

строка

Название нового AMI.

no_reboot

логический тип

Флаг, указывающий, что процесс сборки не должен пытаться выключить экземпляр до сборки. Если этот флаг true, ответственность за поддержание целостности файловой системы возлагается на владельца экземпляра.

Варианты:

  • false ← (по умолчанию)
  • true

profile

aliases: aws_profile

строка

Используемый профиль AWS для аутентификации.

Дополнительную информацию о профилях см. в документации AWS https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также может использоваться переменная среды AWS_PROFILE.

Параметр profile несовместим с параметрами aws_access_key, aws_secret_key и security_token.

purge_tags

логический тип

Если purge_tags=true и tags заданы, существующие метки будут очищены, чтобы точно соответствовать параметру tags.

Если параметр tags не задан, метки не будут изменены, даже если purge_tags=True.

Ключи меток, начинающиеся с aws:, зарезервированы Amazon и не могут быть изменены. Поэтому они будут проигнорированы в параметре purge_tags. Дополнительную информацию см. в документации Amazon https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions.

Варианты:

  • false
  • true ← (по умолчанию)

ramdisk_id

строка

Идентификатор RAM-диска.

region

aliases: aws_region, ec2_region

string

Регион AWS для использования.

Для глобальных сервисов, таких как IAM, Route53 и CloudFront, region игнорируется.

Переменные окружения AWS_REGION или EC2_REGION также могут использоваться.

См. документацию Amazon AWS для получения дополнительной информации http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

Псевдоним ec2_region устарел и будет удален в релизе после 2024-12-01

Поддержка переменной окружения EC2_REGION устарела и будет удалена в релизе после 2024-12-01.

root_device_name

string

Имя корневого устройства образа для регистрации.

secret_key

aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key

string

Секретный ключ доступа AWS.

См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Переменные окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY также могут использоваться в порядке убывания предпочтения.

Параметры secret_key и profile являются взаимоисключающими.

Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для согласованности с AWS botocore SDK.

Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной окружения EC2_SECRET_KEY устарела и будет удалена в релизе после 2024-12-01.

session_token

aliases: aws_session_token, security_token, aws_security_token, access_token

string

Токен сессии AWS STS для использования с временными учетными данными.

См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Переменные окружения AWS_SESSION_TOKEN, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN также могут использоваться в порядке убывания предпочтения.

Параметры security_token и profile являются взаимоисключающими.

Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0.

Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменных окружения EC2_SECRET_KEY и AWS_SECURITY_TOKEN устарела и будет удалена в релизе после 2024-12-01.

sriov_net_support

string

Установите значение simple, чтобы включить расширенную работу в сети с интерфейсом Intel 82599 Virtual Function для AMI и любых экземпляров, которые вы запускаете из AMI.

state

string

Зарегистрировать или отменить регистрацию AMI.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

tags

aliases: resource_tags

dictionary

Словарь, представляющий теги, которые необходимо применить к ресурсу.

Если параметр tags не задан, теги не будут изменены.

tpm_support

string

добавлено в amazon.aws 5.5.0

Установите значение v2.0, чтобы включить поддержку доверенного платформенного модуля (TPM).

Если образ настроен для поддержки NitroTPM, значение равно v2.0.

Требуется, чтобы boot_mode было установлено в uefi.

Требуется тип экземпляра, совместимый с Nitro.

См. документацию AWS для получения дополнительной информации https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html.

uefi_data

string

добавлено в amazon.aws 5.5.0

Представление Base64 хранилища непостоянных переменных UEFI.

См. документацию AWS для получения дополнительной информации https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/uefi-secure-boot.html.

validate_certs

boolean

Если установлено значение false, SSL-сертификаты не будут проверяться для связи с API AWS.

Установка validate_certs=false настоятельно не рекомендуется, в качестве альтернативы рассмотрите возможность установки aws_ca_bundle вместо этого.

Варианты:

  • false
  • true ← (по умолчанию)

virtualization_type

string

Тип виртуализации образа для регистрации.

По умолчанию: "hvm"

wait

boolean

Дождитесь, пока AMI не перейдет в состояние «доступно», прежде чем возвращать.

Варианты:

  • false ← (по умолчанию)
  • true

wait_timeout

integer

Сколько времени ждать, прежде чем ожидание завершится, в секундах.

По умолчанию: 1200

Примечания

Примечание

  • Внимание: Для модулей переменные окружения и конфигурационные файлы считываются из контекста Ansible «хост», а не из контекста «контроллер». Следовательно, файлы могут потребоваться явно скопировать на «хост». Для плагинов поиска и подключения переменные окружения и конфигурационные файлы считываются из контекста Ansible «контроллер», а не из контекста «хост».
  • AWS SDK (boto3), используемый Ansible, также может считывать значения по умолчанию для учетных данных и других настроек, таких как регион, из его конфигурационных файлов в контексте Ansible «хост» (обычно ~/.aws/credentials). См. https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html для получения дополнительной информации.

Примеры

# 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: true
    name: newtest
    tags:
      Name: newtest
      Service: TestService

- name: Basic AMI Creation, without waiting
  amazon.aws.ec2_ami:
    instance_id: i-xxxxxx
    wait: false
    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: true

- name: AMI Creation with boot_mode and tpm_support
  amazon.aws.ec2_ami:
    name: newtest
    state: present
    architecture: x86_64
    virtualization_type: hvm
    root_device_name: /dev/sda1
    device_mapping:
      - device_name: /dev/sda1
        snapshot_id: "{{ snapshot_id }}"
    wait: true
    region: us-east-1
    boot_mode: uefi
    uefi_data: data_file.bin
    tpm_support: v2.0

- 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']

- name: Update AMI Launch Permissions, share AMI across an Organization and Organizational Units
  amazon.aws.ec2_ami:
    image_id: "{{ instance.image_id }}"
    state: present
    launch_permissions:
      org_arns: ['arn:aws:organizations::123456789012:organization/o-123ab4cdef']
      org_unit_arns: ['arn:aws:organizations::123456789012:ou/o-123example/ou-1234-5example']

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:

Ключ

Описание

architecture

string

Архитектура образа.

Возвращается: когда AMI создан или уже существует

Пример: "x86_64"

block_device_mapping

dictionary

Сопоставление блочных устройств, связанных с образом.

Возвращается: когда AMI создан или уже существует

Пример: {"/dev/sda1": {"delete_on_termination": true, "encrypted": false, "size": 10, "snapshot_id": "snap-1a03b80e7", "volume_type": "standard"}}

creationDate

string

Дата создания образа.

Возвращается: когда AMI создан или уже существует

Пример: "2015-10-15T22:43:44.000Z"

description

string

Описание образа.

Возвращается: когда AMI создан или уже существует

Пример: "nat-server"

enhanced_networking

boolean

Указывает, включена ли расширенная работа в сети с ENA.

Возвращается: когда AMI создан или уже существует

Пример: true

hypervisor

string

Тип гипервизора.

Возвращается: когда AMI создан или уже существует

Пример: "xen"

image_id

string

ID образа.

Возвращается: когда AMI создан или уже существует

Пример: "ami-1234abcd"

image_owner_alias

string

Псевдоним владельца (amazon | aws-marketplace).

Возвращается: когда AMI создан или уже существует

Пример: "amazon"

image_type

string

Тип образа.

Возвращается: когда AMI создан или уже существует

Пример: "machine"

is_public

boolean

Является ли образ общедоступным.

Возвращается: когда AMI создан или уже существует

Пример: false

kernel_id

string

Ядро, связанное с образом, если таковое имеется. Применимо только для образов машин.

Возвращается: когда AMI создан или уже существует

Пример: "aki-88aa75e1"

launch_permission

list / elements=string

Разрешения, позволяющие другим учетным записям получать доступ к AMI.

Возвращается: когда AMI создан или уже существует

Пример: [{"group": "all"}]

location

string

Расположение образа.

Возвращается: когда AMI создан или уже существует

Пример: "123456789012/nat-server"

name

string

Имя AMI образа.

Возвращается: когда AMI создан или уже существует

Пример: "nat-server"

ownerId

string

Владелец образа.

Возвращается: когда AMI создан или уже существует

Пример: "123456789012"

platform

string

Платформа образа.

Возвращается: когда AMI создан или уже существует

Пример: "Windows"

product_codes

list / elements=string

Любые коды продуктов, связанные с AMI.

Возвращается: когда AMI создан или уже существует

Пример: []

ramdisk_id

string

Идентификатор диска RAM, присвоенный образу, если таковой имеется. Применимо только к образам машин.

Возвращается: при создании или если AMI уже существует

root_device_name

string

Имя корневого устройства образа.

Возвращается: при создании или если AMI уже существует

Пример: "/dev/sda1"

root_device_type

string

Тип корневого устройства образа.

Возвращается: при создании или если AMI уже существует

Пример: "ebs"

snapshots_deleted

list / elements=string

Список идентификаторов снимков, удаленных после отмены регистрации образа.

Возвращается: после отмены регистрации AMI, если delete_snapshot=true

Пример: ["snap-fbcccb8f", "snap-cfe7cdb4"]

sriov_net_support

string

Указывает, включено ли улучшенное сетевое взаимодействие с интерфейсом Intel 82599 Virtual Function.

Возвращается: при создании или если AMI уже существует

Пример: "simple"

state

string

Состояние образа.

Возвращается: при создании или если AMI уже существует

Пример: "available"

state_reason

dictionary

Причина изменения состояния.

Возвращается: при создании или если AMI уже существует

Пример: {"Code": "string", "Message": "string"}

tags

dictionary

Словарь тегов, присвоенных образу.

Возвращается: при создании или если AMI уже существует

Пример: {"Env": "devel", "Name": "nat-server"}

virtualization_type

string

Тип виртуализации образа.

Возвращается: при создании или если AMI уже существует

Пример: "hvm"

Авторы

  • Evan Duffield (@scicoin-project)
  • Constantin Bugneac (@Constantin07)
  • Ross Williams (@gunzy83)
  • Willem van Ketwich (@wilvk)

Ссылки на сборку

  • Система отслеживания проблем
  • Репозиторий (исходный код)
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/amazon/aws/ec2_ami_module.html

Spec-Zone.ru

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