On this page
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 auth is yes.
        | 
     |
| 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_type is influxdb, elasticsearch (index name), mysql or postgres.
        | 
     |
| ds_type  
        required
         | 
      
       
  | 
      
        
        The type of the datasource.
         | 
     
| es_version | 
       
  | 
      
        
        Elasticsearch version (for  
       ds_type = elasticsearch only)
       
        Version 56 is for elasticsearch 5.6+ where tou can specify the  max_concurrent_shard_requests option.
        | 
     
| grafana_api_key | 
        
        The Grafana API key.
        
       
        If set,  grafana_user and grafana_password will 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_key is set, because the grafana_api_key only belong to one organisation.
        | 
     
| password | 
        
        The datasource password
         | 
     |
| sslmode | 
       
  | 
      
        
        SSL mode for  postgres datasoure 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  
       influxdb or elasticsearch datasources.
       
        for example  >10s
        | 
     |
| tls_ca_cert | 
        
        The TLS CA certificate for self signed certificates.
        
       
        Only used when  tls_client_cert and tls_client_key are set.
        | 
     |
| tls_client_cert | 
        
        The client TLS certificate.
        
       
        If  
       tls_client_cert and tls_client_key are 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  1 for <=2.1, 2 for ==2.2, 3 for ==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