#!/usr/bin/env python3
import boto3
ec2 = boto3.client('ec2', region_name='ap-southeast-1') EC2 = boto3.resource('ec2') instances = EC2.instances.filter(Filters = [{'Name': 'instance-state-name', 'Values': ['running']}]) reserved_instances = ec2.describe_reserved_instances() for reserved_instance in reserved_instances['ReservedInstances']:
x = reserved_instance['InstanceCount']
if reserved_instance['State'] != 'active':
continue
# if reserved_instance['ReservedInstancesId'] !='***********************':
# continue
for instance in instances:
# if reserved_instance['State'] == 'active' and reserved_instance['InstanceType'] == instance.instance_type and reserved_instance['ProductDescription'] == instance.platform:
# if reserved_instance['State'] == 'active':
if str(reserved_instance['InstanceType']).upper() == str(instance.instance_type).upper():
if str(reserved_instance['ProductDescription']).upper() == str(instance.platform).upper():
x = x - 1;
if x > 0:
print('ID为:%s(%s, %s) 的预留实例剩余数量为 %s' %(reserved_instance['ReservedInstancesId'],reserved_instance['InstanceType'], reserved_instance['ProductDescription'],x))
else:
print('ID为:%s(%s, %s) 的预留实例已被全部使用 %s' %(reserved_instance['ReservedInstancesId'], reserved_instance['InstanceType'], reserved_instance['ProductDescription'],x))
#print('ReservedInstancesId: %s InstanceType: %s ProductDescription: %s state: %s Start: %s End: %s RecurringCharges: %s InstanceCount: %s' %(reserved_instance['ReservedInstancesId'],reserved_instance['InstanceType'],reserved_instance['ProductDescription'],reserved_instance['State'],reserved_instance['Start'],reserved_instance['End'],reserved_instance['RecurringCharges'],reserved_instance['InstanceCount']))
aws 比较判断预留实例(Reserved Instances)使用情况
最新推荐文章于 2024-05-30 21:00:36 发布