# salt.states.zookeeper

depends:

  kazoo

configuration:

  See `salt.modules.zookeeper` for setup instructions.

## ACLS

For more information about acls, please checkout the kazoo documentation.

http://kazoo.readthedocs.io/en/latest/api/security.html#kazoo.security.make_digest_acl

The following options can be included in the acl dictionary:

> param username:

>   Username to use for the ACL.

> param password:

>   A plain-text password to hash.

> param write:

>   Write permission.

> type write:

>   bool

> param create:

>   Create permission.

> type create:

>   bool

> param delete:

>   Delete permission.

> type delete:

>   bool

> param admin:

>   Admin permission.

> type admin:

>   bool

> param all:

>   All permissions.

> type all:

>   bool

salt.states.zookeeper.absent(name, version=-1, recursive=False, profile=None, hosts=None, scheme=None, username=None, password=None, default_acl=None)

  Make sure znode is absent

  name

    path to znode

  version

    Specify the version which should be deleted Default: -1 (always match)

  recursive

    Boolean to indicate if children should be recursively deleted Default: False

  profile

    Configured Zookeeper profile to authenticate with (Default: None)

  hosts

    Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)

  scheme

    Scheme to authenticate with (Default: 'digest')

  username

    Username to authenticate (Default: None)

  password

    Password to authenticate (Default: None)

  default_acl

    Default acls to assign if a node is created in this connection (Default: None)

      delete znode:
        zookeeper.absent:
          - name: /test
          - recursive: True

salt.states.zookeeper.acls(name, acls, version=-1, profile=None, hosts=None, scheme=None, username=None, password=None, default_acl=None)

  Update acls on a znode

  name

    path to znode

  acls

    list of acl dictionaries to set on znode

  version

    Specify the version which should be deleted Default: -1 (always match)

  profile

    Configured Zookeeper profile to authenticate with (Default: None)

  hosts

    Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)

  scheme

    Scheme to authenticate with (Default: 'digest')

  username

    Username to authenticate (Default: None)

  password

    Password to authenticate (Default: None)

  default_acl

    Default acls to assign if a node is created in this connection (Default: None)

      update acls:
        zookeeper.acls:
          - name: /test/name
          - acls:
            - username: daniel
              password: test
              all: True
            - username: gtmanfred
              password: test
              all: True

salt.states.zookeeper.present(name, value, acls=None, ephemeral=False, sequence=False, makepath=False, version=-1, profile=None, hosts=None, scheme=None, username=None, password=None, default_acl=None)

  Make sure znode is present in the correct state with the correct acls

  name

    path to znode

  value

    value znode should be set to

  acls

    list of acl dictionaries to set on znode (make sure the ones salt is connected with are included) Default: None

  ephemeral

    Boolean to indicate if ephemeral znode should be created Default: False

  sequence

    Boolean to indicate if znode path is suffixed with a unique index Default: False

  makepath

    Boolean to indicate if the parent paths should be created Default: False

  version

    For updating, specify the version which should be updated Default: -1 (always match)

  profile

    Configured Zookeeper profile to authenticate with (Default: None)

  hosts

    Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)

  scheme

    Scheme to authenticate with (Default: 'digest')

  username

    Username to authenticate (Default: None)

  password

    Password to authenticate (Default: None)

  default_acl

    Default acls to assign if a node is created in this connection (Default: None)

      add znode:
        zookeeper.present:
          - name: /test/name
          - value: gtmanfred
          - makepath: True

      update znode:
        zookeeper.present:
          - name: /test/name
          - value: daniel
          - acls:
            - username: daniel
              password: test
              read: true
            - username: gtmanfred
              password: test
              read: true
              write: true
              create: true
              delete: true
              admin: true
          - makepath: True