community.general.etcd3 lookup – Get key values from etcd3 server
Note
This lookup plugin is part of the community.general collection (version 10.7.5).
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.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)and- query('community.general.etcd3', term1, term2, key1=value1, key2=value2)
- hostand- portoptions take precedence over (endpoints) option.
- The recommended way to connect to etcd3 server is using - ETCDCTL_ENDPOINTenvironment variable and keep- endpoints,- host, and- portunused.
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 | 
