Spec-Zone.ru › Ansible 2.8

ec2_vol – создание и подключение тома, возврат ID тома и отображения устройства

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

Синопсис

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

Требования

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

  • python >= 2.6
  • boto

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
aws_access_key
строка
Ключ доступа AWS. Если не задан, используется значение переменной среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.

псевдонимы: ec2_access_key, access_key
aws_secret_key
строка
Секретный ключ AWS. Если не задан, используется значение переменной среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.

псевдонимы: ec2_secret_key, secret_key
debug_botocore_endpoint_logs
логическое
добавлен в 2.8
    Варианты:
  • нет ←
  • да
Используйте логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие» во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, созданного во время выполнения playbook.
delete_on_termination
логическое
добавлен в 2.1
    Варианты:
  • нет ←
  • да
Если установлено в «да», том будет удален при завершении работы экземпляра.
device_name
-
идентификатор устройства для переопределения сопоставления устройств. Предполагает /dev/sdf для Linux/UNIX и /dev/xvdf для Windows.
ec2_url
строка
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она существует.
encrypted
логическое
    Варианты:
  • нет ←
  • да
Включить шифрование тома при хранении.
id
-
ID тома, если вы хотите подключить существующий том (требуется экземпляр) или удалить существующий том
instance
-
ID экземпляра, если вы хотите подключить том. С версии 1.9 можно установить в None для отключения.
iops
-
По умолчанию:
100
желаемые предопределенные IOPS, которые нужно связать с этим томом (целое число).
kms_key_id
-
добавлен в 2.3
Укажите ID ключа KMS для использования.
name
-
Тег имени тома, если вы хотите подключить существующий том (требуется экземпляр)
profile
строка
Использует профиль boto. Работает только с boto >= 2.24.0.
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.

псевдонимы: access_token
snapshot
-
ID снимка, на основе которого должен быть создан том
state
-
    Варианты:
  • отсутствует
  • присутствует ←
  • список
указать, должен ли том присутствовать или отсутствовать, или перечислить существующие тома (вариант list добавлен в версии 1.8).
tags
-
добавлен в 2.3
По умолчанию:
{}
пары тег:значение для добавления к томам после создания
validate_certs
логическое
    Варианты:
  • нет
  • да ←
Если установлено в «нет», сертификаты SSL для boto версий >= 2.6.0 не будут проверены.
volume_size
-
размер тома (в GiB) для создания.
volume_type
-
По умолчанию:
"standard"
Тип тома EBS; standard (магнитный), gp2 (SSD), io1 (Provisioned IOPS), st1 (Throughput Optimized HDD), sc1 (Cold HDD). "Standard" — это старый стандартный том EBS, и он продолжает оставаться стандартным для Ansible для обратной совместимости.
zone
-
зона для создания тома, если не установлено, используется зона экземпляра (если установлено)

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

Примечания

Примечание

  • Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета AWS_URL или EC2_URL, 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
  • Ansible использует конфигурационный файл boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION или EC2_REGION можно использовать для указания региона AWS, когда это необходимо, но это также можно настроить в конфигурационном файле boto

Примеры

# Simple attachment action
- ec2_vol:
    instance: XXXXXX
    volume_size: 5
    device_name: sdd

# Example using custom iops params
- ec2_vol:
    instance: XXXXXX
    volume_size: 5
    iops: 100
    device_name: sdd

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

# Playbook example combined with instance launch
- ec2:
    keypair: "{{ keypair }}"
    image: "{{ image }}"
    wait: yes
    count: 3
  register: ec2
- 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

- ec2:
    keypair: "{{ keypair }}"
    image: "{{ image }}"
    zone: YYYYYY
    id: my_instance
    wait: yes
    count: 1
  register: ec2

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

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

# Detach a volume (since 1.9)
- ec2_vol:
    id: vol-XXXXXXXX
    instance: None

# List volumes for an instance
- ec2_vol:
    instance: i-XXXXXX
    state: list

# Create new volume using SSD storage
- 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.
- 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': 'в использовании', 'tags': {'env': 'dev'}, 'type': 'стандартный', 'zone': 'us-east-1b'}
volume_id
строка
при успехе
идентификатор тома

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

Пример:
стандартный


Статус

  • Этот модуль гарантированно не будет содержать изменений в обратной совместимости в будущем. [stableinterface]
  • Этот модуль поддерживается основной командой Ansible. [core]

Поддержка Red Hat

Дополнительную информацию о поддержке данного модуля Red Hat можно найти в этой статье базы знаний Red Hat.

Авторы

  • 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.8/modules/ec2_vol_module.html

Spec-Zone.ru

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