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 строка |
| Намеченное состояние блока после завершения процесса создания/обновления обработчиков событий. |
| validate_certs логическое значение |
| Этот ключ позволяет пропустить проверку сертификатов при выполнении вызовов 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