diff --git a/public/app/plugins/datasource/cloudwatch/datasource.ts b/public/app/plugins/datasource/cloudwatch/datasource.ts index da92aa9630a..a0711c3f6fe 100644 --- a/public/app/plugins/datasource/cloudwatch/datasource.ts +++ b/public/app/plugins/datasource/cloudwatch/datasource.ts @@ -301,14 +301,18 @@ export class CloudWatchDatasource extends DataSourceApi target.refId === dataFrame.refId) as CloudWatchLogsQuery; + const interpolatedGroups = + curTarget.logGroupNames?.map((logGroup: string) => + this.replace(logGroup, options.scopedVars, true, 'log groups') + ) ?? []; const urlProps: AwsUrl = { end, start, timeType: 'ABSOLUTE', tz: 'UTC', - editorString: curTarget.expression ?? '', + editorString: curTarget.expression ? this.replace(curTarget.expression, options.scopedVars, true) : '', isLiveTail: false, - source: curTarget.logGroupNames ?? [], + source: interpolatedGroups, }; const encodedUrl = encodeUrl( @@ -830,9 +834,9 @@ export class CloudWatchDatasource extends DataSourceApi { - return this.templateSrv.variableExists(k) || this.templateSrv.variableExists(v); - }) + this.templateSrv.variableExists(target.expression!) || + target.logGroupNames?.some((logGroup: string) => this.templateSrv.variableExists(logGroup)) || + _.find(target.dimensions, (v, k) => this.templateSrv.variableExists(k) || this.templateSrv.variableExists(v)) ); }