# znode – Create, delete, retrieve, and update znodes using ZooKeeper

- Synopsis
- Requirements
- Parameters
- Examples
- Status

## Synopsis

- Create, delete, retrieve, and update znodes using ZooKeeper.

## Requirements

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

- kazoo >= 2.1
- python >= 2.6

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
hosts - / required |  | A list of ZooKeeper servers (format '[server]:[port]').
name - / required |  | The path of the znode.
op - |  | An operation to perform. Mutually exclusive with state.

recursive
boolean

Choices:
- no ←
- yes

Recursively delete node and all its children.

state - |  | The state to enforce. Mutually exclusive with op.
timeout - | Default: 300 | The amount of time to wait for a node to appear.
value - |  | The value assigned to the znode.

## Examples

    # Creating or updating a znode with a given value
    - znode:
        hosts: 'localhost:2181'
        name: /mypath
        value: myvalue
        state: present

    # Getting the value and stat structure for a znode
    - znode:
        hosts: 'localhost:2181'
        name: /mypath
        op: get

    # Listing a particular znode's children
    - znode:
        hosts: 'localhost:2181'
        name: /zookeeper
        op: list

    # Waiting 20 seconds for a znode to appear at path /mypath
    - znode:
        hosts: 'localhost:2181'
        name: /mypath
        op: wait
        timeout: 20

    # Deleting a znode at path /mypath
    - znode:
        hosts: 'localhost:2181'
        name: /mypath
        state: absent

    # Creating or updating a znode with a given value on a remote Zookeeper
    - znode:
        hosts: 'my-zookeeper-node:2181'
        name: /mypath
        value: myvalue
        state: present
      delegate_to: 127.0.0.1

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Trey Perry (@treyperry)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.