Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save copolycube/40bcbc21a28efca607f635daf6bf495c to your computer and use it in GitHub Desktop.
Save copolycube/40bcbc21a28efca607f635daf6bf495c to your computer and use it in GitHub Desktop.

Revisions

  1. @nirbhabbarat nirbhabbarat created this gist Feb 9, 2018.
    28 changes: 28 additions & 0 deletions aws_delete_ami_boto3.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@
    #!/usr/bin/env python
    ##### USE ON YOUR OWN RISK - THIS IS GOING TO DEREGISTER AMI OLDER THAN 30 DAYS

    import boto3
    from dateutil.parser import parse
    import datetime
    age = 30
    aws_profile_name = 'prod'
    def days_old(date):
    get_date_obj = parse(date)
    date_obj = get_date_obj.replace(tzinfo=None)
    diff = datetime.datetime.now() - date_obj
    return diff.days

    boto3.setup_default_session(profile_name = aws_profile_name)
    ec2 = boto3.client('ec2')
    amis = ec2.describe_images(Owners=[
    'self'
    ])
    for ami in amis['Images']:
    create_date = ami['CreationDate']
    ami_id = ami['ImageId']
    # print ami['ImageId'], ami['CreationDate']
    day_old = days_old(create_date)
    if day_old > age:
    print "deleting -> " + ami_id + " - create_date = " + create_date
    # deregister the AMI
    ec2.deregister_image(ImageId=ami_id)