Spec-Zone.ru › Ansible 2.10

community.general.pubnub_blocks – Модуль управления блоками PubNub.

Примечание

Этот плагин входит в коллекцию community.general (версия 1.3.2).

Для его установки используйте: ansible-galaxy collection install community.general.

Для использования в книге задач укажите: community.general.pubnub_blocks.

  • Обзор
  • Требования
  • Параметры
  • Примеры
  • Возвращаемые значения

Обзор

  • Этот модуль позволяет Ansible взаимодействовать с инфраструктурой PubNub BLOCKS, предоставляя следующие операции: создание/удаление, запуск/остановка и переименование блоков, а также создание/изменение/удаление обработчиков событий.

Требования

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

  • python >= 2.7
  • pubnub_blocks_client >= 1.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
account
строка
Имя учетной записи PubNub, для которой application будет использоваться для управления блоками.
Если значение не задано или пустое, будет использована учетная запись пользователя.
application
строка / обязательно
Имя целевого приложения PubNub, для которого будет настроена конфигурация блоков на конкретном keyset.
cache
словарь
По умолчанию:
{}
Если модуль управления блоками используется несколько раз в рамках одной задачи, рекомендуется включить кэширование, чтобы предыдущий модуль делился собранными данными и передавал их в этот параметр.
changes
словарь
По умолчанию:
{}
Список полей, которые должны быть изменены самим блоком (не затрагивает обработчики событий).
Возможные варианты изменений: name.
description
строка
Краткое описание блока, которое будет отображаться на admin.pubnub.com. Используется только если блок не существует и не будет изменять описание существующего блока.
email
строка
Электронная почта учетной записи, для которой должен быть начат новый сеанс.
Не требуется, если cache содержит результат вызова предыдущего модуля (в той же задаче).
event_handlers
список / элементы=строка
По умолчанию:
[]
Список обработчиков событий, которые должны быть обновлены для указанного блока name.
Каждый элемент для нового обработчика событий должен содержать: name, src, channels, event. name используется в качестве имени обработчика событий, которое можно использовать для внесения изменений в него позже.
src — полный путь к файлу с кодом обработчика событий.
channels — имя канала, из которого обработчик событий ожидает событий.
event — тип события, который может активировать обработчик событий: js-before-publish, js-after-publish, js-after-presence.
Каждый элемент для существующих обработчиков должен содержать name (чтобы целевой обработчик можно было идентифицировать). Остальные параметры (src, channels и event) могут быть добавлены, если требуются изменения.
Можно переименовать обработчик событий, добавив ключ changes в payload обработчика событий и передав словарь, который будет содержать единственный ключ name, где нужно указать новое имя.
Для удаления определенного обработчика событий можно установить state для него в absent.
keyset
строка / обязательно
Имя набора ключей приложения, связанного с управляемыми блоками.
name
строка / обязательно
Имя управляемого блока, которое будет отображаться на admin.pubnub.com.
password
строка
Пароль, соответствующий учетной записи, к которой относится указанный email.
Не требуется, если cache содержит результат вызова предыдущего модуля (в той же задаче).
state
строка
    Варианты:
  • started
  • stopped
  • present ←
  • absent
Желаемое состояние блока после завершения процесса создания/обновления обработчиков событий.
validate_certs
булево
    Варианты:
  • no
  • yes ←
Этот ключ позволяет пропустить проверку сертификатов при выполнении вызовов REST API. Иногда на хосте могут быть проблемы с сертификатами, что приведет к проблемам с вызовами REST API PubNub.
Если проверка должна быть пропущена, False должно быть передано в этот параметр.

Примеры

# Event handler create example.
- name: Create single event handler
  community.general.pubnub_blocks:
    email: '{{ email }}'
    password: '{{ password }}'
    application: '{{ app_name }}'
    keyset: '{{ keyset_name }}'
    name: '{{ block_name }}'
    event_handlers:
      -
        src: '{{ path_to_handler_source }}'
        name: '{{ handler_name }}'
        event: 'js-before-publish'
        channels: '{{ handler_channel }}'

# Change event handler trigger event type.
- name: Change event handler 'event'
  community.general.pubnub_blocks:
    email: '{{ email }}'
    password: '{{ password }}'
    application: '{{ app_name }}'
    keyset: '{{ keyset_name }}'
    name: '{{ block_name }}'
    event_handlers:
      -
        name: '{{ handler_name }}'
        event: 'js-after-publish'

# Stop block and event handlers.
- name: Stopping block
  community.general.pubnub_blocks:
    email: '{{ email }}'
    password: '{{ password }}'
    application: '{{ app_name }}'
    keyset: '{{ keyset_name }}'
    name: '{{ block_name }}'
    state: stop

# Multiple module calls with cached result passing
- name: Create '{{ block_name }}' block
  register: module_cache
  community.general.pubnub_blocks:
    email: '{{ email }}'
    password: '{{ password }}'
    application: '{{ app_name }}'
    keyset: '{{ keyset_name }}'
    name: '{{ block_name }}'
    state: present
- name: Add '{{ event_handler_1_name }}' handler to '{{ block_name }}'
  register: module_cache
  community.general.pubnub_blocks:
    cache: '{{ module_cache }}'
    application: '{{ app_name }}'
    keyset: '{{ keyset_name }}'
    name: '{{ block_name }}'
    state: present
    event_handlers:
      -
        src: '{{ path_to_handler_1_source }}'
        name: '{{ event_handler_1_name }}'
        channels: '{{ event_handler_1_channel }}'
        event: 'js-before-publish'
- name: Add '{{ event_handler_2_name }}' handler to '{{ block_name }}'
  register: module_cache
  community.general.pubnub_blocks:
    cache: '{{ module_cache }}'
    application: '{{ app_name }}'
    keyset: '{{ keyset_name }}'
    name: '{{ block_name }}'
    state: present
    event_handlers:
      -
        src: '{{ path_to_handler_2_source }}'
        name: '{{ event_handler_2_name }}'
        channels: '{{ event_handler_2_channel }}'
        event: 'js-before-publish'
- name: Start '{{ block_name }}' block
  register: module_cache
  community.general.pubnub_blocks:
    cache: '{{ module_cache }}'
    application: '{{ app_name }}'
    keyset: '{{ keyset_name }}'
    name: '{{ block_name }}'
    state: started

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

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

Ключ Возвращаемое значение Описание
module_cache
словарь
всегда
Кэшированная информация об учетной записи. В случае, если модуль используется несколько раз в рамках одной задачи, лучше передать кэшированные данные в последующие вызовы модуля, чтобы ускорить процесс.



Авторы

  • PubNub <support@pubnub.com> (@pubnub)
  • Sergey Mamontov <sergey@pubnub.com> (@parfeon)

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

Spec-Zone.ru

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