Spec-Zone.ru › Ansible

Модуль 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_ID или AWS_ACCESS_KEY в порядке убывания приоритета.

Параметры aws_access_key и profile являются взаимоисключающими.

Алиас aws_access_key_id добавлен в выпуске 5.1.0 для соответствия AWS SDK botocore.

aws_ca_bundle

путь

Путь к пакету сертификатов ЦС, используемому для проверки SSL-сертификатов.

Также можно использовать переменную окружения AWS_CA_BUNDLE.

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.

По умолчанию — disabled.

Варианты:

  • "disabled"
  • "enabled"

debug_botocore_endpoint_logs

логическое значение

Использовать регистратор botocore.endpoint для анализа уникальных (а не общего количества) вызовов API "resource:action", выполненных во время задачи, и выводить набор в ключ resource_actions результатов задачи. Используйте callback aws_resource_action, чтобы вывести общий список вызовов, выполненных в плейбуке.

Также можно использовать переменную окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

delivery_policy

словарь

Политика доставки, применяемая к теме SNS.

http

словарь

Политика доставки сообщений HTTP(S).

Дополнительные сведения см. по адресу https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html.

defaultHealthyRetryPolicy

словарь / обязательный

Политика повторных попыток для сообщений HTTP(S).

backoffFunction

строка / обязательный

Функция увеличения интервала между повторными попытками.

Варианты:

  • "arithmetic"
  • "exponential"
  • "geometric"
  • "linear"

maxDelayTarget

целое число / обязательный

Максимальная задержка перед повторной попыткой.

minDelayTarget

целое число / обязательный

Минимальная задержка перед повторной попыткой.

numMaxDelayRetries

целое число / обязательный

Количество повторных попыток с максимальной задержкой между ними.

numMinDelayRetries

целое число / обязательный

Количество повторных попыток с минимальной задержкой между ними.

numNoDelayRetries

целое число / обязательный

Количество повторных попыток, выполняемых немедленно.

numRetries

целое число / обязательный

Общее количество повторных попыток.

defaultThrottlePolicy

словарь

Ограничение скорости отправки сообщений подпискам.

maxReceivesPerSecond

целое число / обязательный

Максимальное количество доставок в секунду для каждой подписки.

disableSubscriptionOverrides

логическое значение

Применять эту политику ко всем подпискам, даже если для них заданы собственные политики.

Варианты:

  • false
  • true

display_name

строка

Отображаемое имя темы.

endpoint_url

алиасы: aws_endpoint_url

строка

URL для подключения вместо конечных точек AWS по умолчанию. Хотя его можно использовать для подключения к другим совместимым с AWS сервисам, коллекции amazon.aws и community.aws тестируются только с AWS.

Также можно использовать переменную окружения AWS_URL.

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.

Также можно использовать переменную окружения AWS_PROFILE.

Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и session_token.

purge_subscriptions

логическое значение

Удалять ли подписки, не указанные здесь. ПРИМЕЧАНИЕ: AWS не позволяет удалять подписки со статусом PendingConfirmation, поэтому существующие подписки, которые должны быть удалены, пропускаются без уведомления. Это означает, что кто-то впоследствии может подтвердить такую подписку. Приносим извинения. В этом виноват Amazon.

Варианты:

  • false
  • true ← (по умолчанию)

purge_tags

логическое значение

Если задано purge_tags=true и указан tags, существующие теги ресурса будут удалены, чтобы набор тегов точно соответствовал параметру tags.

Если параметр tags не задан, теги не изменяются, даже если указано purge_tags=True.

Ключи тегов, начинающиеся с aws:, зарезервированы Amazon и не могут быть изменены. Поэтому они игнорируются при обработке параметра purge_tags. Дополнительные сведения см. в документации Amazon: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions.

Варианты:

  • false
  • true ← (по умолчанию)

region

алиасы: aws_region

строка

Регион AWS для использования.

Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется.

Также можно использовать переменную окружения AWS_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.

Также можно использовать переменные окружения AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY в порядке убывания приоритета.

Параметры 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.

Также можно использовать переменную окружения AWS_SESSION_TOKEN.

Параметры session_token и profile являются взаимоисключающими.

state

строка

Создать или удалить тему SNS.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

subscriptions

список / элементы=словарь

Список подписок, применяемых к теме. Обратите внимание: AWS требует подтверждения подписок, поэтому необходимо подтвердить все новые подписки.

По умолчанию: []

attributes

строка

добавлено в community.aws 4.1.0

Атрибуты подписки. Для конечных точек SQS поддерживается только RawMessageDelievery.

По умолчанию: {}

endpoint

строка / обязательный

Конечная точка подписки.

protocol

строка / обязательный

