使用python和boto按实例列出所有T2实例类型和cpucredits

时间:2018-09-05 22:11:59

标签: python-3.x amazon-ec2 boto3

我正在尝试编写脚本以列出所有我的实例(t2 / t3),这些实例没有无限的积分,以及它们拥有多少可用的CPU积分。

我正在努力寻找最佳方法。我一直在用语法来查找没有无限学分的实例。我们将不胜感激,因为我无法弄清楚FOR语句的作用。它仅返回一个结果。谢谢!

instances = ec2.describe_instances(
        Filters=[{'Name': 'instance-state-name', 'Values': ['running']},
            {'Name': 'instance-type', 'Values': ['t2.micro','t2.medium']}]
)

for instance in instances['Reservations'][0]['Instances']:
    credits=ec2.describe_instance_credit_specifications(InstanceIds=[instance['InstanceId']])
    print(json.dumps(credits,indent=4,default=myconverter))

1 个答案:

答案 0 :(得分:0)

您正在遍历单个预订 ['Reservations'] [0] 。相反,您必须遍历每个保留,然后遍历该保留中的每个实例。

for reservation in instances['Reservations']:
    for instance in reservation['Instances']:
        credits=ec2.describe_instance_credit_specifications(InstanceIds=[instance['InstanceId']])
        print(json.dumps(credits,indent=4,default=myconverter))