API: Add endpoint for updating a data source by its UID (#49396)
* API: Add endpoint for updating a data source by UID * Update docs markdown * Update swagger * Apply suggestions from code review Co-authored-by: Selene <selenepinillos@gmail.com>
This commit is contained in:
co-authored by
Selene
parent
8f4c3e94b0
commit
be0d043673
@@ -415,10 +415,12 @@ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||||
}
|
||||
```
|
||||
|
||||
## Update an existing data source
|
||||
## Update an existing data source by id
|
||||
|
||||
`PUT /api/datasources/:datasourceId`
|
||||
|
||||
> **Warning:** This API is deprecated since Grafana v9.0.0 and will be removed in a future release. Refer to the [new data source update API](#update-an-existing-data-source).
|
||||
|
||||
**Required permissions**
|
||||
|
||||
See note in the [introduction]({{< ref "#data-source-api" >}}) for an explanation.
|
||||
@@ -466,6 +468,7 @@ Content-Type: application/json
|
||||
{
|
||||
"datasource": {
|
||||
"id": 1,
|
||||
"uid": "kLtEtcRGk",
|
||||
"orgId": 1,
|
||||
"name": "test_datasource",
|
||||
"type": "graphite",
|
||||
@@ -495,6 +498,88 @@ Content-Type: application/json
|
||||
|
||||
> **Note:** Similar to [creating a data source](#create-a-data-source), `password` and `basicAuthPassword` should be defined under `secureJsonData` in order to be stored securely as an encrypted blob in the database. Then, the encrypted fields are listed under `secureJsonFields` section in the response.
|
||||
|
||||
## Update an existing data source
|
||||
|
||||
`PUT /api/datasources/uid/:uid`
|
||||
|
||||
**Required permissions**
|
||||
|
||||
See note in the [introduction]({{< ref "#data-source-api" >}}) for an explanation.
|
||||
|
||||
| Action | Scope |
|
||||
| ----------------- | -------------------------------------------------------------------------------------- |
|
||||
| datasources:write | datasources:\*<br>datasources:uid:\*<br>datasources:uid:kLtEtcRGk (single data source) |
|
||||
|
||||
### Examples
|
||||
|
||||
**Example Request**:
|
||||
|
||||
```http
|
||||
PUT /api/datasources/uid/kLtEtcRGk HTTP/1.1
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||||
|
||||
{
|
||||
"id":1,
|
||||
"uid": "updated UID",
|
||||
"orgId":1,
|
||||
"name":"test_datasource",
|
||||
"type":"graphite",
|
||||
"access":"proxy",
|
||||
"url":"http://mydatasource.com",
|
||||
"password":"",
|
||||
"user":"",
|
||||
"database":"",
|
||||
"basicAuth":true,
|
||||
"basicAuthUser":"basicuser",
|
||||
"secureJsonData": {
|
||||
"basicAuthPassword": "basicpassword"
|
||||
},
|
||||
"isDefault":false,
|
||||
"jsonData":null
|
||||
}
|
||||
```
|
||||
|
||||
**Example Response**:
|
||||
|
||||
```http
|
||||
HTTP/1.1 200
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"datasource": {
|
||||
"id": 1,
|
||||
"uid": "updated UID",
|
||||
"orgId": 1,
|
||||
"name": "test_datasource",
|
||||
"type": "graphite",
|
||||
"typeLogoUrl": "",
|
||||
"access": "proxy",
|
||||
"url": "http://mydatasource.com",
|
||||
"password": "",
|
||||
"user": "",
|
||||
"database": "",
|
||||
"basicAuth": true,
|
||||
"basicAuthUser": "basicuser",
|
||||
"basicAuthPassword": "",
|
||||
"withCredentials": false,
|
||||
"isDefault": false,
|
||||
"jsonData": {},
|
||||
"secureJsonFields": {
|
||||
"basicAuthPassword": true
|
||||
},
|
||||
"version": 1,
|
||||
"readOnly": false
|
||||
},
|
||||
"id": 102,
|
||||
"message": "Datasource updated",
|
||||
"name": "test_datasource"
|
||||
}
|
||||
```
|
||||
|
||||
> **Note:** Similar to [creating a data source](#create-a-data-source), `password` and `basicAuthPassword` should be defined under `secureJsonData` in order to be stored securely as an encrypted blob in the database. Then, the encrypted fields are listed under `secureJsonFields` section in the response.## Update an existing data source by id
|
||||
|
||||
## Delete an existing data source by id
|
||||
|
||||
`DELETE /api/datasources/:datasourceId`
|
||||
|
||||
Reference in New Issue
Block a user