Files
grafana/pkg/tsdb/cloudwatch/models/resources/dimension_values_request.go
2022-11-22 15:59:11 +01:00

38 lines
864 B
Go

package resources
import (
"net/url"
)
type DimensionValuesRequest struct {
*ResourceRequest
Namespace string
MetricName string
DimensionKey string
DimensionFilter []*Dimension
}
func GetDimensionValuesRequest(parameters url.Values) (DimensionValuesRequest, error) {
resourceRequest, err := getResourceRequest(parameters)
if err != nil {
return DimensionValuesRequest{}, err
}
request := DimensionValuesRequest{
ResourceRequest: resourceRequest,
Namespace: parameters.Get("namespace"),
MetricName: parameters.Get("metricName"),
DimensionKey: parameters.Get("dimensionKey"),
DimensionFilter: []*Dimension{},
}
dimensions, err := parseDimensionFilter(parameters.Get("dimensionFilters"))
if err != nil {
return DimensionValuesRequest{}, err
}
request.DimensionFilter = dimensions
return request, nil
}