consul_kv – Управление записями в хранилище ключ/значение кластера consul
Обзор
- Позволяет получать, добавлять, изменять и удалять записи ключ/значение в кластере 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 - |
| Действие, которое необходимо выполнить с предоставленным ключом и значением. Если состояние равно 'наличие' и `значение` установлено, содержимое ключа будет установлено в предоставленное значение и `changed` будет установлено в `true` только в том случае, если значение отличалось от текущего содержимого. Если состояние равно 'наличие' и `значение` не установлено, возвращается существующее значение, связанное с ключом. Состояние 'отсутствует' удалит пару ключ/значение, и снова `changed` будет установлено в `true` только в том случае, если ключ существовал до удаления. Можно попытаться получить или освободить блокировку, связанную с парой ключ/значение, со состояниями 'получить' или 'освободить' соответственно. Для попытки необходимо предоставить действительный сеанс. Изменение будет истинным, если попытка успешна, и ложным в противном случае. |
| 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
consul_kv:
key: somekey
register: retrieved_key
- name: Add or update the value associated with a key in the key/value store
consul_kv:
key: somekey
value: somevalue
- name: Remove a key from the store
consul_kv:
key: somekey
state: absent
- name: Add a node to an arbitrary group via consul inventory (see consul.ini)
consul_kv:
key: ansible/groups/dc1/somenode
value: top_secret
- name: Register a key/value pair with an associated session
consul_kv:
key: stg/node/server_birthday
value: 20160509
session: "{{ sessionid }}"
state: acquire
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Steve Gargan (@sgargan)
- Colin Nolan (@colin-nolan)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/consul_kv_module.html