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. Используется только в случае, если блок не существует, и не будет изменен для существующего блока. |
| Электронная почта из учетной записи, для которой необходимо запустить новую сессию. Не требуется, если 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 словарь | всегда | Кэшированная информация об учетной записи. В случае многократного использования модуля в одном выполнении, рекомендуется передавать кэшированные данные в последующие вызовы модуля, чтобы ускорить процесс. |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимостью.
Автор
- 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.5/modules/pubnub_blocks_module.html