ec2_vol – создание и подключение тома, возвращение идентификатора тома и карты устройств
Описание
- создаёт том EBS и необязательно подключает его к экземпляру. Если указаны идентификатор экземпляра и имя устройства, и у экземпляра есть устройство с данным именем, то том не создаётся, и подключение не выполняется. Этот модуль зависит от 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. Также может использоваться переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| delete_on_termination логический |
| При значении «да» том будет удалён при завершении работы экземпляра. |
| device_name - | идентификатор устройства для переопределения сопоставления устройств. Предполагается /dev/sdf для Linux/UNIX и /dev/xvdf для Windows. | |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где регион обязателен. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если таковая имеется. | |
| encrypted логический |
| Включить шифрование тома в состоянии покоя. |
| id - | идентификатор тома, если вы хотите подключить существующий том (требуется экземпляр) или удалить существующий том | |
| instance - | идентификатор экземпляра, если вы хотите подключить том. С версии 1.9 можно задать None для отключения. | |
| iops - | По умолчанию: 100 | заданные provisioned IOPs для этого тома (целое число). |
| kms_key_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 - | Идентификатор снимка, на основе которого будет создан том | |
| state - |
| устанавливает, необходимо ли убедиться, что том присутствует или отсутствует, или вывести список существующих томов (вариант list был добавлен в версии 1.8). |
| tags - | По умолчанию: {} | метки вида пара «ключ:значение» для добавления к тому после создания |
| validate_certs логический |
| При значении «нет» сертификаты SSL для boto версий >= 2.6.0 не будут проверены. |
| volume_size - | размер тома (в GiB) для создания. | |
| volume_type - | По умолчанию: "standard" | Тип тома EBS; стандартный (магнитный), gp2 (SSD), io1 (Provisioned IOPS), st1 (Throughput Optimized HDD), sc1 (Cold HDD). «Стандартный» — старый по умолчанию для 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.9/modules/ec2_vol_module.html