Spec-Zone.ru › Ansible

Модуль amazon.aws.ec2_vol – Создание и подключение тома, возврат ID тома и карты устройств

Примечание

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

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

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

Для использования в плейбуке укажите: amazon.aws.ec2_vol.

Новая функция в amazon.aws 1.0.0

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

Описание

  • Создаёт том EBS и, по желанию, подключает его к экземпляру.
  • Если указаны как instance, так и name, и экземпляр имеет устройство с указанным именем устройства, то том не создаётся, и подключение не выполняется.

Требования

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

  • 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 для согласованности с SDK AWS botocore.

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

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

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.

debug_botocore_endpoint_logs

boolean

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

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

Варианты:

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

delete_on_termination

boolean

Если установлено в true, том будет удален после завершения работы экземпляра.

Варианты:

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

device_name

string

Идентификатор устройства для переопределения сопоставления устройств. Предполагается /dev/sdf для Linux/UNIX и /dev/xvdf для Windows.

encrypted

boolean

Включить шифрование на месте для этого тома.

Варианты:

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

endpoint_url

aliases: ec2_url, aws_endpoint_url, s3_url

string

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

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

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

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

id

string

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

instance

string

Идентификатор экземпляра, если вы хотите подключить том.

Установите в None, чтобы отсоединить том.

iops

integer

Запрошенные IOPs, которые вы хотите связать с этим томом (целое число).

kms_key_id

string

Укажите ID ключа KMS для использования.

modify_volume

boolean

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

Том не будет изменен, если этот ключ не true.

Варианты:

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

multi_attach

boolean

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

Если установлено в true, Multi-Attach будет включен при создании тома.

При создании нового тома Multi-Attach отключен по умолчанию.

Этот параметр поддерживается только для томов io1 и io2.

Варианты:

  • false
  • true

name

string

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

outpost_arn

string

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

Универсальное имя ресурса (ARN) Outpost.

Если установлено, позволяет создать том в Outpost.

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 и security_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 ← (по умолчанию)

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.

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.

snapshot

string

ID снимка, на основе которого будет создан том.

state

string

Определяет, должен ли том существовать или отсутствовать.

state=list устарел в релизе 1.1.0 и больше не доступен с релизом 4.0.0.

Функциональность list перенесена в отдельный модуль amazon.aws.ec2_vol_info.

Варианты:

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

tags

aliases: resource_tags

dictionary

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

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

throughput

integer

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

Производительность тома в МБ/с.

Этот параметр действителен только для томов gp3.

Допустимый диапазон от 125 до 1000.

validate_certs

boolean

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

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

Варианты:

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

volume_size

integer

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

volume_type

string

Тип тома EBS; standard (магнитных), gp2 (SSD), gp3 (SSD), io1 (Provisioned IOPS), io2 (Provisioned IOPS), st1 (HDD с оптимизацией пропускной способности), sc1 (HDD холодного хранения).

standard — это устаревшее значение по умолчанию EBS, которое по-прежнему используется в Ansible по умолчанию для обратной совместимости.

Доступные значения:

  • "standard" ← (по умолчанию)
  • "gp2"
  • "io1"
  • "st1"
  • "sc1"
  • "gp3"
  • "io2"

zone

псевдонимы: availability_zone, aws_zone, ec2_zone

string

Зона для создания тома. Если не указано, используется зона, в которой находится экземпляр (если указана).

Примечания

Примечание

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

Примеры

# Simple attachment action
- amazon.aws.ec2_vol:
    instance: XXXXXX
    volume_size: 5
    device_name: sdd
    region: us-west-2

# Example using custom iops params
- amazon.aws.ec2_vol:
    instance: XXXXXX
    volume_size: 5
    iops: 100
    device_name: sdd
    region: us-west-2

# Example using snapshot id
- amazon.aws.ec2_vol:
    instance: XXXXXX
    snapshot: "{{ snapshot }}"

