CloudWatch: Fix handling region for legacy alerts (#109217)
This commit is contained in:
@@ -382,7 +382,7 @@ func (q *CloudWatchQuery) validateAndSetDefaults(refId string, metricsDataQuery
|
||||
}
|
||||
}
|
||||
|
||||
if q.Region == defaultRegion {
|
||||
if q.Region == defaultRegion || q.Region == "" {
|
||||
q.Region = defaultRegionValue
|
||||
}
|
||||
|
||||
|
||||
@@ -1195,7 +1195,7 @@ func Test_ParseMetricDataQueries_account_Id(t *testing.T) {
|
||||
}
|
||||
|
||||
func Test_ParseMetricDataQueries_default_region(t *testing.T) {
|
||||
t.Run("default region is used when when region not set", func(t *testing.T) {
|
||||
t.Run("default region is used when when region is default", func(t *testing.T) {
|
||||
query := []backend.DataQuery{
|
||||
{
|
||||
JSON: json.RawMessage(`{
|
||||
@@ -1216,6 +1216,33 @@ func Test_ParseMetricDataQueries_default_region(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
region := "us-east-2"
|
||||
res, err := ParseMetricDataQueries(query, time.Now().Add(-2*time.Hour), time.Now().Add(-time.Hour), region, logger, false)
|
||||
assert.NoError(t, err)
|
||||
require.Len(t, res, 1)
|
||||
require.NotNil(t, res[0])
|
||||
assert.Equal(t, region, res[0].Region)
|
||||
})
|
||||
t.Run("default region is used when when region not set", func(t *testing.T) {
|
||||
query := []backend.DataQuery{
|
||||
{
|
||||
JSON: json.RawMessage(`{
|
||||
"refId":"ref1",
|
||||
"namespace":"ec2",
|
||||
"metricName":"CPUUtilization",
|
||||
"id": "",
|
||||
"expression": "",
|
||||
"dimensions":{
|
||||
"InstanceId":["test"],
|
||||
"InstanceType":["test2"]
|
||||
},
|
||||
"statistic":"Average",
|
||||
"period":"900",
|
||||
"hide":false
|
||||
}`),
|
||||
},
|
||||
}
|
||||
|
||||
region := "us-east-2"
|
||||
res, err := ParseMetricDataQueries(query, time.Now().Add(-2*time.Hour), time.Now().Add(-time.Hour), region, logger, false)
|
||||
assert.NoError(t, err)
|
||||
|
||||
Reference in New Issue
Block a user