Vorrei avere un elenco di istanze in boto con un tag "componente" di foo o bar.Filtra l'elenco di istanze di boto per "tag: componente": "foo" o "tag: componente": "bar"
C'è un modo per evitare di fare due richieste e munging gli oggetti?
Vorrei avere un elenco di istanze in boto con un tag "componente" di foo o bar.Filtra l'elenco di istanze di boto per "tag: componente": "foo" o "tag: componente": "bar"
C'è un modo per evitare di fare due richieste e munging gli oggetti?
Questo dovrebbe trovare tutte le istanze che hanno un tag denominato component
con un valore di uno o foo
bar
:
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?
#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')
Ottengo una lista vuota. Immagino che questo faccia &&, no? – J0hnG4lt
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
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