Spec-Zone.ru › Ansible

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

Примечание

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

Возможно, эта коллекция уже установлена, если вы используете пакет 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.35.0
  • botocore >= 1.35.0

Параметры

Параметр

Комментарии

access_key

aliases: aws_access_key_id, aws_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 в порядке убывания предпочтения.

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

Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для соответствия AWS SDK botocore.

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 для анализа уникальных (а не общих) вызовов API "resource:action", выполняемых во время задачи, и вывода их списка в ключ resource_actions результатов задачи. Используйте callback aws_resource_action для вывода общего списка вызовов, выполненных в рамках плейбука.

Также можно использовать переменную окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

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

delete_snapshot

boolean

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

Варианты:

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

description

string

Понятное пользователю описание содержимого и назначения AMI.

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

device_mapping

list / elements=dictionary

Список хешей/словарей устройств с пользовательскими настройками (те же параметры сопоставления блочных устройств).

delete_on_termination

boolean

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

Варианты:

  • false
  • true

device_name

string / обязательный

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

encrypted

boolean

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

Варианты:

  • false
  • true

iops

integer

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

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

integer

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

volume_type

string

Тип тома. Если значение не задано, используется gp2.

endpoint_url

aliases: aws_endpoint_url

string

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

Также можно использовать переменную окружения AWS_URL.

enhanced_networking

boolean

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

Варианты:

  • false
  • true

image_id

string

Идентификатор образа, регистрацию которого нужно отменить.

image_location

string

Расположение образа в S3, который будет использоваться для AMI.

instance_id

string

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

kernel_id

string

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

launch_permissions

dictionary

Разрешения на запуск AMI.

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

group_names

list / elements=string

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

org_arns

list / elements=string

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

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

org_unit_arns

list / elements=string

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

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

user_ids

list / elements=string

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

name

string

Имя нового AMI.

no_reboot

boolean

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

Варианты:

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

profile

aliases: aws_profile

string

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

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

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

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

purge_tags

boolean

Если задано значение 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

string

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

region

aliases: aws_region

string

Регион AWS, который следует использовать.

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

Также можно использовать переменную окружения AWS_REGION.

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

root_device_name

string

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

secret_key

aliases: aws_secret_access_key, aws_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 в порядке убывания предпочтения.

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

Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для соответствия AWS SDK botocore.

session_token

aliases: aws_session_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.

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

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, чтобы включить поддержку Trusted Platform Module (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 не перейдет в состояние «available», прежде чем возвращать управление.

Варианты:

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

wait_timeout

integer

Время ожидания до прекращения ожидания, в секундах.

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

Примечания

Примечание

  • Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста «host» Ansible, а не из контекста «controller». Поэтому файлы может потребоваться явно скопировать на «host». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста «controller» Ansible, а не из контекста «host».
  • Используемый Ansible пакет AWS SDK (boto3) также может считывать значения по умолчанию для учётных данных и других параметров, например региона, из файлов конфигурации в контексте «host» 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

Идентификатор образа.

Возвращается: если 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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/amazon/aws/ec2_ami_module.html

Spec-Zone.ru

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