如何修改Python脚本筛选env标签为dev的AWS EC2实例
筛选AWS EC2实例中env标签为"dev"的实例并按Name标签分组
要实现这个需求,你只需要在原脚本的实例遍历逻辑中,增加对env标签的过滤条件即可。以下是修改后的完整脚本,以及关键改动的说明:
修改后的脚本
#!/usr/bin/env python # -*- encoding: utf8 -*- import boto.ec2 conn = boto.ec2.connect_to_region('us-west-1') reservations = conn.get_all_instances() InstanceMap={} for reservation in reservations: for instance in reservation.instances: # 新增env标签过滤,同时确保实例有Name标签 if 'env' in instance.tags and instance.tags['env'] == 'dev' and 'Name' in instance.tags: tag_name = instance.tags['Name'] if tag_name in InstanceMap: InstanceMap[tag_name].append(instance.id) else: InstanceMap[tag_name] = [instance.id,]
关键改动说明
- 在原有的判断条件中,新增了对
env标签的检查:'env' in instance.tags and instance.tags['env'] == 'dev',这样只有标签env的值为dev的实例才会被处理 - 同时保留了原有的
'Name' in instance.tags检查,避免没有Name标签的实例被错误加入到结果字典中
运行这个修改后的脚本,就能得到你期望的结果:
{'ap1-dev': ['i-04ebd1403d93bef01'], 'ap2-dev': ['i-08ffb39676b7b1c81']}
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

