Spec-Zone.ru › Ansible 2.6

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 Значение по умолчанию:
"да"
Этот ключ позволяет попробовать пропустить проверку сертификатов при выполнении вызовов 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. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.

Список других модулей, которые также поддерживаются сообществом Ansible, см. здесь.

Автор

  • PubNub <support@pubnub.com> (@pubnub)
  • Сергей Мамонтов <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.6/modules/pubnub_blocks_module.html

Spec-Zone.ru

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