2014-04-15 20 views
5

Tôi đang cố gắng tìm ra cách tốt nhất để có được danh sách các cá thể ec2 với một thẻ nhất định ví dụ "thử nghiệm" bằng cách sử dụng ruby ​​aws sdk.lấy các cá thể ec2 bằng một thẻ nhất định bằng aws sdk

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

Điều này dường như không hoạt động vì một lý do nào đó. Nó đã suy nghĩ nó sẽ lọc ra các bộ sưu tập và chỉ cho tôi trường hợp với kiểm tra thẻ. Có cách nào để làm điều này bằng cách sử dụng sdk ruby? cảm ơn bạn.

Trả lời

0

Hi Tôi nghĩ rằng bạn có thể nhận được những gì bạn muốn sử dụng bộ lọc trên các thẻ của các trường hợp:

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

1

này đã làm việc cho tôi:

ec2.instances.tagged("testing") 
1

Không có điều nào ở trên hiệu quả, nhưng điều này làm việc cho tôi:

ec2.instances.with_tag("Environment","Integration") 
7

Nếu bạn muốn tag "Tên" với giá trị của "thử nghiệm" sử dụng:

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

Đối với tất cả các trường hợp với một chìa khóa thẻ của "thử nghiệm" sau được sử dụng.

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

Xem tài liệu #instances để biết thêm tùy chọn bộ lọc.

+0

này là câu trả lời chính xác cho AWS SDK v2 – sixty4bit

Các vấn đề liên quan