2013-10-14 13 views

risposta

13

Questo dovrebbe trovare tutte le istanze che hanno un tag denominato component con un valore di uno o foobar:

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

Vuol risolto il problema?

+0

Ottengo una lista vuota. Immagino che questo faccia &&, no? – J0hnG4lt

+1

I documenti (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html) dicono che dovrebbe fare un OR. Lasciami provare a provare un po 'di più. – garnaat

+1

Ho appena provato ad aggiungere un tag '' component: foo'' a una singola istanza e poi ho fatto la chiamata sopra e ha restituito l'istanza. Quindi sembra che stia facendo O per me. – 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') 
Problemi correlati