560be84dc8
* CloudWatch: Backport aws-sdk-go-v2 update from external plugin (#107136) (cherry picked froma18ea34688) * Datasources: Update grafana-aws-sdk for new sigv4 middleware and aws-sdk-go v1 removal (#107522) (cherry picked from commit66d9a33cc9) * CloudWatch: Fix proxy transport issue (#107807) (cherry picked fromc3eeb1fcd9) * CloudWatch: Fix http client handling + assume role bug (#107893) (cherry picked from commitf34a9fc0c2) * CloudWatch: Use default region when query region is unset (#109089) (cherry picked from commit5f4097a159) * CloudWatch: Fix handling region for legacy alerts (#109217) (cherry picked from commit2bf9aea8ef) * Update go.mod owners --------- Co-authored-by: Isabella Siu <Isabella.siu@grafana.com>
53 lines
1.6 KiB
Go
53 lines
1.6 KiB
Go
package services
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/grafana/grafana-aws-sdk/pkg/cloudWatchConsts"
|
|
"github.com/grafana/grafana/pkg/tsdb/cloudwatch/models/resources"
|
|
)
|
|
|
|
var GetHardCodedDimensionKeysByNamespace = func(namespace string) ([]resources.ResourceResponse[string], error) {
|
|
var response []string
|
|
exists := false
|
|
if response, exists = cloudWatchConsts.NamespaceDimensionKeysMap[namespace]; !exists {
|
|
return nil, fmt.Errorf("unable to find dimensions for namespace '%q'", namespace)
|
|
}
|
|
return valuesToListMetricResponse(response), nil
|
|
}
|
|
|
|
var GetHardCodedMetricsByNamespace = func(namespace string) ([]resources.ResourceResponse[resources.Metric], error) {
|
|
response := []resources.Metric{}
|
|
exists := false
|
|
var metrics []string
|
|
if metrics, exists = cloudWatchConsts.NamespaceMetricsMap[namespace]; !exists {
|
|
return nil, fmt.Errorf("unable to find metrics for namespace '%q'", namespace)
|
|
}
|
|
|
|
for _, metric := range metrics {
|
|
response = append(response, resources.Metric{Namespace: namespace, Name: metric})
|
|
}
|
|
|
|
return valuesToListMetricResponse(response), nil
|
|
}
|
|
|
|
var GetAllHardCodedMetrics = func() []resources.ResourceResponse[resources.Metric] {
|
|
response := []resources.Metric{}
|
|
for namespace, metrics := range cloudWatchConsts.NamespaceMetricsMap {
|
|
for _, metric := range metrics {
|
|
response = append(response, resources.Metric{Namespace: namespace, Name: metric})
|
|
}
|
|
}
|
|
|
|
return valuesToListMetricResponse(response)
|
|
}
|
|
|
|
var GetHardCodedNamespaces = func() []resources.ResourceResponse[string] {
|
|
response := []string{}
|
|
for key := range cloudWatchConsts.NamespaceMetricsMap {
|
|
response = append(response, key)
|
|
}
|
|
|
|
return valuesToListMetricResponse(response)
|
|
}
|