mirror of
https://github.com/grafana/grafana.git
synced 2024-11-25 10:20:29 -06:00
7c3f621688
* Update grafana-azure-sdk-go * Update test
29 lines
931 B
Go
29 lines
931 B
Go
package utils
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
|
|
"github.com/grafana/grafana-azure-sdk-go/v2/azcredentials"
|
|
"github.com/grafana/grafana-plugin-sdk-go/backend"
|
|
)
|
|
|
|
// GetJsonData just gets the json in easier to work with type. It's used on multiple places which isn't super effective
|
|
// but only when creating a client which should not happen often anyway.
|
|
func getJsonData(settings backend.DataSourceInstanceSettings) (map[string]interface{}, error) {
|
|
var jsonData map[string]interface{}
|
|
err := json.Unmarshal(settings.JSONData, &jsonData)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error unmarshalling JSONData: %w", err)
|
|
}
|
|
return jsonData, nil
|
|
}
|
|
|
|
func GetAzureCredentials(settings backend.DataSourceInstanceSettings) (azcredentials.AzureCredentials, error) {
|
|
jsonData, err := getJsonData(settings)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return azcredentials.FromDatasourceData(jsonData, settings.DecryptedSecureJSONData)
|
|
}
|