2013-10-14 13 views

答えて

13

これは、タグがfooまたはbarのいずれかの値でcomponentと呼ばれているすべてのインスタンスを見つける必要があります:

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

は、それはあなたの問題を解決していますか?

+0

私は空のリストを取得します。私はこれが&&、そうではないと思いますか? – J0hnG4lt

+1

docs(http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html)は、これがORを行うべきだと言います。もう少し試してみましょう。 – garnaat

+1

私は単なるインスタンスに '' component:foo''タグを追加しようとしましたが、上記の呼び出しを行い、インスタンスを返しました。だから、それは私にとってORをしているようです。 – 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') 
関連する問題