community.general.consul_kv – Управление записями в хранилище ключ/значение кластера Consul
Примечание
Этот плагин входит в коллекцию community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general.
Чтобы использовать его в книге задач, укажите: community.general.consul_kv.
Обзор
- Позволяет извлекать, добавлять, изменять и удалять записи ключ/значение в кластере Consul через агента. Все содержимое записи, включая индексы, флаги и сессии, возвращается как
value. - Если
keyпредставляет собой префикс, то при удалении значения возвращается текущее значение, если оно есть, как часть результатов. - Дополнительную информацию см. на странице http://www.consul.io/docs/agent/http.html#kv.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python-consul
- requests
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| cas строка | Используется при получении блокировки с помощью сессии. Если cas равно 0, Consul поместит ключ только в том случае, если он еще не существует. Если значение cas не равно нулю, ключ устанавливается только в том случае, если индекс совпадает с ModifyIndex этого ключа. | |
| flags строка | Непрозрачное положительное целое значение, которое можно передать при установке значения. | |
| host строка | По умолчанию: "localhost" | Хост агента Consul. |
| key строка / обязательно | Ключ, в котором должно храниться значение. | |
| port целое число | По умолчанию: 8500 | Порт, на котором работает агент Consul. |
| recurse логическое значение |
| Если ключ представляет собой префикс, каждую запись с префиксом можно извлечь, установив это значение в yes. |
| retrieve логическое значение |
| Если состояние равно present и значение установлено, выполняется чтение после установки значения, и это значение возвращается. |
| scheme строка | По умолчанию: "http" | Схема протокола, на которой работает агент Consul. |
| session строка | Сессия, которая должна использоваться для получения или освобождения блокировки, связанной с парой ключ/значение. | |
| state строка |
| Действие, которое нужно выполнить с заданным ключом и значением. Если состояние равно 'present' и `value` установлено, содержимое ключа будет установлено в предоставленное значение, и `changed` будет установлено в `true` только в том случае, если значение отличалось от текущего содержимого. Если состояние равно 'present' и `value` не установлено, возвращается текущее значение, связанное с ключом. Состояние 'absent' удалит пару ключ/значение, снова 'changed' будет установлено в true только в том случае, если ключ действительно существовал до удаления. Можно попытаться получить или освободить блокировку, связанную с парой ключ/значение, в состояниях 'acquire' или 'release' соответственно. Для попытки необходима действительная сессия. Изменение будет истинным, если попытка успешна, ложным в противном случае. |
| token строка | Ключ токена, идентифицирующий набор правил ACL, которые контролируют доступ к паре ключ/значение. | |
| validate_certs логическое значение |
| Выполнять ли проверку сертификата TLS агента Consul. |
| value строка | Значение должно быть связано с заданным ключом, требуется, если state равно present. |
Примеры
# If the key does not exist, the value associated to the "data" property in `retrieved_key` will be `None`
# If the key value is empty string, `retrieved_key["data"]["Value"]` will be `None`
- name: Retrieve a value from the key/value store
community.general.consul_kv:
key: somekey
register: retrieved_key
- name: Add or update the value associated with a key in the key/value store
community.general.consul_kv:
key: somekey
value: somevalue
- name: Remove a key from the store
community.general.consul_kv:
key: somekey
state: absent
- name: Add a node to an arbitrary group via consul inventory (see consul.ini)
community.general.consul_kv:
key: ansible/groups/dc1/somenode
value: top_secret
- name: Register a key/value pair with an associated session
community.general.consul_kv:
key: stg/node/server_birthday
value: 20160509
session: "{{ sessionid }}"
state: acquire
Авторы
- Steve Gargan (@sgargan)
- Colin Nolan (@colin-nolan)
© 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/consul_kv_module.html