Spec-Zone.ru › Ansible

Модуль 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_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY также могут использоваться в порядке убывания предпочтения.

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

Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с AWS botocore SDK.

Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_ACCESS_KEY устарела и будет удалена в релизе после 2024-12-01.

aws_ca_bundle

path

Расположение пакета CA, используемого при проверке сертификатов SSL.

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

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.

Значение по умолчанию: disabled.

Варианты:

  • "disabled"
  • "enabled"

debug_botocore_endpoint_logs

boolean

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

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

Варианты:

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

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

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

Варианты:

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

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

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

Варианты:

  • false
  • true

display_name

string

Имя темы.

endpoint_url

aliases: ec2_url, aws_endpoint_url, s3_url

string

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

Также могут быть использованы переменные среды AWS_URL или EC2_URL, в порядке убывания приоритета.

Псевдонимы ec2_url и s3_url устарели и будут удалены в выпуске после 2024-12-01.

Поддержка переменной среды EC2_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.

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

Опция profile несовместима с опциями aws_access_key, aws_secret_key и security_token.

purge_subscriptions

boolean

Очистить подписки, не указанные здесь. ВАЖНО: AWS не позволяет очищать подписки PendingConfirmation, поэтому, если они существуют и должны быть очищены, они проигнорируются. Это означает, что кто-то может вернуться позже и подтвердить подписку. Извините. Вина Амазона.

Варианты:

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

purge_tags

boolean

Если 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

aliases: aws_region, ec2_region

string

AWS регион.

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

Также могут быть использованы переменные среды AWS_REGION или EC2_REGION.

Дополнительную информацию см. в документации AWS Amazon http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

Псевдоним ec2_region устарел и будет удален в выпуске после 2024-12-01

Поддержка переменной среды EC2_REGION устарела и будет удалена в выпуске после 2024-12-01.

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.

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

Опции secret_key и profile взаимоисключающие.

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

Псевдоним ec2_secret_key устарел и будет удален в выпуске после 2024-12-01.

Поддержка переменной среды 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.

Также могут быть использованы переменные среды AWS_SESSION_TOKEN, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN в порядке убывания приоритета.

Опции 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.

Поддержка переменных среды EC2_SECRET_KEY и AWS_SECURITY_TOKEN устарела и будет удалена в выпуске после 2024-12-01.

state

string

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

Варианты:

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

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.

Доступные значения:

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

validate_certs

boolean

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

Установка validate_certs=false категорически не рекомендуется. В качестве альтернативы, рассмотрите возможность установки aws_ca_bundle вместо этого.

Доступные значения:

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

Примечания

Примечание

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

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

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

sns_topic

сложный

Словарь с деталями темы sns

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

attributes_set

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

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

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

Пример: []

check_mode

булево

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

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

Пример: false

content_based_deduplication

строка

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

Установлено ли значение content_based_deduplication

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

Пример: "disabled"

delivery_policy

строка

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

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

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

display_name

строка

Имя для отображения темы SNS

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

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

name

строка

Имя темы

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

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

owner

строка

Аккаунт AWS, который владеет темой

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

Пример: "123456789012"

policy

строка

Политика для темы 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

строка

присутствует или отсутствует тема

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

Пример: "present"

subscriptions

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

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

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

Пример: []

subscriptions_added

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

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

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

Пример: []

subscriptions_confirmed

строка

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

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

Пример: "0"

subscriptions_deleted

строка

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

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

Пример: "0"

subscriptions_existing

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

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

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

Пример: []

subscriptions_new

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

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

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

Пример: []

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–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

Spec-Zone.ru

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