使用boto3在aws帐户中取消标记ec2实例的列表

时间:2018-01-26 18:39:11

标签: python amazon-web-services amazon-ec2 boto3

下面的代码给出了一个指定区域的结果,任何人都可以帮助我如何在一个aws帐户中的所有区域获取所有未标记的ec2实例信息吗?

#!/usr/bin/env python
import boto3
import json, ast

instances = [i for i in boto3.resource('ec2', region_name='us-east-2').instances.all()]

for i in instances:
    d = (i.tags[0])
    d2 = ast.literal_eval(json.dumps(d))
    if ( d2['Value'] == "" ):
            print i.instance_id

1 个答案:

答案 0 :(得分:1)

获取所有地区的列表。遍历每个区域并执行您的代码。像这样:

def do_tags(region):
  instances = [i for i in boto3.resource('ec2', region_name=region).instances.all()]

  for i in instances:
      d = (i.tags[0])
      d2 = ast.literal_eval(json.dumps(d))
      if ( d2['Value'] == "" ):
              print i.instance_id

regions = boto3.session.Session().get_available_regions('ec2')
for region in regions:
  print 'Checking region:', region
  do_tags(region)