- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# grafana_dashboard – Manage Grafana dashboards

New in version 2.5.

- Synopsis

- Parameters

- Examples

- Return Values

- Status

## Synopsis

- Create, update, delete, export Grafana dashboards via API.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
client_cert - added in 2.7 |  | PEM formatted certificate chain file to be used for SSL client authentication. This file can also include the key as well, and if the key is included, client_key is not required
client_key - added in 2.7 |  | PEM formatted file that contains your private key to be used for SSL client authentication. If client_cert contains both the certificate and key, this option is not required
grafana_api_key - |  | The Grafana API key. If set, grafana_user and grafana_password will be ignored.
message - |  | Set a commit message for the version history. Only used when `state` is `present`.
org_id - | Default: 1 | The Grafana Organisation ID where the dashboard will be imported / exported. Not used when grafana_api_key is set, because the grafana_api_key only belongs to one organisation..
overwrite boolean | Choices: no ← yes | Override existing dashboard when state is present.
path - |  | The path to the json file containing the Grafana dashboard to import or export.
slug - |  | Deprecated since Grafana 5. Use grafana dashboard uid instead. slug of the dashboard. It's the friendly url name of the dashboard. When `state` is `present`, this parameter can override the slug in the meta section of the json file. If you want to import a json dashboard exported directly from the interface (not from the api), you have to specify the slug parameter because there is no meta section in the exported json.
state - / required | Choices: absent export present ← | State of the dashboard.
uid - added in 2.7 |  | uid of the dashboard to export when `state` is `export` or `absent`.
url - / required added in 2.7 |  | The Grafana URL. aliases: grafana_url
url_password - added in 2.7 | Default: "admin" | The Grafana API password. aliases: grafana_password
url_username - added in 2.7 | Default: "admin" | The Grafana API user. aliases: grafana_user
use_proxy boolean added in 2.7 | Choices: no yes ← | Boolean of whether or not to use proxy.
validate_certs boolean | Choices: no yes ← | If `no`, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.

## Examples

    - hosts: localhost
      connection: local
      tasks:
        - name: Import Grafana dashboard foo
          grafana_dashboard:
            grafana_url: http://grafana.company.com
            grafana_api_key: "{{ grafana_api_key }}"
            state: present
            message: Updated by ansible
            overwrite: yes
            path: /path/to/dashboards/foo.json

        - name: Export dashboard
          grafana_dashboard:
            grafana_url: http://grafana.company.com
            grafana_user: "admin"
            grafana_password: "{{ grafana_password }}"
            org_id: 1
            state: export
            uid: "000000653"
            path: "/path/to/dashboards/000000653.json"

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
uid string | success | uid or slug of the created / deleted / exported dashboard. Sample: 51

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Thierry Sallé (@seuf)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.