Протокол подписки.

tags

алиасы: resource_tags

словарь

Словарь с тегами, применяемыми к ресурсу.

Если параметр tags не задан, теги не изменяются.

topic_type

строка

добавлено в community.aws 2.0.0

Тип создаваемой темы. Standard или FIFO (first-in, first-out).

Некоторые регионы, включая GovCloud, не поддерживают темы FIFO. Если регион не поддерживает темы FIFO, используйте значение по умолчанию ‘standard’ или не указывайте этот параметр.

Варианты:

  • "standard" ← (по умолчанию)
  • "fifo"

validate_certs

логическое значение

Если задано значение false, SSL-сертификаты при взаимодействии с API AWS проверяться не будут.

Настоятельно не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность указать aws_ca_bundle.

Варианты:

  • false
  • true ← (по умолчанию)

Примечания

Примечание

  • Поддержка 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 темы, которую вы изменяете

Возвращается: всегда

Пример: "arn:aws:sns:us-east-2:123456789012:my_topic_name"

sns_topic

complex

Словарь со сведениями о теме SNS

Возвращается: всегда

attributes_set

list / elements=string

Список атрибутов, заданных во время этого запуска

Возвращается: всегда

Пример: []

check_mode

boolean

был ли включен режим проверки

Возвращается: всегда

Пример: false

content_based_deduplication

string

добавлено в community.aws 5.3.0

Было ли задано значение content_based_deduplication

Возвращается: всегда

Пример: "disabled"

delivery_policy

string

Политика доставки для темы SNS

Возвращается: если тема принадлежит этой учетной записи AWS

Пример: "{\"http\":{\"defaultHealthyRetryPolicy\":{\"minDelayTarget\":20,\"maxDelayTarget\":20,\"numRetries\":3,\"numMaxDelayRetries\":0, \"numNoDelayRetries\":0,\"numMinDelayRetries\":0,\"backoffFunction\":\"linear\"},\"disableSubscriptionOverrides\":false}}\n"

display_name

string

Отображаемое имя темы SNS

Возвращается: если тема принадлежит этой учетной записи AWS

Пример: "My topic name"

name

string

Имя темы

Возвращается: всегда

Пример: "ansible-test-dummy-topic"

owner

string

Учетная запись AWS, которой принадлежит тема

Возвращается: если тема принадлежит этой учетной записи AWS

Пример: "123456789012"

policy

string

Политика для темы SNS

Возвращается: если тема принадлежит этой учетной записи AWS

Пример: "{\"Version\":\"2012-10-17\",\"Id\":\"SomePolicyId\",\"Statement\":[{\"Sid\":\"ANewSid\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:root\"}, \"Action\":\"sns:Subscribe\",\"Resource\":\"arn:aws:sns:us-east-2:123456789012:ansible-test-dummy-topic\",\"Condition\":{\"StringEquals\":{\"sns:Protocol\":\"email\"}}}]}\n"

state

string

наличие или отсутствие темы

Возвращается: всегда

Пример: "present"

subscriptions

list / elements=string

Список подписчиков темы в этой учетной записи AWS

Возвращается: всегда

Пример: []

subscriptions_added

list / elements=string

Список подписчиков, добавленных во время этого запуска

Возвращается: всегда

Пример: []

subscriptions_confirmed

string

Количество подтвержденных подписок

Возвращается: если тема принадлежит этой учетной записи AWS

Пример: "0"

subscriptions_deleted

string

Количество удаленных подписок

Возвращается: если тема принадлежит этой учетной записи AWS

Пример: "0"

subscriptions_existing

list / elements=string

Список существующих подписок

Возвращается: всегда

Пример: []

subscriptions_new

list / elements=string

Список новых подписок

Возвращается: всегда

Пример: []

subscriptions_pending

string

Количество ожидающих подтверждения подписок

Возвращается: если тема принадлежит этой учетной записи AWS

Пример: "0"

subscriptions_purge

boolean

Было ли задано значение purge_subscriptions

Возвращается: всегда

Пример: true

topic_arn

string

ARN темы SNS (эквивалентно sns_arn)

Возвращается: если тема принадлежит этой учетной записи AWS

Пример: "arn:aws:sns:us-east-2:123456789012:ansible-test-dummy-topic"

topic_created

boolean

Была ли создана тема

Возвращается: всегда

Пример: false

topic_deleted

boolean

Была ли удалена тема

Возвращается: всегда

Пример: false

Авторы

  • Joel Thompson (@joelthompson)
  • Fernando Jose Pando (@nand0p)
  • Will Thames (@willthames)

Ссылки на коллекцию

  • Отслеживание ошибок
  • Репозиторий (исходный код)
  • Связь

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API