amazon.aws.ec2_tag – создание и удаление тегов для ресурсов ec2
Примечание
Этот плагин входит в коллекцию amazon.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install amazon.aws.
Для использования в книге задач укажите: amazon.aws.ec2_tag.
Новое в версии 1.0.0: плагина amazon.aws
Обзор
- Создаёт, изменяет и удаляет теги для любых ресурсов EC2.
- Ресурсы ссылаются по их идентификатору ресурса (например, экземпляр - i-XXXXXXX, VPC - vpc-XXXXXXX).
- Этот модуль предназначен для использования со сложными аргументами (тегами), см. примеры.
Требования
Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| 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'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для получения дополнительной информации о конфигурации 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 для вывода полного списка, созданного во время выполнения книги задач. Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковая есть. псевдонимы: aws_endpoint_url, endpoint_url | |
| 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 | |
| purge_tags логический |
| Указывает, следует ли удалять не указанные теги из ресурса. Обратите внимание, что при объединении с state=absent, указанные теги с несовпадающими значениями не удаляются. |
| region строка | Регион AWS для использования. Если не указан, используется значение переменной среды AWS_REGION или EC2_REGION, если таковая есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |
| resource строка / обязательно | Идентификатор ресурса EC2. | |
| security_token строка | AWS STS токен безопасности. Если не задан, то используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Одновременное указание параметров security_token и profile устарело и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: aws_security_token, access_token | |
| state строка |
| Указывает, должны ли теги присутствовать или отсутствовать на ресурсе. Использование state=list для запроса тегов экземпляра устарело и будет удалено после 2022-06-01. Функциональность 'list' перенесена в отдельный модуль amazon.aws.ec2_tag_info. |
| tags словарь | Словарь тегов для добавления или удаления от ресурса. Если предоставленное значение для ключа не установлено и state=absent, тег будет удалён независимо от его текущего значения. Требуется при state=present или state=absent. | |
| validate_certs логический |
| При установке в значение "нет", SSL-сертификаты не будут проверены для версий boto >= 2.6.0. |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
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
Примеры
- name: Ensure tags are present on a resource
amazon.aws.ec2_tag:
region: eu-west-1
resource: vol-XXXXXX
state: present
tags:
Name: ubervol
env: prod
- name: Ensure all volumes are tagged
amazon.aws.ec2_tag:
region: eu-west-1
resource: '{{ item.id }}'
state: present
tags:
Name: dbserver
Env: production
loop: '{{ ec2_vol.volumes }}'
- name: Remove the Env tag
amazon.aws.ec2_tag:
region: eu-west-1
resource: i-xxxxxxxxxxxxxxxxx
tags:
Env:
state: absent
- name: Remove the Env tag if it's currently 'development'
amazon.aws.ec2_tag:
region: eu-west-1
resource: i-xxxxxxxxxxxxxxxxx
tags:
Env: development
state: absent
- name: Remove all tags except for Name from an instance
amazon.aws.ec2_tag:
region: eu-west-1
resource: i-xxxxxxxxxxxxxxxxx
tags:
Name: ''
state: absent
purge_tags: true
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| added_tags словарь | Если теги были добавлены | Словарь тегов, которые были добавлены к ресурсу |
| removed_tags словарь | Если теги были удалены | Словарь тегов, которые были удалены из ресурса |
| tags словарь | всегда | Словарь, содержащий теги ресурса |
Авторы
- Lester Wade (@lwade)
- Paul Arthur (@flowerysong)
© 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_tag_module.html