salt.states.zookeeper

Zookeeper State

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