使用aws sdk获取带有特定标记的ec2实例

use*_*472 6 ruby amazon-web-services

我试图找出使用某个标签获取ec2实例列表的最佳方法,例如使用ruby aws sdk进行"测试".

ec2 = AWS::EC2.new(:access_key_id => "XXXXXXXXXXXXX", :secret_access_key => "YYYYYYYYY")
ec2list = ec2.instances.filter("Name", "testing)
Run Code Online (Sandbox Code Playgroud)

这似乎不是出于某种原因.它认为它将过滤掉集合,并给我带有标记测试的实例.有没有办法使用ruby sdk做到这一点?谢谢.

小智 7

如果您希望标签"Name"的值为"testing",请使用:

instances = resource.instances(
  filters: [
    { 
      name: 'tag:Name',
      values: ["testing"] 
    }
  ]
)
Run Code Online (Sandbox Code Playgroud)

对于标记键为"testing"的所有实例,使用以下内容.

instances = resource.instances(
  filters: [
    { 
      name: 'tag:Key',
      values: ["testing"] 
    }
  ]
)
Run Code Online (Sandbox Code Playgroud)

有关更多筛选选项,请参阅#instances文档.


Luk*_*keS 0

您好,我认为您可以使用实例标签上的过滤器获得您想要的内容:

ec2 = AWS::EC2.new(:access_key_id => "XXXXXXXXXXXXX", :secret_access_key => "YYYYYYYYY")
ec2list = ec2.instances.tags.filter("Name", "testing)
Run Code Online (Sandbox Code Playgroud)

CF: http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/AutoScaling/TagCollection.html#filter-instance_method http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/EC2.html #tags-instance_method