grafana_datasource - Manage Grafana datasources
New in version 2.5.
Synopsis
- Create/update/delete Grafana datasources via API.
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| access | 
 | The access mode for this datasource. | 
| basic_auth_password | The datasource basic auth password, when  basic authisyes. | |
| basic_auth_user | The datasource basic auth user. Setting this option with basic_auth_password will enable basic auth. | |
| database | Name of the database for the datasource. This options is required when the  ds_typeisinfluxdb,elasticsearch(index name),mysqlorpostgres. | |
| ds_type required | 
 | The type of the datasource. | 
| es_version | 
 | Elasticsearch version (for  ds_type = elasticsearchonly)Version 56 is for elasticsearch 5.6+ where tou can specify the  max_concurrent_shard_requestsoption. | 
| grafana_api_key | The Grafana API key. If set,  grafana_userandgrafana_passwordwill be ignored. | |
| grafana_password | Default: "admin" | The Grafana API password. | 
| grafana_url required | The Grafana URL. | |
| grafana_user | Default: "admin" | The Grafana API user. | 
| interval | 
 | For elasticsearch  ds_type, this is the index pattern used. | 
| is_default bool | 
 | Make this datasource the default one. | 
| max_concurrent_shard_requests | Default: 256 | Starting with elasticsearch 5.6, you can specify the max concurrent shard per requests. | 
| name required | The name of the datasource. | |
| org_id | Default: 1 | Grafana Organisation ID in which the datasource should be created. Not used when  grafana_api_keyis set, because thegrafana_api_keyonly belong to one organisation. | 
| password | The datasource password | |
| sslmode | 
 | SSL mode for  postgresdatasoure type. | 
| state | 
 | Status of the datasource | 
| time_field | Default: "timestamp" | Name of the time field in elasticsearch ds. For example  @timestamp | 
| time_interval | Minimum group by interval for  influxdborelasticsearchdatasources.for example  >10s | |
| tls_ca_cert | The TLS CA certificate for self signed certificates. Only used when  tls_client_certandtls_client_keyare set. | |
| tls_client_cert | The client TLS certificate. If  tls_client_certandtls_client_keyare set, this will enable TLS authentication.Starts with ----- BEGIN CERTIFICATE ----- | |
| tls_client_key | The client TLS private key Starts with ----- BEGIN RSA PRIVATE KEY ----- | |
| tls_skip_verify bool (added in 2.6) | 
 | Skip the TLS datasource certificate verification. | 
| trends bool (added in 2.6) | 
 | Use trends or not for zabbix datasource type | 
| tsdb_resolution | 
 | The opentsdb time resolution. | 
| tsdb_version | 
 | The opentsdb version. Use  1for <=2.1,2for ==2.2,3for ==2.3. | 
| url required | The URL of the datasource. | |
| user | The datasource login user for influxdb datasources. | |
| validate_certs bool | 
 | Whether to validate the Grafana certificate. | 
| with_credentials bool | 
 | Whether credentials such as cookies or auth headers should be sent with cross-site requests. | 
Examples
---
- name: Create elasticsearch datasource
  grafana_datasource:
    name: "datasource-elastic"
    grafana_url: "https://grafana.company.com"
    grafana_user: "admin"
    grafana_password: "xxxxxx"
    org_id: "1"
    ds_type: "elasticisearch"
    url: "https://elastic.company.com:9200"
    database: "[logstash_]YYYY.MM.DD"
    basic_auth_user: "grafana"
    basic_auth_password: "******"
    time_field: "@timestamp"
    time_interval: "1m"
    interval: "Daily"
    es_version: 56
    max_concurrent_shard_requests: 42
    tls_ca_cert: "/etc/ssl/certs/ca.pem"
- name: Create influxdb datasource
  grafana_datasource:
    name: "datasource-influxdb"
    grafana_url: "https://grafana.company.com"
    grafana_user: "admin"
    grafana_password: "xxxxxx"
    org_id: "1"
    ds_type: "influxdb"
    url: "https://influx.company.com:8086"
    database: "telegraf"
    time_interval: ">10s"
    tls_ca_cert: "/etc/ssl/certs/ca.pem"
   Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| after dict | changed | datasource updated by module Sample: {'access': 'proxy', 'basicAuth': False, 'database': 'test_*', 'id': 1035, 'isDefault': False, 'jsonData': {'esVersion': 5, 'timeField': '@timestamp', 'timeInterval': '10s'}, 'name': 'grafana_datasource_test', 'orgId': 1, 'type': 'elasticsearch', 'url': 'http://elastic.company.com:9200', 'user': '', 'password': '', 'withCredentials': False} | 
| before dict | changed | datasource returned by grafana api Sample: {'access': 'proxy', 'basicAuth': False, 'database': 'test_*', 'id': 1035, 'isDefault': False, 'jsonData': {'esVersion': 5, 'timeField': '@timestamp', 'timeInterval': '1m'}, 'name': 'grafana_datasource_test', 'orgId': 1, 'type': 'elasticsearch', 'url': 'http://elastic.company.com:9200', 'user': '', 'password': '', 'withCredentials': False} | 
| id int | success | Id of the datasource Sample: 42 | 
| name string | success | name of the datasource created. Sample: test-ds | 
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author
- Thierry Sallé (@seuf)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.6/modules/grafana_datasource_module.html