sns_topic – Управляет темами и подписками AWS SNS
Обзор
- Модуль
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:action» во время задачи, выводить набор в ключ 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.9/modules/sns_topic_module.html