diff --git a/public/app/plugins/datasource/cloudwatch/datasource.test.ts b/public/app/plugins/datasource/cloudwatch/datasource.test.ts index 840e90ffbad..00eb29f9bb7 100644 --- a/public/app/plugins/datasource/cloudwatch/datasource.test.ts +++ b/public/app/plugins/datasource/cloudwatch/datasource.test.ts @@ -249,6 +249,26 @@ describe('datasource', () => { }); }); }); + describe('resource requests', () => { + it('should map resource response to metric response', async () => { + const datasource = setupMockedDataSource().datasource; + datasource.doMetricResourceRequest = jest.fn().mockResolvedValue([ + { + text: 'AWS/EC2', + value: 'CPUUtilization', + }, + { + text: 'AWS/Redshift', + value: 'CPUPercentage', + }, + ]); + const allMetrics = await datasource.getAllMetrics('us-east-2'); + expect(allMetrics[0].metricName).toEqual('CPUUtilization'); + expect(allMetrics[0].namespace).toEqual('AWS/EC2'); + expect(allMetrics[1].metricName).toEqual('CPUPercentage'); + expect(allMetrics[1].namespace).toEqual('AWS/Redshift'); + }); + }); describe('performTimeSeriesQuery', () => { it('should return the same length of data as result', async () => { diff --git a/public/app/plugins/datasource/cloudwatch/datasource.ts b/public/app/plugins/datasource/cloudwatch/datasource.ts index 32f1f374671..4e1c038829e 100644 --- a/public/app/plugins/datasource/cloudwatch/datasource.ts +++ b/public/app/plugins/datasource/cloudwatch/datasource.ts @@ -670,7 +670,7 @@ export class CloudWatchDatasource region: this.templateSrv.replace(this.getActualRegion(region)), }); - return values.map((v) => ({ metricName: v.label, namespace: v.text })); + return values.map((v) => ({ metricName: v.value, namespace: v.text })); } async getDimensionKeys(