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 Bundle для проверки SSL-сертификатов. Используется только для модулей на основе boto3. Примечание: сертификат CA Bundle читается на стороне модуля и может потребоваться явное копирование с контроллера, если модуль не запускается локально. | ||
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для boto модулей используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для дополнительной конфигурации 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 complex | всегда | Словарь с деталями темы 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/sns_topic_module.html