%PDF- %PDF-
| Direktori : /proc/self/root/proc/thread-self/root/lib/python2.7/site-packages/salt/states/ |
| Current File : //proc/self/root/proc/thread-self/root/lib/python2.7/site-packages/salt/states/zookeeper.pyo |
�
���^c @@ s� d Z d d l m Z m Z m Z d Z d � Z d � Z d
e e e d d
d
d
d
d
d
d � Z
d e d
d
d
d
d
d
d � Z d d
d
d
d
d
d
d � Z d
S( u�
:depends: kazoo
:configuration: See :py:mod:`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
i ( t absolute_importt print_functiont unicode_literalsu zookeeperc C@ s d t k r t St S( Nu zookeeper.create( t __salt__t __virtualname__t False( ( ( s9 /usr/lib/python2.7/site-packages/salt/states/zookeeper.pyt __virtual__# s c C@ sD t t | � t | � � } t t | � t | � � } | oC | S( N( t boolt set( t leftt rightt firstt second( ( s9 /usr/lib/python2.7/site-packages/salt/states/zookeeper.pyt _check_acls) s i����c
C@ s i | d 6t d 6d j | � d 6i d 6}
i | d 6| d 6| d 6|
d 6| d
6| d 6} | d k rp g } n# g | D] } t d | � ^ qw } t d
| | � rt d | | � } t d | | � } | | k rt | | � rt |
d <d j | � |
d <|
St d t k r�d |
d <d j | � |
d <i |
d d <i |
d d <| | k r�| |
d d d <| |
d d d <n t | | � s�| |
d d d <| |
d d d <n |
St t } } i } | | k rNt d | | | | � t d | | � } | | k } | j d i � j d | � | j d i � j d | � n | r�t | | � r�t d | | | | � t d | | � } t | | � } | j d i � j d | � | j d i � j d | � n | |
d <| r| rt |
d <d j | � |
d <n |
Sn t d t k r�d |
d <d j | � |
d <i |
d d <i |
d d <| |
d d d <| |
d d d <|
St d | | | | | | | � t t } } i i d 6} t d | | � } | | k } | j d i � j d | � t d | | � } | d k p&t | | � } | j d i � j d | � | |
d <| r{| r{t |
d <d j | � |
d <n |
S( u
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)
.. code-block:: yaml
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
u nameu resultu Failed to setup znode {0}u commentu changesu profileu hostsu schemeu usernameu passwordu default_aclu zookeeper.make_digest_aclu zookeeper.existsu
zookeeper.getu zookeeper.get_aclsuC Znode {0} is already set to the correct value with the correct aclsu testu Znode {0} is will be updatedu oldu newu valueu aclsu
zookeeper.setu zookeeper.set_aclsu Znode {0} successfully updatedu {0} is will be createdu zookeeper.createu Znode {0} successfully createdN( R t formatt NoneR R
t Truet __opts__t
setdefault( t namet valuet aclst ephemeralt sequencet makepatht versiont profilet hostst schemet usernamet passwordt default_aclt rett
connkwargst chk_aclst aclt cur_valuet cur_aclst value_resultt
acl_resultt changest new_valuet new_acls( ( s9 /usr/lib/python2.7/site-packages/salt/states/zookeeper.pyt present/ s� K
#
c C@ s� i | d 6t d 6d j | � d 6i d 6} i | d 6| d 6| d 6| d 6| d
6| d 6}
t d | |
� t k r� t | d <d
j | � | d <| Si } t d | |
� | d <t d | |
� | d <| t k r� t d | |
� | d <n t d t k r.d | d <d j | � | d <| | d d <| St d | | | |
� t d | |
� t k r�t | d <d j | � | d <| | d d <n | S( u`
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)
.. code-block:: yaml
delete znode:
zookeeper.absent:
- name: /test
- recursive: True
u nameu resultu Failed to delete znode {0}u commentu changesu profileu hostsu schemeu usernameu passwordu default_aclu zookeeper.existsu Znode {0} does not existu
zookeeper.getu valueu zookeeper.get_aclsu aclsu zookeeper.get_childrenu childrenu testu Znode {0} will be removedu oldu zookeeper.deleteu Znode {0} has been removedN( R R R R R R ( R R t recursiveR R R R R R R R! R( ( ( s9 /usr/lib/python2.7/site-packages/salt/states/zookeeper.pyt absent� s6 )
c C@ s� i | d 6t d 6d j | � d 6i d 6} i | d 6| d 6| d 6| d 6| d
6| d 6}
t | t � rv | g } n g | D] } t d | � ^ q} } t d
| |
� s� | d c d 7<| St d | |
� }
t |
| � rt | d <d j | � | d <| St d t k rPd | d <d j | � | d <|
| d d <| | d d <| St d | | | |
� t d | |
� } i |
d 6| d 6| d <t | | � r�t | d <d j | � | d <| Sd j | � | d <| S( u�
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)
.. code-block:: yaml
update acls:
zookeeper.acls:
- name: /test/name
- acls:
- username: daniel
password: test
all: True
- username: gtmanfred
password: test
all: True
u nameu resultu Failed to set acls on znode {0}u commentu changesu profileu hostsu schemeu usernameu passwordu default_aclu zookeeper.make_digest_aclu zookeeper.existsu : Znode does not existu zookeeper.get_aclsu Znode {0} acls already setu testu Znode {0} acls will be updatedu oldu newu zookeeper.set_aclsu Znode {0} acls updatedu Znode {0} acls failed to updateN( R R t
isinstancet dictR R
R R R ( R R R R R R R R R R R! R# R"