�
�Udac @` s� d d l m Z m Z m Z e Z i d d 6d g d 6d d 6Z d Z d Z d
Z d d l
Z
d d l m Z m
Z
d d
l m Z y d d l Z e Z Wn# e k
r� e
j � Z e Z n Xd � Z d � Z e d k r� e � n d S( i ( t absolute_importt divisiont print_functions 1.1t metadata_versiont previewt statust communityt supported_bys�
---
module: etcd3
short_description: "Set or delete key value pairs from an etcd3 cluster"
version_added: "2.5"
requirements:
- etcd3
description:
- Sets or deletes values in etcd3 cluster using its v3 api.
- Needs python etcd3 lib to work
options:
key:
description:
- the key where the information is stored in the cluster
required: true
value:
description:
- the information stored
required: true
host:
description:
- the IP address of the cluster
default: 'localhost'
port:
description:
- the port number used to connect to the cluster
default: 2379
state:
description:
- the state of the value for the key.
- can be present or absent
required: true
user:
description:
- The etcd user to authenticate with.
version_added: '2.8'
password:
description:
- The password to use for authentication.
- Required if I(user) is defined.
version_added: '2.8'
ca_cert:
description:
- The Certificate Authority to use to verify the etcd host.
- Required if I(client_cert) and I(client_key) are defined.
version_added: '2.8'
client_cert:
description:
- PEM formatted certificate chain file to be used for SSL client authentication.
- Required if I(client_key) is defined.
version_added: '2.8'
client_key:
description:
- PEM formatted file that contains your private key to be used for SSL client authentication.
- Required if I(client_cert) is defined.
version_added: '2.8'
timeout:
description:
- The socket level timeout in seconds.
version_added: '2.8'
author:
- Jean-Philippe Evrard (@evrardjp)
- Victor Fauth (@vfauth)
so
# Store a value "bar" under the key "foo" for a cluster located "http://localhost:2379"
- etcd3:
key: "foo"
value: "baz3"
host: "localhost"
port: 2379
state: "present"
# Authenticate using user/password combination with a timeout of 10 seconds
- etcd3:
key: "foo"
value: "baz3"
state: "present"
user: "someone"
password: "password123"
timeout: 10
# Authenticate using TLS certificates
- 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"
s�
key:
description: The key that was queried
returned: always
type: str
old_value:
description: The previous value in the cluster
returned: always
type: str
N( t
AnsibleModulet missing_required_lib( t to_nativec
C` s_ t d t d d d t � d t d d d t � d t d d d d � d t d d
d d � d t d d d t d
d d g � d t d d � d t d d d t � d t d d � d t d d � d t d d � d t d d
� � } t d t � } t d | d t d d d g d d g g � } | j d d k rS| j d d k rS| j d d � n | j j d � | d <| j j d � | j d <| j j d � | j d <t s�| j d t
d � d! t � n d d d d d d d d g } t � } x6 | j j � D]% \ } } | | k r�| | | <q�q�Wy t
j | � } Wn9 t k
rn} | j d d"