我试图找出获得带有某个标签的ec2实例列表的最佳方法,例如" testing"使用ruby aws sdk。
ec2 = AWS::EC2.new(:access_key_id => "XXXXXXXXXXXXX", :secret_access_key => "YYYYYYYYY")
ec2list = ec2.instances.filter("Name", "testing)
由于某些原因,这似乎不起作用。它认为它将过滤掉集合,并给我带有标记测试的实例。有没有办法使用ruby sdk做到这一点?谢谢。
答案 0 :(得分:7)
如果你想要标签" Name"值"测试"使用方法:
instances = resource.instances(
filters: [
{
name: 'tag:Name',
values: ["testing"]
}
]
)
对于标记键为"测试"的所有实例使用以下内容。
instances = resource.instances(
filters: [
{
name: 'tag:Key',
values: ["testing"]
}
]
)
有关更多过滤器选项,请参阅#instances文档。
答案 1 :(得分:1)
这对我有用:
ec2.instances.tagged("testing")
答案 2 :(得分:1)
以上都没有,但这个对我有用:
ec2.instances.with_tag("Environment","Integration")
答案 3 :(得分:0)
嗨,我想你可以在实例的标签上使用过滤器得到你想要的东西:
ec2 = AWS::EC2.new(:access_key_id => "XXXXXXXXXXXXX", :secret_access_key => "YYYYYYYYY")
ec2list = ec2.instances.tags.filter("Name", "testing)
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
答案 4 :(得分:0)
我习惯这样做
require 'aws-sdk'
ec2 = AWS::EC2.new(
:region => cluster_region,
:access_key_id => key_id,
:secret_access_key => access_key)
instances = ec2.instances
instances = instances.filter("filter-key", "filter-value")