我想在 boto 中获得一个实例列表,要么有一个 foo 或 bar 的“组件”标签。
有没有办法避免发出两个请求和修改对象?
这应该找到所有具有标签的实例,该标签component
的值是foo
or bar
:
import boto.ec2
c = boto.ec2.connect_to_region('us-west-2')
reservations = c.get_all_instances(filters={'tag:component':['foo', 'bar']})
这能解决你的问题吗?
# 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') # call function