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 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