Модуль community.aws.sns_topic — Управление темами и подписками AWS SNS
Примечание
Этот модуль входит в коллекцию community.aws (версия 8.0.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.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
access_key aliases: aws_access_key_id, aws_access_key, ec2_access_key string | Идентификатор ключа доступа 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 botocore SDK. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
aws_ca_bundle path | Расположение пакета CA, используемого при проверке сертификатов SSL. Переменная среды |
aws_config dictionary | Словарь для изменения конфигурации botocore. Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
content_based_deduplication string добавлено в community.aws 5.3.0 | Включить ли дедупликацию на основе контента для этой темы. Игнорируется, если topic_type=fifo. Значение по умолчанию: Варианты:
|
debug_botocore_endpoint_logs boolean | Использовать Переменная среды Варианты:
|
delivery_policy dictionary | Политика доставки, применяемая к теме SNS. |
|
http dictionary |
Политика доставки для сообщений HTTP(S). См. https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html для получения дополнительной информации. |
|
defaultHealthyRetryPolicy dictionary / required |
Политика повтора попыток для сообщений HTTP(S). |
|
backoffFunction string / required |
Функция для отката между повторными попытками. Варианты:
|
|
maxDelayTarget integer / required |
Максимальная задержка для повторной попытки. |
|
minDelayTarget integer / required |
Минимальная задержка для повторной попытки. |
|
numMaxDelayRetries integer / required |
Количество повторных попыток с максимальной задержкой между ними. |
|
numMinDelayRetries integer / required |
Количество повторных попыток только с минимальной задержкой между ними. |
|
numNoDelayRetries integer / required |
Количество повторных попыток, которые должны выполняться немедленно. |
|
numRetries integer / required |
Общее количество повторных попыток. |
|
defaultThrottlePolicy dictionary |
Регулирование скорости сообщений, отправляемых в подписки. |
|
maxReceivesPerSecond integer / required |
Максимальное количество доставок в секунду на подписку. |
|
disableSubscriptionOverrides boolean |
Применяет эту политику ко всем подпискам, даже если у них есть свои собственные политики. Варианты:
|
display_name string | Имя темы. |
endpoint_url aliases: ec2_url, aws_endpoint_url, s3_url string | URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws протестированы только для AWS. Также могут быть использованы переменные среды Псевдонимы ec2_url и s3_url устарели и будут удалены в выпуске после 2024-12-01. Поддержка переменной среды |
name string / обязательно | Имя или ARN темы SNS для управления. |
policy словарь | Политика, применяемая к теме SNS. Тело политики может быть в формате YAML или JSON. Это необходимо для определенных случаев использования, например, с уведомлениями о ведре S3. |
profile aliases: aws_profile string | Используемый профиль AWS для аутентификации. Дополнительную информацию о профилях см. в документации AWS https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также может быть использована переменная среды Опция profile несовместима с опциями aws_access_key, aws_secret_key и security_token. |
purge_subscriptions boolean | Очистить подписки, не указанные здесь. ВАЖНО: AWS не позволяет очищать подписки PendingConfirmation, поэтому, если они существуют и должны быть очищены, они проигнорируются. Это означает, что кто-то может вернуться позже и подтвердить подписку. Извините. Вина Амазона. Варианты:
|
purge_tags boolean | Если purge_tags=true и tags установлены, существующие теги будут удалены, чтобы точно соответствовать параметру tags. Если параметр tags не установлен, теги не будут изменены, даже если purge_tags=True. Ключи тегов, начинающиеся с Варианты:
|
region aliases: aws_region, ec2_region string | AWS регион. Для глобальных служб, таких как IAM, Route53 и CloudFront, region игнорируется. Также могут быть использованы переменные среды Дополнительную информацию см. в документации AWS Amazon http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Псевдоним Поддержка переменной среды |
secret_key aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key string | Секретный ключ доступа 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 для соответствия SDK botocore AWS. Псевдоним ec2_secret_key устарел и будет удален в выпуске после 2024-12-01. Поддержка переменной среды |
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | Токен сеанса AWS STS для использования с временными учетными данными. Дополнительную информацию об маркерах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также могут быть использованы переменные среды Опции security_token и profile взаимоисключающие. Псевдонимы aws_session_token и session_token были добавлены в выпуске 3.2.0, а параметр был переименован из security_token в session_token в выпуске 6.0.0. Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в выпуске после 2024-12-01. Поддержка переменных среды |
state string | Создать или уничтожить тему SNS. Варианты:
|
subscriptions список / элементы=словарь | Список подписок, которые необходимо применить к теме. Обратите внимание, что AWS требует подтверждения подписок, поэтому вам нужно подтвердить все новые подписки. По умолчанию: |
|
attributes string added in community.aws 4.1.0 |
Атрибуты подписки. Поддерживает только RawMessageDelievery для конечных точек SQS. По умолчанию: |
|
endpoint string / обязательно |
Конечная точка подписки. |
|
protocol string / обязательно |
Протокол подписки. |
tags aliases: resource_tags словарь | Словарь, представляющий теги, которые должны быть применены к ресурсу. Если параметр tags не задан, теги не будут изменены. |
topic_type string added in community.aws 2.0.0 | Тип темы, которая должна быть создана. Либо Standard для FIFO (первым вошел, первым вышел). Некоторые регионы, включая регионы GovCloud, не поддерживают темы FIFO. Используйте значение по умолчанию «standard» или опустите этот параметр, если регион не поддерживает темы FIFO. Доступные значения:
|
validate_certs boolean | Если установлено значение Установка validate_certs=false категорически не рекомендуется. В качестве альтернативы, рассмотрите возможность установки aws_ca_bundle вместо этого. Доступные значения:
|
Примечания
Примечание
- Поддержка параметров tags и purge_tags была добавлена в релизе 5.3.0.
- Внимание: Для модулей переменные окружения и конфигурационные файлы считываются из контекста Ansible «хост» а не «контроллер». В связи с этим, файлы могут потребоваться скопировать явно на «хост». Для плагинов поиска и подключения переменные окружения и конфигурационные файлы считываются из контекста Ansible «контроллер» а не «хост».
- AWS SDK (boto3), используемый Ansible, также может считывать значения по умолчанию для учетных данных и других параметров, таких как регион, из конфигурационных файлов в контексте 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 строка | ARN темы, которую вы изменяете Возвращается: всегда Пример: |
sns_topic сложный | Словарь с деталями темы sns Возвращается: всегда |
|
attributes_set список / элементы=строка |
Список атрибутов, установленных во время этого выполнения Возвращается: всегда Пример: |
|
check_mode булево |
был ли включен режим проверки Возвращается: всегда Пример: |
|
content_based_deduplication строка добавлено в community.aws 5.3.0 |
Установлено ли значение content_based_deduplication Возвращается: всегда Пример: |
|
delivery_policy строка |
Политика доставки для темы SNS Возвращается: если темой владеет этот аккаунт AWS Пример: |
|
display_name строка |
Имя для отображения темы SNS Возвращается: если темой владеет этот аккаунт AWS Пример: |
|
name строка |
Имя темы Возвращается: всегда Пример: |
|
owner строка |
Аккаунт AWS, который владеет темой Возвращается: если темой владеет этот аккаунт AWS Пример: |
|
policy строка |
Политика для темы SNS Возвращается: если темой владеет этот аккаунт AWS Пример: |
|
state строка |
присутствует или отсутствует тема Возвращается: всегда Пример: |
|
subscriptions список / элементы=строка |
Список подписчиков на тему в данном аккаунте AWS Возвращается: всегда Пример: |
|
subscriptions_added список / элементы=строка |
Список подписчиков, добавленных в этом выполнении Возвращается: всегда Пример: |
|
subscriptions_confirmed строка |
Количество подтверждённых подписок Возвращается: если темой владеет этот аккаунт AWS Пример: |
|
subscriptions_deleted строка |
Количество удалённых подписок Возвращается: если темой владеет этот аккаунт AWS Пример: |
|
subscriptions_existing список / элементы=строка |
Список существующих подписок Возвращается: всегда Пример: |
|
subscriptions_new список / элементы=строка |
Список новых подписок Возвращается: всегда Пример: |
|
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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/aws/sns_topic_module.html