Spec-Zone.ru › Ansible 2.10

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

Примечание

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

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

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

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

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

Обзор

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

Требования

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

  • python >= 2.6
  • boto

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
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
debug_botocore_endpoint_logs
логическая переменная
    Варианты:
  • нет ←
  • да
Использование логгера botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполняемых во время задачи, выводит множество в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action, чтобы выводить в список всего, что было выполнено во время книги задач.
delete_on_termination
логическая переменная
    Варианты:
  • нет ←
  • да
При установке в значение true, том будет удалён при завершении работы экземпляра.
device_name
строка
Идентификатор устройства для переопределения сопоставления устройств. Предполагается /dev/sdf для Linux/UNIX и /dev/xvdf для Windows.
ec2_url
строка
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, для которых требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковое имеется.

псевдонимы: aws_endpoint_url, endpoint_url
encrypted
логическая переменная
    Варианты:
  • нет ←
  • да
Включить шифрование данных на диске для данного тома.
id
строка
Идентификатор тома для подключения существующего тома (требуется экземпляр) или удаления существующего тома
instance
строка
Идентификатор экземпляра, если требуется подключить том. Начиная с версии 1.9, можно установить значение None для отсоединения.
iops
целое число
Зарезервированные IOPS, которые требуется связать с этим томом (целое число).
По умолчанию AWS задаёт это значение 100.
kms_key_id
строка
Укажите идентификатор ключа KMS.
name
строка
Имя тега тома, если требуется подключить существующий том (требуется экземпляр).
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
region
строка
Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковая имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

псевдонимы: aws_region, ec2_region
security_token
строка
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
Если задан параметр profile, этот параметр игнорируется.
Одновременное использование параметров security_token и profile устарело и после 2022-06-01 будет считаться взаимоисключающими.

псевдонимы: aws_security_token, access_token
snapshot
строка
Идентификатор снимка, на основе которого должен быть создан том.
state
строка
    Варианты:
  • absent
  • present ←
  • list
Указывает, требуется ли наличие или отсутствие тома.
Использование state=list для запроса информации о томе устарело и будет удалено после 2022-06-01. Функциональность «list» перенесена в отдельный модуль amazon.aws.ec2_vol_info.
tags
словарь
Значение по умолчанию:
{}
Пары «метка:значение» для добавления к тому после создания.
validate_certs
логическая переменная
    Варианты:
  • нет
  • да ←
При установке в «нет», SSL-сертификаты не будут проверены для boto версий >= 2.6.0.
volume_size
целое число
Размер тома (в GiБ) для создания.
volume_type
строка
    Варианты:
  • standard ←
  • gp2
  • io1
  • st1
  • sc1
Тип тома EBS; standard (магнитный), gp2 (SSD), io1 (с выделенными IOPS), st1 (с оптимизацией пропускной способности HDD), sc1 (HDD с низкой скоростью). «Standard» — старый стандартный том EBS по умолчанию и по-прежнему остаётся значением Ansible по умолчанию для обеспечения обратной совместимости.
zone
строка
Зона для создания тома. Если не указана, используется зона, в которой находится экземпляр (если указан).

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

Примечания

Примечание

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

Примеры

# 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: yes
    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.
#   * Requires Ansible 2.0

- amazon.aws.ec2:
    keypair: "{{ keypair }}"
    image: "{{ image }}"
    zone: YYYYYY
    id: my_instance
    wait: yes
    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

# List volumes for an instance
- amazon.aws.ec2_vol:
    instance: i-XXXXXX
    state: list
    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

# 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: yes

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

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

Ключ Возвращаемое значение Описание
device
строка
при успехе
имя устройства подключенного тома

Пример:
/def/sdf
volume
строка
при успехе
словарь, содержащий подробные атрибуты тома

Пример:
{'attachment_set': {'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': None, 'size': 1, 'snapshot_id': '', 'status': 'in-use', 'tags': {'env': 'dev'}, 'type': 'standard', 'zone': 'us-east-1b'}
volume_id
строка
при успехе
идентификатор тома

Пример:
vol-35b333d9
volume_type
строка
при успехе
тип тома

Пример:
standard


Авторы

  • Lester Wade (@lwade)

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

Spec-Zone.ru

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