# DBaaS Grafana


<style>
  span[class^="pill-"] {
    color: white;
    padding: 2px 12px;
    border-radius: 12px;
    font-size: 0.6em;
    vertical-align: middle;
    margin-right: 12px;
    font-family: sans-serif;
    font-weight: bold;
    display: inline-block;
    line-height: 1;
  }
  span.pill-GET { background-color: #61affe; }
  span.pill-POST { background-color: #49cc90; }
  span.pill-PUT { background-color: #fca130; }
  span.pill-DELETE { background-color: #f93e3e; }
  span.pill-PATCH { background-color: #50e3c2; }
  span[class^="pill-"]:after {
    content: attr(data-label);
    font-size: 0.9rem;
  }
</style>

Grafana, the open-source software that lets you query and visualize metrics, logs and traces from any storage source.

[Read more](https://community.exoscale.com/product/dbaas/service-specific/grafana/)

## <span data-label="GET" class="pill-GET"></span>reveal-dbaas-grafana-user-password

Reveal the secrets of a DBaaS Grafana user

```
GET /dbaas-grafana/{service-name}/user/{username}/password/reveal
```

null

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `service-name` | `path` | Min length: `0`. Max length: `63`. |
| `username` | `path` | Min length: `1`. Max length: `64`. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `password` | string | Grafana password |
| `username` | string | Grafana username |

<details>
<summary>Example output</summary>

```json
{
  "password": "string",
  "username": "string"
}
```
</details>


SDK reference for `reveal-dbaas-grafana-user-password`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.RevealDBAASGrafanaUserPassword) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.reveal_dbaas_grafana_user_password) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#revealDbaasGrafanaUserPassword(java.lang.String,java.lang.String))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api reveal-dbaas-grafana-user-password`

## <span data-label="PUT" class="pill-PUT"></span>reset-dbaas-grafana-user-password

Reset the credentials of a DBaaS Grafana user

```
PUT /dbaas-grafana/{service-name}/user/{username}/password/reset
```

If no password is provided one will be generated automatically.

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `service-name` | `path` | Min length: `0`. Max length: `63`. |
| `username` | `path` | Min length: `1`. Max length: `64`. |

### Request body

Content-Type: `application/json`

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `password` | string | no | New password<br/><br/>Min length: `8`. Max length: `256`. |

<details>
<summary>Example</summary>

```json
{
  "password": "string"
}
```
</details>


### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](/reference/api/_schemas/operation/#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `reset-dbaas-grafana-user-password`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.ResetDBAASGrafanaUserPassword) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.reset_dbaas_grafana_user_password) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#resetDbaasGrafanaUserPassword(java.lang.String,java.lang.String,com.exoscale.sdk.model.ResetDbaasGrafanaUserPasswordRequest))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api reset-dbaas-grafana-user-password`

## <span data-label="POST" class="pill-POST"></span>create-dbaas-service-grafana

```
POST /dbaas-grafana/{name}
```

Create a DBaaS Grafana service

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `name` | `path` | Min length: `0`. Max length: `63`. |

### Request body

Content-Type: `application/json`

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `plan` | string | **yes** | Subscription plan<br/><br/>Min length: `1`. Max length: `128`. |
| `fork-from-service` | string | no | Service to fork from<br/><br/>Min length: `0`. Max length: `63`. |
| `grafana-settings` | [Grafana settings](/reference/api/_schemas/json-schema-grafana/) | no | Grafana specific settings |
| `ip-filter` | array[string] | no | Allowed CIDR address blocks for incoming connections |
| `maintenance` | [Maintenance](#maintenance) | no | Automatic maintenance settings |
| `termination-protection` | boolean | no | Service is protected against termination and powering off |

<details>
<summary>Example</summary>

```json
{
  "fork-from-service": "string",
  "grafana-settings": {
    "alerting_enabled": true,
    "alerting_error_or_timeout": "alerting",
    "alerting_max_annotations_to_keep": 0,
    "alerting_nodata_or_nullvalues": "alerting",
    "allow_embedding": true,
    "auth_azuread": {
      "allow_sign_up": true,
      "allowed_domains": [
        "mycompany.com"
      ],
      "allowed_groups": [
        "c0ffee15-c01d-0000-1111-012345abcdef"
      ],
      "auth_url": "https://login.microsoftonline.com/\u003cAZURE_TENANT_ID\u003e/oauth2/v2.0/authorize",
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b",
      "token_url": "https://login.microsoftonline.com/\u003cAZURE_TENANT_ID\u003e/oauth2/v2.0/token"
    },
    "auth_basic_enabled": true,
    "auth_generic_oauth": {
      "allow_sign_up": true,
      "allowed_domains": [
        "mycompany.com"
      ],
      "allowed_organizations": [
        "myorg"
      ],
      "api_url": "https://yourprovider.com/api",
      "auth_url": "https://yourprovider.com/oauth/authorize",
      "auto_login": true,
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b",
      "name": "My authentication",
      "scopes": [
        "email"
      ],
      "token_url": "https://yourprovider.com/oauth/token"
    },
    "auth_github": {
      "allow_sign_up": true,
      "allowed_organizations": [
        "aiven"
      ],
      "auto_login": true,
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b",
      "skip_org_role_sync": true,
      "team_ids": [
        0
      ]
    },
    "auth_gitlab": {
      "allow_sign_up": true,
      "allowed_groups": [
        "aiven/developers"
      ],
      "api_url": "https://gitlab.com/api/v4",
      "auth_url": "https://gitlab.com/oauth/authorize",
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b",
      "token_url": "https://gitlab.com/oauth/token"
    },
    "auth_google": {
      "allow_sign_up": true,
      "allowed_domains": [
        "example.com"
      ],
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b"
    },
    "cookie_samesite": "lax",
    "custom_domain": "grafana.example.org",
    "dashboard_previews_enabled": true,
    "dashboards_min_refresh_interval": "5s",
    "dashboards_versions_to_keep": 0,
    "dataproxy_send_user_header": true,
    "dataproxy_timeout": 0,
    "date_formats": {
      "default_timezone": "Europe/Helsinki",
      "full_date": "YYYY MM DD",
      "interval_day": "MM/DD",
      "interval_hour": "MM/DD HH:mm",
      "interval_minute": "HH:mm",
      "interval_month": "YYYY-MM",
      "interval_second": "HH:mm:ss",
      "interval_year": "YYYY"
    },
    "disable_gravatar": true,
    "editors_can_admin": true,
    "google_analytics_ua_id": "UA-123456-4",
    "metrics_enabled": true,
    "oauth_allow_insecure_email_lookup": true,
    "service_log": true,
    "smtp_server": {
      "from_address": "yourgrafanauser@yourdomain.example.com",
      "from_name": "Company Grafana",
      "host": "smtp.example.com",
      "password": "ein0eemeev5eeth3Ahfu",
      "port": 0,
      "skip_verify": true,
      "starttls_policy": "OpportunisticStartTLS",
      "username": "smtpuser"
    },
    "unified_alerting_enabled": true,
    "user_auto_assign_org": true,
    "user_auto_assign_org_role": "Viewer",
    "viewers_can_edit": true,
    "wal": true
  },
  "ip-filter": [
    "string"
  ],
  "maintenance": {
    "dow": "saturday",
    "time": "string"
  },
  "plan": "string",
  "termination-protection": true
}
```
</details>


### Maintenance {#maintenance}

Automatic maintenance settings

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `dow` | string | **yes** | Day of week for installing updates<br/><br/>Allowed values: `saturday`, `tuesday`, `never`, `wednesday`, `sunday`, `friday`, `monday`, `thursday`. |
| `time` | string | **yes** | Time for installing updates, UTC<br/><br/>Min length: `8`. Max length: `8`. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](/reference/api/_schemas/operation/#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `create-dbaas-service-grafana`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.CreateDBAASServiceGrafana) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.create_dbaas_service_grafana) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#createDbaasServiceGrafana(java.lang.String,com.exoscale.sdk.model.CreateDbaasServiceGrafanaRequest))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api create-dbaas-service-grafana`

## <span data-label="GET" class="pill-GET"></span>get-dbaas-service-grafana

Get a DBaaS Grafana service

```
GET /dbaas-grafana/{name}
```

null

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `name` | `path` | Min length: `0`. Max length: `63`. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `backups` | array of [List of backups for the service](/reference/api/_schemas/dbaas-service-backup/) | List of backups for the service |
| `components` | array of [Components](/reference/api/_schemas/dbaas-service-grafana/#components) | Service component information objects |
| `connection-info` | [Connection Info](/reference/api/_schemas/dbaas-service-grafana/#connection-info) | Grafana connection information properties |
| `created-at` | string | Service creation timestamp (ISO 8601)<br/><br/>ISO 8601 date-time. |
| `description` | string | DbaaS service description |
| `disk-size` | integer | TODO UNIT disk space for data storage<br/><br/>Min: `0`. |
| `grafana-settings` | [Grafana settings](/reference/api/_schemas/json-schema-grafana/) | Grafana specific settings |
| `integrations` | array of [DBaaS Integration](/reference/api/_schemas/dbaas-integration/) | Service integrations |
| `ip-filter` | array[string] | Allowed CIDR address blocks for incoming connections |
| `maintenance` | [Automatic maintenance settings](/reference/api/_schemas/dbaas-service-maintenance/) | Automatic maintenance settings |
| `name` | string | Service name<br/><br/>Min length: `0`. Max length: `63`. |
| `node-count` | integer | Number of service nodes in the active plan<br/><br/>Min: `0`. |
| `node-cpu-count` | integer | Number of CPUs for each node<br/><br/>Min: `0`. |
| `node-memory` | integer | TODO UNIT of memory for each node<br/><br/>Min: `0`. |
| `node-states` | array of [Automatic maintenance settings](/reference/api/_schemas/dbaas-node-state/) | State of individual service nodes |
| `notifications` | array of [Service notifications](/reference/api/_schemas/dbaas-service-notification/) | Service notifications |
| `plan` | string | Subscription plan |
| `prometheus-uri` | [Prometheus URI](/reference/api/_schemas/dbaas-service-grafana/#prometheus-uri) | Prometheus integration URI |
| `state` | string | State of the service<br/><br/>Allowed values: `running`, `rebuilding`, `rebalancing`, `poweroff`. |
| `termination-protection` | boolean | Service is protected against termination and powering off |
| `type` | string | Service type code<br/><br/>Min length: `0`. Max length: `64`. |
| `updated-at` | string | Service last update timestamp (ISO 8601)<br/><br/>ISO 8601 date-time. |
| `uri` | string | URI for connecting to the service (may be absent) |
| `uri-params` | object | service_uri parameterized into key-value pairs |
| `users` | array of [Users](/reference/api/_schemas/dbaas-service-grafana/#users) | List of service users |
| `version` | string | Grafana version |
| `zone` | string | The zone where the service is running |

<details>
<summary>Example output</summary>

```json
{
  "backups": [
    {
      "backup-name": "string",
      "backup-time": "2024-01-01T12:00:00Z",
      "data-size": 0
    }
  ],
  "components": [
    {
      "component": "string",
      "host": "string",
      "port": 0,
      "route": "dynamic",
      "usage": "primary"
    }
  ],
  "connection-info": {
    "password": "string",
    "uri": "string",
    "username": "string"
  },
  "created-at": "2024-01-01T12:00:00Z",
  "description": "string",
  "disk-size": 0,
  "grafana-settings": {
    "alerting_enabled": true,
    "alerting_error_or_timeout": "alerting",
    "alerting_max_annotations_to_keep": 0,
    "alerting_nodata_or_nullvalues": "alerting",
    "allow_embedding": true,
    "auth_azuread": {
      "allow_sign_up": true,
      "allowed_domains": [
        "mycompany.com"
      ],
      "allowed_groups": [
        "c0ffee15-c01d-0000-1111-012345abcdef"
      ],
      "auth_url": "https://login.microsoftonline.com/\u003cAZURE_TENANT_ID\u003e/oauth2/v2.0/authorize",
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b",
      "token_url": "https://login.microsoftonline.com/\u003cAZURE_TENANT_ID\u003e/oauth2/v2.0/token"
    },
    "auth_basic_enabled": true,
    "auth_generic_oauth": {
      "allow_sign_up": true,
      "allowed_domains": [
        "mycompany.com"
      ],
      "allowed_organizations": [
        "myorg"
      ],
      "api_url": "https://yourprovider.com/api",
      "auth_url": "https://yourprovider.com/oauth/authorize",
      "auto_login": true,
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b",
      "name": "My authentication",
      "scopes": [
        "email"
      ],
      "token_url": "https://yourprovider.com/oauth/token"
    },
    "auth_github": {
      "allow_sign_up": true,
      "allowed_organizations": [
        "aiven"
      ],
      "auto_login": true,
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b",
      "skip_org_role_sync": true,
      "team_ids": [
        0
      ]
    },
    "auth_gitlab": {
      "allow_sign_up": true,
      "allowed_groups": [
        "aiven/developers"
      ],
      "api_url": "https://gitlab.com/api/v4",
      "auth_url": "https://gitlab.com/oauth/authorize",
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b",
      "token_url": "https://gitlab.com/oauth/token"
    },
    "auth_google": {
      "allow_sign_up": true,
      "allowed_domains": [
        "example.com"
      ],
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b"
    },
    "cookie_samesite": "lax",
    "custom_domain": "grafana.example.org",
    "dashboard_previews_enabled": true,
    "dashboards_min_refresh_interval": "5s",
    "dashboards_versions_to_keep": 0,
    "dataproxy_send_user_header": true,
    "dataproxy_timeout": 0,
    "date_formats": {
      "default_timezone": "Europe/Helsinki",
      "full_date": "YYYY MM DD",
      "interval_day": "MM/DD",
      "interval_hour": "MM/DD HH:mm",
      "interval_minute": "HH:mm",
      "interval_month": "YYYY-MM",
      "interval_second": "HH:mm:ss",
      "interval_year": "YYYY"
    },
    "disable_gravatar": true,
    "editors_can_admin": true,
    "google_analytics_ua_id": "UA-123456-4",
    "metrics_enabled": true,
    "oauth_allow_insecure_email_lookup": true,
    "service_log": true,
    "smtp_server": {
      "from_address": "yourgrafanauser@yourdomain.example.com",
      "from_name": "Company Grafana",
      "host": "smtp.example.com",
      "password": "ein0eemeev5eeth3Ahfu",
      "port": 0,
      "skip_verify": true,
      "starttls_policy": "OpportunisticStartTLS",
      "username": "smtpuser"
    },
    "unified_alerting_enabled": true,
    "user_auto_assign_org": true,
    "user_auto_assign_org_role": "Viewer",
    "viewers_can_edit": true,
    "wal": true
  },
  "integrations": [
    {
      "description": "string",
      "dest": "string",
      "id": "string",
      "is-active": true,
      "is-enabled": true,
      "settings": {},
      "source": "string",
      "status": "string",
      "type": "string"
    }
  ],
  "ip-filter": [
    "string"
  ],
  "maintenance": {
    "dow": "saturday",
    "time": "string",
    "updates": [
      {
        "deadline": "2024-01-01T12:00:00Z",
        "description": "string",
        "start-after": "2024-01-01T12:00:00Z",
        "start-at": "2024-01-01T12:00:00Z"
      }
    ]
  },
  "name": "string",
  "node-count": 0,
  "node-cpu-count": 0,
  "node-memory": 0,
  "node-states": [
    {
      "name": "string",
      "progress-updates": [
        {
          "completed": true,
          "current": 0,
          "max": 0,
          "min": 0,
          "phase": "stream",
          "unit": "string"
        }
      ],
      "role": "standby",
      "state": "leaving"
    }
  ],
  "notifications": [
    {
      "level": "warning",
      "message": "string",
      "metadata": {},
      "type": "service_powered_off_removal"
    }
  ],
  "plan": "string",
  "prometheus-uri": {
    "host": "string",
    "port": 0
  },
  "state": "running",
  "termination-protection": true,
  "type": "string",
  "updated-at": "2024-01-01T12:00:00Z",
  "uri": "string",
  "uri-params": {},
  "users": [
    {
      "password": "string",
      "type": "string",
      "username": "string"
    }
  ],
  "version": "string",
  "zone": "string"
}
```
</details>


SDK reference for `get-dbaas-service-grafana`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.GetDBAASServiceGrafana) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.get_dbaas_service_grafana) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#getDbaasServiceGrafana(java.lang.String))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api get-dbaas-service-grafana`

## <span data-label="PUT" class="pill-PUT"></span>update-dbaas-service-grafana

Update a DBaaS Grafana service

```
PUT /dbaas-grafana/{name}
```

null

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `name` | `path` | Min length: `0`. Max length: `63`. |

### Request body

Content-Type: `application/json`

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `grafana-settings` | [Grafana settings](/reference/api/_schemas/json-schema-grafana/) | no | Grafana specific settings |
| `ip-filter` | array[string] | no | Allowed CIDR address blocks for incoming connections |
| `maintenance` | [Maintenance](#maintenance) | no | Automatic maintenance settings |
| `plan` | string | no | Subscription plan<br/><br/>Min length: `1`. Max length: `128`. |
| `termination-protection` | boolean | no | Service is protected against termination and powering off |

<details>
<summary>Example</summary>

```json
{
  "grafana-settings": {
    "alerting_enabled": true,
    "alerting_error_or_timeout": "alerting",
    "alerting_max_annotations_to_keep": 0,
    "alerting_nodata_or_nullvalues": "alerting",
    "allow_embedding": true,
    "auth_azuread": {
      "allow_sign_up": true,
      "allowed_domains": [
        "mycompany.com"
      ],
      "allowed_groups": [
        "c0ffee15-c01d-0000-1111-012345abcdef"
      ],
      "auth_url": "https://login.microsoftonline.com/\u003cAZURE_TENANT_ID\u003e/oauth2/v2.0/authorize",
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b",
      "token_url": "https://login.microsoftonline.com/\u003cAZURE_TENANT_ID\u003e/oauth2/v2.0/token"
    },
    "auth_basic_enabled": true,
    "auth_generic_oauth": {
      "allow_sign_up": true,
      "allowed_domains": [
        "mycompany.com"
      ],
      "allowed_organizations": [
        "myorg"
      ],
      "api_url": "https://yourprovider.com/api",
      "auth_url": "https://yourprovider.com/oauth/authorize",
      "auto_login": true,
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b",
      "name": "My authentication",
      "scopes": [
        "email"
      ],
      "token_url": "https://yourprovider.com/oauth/token"
    },
    "auth_github": {
      "allow_sign_up": true,
      "allowed_organizations": [
        "aiven"
      ],
      "auto_login": true,
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b",
      "skip_org_role_sync": true,
      "team_ids": [
        0
      ]
    },
    "auth_gitlab": {
      "allow_sign_up": true,
      "allowed_groups": [
        "aiven/developers"
      ],
      "api_url": "https://gitlab.com/api/v4",
      "auth_url": "https://gitlab.com/oauth/authorize",
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b",
      "token_url": "https://gitlab.com/oauth/token"
    },
    "auth_google": {
      "allow_sign_up": true,
      "allowed_domains": [
        "example.com"
      ],
      "client_id": "b1ba0bf54a4c2c0a1c29",
      "client_secret": "bfa6gea4f129076761dcba8ce5e1e406bd83af7b"
    },
    "cookie_samesite": "lax",
    "custom_domain": "grafana.example.org",
    "dashboard_previews_enabled": true,
    "dashboards_min_refresh_interval": "5s",
    "dashboards_versions_to_keep": 0,
    "dataproxy_send_user_header": true,
    "dataproxy_timeout": 0,
    "date_formats": {
      "default_timezone": "Europe/Helsinki",
      "full_date": "YYYY MM DD",
      "interval_day": "MM/DD",
      "interval_hour": "MM/DD HH:mm",
      "interval_minute": "HH:mm",
      "interval_month": "YYYY-MM",
      "interval_second": "HH:mm:ss",
      "interval_year": "YYYY"
    },
    "disable_gravatar": true,
    "editors_can_admin": true,
    "google_analytics_ua_id": "UA-123456-4",
    "metrics_enabled": true,
    "oauth_allow_insecure_email_lookup": true,
    "service_log": true,
    "smtp_server": {
      "from_address": "yourgrafanauser@yourdomain.example.com",
      "from_name": "Company Grafana",
      "host": "smtp.example.com",
      "password": "ein0eemeev5eeth3Ahfu",
      "port": 0,
      "skip_verify": true,
      "starttls_policy": "OpportunisticStartTLS",
      "username": "smtpuser"
    },
    "unified_alerting_enabled": true,
    "user_auto_assign_org": true,
    "user_auto_assign_org_role": "Viewer",
    "viewers_can_edit": true,
    "wal": true
  },
  "ip-filter": [
    "string"
  ],
  "maintenance": {
    "dow": "saturday",
    "time": "string"
  },
  "plan": "string",
  "termination-protection": true
}
```
</details>


### Maintenance {#maintenance}

Automatic maintenance settings

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `dow` | string | **yes** | Day of week for installing updates<br/><br/>Allowed values: `saturday`, `tuesday`, `never`, `wednesday`, `sunday`, `friday`, `monday`, `thursday`. |
| `time` | string | **yes** | Time for installing updates, UTC<br/><br/>Min length: `8`. Max length: `8`. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](/reference/api/_schemas/operation/#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `update-dbaas-service-grafana`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.UpdateDBAASServiceGrafana) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.update_dbaas_service_grafana) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#updateDbaasServiceGrafana(java.lang.String,com.exoscale.sdk.model.UpdateDbaasServiceGrafanaRequest))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api update-dbaas-service-grafana`

## <span data-label="DELETE" class="pill-DELETE"></span>delete-dbaas-service-grafana

Delete a Grafana service

```
DELETE /dbaas-grafana/{name}
```

null

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `name` | `path` |  |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](/reference/api/_schemas/operation/#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `delete-dbaas-service-grafana`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.DeleteDBAASServiceGrafana) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.delete_dbaas_service_grafana) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#deleteDbaasServiceGrafana(java.lang.String))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api delete-dbaas-service-grafana`


---

## Other Operations

## <span data-label="PUT" class="pill-PUT"></span>start-dbaas-grafana-maintenance

Initiate Grafana maintenance update

```
PUT /dbaas-grafana/{name}/maintenance/start
```

null

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `name` | `path` | Min length: `0`. Max length: `63`. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](/reference/api/_schemas/operation/#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `start-dbaas-grafana-maintenance`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.StartDBAASGrafanaMaintenance) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.start_dbaas_grafana_maintenance) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#startDbaasGrafanaMaintenance(java.lang.String))

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api start-dbaas-grafana-maintenance`

## <span data-label="GET" class="pill-GET"></span>get-dbaas-settings-grafana

Get DBaaS Grafana settings

```
GET /dbaas-settings-grafana
```

Get DBaaS Grafana settings

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `settings` | [Settings](#settings) |  |

<details>
<summary>Example output</summary>

```json
{
  "settings": {
    "grafana": {
      "additionalProperties": true,
      "properties": {},
      "title": "string",
      "type": "string"
    }
  }
}
```
</details>


### Settings {#settings}

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `grafana` | [Grafana](#grafana) | no | Grafana configuration values |

### Grafana {#grafana}

Grafana configuration values

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `additionalProperties` | boolean | no |  |
| `properties` | object | no |  |
| `title` | string | no |  |
| `type` | string | no |  |

SDK reference for `get-dbaas-settings-grafana`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.GetDBAASSettingsGrafana) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.get_dbaas_settings_grafana) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#getDbaasSettingsGrafana())

[CLI](https://community.exoscale.com/tools/command-line-interface/): `exo api get-dbaas-settings-grafana`


