Spec-Zone.ru › Ansible 2.4

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

Новая версия с 2.2.

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

Обзор

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

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

  • python >= 2.7
  • pubnub_blocks_client >= 1.0

Параметры

параметр обязательный значение по умолчанию варианты комментарии
account
(добавлен в 2.4)
нет
Имя учетной записи 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
нет запущен
  • запущен
  • остановлен
  • настоящий
  • отсутствует
Предполагаемое состояние блока после завершения процесса создания/обновления обработчиков событий.
validate_certs
нет True
Этот ключ позволяет попытаться пропустить проверку сертификатов при выполнении вызовов REST API. Иногда на хосте могут возникнуть проблемы с сертификатами, и это приведет к проблемам при вызове REST API PubNub.
Если проверка должна быть пропущена, False должен быть передан в этот параметр.

Примеры

# Event handler create example.
- name: Create single event handler
  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'
  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
  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
  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
  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
  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
  pubnub_blocks:
    cache: '{{ module_cache }}'
    application: '{{ app_name }}'
    keyset: '{{ keyset_name }}'
    name: '{{ block_name }}'
    state: started

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

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

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

Статус

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

Для помощи в разработке модулей, если вы этого желаете, пожалуйста, прочитайте Информация о сообществе и сотрудничество, Тестирование 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/pubnub_blocks_module.html

Spec-Zone.ru

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