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 | |
| delete_on_termination boolean добавлено в 2.1 |
| Если установлено "да", то том будет удален при завершении работы экземпляра. |
| device_name - | Идентификатор устройства для переопределения сопоставления устройств. Предполагается /dev/sdf для Linux/UNIX и /dev/xvdf для Windows. | |
| ec2_url - | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она задана. | |
| encrypted - добавлено в 1.8 | По умолчанию: "нет" | Включить шифрование тома в состоянии покоя. |
| id - добавлено в 1.6 | Идентификатор тома, если необходимо подключить существующий том (требуется экземпляр) или удалить существующий том | |
| instance - | Идентификатор экземпляра, если необходимо подключить том. С версии 1.9 можно задать значение None для отключения. | |
| iops - добавлено в 1.3 | По умолчанию: 100 | Запрашиваемые IOP для ассоциации с этим томом (целое число). |
| kms_key_id - добавлено в 2.3 | Укажите идентификатор ключа KMS для использования. | |
| name - добавлено в 1.6 | Тег имени тома, если необходимо подключить существующий том (требуется экземпляр). | |
| profile - добавлено в 1.6 | Использует профиль 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 - добавлено в 1.6 | AWS STS security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | |
| snapshot - добавлено в 1.5 | Идентификатор снимка, на основе которого будет создан том. | |
| state - добавлено в 1.6 |
| устанавливает, должен ли том быть присутствующим или отсутствующим, или список существующих томов (Вариант list добавлен в версии 1.8). |
| tags - добавлено в 2.3 | По умолчанию: {} | Пары тег:значение, которые нужно добавить к тому после его создания. |
| validate_certs boolean добавлено в 1.5 |
| Если установлено "нет", сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| volume_size - | Размер тома (в ГБ) для создания. | |
| volume_type - добавлено в 1.9 | По умолчанию: "стандарт" | Тип тома EBS; стандартный (магнитный), gp2 (SSD), io1 (зарезервированные IOPS), st1 (улучшенная пропускная способность HDD), sc1 (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
with_items: "{{ 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
with_items: "{{ 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': 'in-use', 'tags': {'env': 'dev'}, 'type': 'standard', 'zone': 'us-east-1b'} |
| volume_id строка | при успехе | идентификатор тома Пример: vol-35b333d9 |
| volume_type строка | при успехе | тип тома Пример: standard |
Статус
- Данный модуль гарантированно не будет содержать изменений интерфейса, несовместимых со старыми версиями. [stableinterface]
- Данный модуль поддерживается командой разработчиков Ansible Core. [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.7/modules/ec2_vol_module.html