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 bool |
| Если ключ представляет префикс, каждый элемент с префиксом можно извлечь, установив это значение в yes. |
| scheme (добавлено в 2.1) | По умолчанию: "http" | Схема протокола, на котором работает агент consul. |
| session | Сеанс, который должен быть использован для получения или освобождения блокировки, связанной с парой ключ/значение. | |
| state |
| Действие, которое нужно выполнить с заданным ключом и значением. Если состояние равно 'существует' и `value` задано, содержимое ключа будет установлено в предоставленное значение, и `changed` будет установлено в `true` только в том случае, если значение отличалось от текущего содержимого. Если состояние равно 'существует' и `value` не задано, будет возвращено существующее значение, связанное с ключом. Состояние 'отсутствует' удалит пару ключ/значение, и снова `changed` будет установлено в `true` только в том случае, если ключ существовал до удаления. Можно попытаться получить или освободить блокировку, связанную с парой ключ/значение, с состояниями 'получить' или 'освободить' соответственно. Для попытки необходим действительный сеанс. Изменение будет истинным, если попытка успешна, ложным в противном случае. |
| token | Ключ токена, идентифицирующий набор правил ACL, контролирующий доступ к паре ключ/значение | |
| validate_certs bool (добавлено в 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. Для получения дополнительной информации см. Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых сообществом 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.6/modules/consul_kv_module.html