community.aws.sns_topic – Управление темами и подписками AWS SNS
Примечание
Этот плагин входит в состав коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Чтобы использовать его в книге задач, укажите: community.aws.sns_topic.
Добавлен в версии 1.0.0: модуль community.aws
Обзор
- Модуль community.aws.sns_topic позволяет создавать, удалять и управлять подписками для тем AWS SNS.
- Начиная с версии 2.6, этот модуль может использоваться для подписки и отписки от тем за пределами вашей учетной записи AWS.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- boto
- 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'. Подробнее о конфигурации 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_actions в результатах задания. Используйте обратный вызов aws_resource_action для вывода в общий список, созданный во время выполнения книги задач. Также может быть использована переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. | |
| delivery_policy словарь | Политика доставки, применяемая к теме SNS. | ||
| display_name строка | Идентификатор темы. | ||
| ec2_url строка | URL, используемый для подключения к облаку EC2 или Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если таковая имеется. псевдонимы: aws_endpoint_url, endpoint_url | ||
| name строка / обязательный | Имя или ARN темы SNS, которую требуется управлять. | ||
| policy словарь | Политика, применяемая к теме SNS. | ||
| 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_subscriptions логический тип |
| Указывает, нужно ли очистить любые подписки, не указанные здесь. ПРИМЕЧАНИЕ: AWS не позволяет очищать подписки с PendingConfirmation, поэтому, если они существуют и будут очищены, они будут пропущены. Это означает, что кто-то может вернуться позже и подтвердить подписку. Извините. Виноват Amazon. | |
| 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 | ||
| state строка |
| Указывает, нужно ли создать или удалить тему SNS. | |
| subscriptions список / элементы=словарь | Значение по умолчанию: [] | Список подписок, которые необходимо применить к теме. Обратите внимание, что AWS требует подтверждения подписок, поэтому вам нужно будет подтвердить все новые подписки. | |
| endpoint строка / обязательный | Конечная точка подписки. | ||
| protocol строка / обязательный | Протокол подписки. | ||
| 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: Create alarm SNS topic
community.aws.sns_topic:
name: "alarms"
state: present
display_name: "alarm SNS topic"
delivery_policy:
http:
defaultHealthyRetryPolicy:
minDelayTarget: 2
maxDelayTarget: 4
numRetries: 3
numMaxDelayRetries: 5
backoffFunction: "<linear|arithmetic|geometric|exponential>"
disableSubscriptionOverrides: True
defaultThrottlePolicy:
maxReceivesPerSecond: 10
subscriptions:
- endpoint: "my_email_address@example.com"
protocol: "email"
- endpoint: "my_mobile_number"
protocol: "sms"
Значения возврата
Общие значения возврата описаны в документе. Ниже приведены поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| community.aws.sns_topic сложный | всегда | Словарь с деталями темы sns | |
| attributes_set список / элементы=строка | всегда | список атрибутов, установленных во время этого выполнения | |
| check_mode булево | всегда | был ли включен режим проверки | |
| delivery_policy строка | при условии, что тема принадлежит этому аккаунту AWS | Политика доставки для темы SNS Пример: {"http":{"defaultHealthyRetryPolicy":{"minDelayTarget":20,"maxDelayTarget":20,"numRetries":3,"numMaxDelayRetries":0, "numNoDelayRetries":0,"numMinDelayRetries":0,"backoffFunction":"linear"},"disableSubscriptionOverrides":false}} | |
| display_name строка | при условии, что тема принадлежит этому аккаунту AWS | Имя для отображения темы SNS Пример: Моё имя темы | |
| name строка | всегда | Имя темы Пример: ansible-test-dummy-topic | |
| owner строка | при условии, что тема принадлежит этому аккаунту AWS | Аккаунт AWS, которому принадлежит тема Пример: 111111111111 | |
| policy строка | при условии, что тема принадлежит этому аккаунту AWS | Политика для темы SNS Пример: {"Version":"2012-10-17","Id":"SomePolicyId","Statement":[{"Sid":"ANewSid","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::111111111111:root"}, "Action":"sns:Subscribe","Resource":"arn:aws:sns:us-east-2:111111111111:ansible-test-dummy-topic","Condition":{"StringEquals":{"sns:Protocol":"email"}}}]} | |
| state строка | всегда | Наличие или отсутствие темы Пример: present | |
| subscriptions список / элементы=строка | всегда | Список подписчиков на тему в этом аккаунте AWS | |
| subscriptions_added список / элементы=строка | всегда | Список подписчиков, добавленных в этом запуске | |
| subscriptions_confirmed строка | при условии, что тема принадлежит этому аккаунту AWS | Количество подтверждённых подписок Пример: 0 | |
| subscriptions_deleted строка | при условии, что тема принадлежит этому аккаунту AWS | Количество удалённых подписок Пример: 0 | |
| subscriptions_existing список / элементы=строка | всегда | Список существующих подписок | |
| subscriptions_new список / элементы=строка | всегда | Список новых подписок | |
| subscriptions_pending строка | при условии, что тема принадлежит этому аккаунту AWS | Количество ожидающих подписок Пример: 0 | |
| subscriptions_purge булево | всегда | Установка флага purge_subscriptions Пример: True | |
| topic_arn строка | при условии, что тема принадлежит этому аккаунту AWS | ARN темы SNS (эквивалент sns_arn) Пример: arn:aws:sns:us-east-2:111111111111:ansible-test-dummy-topic | |
| topic_created булево | всегда | Была ли создана тема | |
| topic_deleted булево | всегда | Была ли удалена тема | |
| sns_arn строка | всегда | ARN темы, которую вы изменяете Пример: arn:aws:sns:us-east-2:111111111111:my_topic_name | |
Авторы
- Joel Thompson (@joelthompson)
- Fernando Jose Pando (@nand0p)
- Will Thames (@willthames)
© 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/community/aws/sns_topic_module.html