%PDF- %PDF-
Mini Shell

Mini Shell

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

�
���^c@@s�dZddlmZmZmZddlZddlmZd�Zdddde	dde	ddd	�
Zdd
�Zd�Z
d�Zd
�Zdddde	dde	dd�	Zd�ZdS(u
Manage Grafana v2.0 data sources

.. versionadded:: 2016.3.0

.. code-block:: yaml

    grafana:
      grafana_timeout: 3
      grafana_token: qwertyuiop
      grafana_url: 'https://url.com'

.. code-block:: yaml

    Ensure influxdb data source is present:
      grafana_datasource.present:
        - name: influxdb
        - type: influxdb
        - url: http://localhost:8086
        - access: proxy
        - basic_auth: true
        - basic_auth_user: myuser
        - basic_auth_password: mypass
        - is_default: true
i(tabsolute_importtprint_functiontunicode_literalsN(tstring_typescC@stddd�dkS(u(Only load if grafana v2.0 is configured.u
config.getugrafana_versionii(t__salt__(((sB/usr/lib/python2.7/site-packages/salt/states/grafana_datasource.pyt__virtual__"suproxyuugrafanac

C@s�t|t�r"td|�}ni|d6dd6dd6id6}
t||�}t||||||||||	|
|�}|r0tjt||d�|dt	|�d|j
d	d
��t|
d<t||�|
d<|
dds�|
ddrd
j
|�|
d<q�i|
d<dj
|�|
d<nbtjdj
|d�|dt	|�d|j
d	d
��t|
d<dj
|�|
d<||
d<|
S(u�
    Ensure that a data source is present.

    name
        Name of the data source.

    type
        Which type of data source it is ('graphite', 'influxdb' etc.).

    url
        The URL to the data source API.

    user
        Optional - user to authenticate with the data source

    password
        Optional - password to authenticate with the data source

    basic_auth
        Optional - set to True to use HTTP basic auth to authenticate with the
        data source.

    basic_auth_user
        Optional - HTTP basic auth username.

    basic_auth_password
        Optional - HTTP basic auth password.

    is_default
        Default: False
    u
config.optionunameuresultucommentuchangesuidtheadersttimeoutugrafana_timeoutiunewuolduData source {0} updatedu"Data source {0} already up-to-dateu{0}/api/datasourcesugrafana_urluNew data source {0} addedN(t
isinstanceRRtNonet_get_datasourcet_get_json_datatrequeststputt_get_urlt_get_headerstgettTruet_difftformattpost(tnamettypeturltaccesstusertpasswordtdatabaset
basic_authtbasic_auth_usertbasic_auth_passwordt
is_defaultt	json_datatprofiletrett
datasourcetdata((sB/usr/lib/python2.7/site-packages/salt/states/grafana_datasource.pytpresent's6,"



cC@s�t|t�r"td|�}nidd6dd6id6}t||�}|sst|d<dj|�|d<|Stjt	||d�dt
|�d|jd	d
��t|d<dj|�|d<|S(
ud
    Ensure that a data source is present.

    name
        Name of the data source to remove.
    u
config.optionuresultucommentuchangesuData source {0} already absentuidRRugrafana_timeoutiuData source {0} was deletedN(RRRR	R
RRRtdeleteRRR(RR!R"R#((sB/usr/lib/python2.7/site-packages/salt/states/grafana_datasource.pytabsentws

cC@sdj|d|�S(Nu{0}/api/datasources/{1}ugrafana_url(R(R!t
datasource_id((sB/usr/lib/python2.7/site-packages/salt/states/grafana_datasource.pyR�scC@sotjdj|d�dt|�d|jdd��}|j�}x"|D]}|d|krM|SqMWdS(Nu{0}/api/datasourcesugrafana_urlRRugrafana_timeoutiuname(RRRRtjsonR	(R!RtresponseR$R#((sB/usr/lib/python2.7/site-packages/salt/states/grafana_datasource.pyR
�s
cC@sidd6dj|d�d6S(Nuapplication/jsonuAcceptu
Bearer {0}u
grafana_tokenu
Authorization(R(R!((sB/usr/lib/python2.7/site-packages/salt/states/grafana_datasource.pyR�scC@sXi|d6|d6|d6|d6|d6|d6|d6|d6|d	6|	d
6|
d6|d6S(
Nunameutypeuurluaccessuuserupasswordudatabaseu	basicAuthu
basicAuthUserubasicAuthPasswordu	isDefaultujsonData((RRRRRRRRRRRR ((sB/usr/lib/python2.7/site-packages/salt/states/grafana_datasource.pyR�scC@s�|j�}|j�}|j�}xq|D]i}|dksI|dkrS||=q+||j�kro||=q+||||kr+||=||=q+q+Wi|d6|d6S(NuiduorgIduoldunew(tkeystcopy(toldtnewtold_keystkey((sB/usr/lib/python2.7/site-packages/salt/states/grafana_datasource.pyR�s


(t__doc__t
__future__RRRRtsalt.ext.sixRRtFalseR	R%R'RR
RRR(((sB/usr/lib/python2.7/site-packages/salt/states/grafana_datasource.pyt<module>s8	D		
	


Zerion Mini Shell 1.0