ec2_tag – создание и удаление тегов ресурсов ec2
Описание
- Создаёт, удаляет и перечисляет теги для любого ресурса EC2. Ресурс ссылается на его идентификатор ресурса (например, экземпляр i-XXXXXXX). Он разработан для использования со сложными аргументами (тегами), см. примеры.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| 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 |
| Использовать logger botocore.endpoint для анализа уникальных (а не суммарных) API-вызовов "ресурс:действие", выполненных во время задачи, выводить набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, созданный во время выполнения playbook. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где регион необходим. Должен быть указан для всех других модулей, если регион не используется. Если не указан, используется значение переменной окружения EC2_URL, если таковая имеется. | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| purge_tags логический тип добавлен в 2.7 |
| Удалить не указанные теги из ресурса? Обратите внимание, что при комбинации с 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. псевдонимы: access_token | |
| state - |
| Указывает, должны ли теги присутствовать или отсутствовать на ресурсе. Используйте list для запроса тегов экземпляра. |
| tags - / обязательно | Словарь тегов для добавления или удаления с ресурса. Если предоставленное значение тега равно null и state равно absent, тег будет удален независимо от его текущего значения. | |
| validate_certs логический тип |
| При значении "нет" сертификаты SSL для boto версий >= 2.6.0 не будут проверены. |
Примечания
Примечание
- Если параметры не установлены в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
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
Примеры
- name: Ensure tags are present on a resource
ec2_tag:
region: eu-west-1
resource: vol-XXXXXX
state: present
tags:
Name: ubervol
env: prod
- name: Ensure all volumes are tagged
ec2_tag:
region: eu-west-1
resource: '{{ item.id }}'
state: present
tags:
Name: dbserver
Env: production
loop: '{{ ec2_vol.volumes }}'
- name: Retrieve all tags on an instance
ec2_tag:
region: eu-west-1
resource: i-xxxxxxxxxxxxxxxxx
state: list
register: ec2_tags
- name: Remove the Env tag
ec2_tag:
region: eu-west-1
resource: i-xxxxxxxxxxxxxxxxx
tags:
Env:
state: absent
- name: Remove the Env tag if it's currently 'development'
ec2_tag:
region: eu-west-1
resource: i-xxxxxxxxxxxxxxxxx
tags:
Env: development
state: absent
- name: Remove all tags except for Name from an instance
ec2_tag:
region: eu-west-1
resource: i-xxxxxxxxxxxxxxxxx
tags:
Name: ''
state: absent
purge_tags: true
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| added_tags словарь | Если теги были добавлены | Словарь тегов, которые были добавлены к ресурсу |
| removed_tags словарь | Если теги были удалены | Словарь тегов, которые были удалены с ресурса |
| tags словарь | всегда | Словарь, содержащий теги на ресурсе |
Статус
- Данный модуль гарантирует отсутствие изменений интерфейса, несовместимых с предыдущими версиями, в дальнейшем. [stableinterface]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Lester Wade (@lwade)
- Paul Arthur (@flowerysong)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 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_tag_module.html