Ruby 使用aws sdk获取带有特定标记的ec2实例
我试图找出使用ruby aws sdk获取带有特定标记的ec2实例列表的最佳方法,例如“测试”Ruby 使用aws sdk获取带有特定标记的ec2实例,ruby,amazon-web-services,Ruby,Amazon Web Services,我试图找出使用ruby aws sdk获取带有特定标记的ec2实例列表的最佳方法,例如“测试” ec2 = AWS::EC2.new(:access_key_id => "XXXXXXXXXXXXX", :secret_access_key => "YYYYYYYYY") ec2list = ec2.instances.filter("Name", "testing) 出于某种原因,这似乎不起作用。它认为它会过滤掉集合,只给我一些带有标记测试的实例。有没有一种方法可以使用ruby
ec2 = AWS::EC2.new(:access_key_id => "XXXXXXXXXXXXX", :secret_access_key => "YYYYYYYYY")
ec2list = ec2.instances.filter("Name", "testing)
出于某种原因,这似乎不起作用。它认为它会过滤掉集合,只给我一些带有标记测试的实例。有没有一种方法可以使用ruby sdk实现这一点?谢谢。您好,我想您可以使用实例标签上的过滤器获得所需内容:
ec2 = AWS::EC2.new(:access_key_id => "XXXXXXXXXXXXX", :secret_access_key => "YYYYYYYYY")
ec2list = ec2.instances.tags.filter("Name", "testing)
CF:
这对我很有效:
ec2.instances.tagged("testing")
ec2.instances.with_tag("Environment","Integration")
以上这些都不起作用,但这一条对我起作用:
ec2.instances.tagged("testing")
ec2.instances.with_tag("Environment","Integration")
如果您希望标签“Name”的值为“testing”,请使用:
对于标记键为“testing”的所有实例,使用以下命令
instances = resource.instances(
filters: [
{
name: 'tag:Key',
values: ["testing"]
}
]
)
有关更多筛选选项,请参阅文档。我习惯于这样做
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")
您可以在以下位置找到可用的过滤器: