2013-10-14 15 views

cevap

13

Bu ya foo veya bar değeriyle component adlı bir etiketi olan tüm örneklerini bulmak gerekir:

import boto.ec2 
c = boto.ec2.connect_to_region('us-west-2') 
reservations = c.get_all_instances(filters={'tag:component':['foo', 'bar']}) 

o sorunu çözmek mu?

+0

Boş bir liste alıyorum. Sanırım bu yok, değil mi? – J0hnG4lt

+1

Dokümanlar (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html) bunun bir OR yapması gerektiğini söylüyor. Biraz daha test etmeme izin verin. – garnaat

+1

Tek bir örneğe '' component: foo'' etiketi eklemeyi denedim ve yukarıdaki çağrıyı yaptım ve örneği döndürdüm. Yani, benim için OR yapıyor gibi görünüyor. – garnaat

0
#With boto3 
def get_instances_by_tag_value(tag, value): 
ec2 = boto3.resource('ec2') 
instances = ec2.instances.filter(
    Filters=[{'Name': 'tag:' + tag, 'Values': [value]}]) 
for instance in instances: 
    print(instance.id, instance.instance_type) 

get_instances_by_tag_value('tagname', 'tagvalue')