Просмотр исходного кода

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" ] })`
Michael Ambrose 8 лет назад
Родитель
Сommit
525da95f49
1 измененных файлов с 11 добавлено и 1 удалено
  1. 11 1
      public/app/plugins/datasource/cloudwatch/datasource.js

+ 11 - 1
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);