consul_kv – Управление записями в хранилище ключ/значение кластера consul
Новая версия с версии 2.0.
Обзор
- Позволяет извлекать, добавлять, изменять и удалять записи ключ/значение в кластере consul через агента. Все содержимое записи, включая индексы, флаги и сеанс, возвращается как ‘значение’.
- Если ключ представляет собой префикс, то Обратите внимание, что при удалении значения возвращается текущее значение, если оно существует.
- Для получения дополнительной информации см. http://www.consul.io/docs/agent/http.html#kv.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- python-consul
- requests
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| cas - | Используется при получении блокировки с сеансом. Если cas равен 0, Consul добавит ключ только в случае, если он ещё не существует. Если значение cas не равно нулю, то ключ устанавливается только в том случае, если индекс совпадает с ModifyIndex этого ключа. | |
| flags - | Целое значение, которое можно передать при установке значения. | |
| host - | По умолчанию: "localhost" | Хост агента consul. |
| key - / обязательно | Ключ, по которому должно храниться значение. | |
| port - | По умолчанию: 8500 | Порт, на котором работает агент consul. |
| recurse boolean |
| Если ключ представляет собой префикс, то каждая запись с этим префиксом может быть извлечена, установив это значение в yes. |
| scheme - добавлено в 2.1 | По умолчанию: "http" | Схема протокола, на котором работает агент consul. |
| session - | Сеанс, который должен быть использован для получения или освобождения блокировки, связанной с парой ключ/значение. | |
| state - |
| Действие, которое следует выполнить с заданным ключом и значением. Если состояние равно 'присутствует', а `значение` задано, содержимое ключа будет установлено на указанное значение, и `изменено` будет установлено в `истинно` только в том случае, если значение отличалось от текущего содержимого. Если состояние равно 'присутствует', а `значение` не задано, возвращается текущее значение, связанное с ключом. Состояние 'отсутствует' удалит пару ключ/значение, опять же, `изменено` будет установлено в `истинно` только в том случае, если ключ фактически существовал до удаления. Можно попытаться получить или освободить блокировку, связанную с парой ключ/значение, в состояниях 'получить' или 'освободить' соответственно. Для выполнения попытки необходимо предоставить допустимый сеанс. значение `изменено` будет истинно, если попытка успешна, ложно в противном случае. |
| token - | Ключ токена, определяющий набор правил ACL, которые контролируют доступ к паре ключ/значение. | |
| validate_certs boolean добавлено в 2.1 |
| Требуется ли проверка сертификата 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. [сообщество]
Авторы
- 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.8/modules/consul_kv_module.html