community.general.consul_kv lookup – Fetch metadata from a Consul key value store.
Note
This lookup plugin is part of the community.general collection (version 9.5.1).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
You need further requirements to be able to use this lookup plugin,
see Requirements for details.
To use it in a playbook, specify: community.general.consul_kv
.
Synopsis
Lookup metadata for a playbook from the key value store in a Consul cluster. Values can be easily set in the kv store with simple rest commands
curl -X PUT -d 'some-value' http://localhost:8500/v1/kv/ansible/somedata
Requirements
The below requirements are needed on the local controller node that executes this lookup.
python-consul python library https://python-consul.readthedocs.io/en/latest/#installation
Keyword parameters
This describes keyword parameters of the lookup. These are the values key1=value1
, key2=value2
and so on in the following
examples: lookup('community.general.consul_kv', key1=value1, key2=value2, ...)
and query('community.general.consul_kv', key1=value1, key2=value2, ...)
Parameter |
Comments |
---|---|
List of key(s) to retrieve. |
|
The client cert to verify the TLS connection. Configuration:
|
|
Retrieve the key from a consul datacenter other than the default for the consul host. |
|
The target to connect to, must be a resolvable address. Will be determined from Default: Configuration:
|
|
If the key has a value with the specified index then this is returned allowing access to historical values. |
|
The port of the target host to connect to. If you use Default: |
|
If true, will retrieve all the values that have the given key as prefix. Choices:
|
|
Whether to use http or https. If you use Default: |
|
The acl token to allow access to restricted values. |
|
The target to connect to. Should look like this: Configuration:
|
|
Whether to verify the TLS connection or not. Choices:
Configuration:
|
Examples
- ansible.builtin.debug:
msg: 'key contains {{item}}'
with_community.general.consul_kv:
- 'key/to/retrieve'
- name: Parameters can be provided after the key be more specific about what to retrieve
ansible.builtin.debug:
msg: 'key contains {{item}}'
with_community.general.consul_kv:
- 'key/to recurse=true token=E6C060A9-26FB-407A-B83E-12DDAFCB4D98'
- name: retrieving a KV from a remote cluster on non default port
ansible.builtin.debug:
msg: "{{ lookup('community.general.consul_kv', 'my/key', host='10.10.10.10', port=2000) }}"
Return Value
Key |
Description |
---|---|
Value(s) stored in consul. Returned: success |