%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_org.pyo

�
���^c@@s�dZddlmZmZmZddljjZddlm	Z	ddl
mZddlm
Z
d�Zdddddddddddd	�Zdd
�Zdd�ZdS(u
Manage Grafana v4.0 orgs

.. 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 org is present:
      grafana4_org.present:
        - name: foobar
        - theme:  ""
        - home_dashboard_id: 0
        - timezone: "utc"
        - address1: ""
        - address2: ""
        - city: ""
        - zip_code: ""
        - state: ""
        - country: ""
i(tabsolute_importtprint_functiontunicode_literalsN(t	deep_diff(t	HTTPError(tstring_typescC@s
dtkS(u)Only load if grafana4 module is availableugrafana4.get_org(t__salt__(((s</usr/lib/python2.7/site-packages/salt/states/grafana4_org.pyt__virtual__7sugrafanacC@s�t|t�r"td|�}ni|d6d,d6d,d6id6}t}
ytd||�}Wn1tk
r�}|jjdkr�t}
q��nX|
rt	dr�d	j
|�|d<|Std
d|d|�td||�}||d<d
j
|�|d<ntd|d|d|d|d|	d|
d|d�}||dkr�t	drndj
|�|d<|Std|d||�|
r�tj
|dd|�q�tj
|dt|d|��ntd|d|�}td|d|d|d|�}||kr�t	dr.dj
|�|d<|Std|d||�|
rbtj
|d|�q�tj
|dt||��n|r�i}xBtd|d|�D]*}i|dd6|d d 6||d!<q�Wx%|j�D]\}}||kr�|tkrGt	dr(d"j
||�|d<|Std#||dd|�q�|||d kr�t	drd$j
||�|d<|Std%||dd&|d'|d|�q�q�|r�t	dr�d(j
||�|d<|Std)d&|d'|d|�q�q�Wi}xBtd|d|�D]*}i|dd6|d d 6||d!<qW|
rctj
|d|�q�tj
|dt||��nt|d<|
s�|dr�d*j
|�|d<q�i|d<d+j
|�|d<n|S(-u�
    Ensure that an organization is present.

    name
        Name of the org.

    users
        Optional - Dict of user/role associated with the org. Example:

        .. code-block:: yaml

            users:
              foo: Viewer
              bar: Editor

    theme
        Optional - Selected theme for the org.

    home_dashboard_id
        Optional - Home dashboard for the org.

    timezone
        Optional - Timezone for the org (one of: "browser", "utc", or "").

    address1
        Optional - address1 of the org.

    address2
        Optional - address2 of the org.

    city
        Optional - city of the org.

    zip_code
        Optional - zip_code of the org.

    address_state
        Optional - state of the org.

    country
        Optional - country of the org.

    profile
        Configuration profile used to connect to the Grafana instance.
        Default is 'grafana'.
    u
config.optionunameuresultucommentuchangesugrafana4.get_orgi�utestuOrg {0} will be createdugrafana4.create_orgtprofiletnameuNew org {0} addedtaddress1taddress2tcitytzipCodetstatetcountrytdefaultsuaddressuOrg {0} address will be updatedugrafana4.update_org_addressugrafana4.get_org_prefstthemethomeDashboardIdttimezoneuOrg {0} prefs will be updatedugrafana4.update_org_prefsugrafana4.get_org_usersuuserIduroleuloginu Org {0} user {1} will be deletedugrafana4.delete_org_useru%Org {0} user {1} role will be updatedugrafana4.update_org_usertloginOrEmailtroleu Org {0} user {1} will be createdugrafana4.create_org_useruOrg {0} updateduOrg {0} already up-to-dateN(t
isinstanceRRtNonetFalseRtresponsetstatus_codetTruet__opts__tformatt_get_json_datat
dictupdatetupdateRtitems(R	tusersRthome_dashboard_idRR
RRtzip_codet
address_stateRRtrettcreatetorgtetdatatprefstdb_userstitemtusernameRtnew_db_users((s</usr/lib/python2.7/site-packages/salt/states/grafana4_org.pytpresent<s�:"	



$
 



 


cC@s�t|t�r"td|�}ni|d6dd6dd6id6}td||�}|s~t|d<dj|�|d<|Stdr�d	j|�|d<|Std
|dd|�t|d<d
|d|<dj|�|d<|S(u�
    Ensure that a org is present.

    name
        Name of the org to remove.

    profile
        Configuration profile used to connect to the Grafana instance.
        Default is 'grafana'.
    u
config.optionunameuresultucommentuchangesugrafana4.get_orguOrg {0} already absentutestuOrg {0} will be deletedugrafana4.delete_orguidRuAbsentuOrg {0} was deletedN(RRRRRRR(R	RR&R(((s</usr/lib/python2.7/site-packages/salt/states/grafana4_org.pytabsent�s "


cK@sX|dkri}nx<|j�D].\}}|dkr"|j|�||<q"q"W|S(N(RR!tget(Rtkwargstktv((s</usr/lib/python2.7/site-packages/salt/states/grafana4_org.pyR�s	(t__doc__t
__future__RRRtsalt.utils.dictupdatetutilsRtsalt.utils.dictdifferRtrequests.exceptionsRtsalt.ext.sixRRRR0R1R(((s</usr/lib/python2.7/site-packages/salt/states/grafana4_org.pyt<module>,s&	�"

Zerion Mini Shell 1.0