community.general.etcd3 – Set or delete key value pairs from an etcd3 cluster

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.

Synopsis

  • Sets or deletes values in etcd3 cluster using its v3 api.

  • Needs python etcd3 lib to work

Requirements

The below requirements are needed on the host that executes this module.

  • etcd3

Parameters

Parameter

Comments

ca_cert

path

The Certificate Authority to use to verify the etcd host.

Required if client_cert and client_key are defined.

client_cert

path

PEM formatted certificate chain file to be used for SSL client authentication.

Required if client_key is defined.

client_key

path

PEM formatted file that contains your private key to be used for SSL client authentication.

Required if client_cert is defined.

host

string

the IP address of the cluster

Default: “localhost”

key

string / required

the key where the information is stored in the cluster

password

string

The password to use for authentication.

Required if user is defined.

port

integer

the port number used to connect to the cluster

Default: 2379

state

string / required

the state of the value for the key.

can be present or absent

Choices:

  • present

  • absent

timeout

integer

The socket level timeout in seconds.

user

string

The etcd user to authenticate with.

value

string / required

the information stored

Examples

- name: Store a value "bar" under the key "foo" for a cluster located "http://localhost:2379"
  community.general.etcd3:
    key: "foo"
    value: "baz3"
    host: "localhost"
    port: 2379
    state: "present"

- name: Authenticate using user/password combination with a timeout of 10 seconds
  community.general.etcd3:
    key: "foo"
    value: "baz3"
    state: "present"
    user: "someone"
    password: "password123"
    timeout: 10

- name: Authenticate using TLS certificates
  community.general.etcd3:
    key: "foo"
    value: "baz3"
    state: "present"
    ca_cert: "/etc/ssl/certs/CA_CERT.pem"
    client_cert: "/etc/ssl/certs/cert.crt"
    client_key: "/etc/ssl/private/key.pem"

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

key

string

The key that was queried

Returned: always

old_value

string

The previous value in the cluster

Returned: always

Authors

  • Jean-Philippe Evrard (@evrardjp)

  • Victor Fauth (@vfauth)