не может получить общую сумму томов, если дни старше определенного значения. Пример 20, продолжает выдавать исключение
Попытка суммировать общий размер дисков в скрипте Python, если age = 20
, может распечатать значения, если найдено, не может суммировать общее количество дисков, найденных по их размеру if days_old > age
#!/usr/bin/python
import boto3
import datetime
age = 20
def days_old(date):
date_obj = date.replace(tzinfo=None)
diff = datetime.datetime.now() - date_obj
return diff.days
# datetime.datetime.now() to get
# current date as filename.
Available_Volumes = datetime.datetime.now()
# open a (new) file to write
outF = open("Available_Volumes_"+Available_Volumes.strftime("%d_%m_%Y_%H:%M")+".txt", "a")
#for lambda use def lambda_handler(object, context):
def main():
# Get list of regions
ec2_client = boto3.client('ec2')
regions = [region['RegionName']
for region in ec2_client.describe_regions()['Regions']]
for region in regions:
ec2 = boto3.resource('ec2', region_name=region)
print(("Region:", region))
# List only unattached volumes ('available' vs. 'in-use')
volumes = ec2.volumes.filter(
Filters=[{'Name': 'status', 'Values': ['available']}])
for volume in volumes:
v = ec2.Volume(volume.id)
create_date = (v.create_time)
day_old = days_old(create_date)
if day_old > age:
try:
outF.write("Found Available Volume that is {} days old !! Deleting EBS volume: {}, Size: {} GiB\n".format(day_old, v.id, v.size))
print (v.id)
print ("Size of Volume is ",v.size)
print ("Number of Days old is equal to {} ".format(day_old))
print("Found Available Volume that is {} days old Deleting EBS volume: {}, Size: {} GiB\n".format(day_old, v.id, v.size))
#unhash to allow delete
#v.delete()
except:
print ("can't delete")
if __name__ == '__main__':
main()
# Copy to S3 Bucket
s3 = boto3.resource('s3')
s3.meta.client.upload_file("Available_Volumes_"+Available_Volumes.strftime("%d_%m_%Y_%H:%M")+".txt", 'mybucket', "Available_Volumes_"+Available_Volumes.strftime("%d_%m_%Y_%H:%M")+".txt")
, постоянно получая исключение, ошибка не может быть удалена