From a8f57b2ffddc9ce72cc5e394c8817f74bcd96685 Mon Sep 17 00:00:00 2001 From: kay delaney <45561153+kaydelaney@users.noreply.github.com> Date: Wed, 12 Aug 2020 16:26:51 +0100 Subject: [PATCH] Datasource/CloudWatchLogs: Correctly interpolate variables for data links (#26929) Closes #26792 --- .../plugins/datasource/cloudwatch/datasource.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) 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)) ); }