# Playbook example combined with instance launch
- amazon.aws.ec2:
    keypair: "{{ keypair }}"
    image: "{{ image }}"
    wait: true
    count: 3
  register: ec2
- amazon.aws.ec2_vol:
    instance: "{{ item.id }}"
    volume_size: 5
  loop: "{{ ec2.instances }}"
  register: ec2_vol

# Example: Launch an instance and then add a volume if not already attached
#   * Volume will be created with the given name if not already created.
#   * Nothing will happen if the volume is already attached.

- amazon.aws.ec2:
    keypair: "{{ keypair }}"
    image: "{{ image }}"
    zone: YYYYYY
    id: my_instance
    wait: true
    count: 1
  register: ec2

- amazon.aws.ec2_vol:
    instance: "{{ item.id }}"
    name: my_existing_volume_Name_tag
    device_name: /dev/xvdf
  loop: "{{ ec2.instances }}"
  register: ec2_vol

# Remove a volume
- amazon.aws.ec2_vol:
    id: vol-XXXXXXXX
    state: absent

# Detach a volume (since 1.9)
- amazon.aws.ec2_vol:
    id: vol-XXXXXXXX
    instance: None
    region: us-west-2

# Create new volume using SSD storage
- amazon.aws.ec2_vol:
    instance: XXXXXX
    volume_size: 50
    volume_type: gp2
    device_name: /dev/xvdf

# Create new volume with multi-attach enabled
- amazon.aws.ec2_vol:
    zone: XXXXXX
    multi_attach: true
    volume_size: 4
    volume_type: io1
    iops: 102

# Attach an existing volume to instance. The volume will be deleted upon instance termination.
- amazon.aws.ec2_vol:
    instance: XXXXXX
    id: XXXXXX
    device_name: /dev/sdf
    delete_on_termination: true

Значения возврата

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

Ключ

Описание

device

строка

Имя устройства прикреплённого тома.

Возвращается: при успехе

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

volume

словарь

Словарь, содержащий подробные атрибуты тома.

Возвращается: при успехе

attachment_set

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

Информация о прикреплениях тома.

В версии 2.0.0 это было изменено со словаря на список словарей.

Возвращается: при успехе

Пример: [{"attach_time": "2015-10-23T00:22:29.000Z", "deleteOnTermination": "false", "device": "/dev/sdf", "instance_id": "i-8356263c", "status": "attached"}]

create_time

строка

Отметка времени начала создания тома.

Возвращается: при успехе

Пример: "2015-10-21T14:36:08.870Z"

encrypted

логическое

Указывает, зашифрован ли том.

Возвращается: при успехе

Пример: false

id

строка

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

Возвращается: при успехе

Пример: "vol-35b333d9"

iops

целое число

Количество операций ввода-вывода в секунду (IOPS), поддерживаемых томом.

Возвращается: при успехе

size

целое число

Размер тома в GiB.

Возвращается: при успехе

Пример: 1

snapshot_id

строка

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

Возвращается: при успехе

Пример: ""

status

строка

Состояние тома.

Возвращается: при успехе

Пример: "in-use"

tags

словарь

Любые метки, назначенные тому.

Возвращается: при успехе

Пример: {"env": "dev"}

throughput

целое число

Пропускная способность, поддерживаемая томом в МБ/с.

Возвращается: при успехе

Пример: 131

type

строка

Тип тома. Может быть gp2, io1, st1, sc1 или standard.

Возвращается: при успехе

Пример: "standard"

zone

строка

Доступная зона тома.

Возвращается: при успехе

Пример: "us-east-1b"

volume_id

строка

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

Возвращается: при успехе

Пример: "vol-35b333d9"

volume_type

строка

Тип тома.

Возвращается: при успехе

Пример: "standard"

Авторы

  • Lester Wade (@lwade)

Ссылки на коллекцию

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

© 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_vol_module.html

Spec-Zone.ru

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