%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python2.7/site-packages/salt/states/
Upload File :
Create Path :
Current File : //lib/python2.7/site-packages/salt/states/grafana4_user.pyo

�
���^c@@s�dZddlmZmZmZddljjZddlm	Z	ddl
mZd�Ze
dddd�Zdd	�Zdd
�ZdS(u�
Manage Grafana v4.0 users

.. versionadded:: 2017.7.0

:configuration: This state requires a configuration profile to be configured
    in the minion config, minion pillar, or master config. The module will use
    the 'grafana' key by default, if defined.

    Example configuration using basic authentication:

    .. code-block:: yaml

        grafana:
          grafana_url: http://grafana.localhost
          grafana_user: admin
          grafana_password: admin
          grafana_timeout: 3

    Example configuration using token based authentication:

    .. code-block:: yaml

        grafana:
          grafana_url: http://grafana.localhost
          grafana_token: token
          grafana_timeout: 3

.. code-block:: yaml

    Ensure foobar user is present:
      grafana4_user.present:
        - name: foobar
        - password: mypass
        - email: "foobar@localhost"
        - fullname: Foo Bar
        - is_admin: true
i(tabsolute_importtprint_functiontunicode_literalsN(t	deep_diff(tstring_typescC@s
dtkS(u)Only load if grafana4 module is availableugrafana4.get_user(t__salt__(((s=/usr/lib/python2.7/site-packages/salt/states/grafana4_user.pyt__virtual__1sugrafanacC@s�t|t�r"td|�}ni|d6dd6dd6id6}td||�}|}	|	r�tdr�dj|�|d<|Std	d
|d|d|d
|d|�td||�}||dd<ntd|dd|�}
td
|d|d
|d|d|
�}|td
dddd
dddd|
�kr�tdradj|�|d<|Std|dd||�tj|dt	|
td|d���n|d|kr&tdr�dj|�|d<|Std|dd|d|�tj|dt	|td||���nt
|d<|	r^|dd|d<dj|�|d<n=|dr~dj|�|d<ni|d<dj|�|d<|S(u�
    Ensure that a user is present.

    name
        Name of the user.

    password
        Password of the user.

    email
        Email of the user.

    is_admin
        Optional - Set user as admin user. Default: False

    fullname
        Optional - Full name of the user.

    theme
        Optional - Selected theme of the user.

    profile
        Configuration profile used to connect to the Grafana instance.
        Default is 'grafana'.
    u
config.optionunameuresultucommentuchangesugrafana4.get_userutestuUser {0} will be createdugrafana4.create_usertlogintpasswordtemailtnametprofileunewugrafana4.get_user_datauidtthemetdefaultsuUser {0} will be updatedugrafana4.update_useruisAdminu'User {0} isAdmin status will be updatedu grafana4.update_user_permissionstisGrafanaAdminuNew user {0} addeduUser {0} updateduUser {0} already up-to-dateN(t
isinstanceRRtNonet__opts__tformatt_get_json_datat
dictupdatetupdateRtTrue(R
RR	tis_admintfullnameRRtrettusertcreatet	user_datatdata((s=/usr/lib/python2.7/site-packages/salt/states/grafana4_user.pytpresent6s^ "

	!






cC@sbt|t�r"td|�}ni|d6dd6dd6id6}td||�}|rtdr~dj|�|d<|Std	|d
d|�}td|d
d|�x�|D]T}|d|d
kr�td|dd|�q�td|d
|dd|�q�Wn!t|d<dj|�|d<|St|d<d|d|<dj|�|d<|S(u�
    Ensure that a user is present.

    name
        Name of the user to remove.

    profile
        Configuration profile used to connect to the Grafana instance.
        Default is 'grafana'.
    u
config.optionunameuresultucommentuchangesugrafana4.get_userutestuUser {0} will be deletedugrafana4.get_user_orgsuidRugrafana4.delete_useruemailugrafana4.delete_orguorgIdugrafana4.delete_user_orguUser {0} already absentuAbsentuUser {0} was deletedN(RRRRRRR(R
RRRtorgstorg((s=/usr/lib/python2.7/site-packages/salt/states/grafana4_user.pytabsent�s,"



cK@sX|dkri}nx<|j�D].\}}|dkr"|j|�||<q"q"W|S(N(Rtitemstget(R
tkwargstktv((s=/usr/lib/python2.7/site-packages/salt/states/grafana4_user.pyR�s	(t__doc__t
__future__RRRtsalt.utils.dictupdatetutilsRtsalt.utils.dictdifferRtsalt.ext.sixRRtFalseRRR!R(((s=/usr/lib/python2.7/site-packages/salt/states/grafana4_user.pyt<module>'s	S,

Zerion Mini Shell 1.0