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 | ||
| debug_botocore_endpoint_logs логический тип добавлен в 2.8 |
| Использует регистратор botocore.endpoint для парсинга уникальных (а не общих) API-вызовов «ресурс:действие» во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, созданного во время выполнения playbook. Также может использоваться переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. | |
| delivery_policy - | Политика доставки, применяемая к теме SNS | ||
| display_name - | Имя темы для отображения | ||
| ec2_url строка | URL для подключения к облаку EC2 или Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она присутствует. | ||
| name - / обязательно | Имя или ARN темы SNS для управления | ||
| policy - | Политика, применяемая к теме SNS | ||
| profile строка | Использует профиль 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 строка | Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | ||
| state - |
| Определяет, нужно ли создать или удалить тему SNS | |
| subscriptions - | Значение по умолчанию: [] | Список подписок, которые необходимо применить к теме. Обратите внимание, что AWS требует подтверждения подписок, поэтому вам необходимо подтвердить любые новые подписки. | |
| endpoint - / обязательно | Конечная точка подписки | ||
| protocol - / обязательно | Протокол подписки | ||
| 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: 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 | Количество подтвержденных подписок Пример: 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 булево | всегда | Удалена ли тема | |
Статус
- Данный модуль гарантирует отсутствие обратной несовместимости в будущих изменениях. [stableinterface]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.8/modules/sns_topic_module.html