Files
grafana/pkg/tsdb/cloudwatch/services/hardcoded_metrics.go
T
Nathan Vērzemnieks 560be84dc8 [release-12.0.5] Backport aws-sdk-go-v2 update and subsequent fixes (#111243)
* CloudWatch: Backport aws-sdk-go-v2 update from external plugin (#107136)

(cherry picked from a18ea34688)

* Datasources: Update grafana-aws-sdk for new sigv4 middleware and aws-sdk-go v1 removal (#107522)

(cherry picked from commit 66d9a33cc9)

* CloudWatch: Fix proxy transport issue (#107807)

(cherry picked from c3eeb1fcd9)

* CloudWatch: Fix http client handling + assume role bug (#107893)

(cherry picked from commit f34a9fc0c2)

* CloudWatch: Use default region when query region is unset (#109089)

(cherry picked from commit 5f4097a159)

* CloudWatch: Fix handling region for legacy alerts (#109217)

(cherry picked from commit 2bf9aea8ef)

* Update go.mod owners

---------

Co-authored-by: Isabella Siu <Isabella.siu@grafana.com>
2025-09-19 12:46:40 +02:00

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)
}