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