community.general.etcd3 lookup – Get key values from etcd3 server
Note
This lookup plugin is part of the community.general collection (version 9.4.0).
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.etcd3
.
New in community.general 0.2.0
Synopsis
Retrieves key values and/or key prefixes from etcd3 server using its native gRPC API.
Try to reuse community.general.etcd3 options for connection parameters, but add support for some
ETCDCTL_*
environment variables.See https://github.com/etcd-io/etcd/tree/master/Documentation/op-guide for etcd overview.
Requirements
The below requirements are needed on the local controller node that executes this lookup.
etcd3 >= 0.10
Terms
Parameter |
Comments |
---|---|
The list of keys (or key prefixes) to look up on the etcd3 server. |
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.etcd3', key1=value1, key2=value2, ...)
and query('community.general.etcd3', key1=value1, key2=value2, ...)
Parameter |
Comments |
---|---|
Counterpart of The The Default: Configuration:
|
|
etcd3 listening client host. Takes precedence over |
|
etcd3 listening client port. Takes precedence over |
|
Look for key or prefix key. Choices:
|
|
Notes
Note
When keyword and positional parameters are used together, positional parameters must be listed before keyword parameters:
lookup('community.general.etcd3', term1, term2, key1=value1, key2=value2)
andquery('community.general.etcd3', term1, term2, key1=value1, key2=value2)
host
andport
options take precedence over (endpoints) option.The recommended way to connect to etcd3 server is using
ETCDCTL_ENDPOINT
environment variable and keependpoints
,host
, andport
unused.
See Also
See also
- community.general.etcd3
Set or delete key value pairs from an etcd3 cluster.
- community.general.etcd lookup plugin
get info from an etcd server.
Examples
- name: "a value from a locally running etcd"
ansible.builtin.debug:
msg: "{{ lookup('community.general.etcd3', 'foo/bar') }}"
- name: "values from multiple folders on a locally running etcd"
ansible.builtin.debug:
msg: "{{ lookup('community.general.etcd3', 'foo', 'bar', 'baz') }}"
- name: "look for a key prefix"
ansible.builtin.debug:
msg: "{{ lookup('community.general.etcd3', '/foo/bar', prefix=True) }}"
- name: "connect to etcd3 with a client certificate"
ansible.builtin.debug:
msg: "{{ lookup('community.general.etcd3', 'foo/bar', cert_cert='/etc/ssl/etcd/client.pem', cert_key='/etc/ssl/etcd/client.key') }}"
Return Value
Key |
Description |
---|---|
List of keys and associated values. Returned: success |
|
The element’s key. Returned: success |
|
The element’s value. Returned: success |