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