amazon.aws.ec2_vol – Создание и подключение тома, возврат идентификатора тома и отображения устройств
Примечание
Этот плагин является частью коллекции amazon.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install amazon.aws.
Для использования в playbook, укажите: 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:action", сделанных во время задачи, выводимых в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время выполнения playbook. |
| 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 целое число | Количество запросов в секунду, которое вы хотите связать с этим томом (целое число). По умолчанию 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 строка |
| Указывает, требуется ли наличие или отсутствие тома. Использование state=list для запроса информации о томе устарело и будет удалено после 2022-06-01. Функциональность 'list' перенесена в отдельный модуль amazon.aws.ec2_vol_info. |
| tags словарь | Значение по умолчанию: {} | Пары тег:значение для добавления к тому после создания. |
| validate_certs логический тип |
| При установке в "нет", сертификаты SSL не будут проверены для boto версий >= 2.6.0. |
| volume_size целое число | Размер тома (в ГБ) для создания. | |
| volume_type строка |
| Тип тома EBS; стандартный (магнитный), gp2 (SSD), io1 (Provisioned IOPS), st1 (Высокопроизводительный жёсткий диск), sc1 (HDD для холодного хранения). "Стандартный" является старым значением по умолчанию 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/amazon/aws/ec2_vol_module.html