Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот плагин входит в сборку community.general (версия 2.0.1).

Для его установки используйте: 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 в загрузку обработчика событий и передав словарь, который будет содержать единственный ключ 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/pubnub_blocks_module.html

Spec-Zone.ru

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