mirror of
https://github.com/valitydev/salt.git
synced 2024-11-08 01:18:58 +00:00
update grafana4 module/states documentation
and update a few grafana4_org functions names
This commit is contained in:
parent
c75b6ef50b
commit
d8e3ef2043
@ -4,9 +4,9 @@ Module for working with the Grafana v4 API
|
||||
|
||||
:depends: requests
|
||||
|
||||
:configuration: This module can be used by specifying the name of a
|
||||
configuration profile in the minion config, minion pillar, or master
|
||||
config.
|
||||
:configuration: This module 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.
|
||||
|
||||
For example:
|
||||
|
||||
@ -61,6 +61,19 @@ def _get_auth(profile):
|
||||
|
||||
|
||||
def get_users(profile='grafana'):
|
||||
'''
|
||||
List all users.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.get_users
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.get(
|
||||
@ -75,6 +88,22 @@ def get_users(profile='grafana'):
|
||||
|
||||
|
||||
def get_user(login, profile='grafana'):
|
||||
'''
|
||||
Show a single user.
|
||||
|
||||
login
|
||||
Login of the user.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.get_user <login>
|
||||
'''
|
||||
data = get_users(profile)
|
||||
for user in data:
|
||||
if user['login'] == login:
|
||||
@ -83,6 +112,22 @@ def get_user(login, profile='grafana'):
|
||||
|
||||
|
||||
def get_user_data(userid, profile='grafana'):
|
||||
'''
|
||||
Get user data.
|
||||
|
||||
userid
|
||||
Id of the user.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.get_user_data <user_id>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.get(
|
||||
@ -97,6 +142,31 @@ def get_user_data(userid, profile='grafana'):
|
||||
|
||||
|
||||
def create_user(profile='grafana', **kwargs):
|
||||
'''
|
||||
Create a new user.
|
||||
|
||||
login
|
||||
Login of the new user.
|
||||
|
||||
password
|
||||
Password of the new user.
|
||||
|
||||
email
|
||||
Email of the new user.
|
||||
|
||||
name
|
||||
Optional - Full name of the new user.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.create_user login=<login> password=<password> email=<email>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.post(
|
||||
@ -112,6 +182,31 @@ def create_user(profile='grafana', **kwargs):
|
||||
|
||||
|
||||
def update_user(userid, profile='grafana', **kwargs):
|
||||
'''
|
||||
Update an existing user.
|
||||
|
||||
userid
|
||||
Id of the user.
|
||||
|
||||
login
|
||||
Optional - Login of the user.
|
||||
|
||||
email
|
||||
Optional - Email of the user.
|
||||
|
||||
name
|
||||
Optional - Full name of the user.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.update_user <user_id> login=<login> email=<email>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.put(
|
||||
@ -127,6 +222,25 @@ def update_user(userid, profile='grafana', **kwargs):
|
||||
|
||||
|
||||
def update_user_password(userid, profile='grafana', **kwargs):
|
||||
'''
|
||||
Update a user password.
|
||||
|
||||
userid
|
||||
Id of the user.
|
||||
|
||||
password
|
||||
New password of the user.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.update_user_password <user_id> password=<password>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.put(
|
||||
@ -143,6 +257,25 @@ def update_user_password(userid, profile='grafana', **kwargs):
|
||||
|
||||
|
||||
def update_user_permissions(userid, profile='grafana', **kwargs):
|
||||
'''
|
||||
Update a user password.
|
||||
|
||||
userid
|
||||
Id of the user.
|
||||
|
||||
isGrafanaAdmin
|
||||
Wether user is a Grafana admin.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.update_user_permissions <user_id> isGrafanaAdmin=<true|false>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.put(
|
||||
@ -159,6 +292,22 @@ def update_user_permissions(userid, profile='grafana', **kwargs):
|
||||
|
||||
|
||||
def delete_user(userid, profile='grafana'):
|
||||
'''
|
||||
Delete a user.
|
||||
|
||||
userid
|
||||
Id of the user.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.delete_user <user_id>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.delete(
|
||||
@ -173,6 +322,22 @@ def delete_user(userid, profile='grafana'):
|
||||
|
||||
|
||||
def get_user_orgs(userid, profile='grafana'):
|
||||
'''
|
||||
Get the list of organisations a user belong to.
|
||||
|
||||
userid
|
||||
Id of the user.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.get_user_orgs <user_id>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.get(
|
||||
@ -187,6 +352,25 @@ def get_user_orgs(userid, profile='grafana'):
|
||||
|
||||
|
||||
def delete_user_org(userid, orgid, profile='grafana'):
|
||||
'''
|
||||
Remove a user from an organization.
|
||||
|
||||
userid
|
||||
Id of the user.
|
||||
|
||||
orgid
|
||||
Id of the organization.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.delete_user_org <user_id> <org_id>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.delete(
|
||||
@ -202,6 +386,19 @@ def delete_user_org(userid, orgid, profile='grafana'):
|
||||
|
||||
|
||||
def get_orgs(profile='grafana'):
|
||||
'''
|
||||
List all organizations.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.get_orgs
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.get(
|
||||
@ -216,6 +413,22 @@ def get_orgs(profile='grafana'):
|
||||
|
||||
|
||||
def get_org(name, profile='grafana'):
|
||||
'''
|
||||
Show a single organization.
|
||||
|
||||
name
|
||||
Name of the organization.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.get_org <name>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.get(
|
||||
@ -230,6 +443,22 @@ def get_org(name, profile='grafana'):
|
||||
|
||||
|
||||
def switch_org(orgname, profile='grafana'):
|
||||
'''
|
||||
Switch the current organization.
|
||||
|
||||
name
|
||||
Name of the organization to switch to.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.switch_org <name>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
org = get_org(orgname, profile)
|
||||
@ -245,6 +474,22 @@ def switch_org(orgname, profile='grafana'):
|
||||
|
||||
|
||||
def get_org_users(orgname=None, profile='grafana'):
|
||||
'''
|
||||
Get the list of users that belong to the organization.
|
||||
|
||||
orgname
|
||||
Name of the organization.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.get_org_users <orgname>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
if orgname:
|
||||
@ -260,7 +505,33 @@ def get_org_users(orgname=None, profile='grafana'):
|
||||
return response.json()
|
||||
|
||||
|
||||
def create_org_users(orgname=None, profile='grafana', **kwargs):
|
||||
def create_org_user(orgname=None, profile='grafana', **kwargs):
|
||||
'''
|
||||
Add user to the organization.
|
||||
|
||||
loginOrEmail
|
||||
Login or email of the user.
|
||||
|
||||
role
|
||||
Role of the user for this organization. Should be one of:
|
||||
- Admin
|
||||
- Editor
|
||||
- Read Only Editor
|
||||
- Viewer
|
||||
|
||||
orgname
|
||||
Name of the organization in which users are added.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.create_org_user <orgname> loginOrEmail=<loginOrEmail> role=<role>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
if orgname:
|
||||
@ -277,7 +548,36 @@ def create_org_users(orgname=None, profile='grafana', **kwargs):
|
||||
return response.json()
|
||||
|
||||
|
||||
def update_org_users(userid, orgname=None, profile='grafana', **kwargs):
|
||||
def update_org_user(userid, orgname=None, profile='grafana', **kwargs):
|
||||
'''
|
||||
Update user role in the organization.
|
||||
|
||||
userid
|
||||
Id of the user.
|
||||
|
||||
loginOrEmail
|
||||
Login or email of the user.
|
||||
|
||||
role
|
||||
Role of the user for this organization. Should be one of:
|
||||
- Admin
|
||||
- Editor
|
||||
- Read Only Editor
|
||||
- Viewer
|
||||
|
||||
orgname
|
||||
Name of the organization in which users are updated.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.update_org_user <user_id> <orgname> loginOrEmail=<loginOrEmail> role=<role>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
if orgname:
|
||||
@ -294,7 +594,26 @@ def update_org_users(userid, orgname=None, profile='grafana', **kwargs):
|
||||
return response.json()
|
||||
|
||||
|
||||
def delete_org_users(userid, orgname=None, profile='grafana'):
|
||||
def delete_org_user(userid, orgname=None, profile='grafana'):
|
||||
'''
|
||||
Remove user from the organization.
|
||||
|
||||
userid
|
||||
Id of the user.
|
||||
|
||||
orgname
|
||||
Name of the organization in which users are updated.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.delete_org_user <user_id> <orgname>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
if orgname:
|
||||
@ -311,6 +630,22 @@ def delete_org_users(userid, orgname=None, profile='grafana'):
|
||||
|
||||
|
||||
def get_org_address(orgname=None, profile='grafana'):
|
||||
'''
|
||||
Get the organization address.
|
||||
|
||||
orgname
|
||||
Name of the organization in which users are updated.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.get_org_address <orgname>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
if orgname:
|
||||
@ -327,6 +662,40 @@ def get_org_address(orgname=None, profile='grafana'):
|
||||
|
||||
|
||||
def update_org_address(orgname=None, profile='grafana', **kwargs):
|
||||
'''
|
||||
Update the organization address.
|
||||
|
||||
orgname
|
||||
Name of the organization in which users are updated.
|
||||
|
||||
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.
|
||||
|
||||
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'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.update_org_address <orgname> country=<country>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
if orgname:
|
||||
@ -344,6 +713,22 @@ def update_org_address(orgname=None, profile='grafana', **kwargs):
|
||||
|
||||
|
||||
def get_org_prefs(orgname=None, profile='grafana'):
|
||||
'''
|
||||
Get the organization preferences.
|
||||
|
||||
orgname
|
||||
Name of the organization in which users are updated.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.get_org_prefs <orgname>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
if orgname:
|
||||
@ -360,6 +745,31 @@ def get_org_prefs(orgname=None, profile='grafana'):
|
||||
|
||||
|
||||
def update_org_prefs(orgname=None, profile='grafana', **kwargs):
|
||||
'''
|
||||
Update the organization preferences.
|
||||
|
||||
orgname
|
||||
Name of the organization in which users are updated.
|
||||
|
||||
theme
|
||||
Selected theme for the org.
|
||||
|
||||
homeDashboardId
|
||||
Home dashboard for the org.
|
||||
|
||||
timezone
|
||||
Timezone for the org (one of: "browser", "utc", or "").
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.update_org_prefs <orgname> theme=<theme> timezone=<timezone>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
if orgname:
|
||||
@ -377,6 +787,22 @@ def update_org_prefs(orgname=None, profile='grafana', **kwargs):
|
||||
|
||||
|
||||
def create_org(profile='grafana', **kwargs):
|
||||
'''
|
||||
Create a new organization.
|
||||
|
||||
name
|
||||
Name of the organization.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.create_org <name>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.post(
|
||||
@ -392,6 +818,25 @@ def create_org(profile='grafana', **kwargs):
|
||||
|
||||
|
||||
def update_org(orgid, profile='grafana', **kwargs):
|
||||
'''
|
||||
Update an existing organization.
|
||||
|
||||
orgid
|
||||
Id of the organization.
|
||||
|
||||
name
|
||||
New name of the organization.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.update_org <org_id> name=<name>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.put(
|
||||
@ -407,6 +852,22 @@ def update_org(orgid, profile='grafana', **kwargs):
|
||||
|
||||
|
||||
def delete_org(orgid, profile='grafana'):
|
||||
'''
|
||||
Delete an organization.
|
||||
|
||||
orgid
|
||||
Id of the organization.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.delete_org <org_id>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.delete(
|
||||
@ -421,6 +882,22 @@ def delete_org(orgid, profile='grafana'):
|
||||
|
||||
|
||||
def get_datasources(orgname=None, profile='grafana'):
|
||||
'''
|
||||
List all datasources in an organisation.
|
||||
|
||||
orgname
|
||||
Name of the organization.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.get_datasources <orgname>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
if orgname:
|
||||
@ -437,6 +914,25 @@ def get_datasources(orgname=None, profile='grafana'):
|
||||
|
||||
|
||||
def get_datasource(name, orgname=None, profile='grafana'):
|
||||
'''
|
||||
Show a single datasource in an organisation.
|
||||
|
||||
name
|
||||
Name of the datasource.
|
||||
|
||||
orgname
|
||||
Name of the organization.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.get_datasource <name> <orgname>
|
||||
'''
|
||||
data = get_datasources(orgname=orgname, profile=profile)
|
||||
for datasource in data:
|
||||
if datasource['name'] == name:
|
||||
@ -445,6 +941,61 @@ def get_datasource(name, orgname=None, profile='grafana'):
|
||||
|
||||
|
||||
def create_datasource(orgname=None, profile='grafana', **kwargs):
|
||||
'''
|
||||
Create a new datasource in an organisation.
|
||||
|
||||
name
|
||||
Name of the data source.
|
||||
|
||||
type
|
||||
Type of the datasource ('graphite', 'influxdb' etc.).
|
||||
|
||||
access
|
||||
Use proxy or direct.
|
||||
|
||||
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.
|
||||
|
||||
database
|
||||
Optional - database to use with the data source.
|
||||
|
||||
basicAuth
|
||||
Optional - set to True to use HTTP basic auth to authenticate with the
|
||||
data source.
|
||||
|
||||
basicAuthUser
|
||||
Optional - HTTP basic auth username.
|
||||
|
||||
basicAuthPassword
|
||||
Optional - HTTP basic auth password.
|
||||
|
||||
jsonData
|
||||
Optional - additional json data to post (eg. "timeInterval").
|
||||
|
||||
isDefault
|
||||
Optional - set data source as default.
|
||||
|
||||
withCredentials
|
||||
Optional - Whether credentials such as cookies or auth headers should
|
||||
be sent with cross-site requests.
|
||||
|
||||
typeLogoUrl
|
||||
Optional - Logo to use for this datasource.
|
||||
|
||||
orgname
|
||||
Name of the organization in which the data source should be created.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
if orgname:
|
||||
@ -462,6 +1013,61 @@ def create_datasource(orgname=None, profile='grafana', **kwargs):
|
||||
|
||||
|
||||
def update_datasource(datasourceid, orgname=None, profile='grafana', **kwargs):
|
||||
'''
|
||||
Update a datasource.
|
||||
|
||||
datasourceid
|
||||
Id of the datasource.
|
||||
|
||||
name
|
||||
Name of the data source.
|
||||
|
||||
type
|
||||
Type of the datasource ('graphite', 'influxdb' etc.).
|
||||
|
||||
access
|
||||
Use proxy or direct.
|
||||
|
||||
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.
|
||||
|
||||
database
|
||||
Optional - database to use with the data source.
|
||||
|
||||
basicAuth
|
||||
Optional - set to True to use HTTP basic auth to authenticate with the
|
||||
data source.
|
||||
|
||||
basicAuthUser
|
||||
Optional - HTTP basic auth username.
|
||||
|
||||
basicAuthPassword
|
||||
Optional - HTTP basic auth password.
|
||||
|
||||
jsonData
|
||||
Optional - additional json data to post (eg. "timeInterval").
|
||||
|
||||
isDefault
|
||||
Optional - set data source as default.
|
||||
|
||||
withCredentials
|
||||
Optional - Whether credentials such as cookies or auth headers should
|
||||
be sent with cross-site requests.
|
||||
|
||||
typeLogoUrl
|
||||
Optional - Logo to use for this datasource.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.put(
|
||||
@ -479,6 +1085,22 @@ def update_datasource(datasourceid, orgname=None, profile='grafana', **kwargs):
|
||||
|
||||
|
||||
def delete_datasource(datasourceid, orgname=None, profile='grafana'):
|
||||
'''
|
||||
Delete a datasource.
|
||||
|
||||
datasourceid
|
||||
Id of the datasource.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.delete_datasource <datasource_id>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
response = requests.delete(
|
||||
@ -493,6 +1115,25 @@ def delete_datasource(datasourceid, orgname=None, profile='grafana'):
|
||||
|
||||
|
||||
def get_dashboard(slug, orgname=None, profile='grafana'):
|
||||
'''
|
||||
Get a dashboard.
|
||||
|
||||
slug
|
||||
Slug (name) of the dashboard.
|
||||
|
||||
orgname
|
||||
Name of the organization.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.get_dashboard <slug>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
if orgname:
|
||||
@ -512,6 +1153,25 @@ def get_dashboard(slug, orgname=None, profile='grafana'):
|
||||
|
||||
|
||||
def delete_dashboard(slug, orgname=None, profile='grafana'):
|
||||
'''
|
||||
Delete a dashboard.
|
||||
|
||||
slug
|
||||
Slug (name) of the dashboard.
|
||||
|
||||
orgname
|
||||
Name of the organization.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.delete_dashboard <slug>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
if orgname:
|
||||
@ -528,6 +1188,28 @@ def delete_dashboard(slug, orgname=None, profile='grafana'):
|
||||
|
||||
|
||||
def create_update_dashboard(orgname=None, profile='grafana', **kwargs):
|
||||
'''
|
||||
Create or update a dashboard.
|
||||
|
||||
dashboard
|
||||
A dict that defines the dashboard to create/update.
|
||||
|
||||
overwrite
|
||||
Wether the dashboard should be overwritten if already existing.
|
||||
|
||||
orgname
|
||||
Name of the organization.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
|
||||
CLI Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' grafana4.create_update_dashboard dashboard=<dashboard> overwrite=True orgname=<orgname>
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
if orgname:
|
||||
|
@ -86,7 +86,8 @@ def present(name,
|
||||
Name of the organization in which the dashboard should be present.
|
||||
|
||||
profile
|
||||
A pillar key or dict that contains grafana information
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
'''
|
||||
ret = {'name': name, 'result': True, 'comment': '', 'changes': {}}
|
||||
dashboard = dashboard or {}
|
||||
@ -199,7 +200,8 @@ def absent(name, orgname=None, profile='grafana'):
|
||||
Name of the organization in which the dashboard should be present.
|
||||
|
||||
profile
|
||||
A pillar key or dict that contains grafana information
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
'''
|
||||
ret = {'name': name, 'result': True, 'comment': '', 'changes': {}}
|
||||
|
||||
|
@ -71,7 +71,7 @@ def present(name,
|
||||
Name of the data source.
|
||||
|
||||
type
|
||||
Which type of data source it is ('graphite', 'influxdb' etc.).
|
||||
Type of the datasource ('graphite', 'influxdb' etc.).
|
||||
|
||||
access
|
||||
Use proxy or direct. Default: proxy
|
||||
@ -113,6 +113,10 @@ def present(name,
|
||||
|
||||
orgname
|
||||
Name of the organization in which the data source should be present.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
@ -167,6 +171,10 @@ def absent(name, orgname=None, profile='grafana'):
|
||||
|
||||
orgname
|
||||
Name of the organization from which the data source should be absent.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
|
@ -83,6 +83,28 @@ def present(name,
|
||||
|
||||
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'.
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
@ -133,14 +155,14 @@ def present(name,
|
||||
for username, role in users.items():
|
||||
if username in db_users:
|
||||
if role is False:
|
||||
__salt__['grafana4.delete_org_users'](
|
||||
__salt__['grafana4.delete_org_user'](
|
||||
db_users[username]['userId'], profile=profile)
|
||||
elif role != db_users[username]['role']:
|
||||
__salt__['grafana4.update_org_users'](
|
||||
__salt__['grafana4.update_org_user'](
|
||||
db_users[username]['userId'], loginOrEmail=username,
|
||||
role=role, profile=profile)
|
||||
elif role:
|
||||
__salt__['grafana4.create_org_users'](
|
||||
__salt__['grafana4.create_org_user'](
|
||||
loginOrEmail=username, role=role, profile=profile)
|
||||
|
||||
new_db_users = {}
|
||||
@ -171,6 +193,10 @@ def absent(name, profile='grafana'):
|
||||
|
||||
name
|
||||
Name of the org to remove.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
|
@ -72,6 +72,10 @@ def present(name,
|
||||
|
||||
theme
|
||||
Optional - Selected theme of the user.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
@ -126,6 +130,10 @@ def absent(name, profile='grafana'):
|
||||
|
||||
name
|
||||
Name of the user to remove.
|
||||
|
||||
profile
|
||||
Configuration profile used to connect to the Grafana instance.
|
||||
Default is 'grafana'.
|
||||
'''
|
||||
if isinstance(profile, string_types):
|
||||
profile = __salt__['config.option'](profile)
|
||||
|
Loading…
Reference in New Issue
Block a user