sns_topic – Управляет темами и подписками AWS SNS
Новое в версии 2.0.
Обзор
- Модуль
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. псевдонимы: ec2_access_key, access_key | ||
| aws_secret_key - | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. псевдонимы: ec2_secret_key, secret_key | ||
| delivery_policy - | Политика доставки для темы SNS | ||
| display_name - | Имя темы для отображения | ||
| ec2_url - | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если не используется регион. Если не задан, используется значение переменной окружения EC2_URL, если таковое есть. | ||
| name - / обязательно | Имя или ARN темы SNS для управления | ||
| policy - | Политика для темы SNS | ||
| profile - добавлено в 1.6 | Использует профиль boto. Работает только с boto >= 2.24.0. | ||
| 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 - добавлено в 1.6 | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | ||
| state - |
| Создать или уничтожить тему SNS | |
| subscriptions - | По умолчанию: [] | Список подписок, применяемых к теме. Обратите внимание, что AWS требует подтверждения подписок, поэтому вам необходимо подтвердить любые новые подписки. | |
| endpoint - / обязательно | Конечная точка подписки | ||
| protocol - / обязательно | Протокол подписки | ||
| validate_certs boolean добавлено в 1.5 |
| При установке "нет", сертификаты 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: Create alarm SNS topic
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"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| sns_arn строка | всегда | ARN темы, которую вы изменяете Пример: arn:aws:sns:us-east-2:111111111111:my_topic_name | |
| 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 аккаунту | Количество подтверждённых подписок | |
| subscriptions_deleted список | при условии, что тема принадлежит этому AWS аккаунту | Количество удалённых подписок | |
| 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 булево значение | всегда | Была ли удалена тема | |
Статус
- Данный модуль гарантированно не будет иметь изменений в обратной совместимости в будущем. [stableinterface]
- Данный модуль поддерживается партнёром Ansible. [certified]
Авторы
- Joel Thompson (@joelthompson)
- Fernando Jose Pando (@nand0p)
- Will Thames (@willthames)
Подсказка
Если вы обнаружите какие-либо проблемы в данной документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 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/sns_topic_module.html