community.general.etcd3 – Get key values from etcd3 server
Note
This plugin is part of the community.general collection (version 3.8.3).
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
.
To use it in a playbook, specify: community.general.etcd3
.
New in version 0.2.0: of community.general
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
Parameters
Parameter |
Comments |
---|---|
The list of keys (or key prefixes) to look up on the etcd3 server. |
|
etcd3 CA authority. Configuration:
|
|
etcd3 client certificate. Configuration:
|
|
etcd3 client private key. Configuration:
|
|
Counterpart of The The Default: “127.0.0.1:2379” Configuration:
|
|
etcd3 listening client host. Takes precedence over endpoints. |
|
Authenticated user password. Configuration:
|
|
etcd3 listening client port. Takes precedence over endpoints. |
|
Look for key or prefix key. Choices:
|
|
Client timeout. Default: 60 Configuration:
|
|
Authenticated user name. Configuration:
|
Notes
Note
host and port options take precedence over (endpoints) option.
The recommended way to connect to etcd3 server is using
ETCDCTL_ENDPOINT
environment variable and keep endpoints, host, and port unused.
See Also
See also
- community.general.etcd3
The official documentation on the community.general.etcd3 module.
- ansible_collections.community.general.etcd_lookup
The etcd v2 lookup.
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 Values
Common return values are documented here, the following are the fields unique to this lookup:
Key |
Description |
---|---|
List of keys and associated values. Returned: success |
|
The element’s key. Returned: success |
|
The element’s value. Returned: success |
Authors
Eric Belhomme (@eric-belhomme) <ebelhomme@fr.scc.com>