Spec-Zone.ru › Ansible 2.4

gcpubsub - Создание и удаление тем/подписок, публикация и получение сообщений в PubSub.

Новое в версии 2.3.

  • Обзор
  • Требования (к хосту, на котором выполняется модуль)
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Примечания
    • Статус

Обзор

  • Создание и удаление тем/подписок, публикация и получение сообщений в PubSub. См. https://cloud.google.com/pubsub/docs для обзора.

Требования (к хосту, на котором выполняется модуль)

  • python >= 2.6
  • google-auth >= 0.5.0
  • google-cloud-pubsub >= 0.22.0

Параметры

параметр обязательно значение по умолчанию возможные значения комментарии
ack_deadline
нет
Подполе подписки. Необязательно. Срок ожидания подтверждения подписки для сообщения, прежде чем оно будет повторно отправлено. См. примеры.
name
нет
Подполе подписки. Требуется, если указана подписка. См. примеры.
publish
нет
Список словарей, описывающих сообщения и их атрибуты для публикации. Словарь в формате сообщение(строка): атрибуты(словарь). Требуется только сообщение.
pull
нет
Подполе подписки. Необязательно. Если указано, сообщения будут извлекаться из темы через указанную подписку. max_messages (целое число; значение по умолчанию None; максимальное количество сообщений для извлечения), message_ack (булево; значение по умолчанию False; подтверждать сообщение) и return_immediately (булево; значение по умолчанию True, не ждать появления сообщений). Если сообщения подтверждены, changed устанавливается в True, в противном случае — в False.
push_endpoint
нет
Подполе подписки. Необязательно. Если указано, сообщение будет отправлено на конечную точку. См. https://cloud.google.com/pubsub/docs/advanced#push_endpoints для получения дополнительной информации.
state
нет есть
Состояние темы или очереди (отсутствует, присутствует). Применяется к самому мелкому ресурсу. Удаляет самый мелкий ресурс. Если указана подписка, она удаляется. Если указана только тема, удаляется она. Обратите внимание, что тему можно удалить, не удаляя предварительно подписку.
subscription
нет
Словарь, содержащий имя подписки, связанной с темой (обязательно), а также необязательные ack_deadline, push_endpoint и pull. Для извлечения из подписки доступны message_ack (булево), max_messages (целое число) и return_immediate в качестве подполей. См. подполя name, push_endpoint и ack_deadline для получения дополнительной информации.
topic
да
Имя темы GCP pubsub. Требуется только имя, а не полный путь.

Примеры

# Create a topic and publish a message to it
# (Message will be pushed; there is no check to see if the message was pushed before
# Topics:
## Create Topic
gcpubsub:
  topic: ansible-topic-example
  state: present

## Delete Topic
### Subscriptions associated with topic are not deleted.
gcpubsub:
  topic: ansible-topic-example
  state: absent

## Messages: publish multiple messages, with attributes (key:value available with the message)
### setting absent will keep the messages from being sent
gcpubsub:
  topic: "{{ topic_name }}"
  state: present
  publish:
    - message: "this is message 1"
      attributes:
        mykey1: myvalue
        mykey2: myvalu2
        mykey3: myvalue3
    - message: "this is message 2"
      attributes:
        server: prod
        sla: "99.9999"
        owner: fred

# Subscriptions
## Create Subscription (pull)
gcpubsub:
  topic: ansible-topic-example
  subscription:
  - name: mysub
  state: present

## Create Subscription with ack_deadline and push endpoint
### pull is default, ack_deadline is not required
gcpubsub:
  topic: ansible-topic-example
  subscription:
  - name: mysub
    ack_deadline: "60"
    push_endpoint: http://pushendpoint.example.com
  state: present

## Subscription change from push to pull
### setting push_endpoint to "None" converts subscription to pull.
gcpubsub:
  topic: ansible-topic-example
  subscription:
    name: mysub
    push_endpoint: "None"

## Delete subscription
### Topic will not be deleted
gcpubsub:
  topic: ansible-topic-example
  subscription:
  - name: mysub
  state: absent

## Pull messages from subscription
### only pull keyword is required.
gcpubsub:
  topic: ansible-topic-example
  subscription:
    name: ansible-topic-example-sub
    pull:
      message_ack: yes
      max_messages: "100"

Возвращаемые значения

Общие возвращаемые значения документированы здесь Возвращаемые значения, следующие — поля, уникальные для этого модуля:

название описание возвращается тип пример
publish
Список словарей, описывающих сообщения и их атрибуты для публикации. Словарь в формате сообщение(строка): атрибуты(словарь). Требуется только сообщение.
Только при указании список publish: ['message': 'мое сообщение', attributes: {'ключ1': 'значение1'}]
pulled_messages
Список словарей, содержащих информацию о сообщении. Поля — ack_id, атрибуты, данные, message_id.
Только при указании subscription.pull список [{'attributes': {'...': None, 'ключ1': 'значение1'}, 'ack_id': 'XkASTCcYREl...', 'data': 'это сообщение 1', 'message_id': '49107464153705'}, '..']
state
Состояние темы или подписки. Значение будет либо 'отсутствует', либо 'присутствует'.
Всегда строка присутствует
subscription
Имя подписки.
При указании полей подписки строка мояподписка
topic
Имя темы.
Всегда строка моятема

Примечания

Примечание

  • Извлечение из подписки происходит до публикации. Нельзя публиковать и извлекать в одном задании.

Статус

Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимости.

Для получения помощи в разработке модулей, если вы так решите, пожалуйста, ознакомьтесь с Информацией сообщества и участием в разработке, Тестирование Ansible и Разработка модулей.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/gcpubsub_module.html

Spec-Zone.ru

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