Модуль community.aws.sns_topic — управление темами и подписками AWS SNS
Примечание
Этот модуль входит в коллекцию community.aws (версия 10.1.0).
Эта коллекция уже может быть установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.aws.sns_topic.
Добавлено в community.aws 1.0.0
Краткое описание
- Модуль community.aws.sns_topic позволяет создавать и удалять темы AWS SNS, а также управлять подписками на них.
Требования
На хосте, где выполняется этот модуль, необходимы следующие компоненты.
- python >= 3.6
- boto3 >= 1.34.0
- botocore >= 1.34.0
Параметры
Параметр | Комментарии |
|---|---|
access_key алиасы: aws_access_key_id, aws_access_key строка | Идентификатор ключа доступа AWS. Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные окружения Параметры aws_access_key и profile являются взаимоисключающими. Алиас aws_access_key_id добавлен в выпуске 5.1.0 для соответствия AWS SDK botocore. |
aws_ca_bundle путь | Путь к пакету сертификатов ЦС, используемому для проверки SSL-сертификатов. Также можно использовать переменную окружения |
aws_config словарь | Словарь для изменения конфигурации botocore. Параметры описаны в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
content_based_deduplication строка добавлено в community.aws 5.3.0 | Включить ли дедупликацию на основе содержимого для этой темы. Игнорируется, если topic_type=fifo. По умолчанию — Варианты:
|
debug_botocore_endpoint_logs логическое значение | Использовать регистратор Также можно использовать переменную окружения Варианты:
|
delivery_policy словарь | Политика доставки, применяемая к теме SNS. |
|
http словарь |
Политика доставки сообщений HTTP(S). Дополнительные сведения см. по адресу https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html. |
|
defaultHealthyRetryPolicy словарь / обязательный |
Политика повторных попыток для сообщений HTTP(S). |
|
backoffFunction строка / обязательный |
Функция увеличения интервала между повторными попытками. Варианты:
|
|
maxDelayTarget целое число / обязательный |
Максимальная задержка перед повторной попыткой. |
|
minDelayTarget целое число / обязательный |
Минимальная задержка перед повторной попыткой. |
|
numMaxDelayRetries целое число / обязательный |
Количество повторных попыток с максимальной задержкой между ними. |
|
numMinDelayRetries целое число / обязательный |
Количество повторных попыток с минимальной задержкой между ними. |
|
numNoDelayRetries целое число / обязательный |
Количество повторных попыток, выполняемых немедленно. |
|
numRetries целое число / обязательный |
Общее количество повторных попыток. |
|
defaultThrottlePolicy словарь |
Ограничение скорости отправки сообщений подпискам. |
|
maxReceivesPerSecond целое число / обязательный |
Максимальное количество доставок в секунду для каждой подписки. |
|
disableSubscriptionOverrides логическое значение |
Применять эту политику ко всем подпискам, даже если для них заданы собственные политики. Варианты:
|
display_name строка | Отображаемое имя темы. |
endpoint_url алиасы: aws_endpoint_url строка | URL для подключения вместо конечных точек AWS по умолчанию. Хотя его можно использовать для подключения к другим совместимым с AWS сервисам, коллекции amazon.aws и community.aws тестируются только с AWS. Также можно использовать переменную окружения |
name строка / обязательный | Имя или ARN темы SNS, которой нужно управлять. |
policy словарь | Политика, применяемая к теме SNS. Тело политики может быть в формате YAML или JSON. Она необходима для некоторых сценариев использования, например для уведомлений о действиях с корзиной S3. |
profile алиасы: aws_profile строка | Именованный профиль AWS для аутентификации. Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную окружения Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и session_token. |
purge_subscriptions логическое значение | Удалять ли подписки, не указанные здесь. ПРИМЕЧАНИЕ: AWS не позволяет удалять подписки со статусом PendingConfirmation, поэтому существующие подписки, которые должны быть удалены, пропускаются без уведомления. Это означает, что кто-то впоследствии может подтвердить такую подписку. Приносим извинения. В этом виноват Amazon. Варианты:
|
purge_tags логическое значение | Если задано Если параметр Ключи тегов, начинающиеся с Варианты:
|
region алиасы: aws_region строка | Регион AWS для использования. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется. Также можно использовать переменную окружения Дополнительные сведения см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. |
secret_key алиасы: aws_secret_access_key, aws_secret_key строка | Секретный ключ доступа AWS. Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные окружения Параметры secret_key и profile являются взаимоисключающими. Алиас aws_secret_access_key добавлен в выпуске 5.1.0 для соответствия AWS SDK botocore. |
session_token алиасы: aws_session_token строка | Токен сеанса AWS STS для использования с временными учетными данными. Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменную окружения Параметры session_token и profile являются взаимоисключающими. |
state строка | Создать или удалить тему SNS. Варианты:
|
subscriptions список / элементы=словарь | Список подписок, применяемых к теме. Обратите внимание: AWS требует подтверждения подписок, поэтому необходимо подтвердить все новые подписки. По умолчанию: |
|
attributes строка добавлено в community.aws 4.1.0 |
Атрибуты подписки. Для конечных точек SQS поддерживается только RawMessageDelievery. По умолчанию: |
|
endpoint строка / обязательный |
Конечная точка подписки. |
|
protocol строка / обязательный |
Протокол подписки. |
tags алиасы: resource_tags словарь | Словарь с тегами, применяемыми к ресурсу. Если параметр |
topic_type строка добавлено в community.aws 2.0.0 | Тип создаваемой темы. Standard или FIFO (first-in, first-out). Некоторые регионы, включая GovCloud, не поддерживают темы FIFO. Если регион не поддерживает темы FIFO, используйте значение по умолчанию ‘standard’ или не указывайте этот параметр. Варианты:
|
validate_certs логическое значение | Если задано значение Настоятельно не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность указать aws_ca_bundle. Варианты:
|
Примечания
Примечание
- Поддержка tags и purge_tags добавлена в выпуске 5.3.0.
- Внимание: Для модулей переменные окружения и файлы конфигурации считываются из контекста «хоста» Ansible, а не из контекста «контроллера». Поэтому файлы может потребоваться явно скопировать на «хост». Для плагинов поиска и подключения переменные окружения и файлы конфигурации считываются из контекста «контроллера» Ansible, а не из контекста «хоста».
- Используемый Ansible пакет AWS SDK (boto3) также может считывать значения по умолчанию для учетных данных и других параметров, например региона, из файлов конфигурации в контексте «хоста» Ansible (обычно
~/.aws/credentials). Дополнительные сведения см. по адресу https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.
Примеры
- 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: 9
numMaxDelayRetries: 5
numMinDelayRetries: 2
numNoDelayRetries: 2
backoffFunction: "linear"
disableSubscriptionOverrides: true
defaultThrottlePolicy:
maxReceivesPerSecond: 10
subscriptions:
- endpoint: "my_email_address@example.com"
protocol: "email"
- endpoint: "my_mobile_number"
protocol: "sms"
- name: Create a topic permitting S3 bucket notifications
community.aws.sns_topic:
name: "S3Notifications"
state: present
display_name: "S3 notifications SNS topic"
policy:
Id: s3-topic-policy
Version: 2012-10-17
Statement:
- Sid: Statement-id
Effect: Allow
Resource: "arn:aws:sns:*:*:S3Notifications"
Principal:
Service: s3.amazonaws.com
Action: sns:Publish
Condition:
ArnLike:
aws:SourceArn: "arn:aws:s3:*:*:SomeBucket"
- name: Example deleting a topic
community.aws.sns_topic:
name: "ExampleTopic"
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь, ниже приведены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
sns_arn string | ARN темы, которую вы изменяете Возвращается: всегда Пример: |
sns_topic complex | Словарь со сведениями о теме SNS Возвращается: всегда |
|
attributes_set list / elements=string |
Список атрибутов, заданных во время этого запуска Возвращается: всегда Пример: |
|
check_mode boolean |
был ли включен режим проверки Возвращается: всегда Пример: |
|
content_based_deduplication string добавлено в community.aws 5.3.0 |
Было ли задано значение content_based_deduplication Возвращается: всегда Пример: |
|
delivery_policy string |
Политика доставки для темы SNS Возвращается: если тема принадлежит этой учетной записи AWS Пример: |
|
display_name string |
Отображаемое имя темы SNS Возвращается: если тема принадлежит этой учетной записи AWS Пример: |
|
name string |
Имя темы Возвращается: всегда Пример: |
|
owner string |
Учетная запись AWS, которой принадлежит тема Возвращается: если тема принадлежит этой учетной записи AWS Пример: |
|
policy string |
Политика для темы SNS Возвращается: если тема принадлежит этой учетной записи AWS Пример: |
|
state string |
наличие или отсутствие темы Возвращается: всегда Пример: |
|
subscriptions list / elements=string |
Список подписчиков темы в этой учетной записи AWS Возвращается: всегда Пример: |
|
subscriptions_added list / elements=string |
Список подписчиков, добавленных во время этого запуска Возвращается: всегда Пример: |
|
subscriptions_confirmed string |
Количество подтвержденных подписок Возвращается: если тема принадлежит этой учетной записи AWS Пример: |
|
subscriptions_deleted string |
Количество удаленных подписок Возвращается: если тема принадлежит этой учетной записи AWS Пример: |
|
subscriptions_existing list / elements=string |
Список существующих подписок Возвращается: всегда Пример: |
|
subscriptions_new list / elements=string |
Список новых подписок Возвращается: всегда Пример: |
|
subscriptions_pending string |
Количество ожидающих подтверждения подписок Возвращается: если тема принадлежит этой учетной записи AWS Пример: |
|
subscriptions_purge boolean |
Было ли задано значение purge_subscriptions Возвращается: всегда Пример: |
|
topic_arn string |
ARN темы SNS (эквивалентно sns_arn) Возвращается: если тема принадлежит этой учетной записи AWS Пример: |
|
topic_created boolean |
Была ли создана тема Возвращается: всегда Пример: |
|
topic_deleted boolean |
Была ли удалена тема Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/aws/sns_topic_module.html