From 525da95f49350711d5fdc1f724a4b3b313f46edc Mon Sep 17 00:00:00 2001 From: Michael Ambrose Date: Fri, 5 May 2017 16:22:03 -0400 Subject: [PATCH] Updated cloudwatch plugin to allow specific tag selection Tags come back from AWS as a key value pair inside an array This array is now converted to an object Tags can be selected when using the 'ec2_instance_attribute' query Example: `ec2_instance_attribute(us-east-1, Tags.Name, { "tag:Grafana": [ "true" ] })` --- .../app/plugins/datasource/cloudwatch/datasource.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/public/app/plugins/datasource/cloudwatch/datasource.js b/public/app/plugins/datasource/cloudwatch/datasource.js index 60c7e167a06..b9f9b062ce6 100644 --- a/public/app/plugins/datasource/cloudwatch/datasource.js +++ b/public/app/plugins/datasource/cloudwatch/datasource.js @@ -260,7 +260,17 @@ function (angular, _, moment, dateMath, kbn, templatingVariable, CloudWatchAnnot return this.performEC2DescribeInstances(region, filters, null).then(function(result) { var attributes = _.chain(result.Reservations) .map(function(reservations) { - return _.map(reservations.Instances, targetAttributeName); + return _.map(reservations.Instances, function(instance) { + var tags = {}; + _.each(instance.Tags, function(tag) { + tags[tag.Key] = tag.Value; + }); + instance.Tags = tags; + return instance; + }); + }) + .map(function(instances) { + return _.map(instances, targetAttributeName); }) .flatten().uniq().sortBy().value(); return transformSuggestData(attributes);