{ "info": { "author": "Guy Rodrigue Koffi", "author_email": "koffirodrigue@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "aws-amicleaner\n==============\n\nCleanup your old unused ami and related snapshots\n\n|Travis CI| |codecov.io| |pypi|\n\nDescription\n-----------\n\nThis tool enables you to clean your custom `Amazon Machine Images (AMI)\n`__ and\nrelated `EBS Snapshots\n`__.\n\nYou can either run in ``fetch and clean`` mode where the tool will\nretrieve all your private **AMIs** and EC2 instances, exclude AMIs being\nholded by your EC2 instances (it can be useful if you use autoscaling,\nand so on ...). It applies a filter based on their **names** or **tags**\nand a number of **previous AMIs** you want to keep. You can also check and\ndelete EBS snapshots left orphaned by manual deletion of AMIs.\n\nIt can simply remove AMIs with a list of provided ids.\n\nPrerequisites\n-------------\n\n- `awscli `__\n- `python 2.7 or 3+`\n- `python pip `__\n\nThis tool assumes your AWS credentials are in your environment, either with AWS\ncredentials variables :\n\n.. code:: bash\n\n export AWS_DEFAULT_REGION='your region'\n export AWS_ACCESS_KEY_ID='with token Access ID'\n export AWS_SECRET_ACCESS_KEY='with token AWS Secret'\n\nor with ``awscli`` :\n\n.. code:: bash\n\n export AWS_PROFILE=profile-name\n\nMinimum AWS IAM permissions\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nTo run the script properly, your ``aws`` user must have at least these\npermissions in ``iam``:\n\n.. code:: json\n\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"Stmt1458638250000\",\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DeleteSnapshot\",\n \"ec2:DeregisterImage\",\n \"ec2:DescribeImages\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeSnapshots\",\n \"autoscaling:DescribeAutoScalingGroups\",\n \"autoscaling:DescribeLaunchConfigurations\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n }\n\nInstallation\n------------\n\namicleaner is available on pypi and can be installed on your system with pip\n\nFrom pypi\n~~~~~~~~~\n\n.. code:: bash\n\n [sudo] pip install aws-amicleaner\n\nFrom source\n~~~~~~~~~~~\n\nYou can also clone or download from github the source and install with pip\n\n.. code:: bash\n\n cd aws-amicleaner/\n pip install [--user] -e .\n\nUsage\n-----\n\n\nGetting help\n~~~~~~~~~~~~\n\n.. code:: bash\n\n amicleaner --help\n\n\nFetch and clean\n~~~~~~~~~~~~~~~\n\nPrint report of groups and amis to be cleaned\n\n.. code:: bash\n\n amicleaner --full-report\n\nKeep previous number of AMIs\n\n.. code:: bash\n\n amicleaner --full-report --keep-previous 10\n\nRegroup by name or tags\n\n.. code:: bash\n\n amicleaner --mapping-key tags --mapping-values role env\n\nExclude amis based on tag values\n\n.. code:: bash\n\n amicleaner --mapping-key tags --mapping-values role env -excluded-mapping-values prod\n\nSkip confirmation, can be useful for automation\n\n.. code:: bash\n\n amicleaner -f --keep-previous 2\n\n\nActivate orphan snapshots checking\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: bash\n\n amicleaner --check-orphans\n\n\nDelete a list of AMIs\n~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: bash\n\n amicleaner --from-ids ami-abcdef01 ami-abcdef02\n\n\n.. |Travis CI| image:: https://travis-ci.org/bonclay7/aws-amicleaner.svg?branch=master\n :target: https://travis-ci.org/bonclay7/aws-amicleaner\n.. |codecov.io| image:: https://codecov.io/github/bonclay7/aws-amicleaner/coverage.svg?branch=master\n :target: https://codecov.io/github/bonclay7/aws-amicleaner?branch=master\n.. |pypi| image:: https://img.shields.io/pypi/v/aws-amicleaner.svg\n :target: https://pypi.python.org/pypi/aws-amicleaner\n\n\nSee this `blog article\n`__\nfor more information.\n\n\n=======\nHistory\n=======\n\n0.1.0 (2016-08-22)\n------------------\n\n* First release on PyPI.\n\n0.1.1 (2016-08-22)\n------------------\n\n* Documentation update\n* rst files in pip package\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bonclay7/aws-amicleaner/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "aws-amicleaner", "package_url": "https://pypi.org/project/aws-amicleaner/", "platform": "", "project_url": "https://pypi.org/project/aws-amicleaner/", "project_urls": { "Homepage": "https://github.com/bonclay7/aws-amicleaner/" }, "release_url": "https://pypi.org/project/aws-amicleaner/0.2.2/", "requires_dist": [ "awscli", "argparse", "boto", "boto3", "prettytable", "blessings" ], "requires_python": "", "summary": "Cleanup tool for AWS AMIs and snapshots", "version": "0.2.2" }, "last_serial": 3888416, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "515cbc1a25c906389c360e934b12ed31", "sha256": "b7e5dd4f945f0fb0639d12737519e51eeb07ff2e457945e55cd8b02398d00937" }, "downloads": -1, "filename": "aws-amicleaner-0.1.0.tar.gz", "has_sig": false, "md5_digest": "515cbc1a25c906389c360e934b12ed31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8569, "upload_time": "2016-08-22T11:25:54", "url": "https://files.pythonhosted.org/packages/a8/83/803b3b410df01333bbab8cf0fa18406a2df12606d9d0844a45e037577fff/aws-amicleaner-0.1.0.tar.gz" } ], "0.1.1": [], "0.1.2": [ { "comment_text": "", "digests": { "md5": "075b42ae055cd714ced2e58ab235c909", "sha256": "a3e218cebea79427a8fafce1bfc8b789aebdc97235b51daf6fe8b39b7d2d9c8e" }, "downloads": -1, "filename": "aws-amicleaner-0.1.2.tar.gz", "has_sig": false, "md5_digest": "075b42ae055cd714ced2e58ab235c909", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14976, "upload_time": "2016-09-22T08:53:54", "url": "https://files.pythonhosted.org/packages/81/5b/6c71bf098dd50b40c13f9a30d626db5011f8cd185566a7a3c959931c4383/aws-amicleaner-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "32016fae0ab171d1b3dfbe171597b1d4", "sha256": "9cdb2d3e833348914afa2320167a4f401bf18180752f2c026946b3f5baa7ed06" }, "downloads": -1, "filename": "aws_amicleaner-0.1.3-py2.7.egg", "has_sig": false, "md5_digest": "32016fae0ab171d1b3dfbe171597b1d4", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 23109, "upload_time": "2018-02-03T11:44:06", "url": "https://files.pythonhosted.org/packages/fa/7a/5816f47a30aa80724dffca875611649b524d1c61d372ee43250c463d0f18/aws_amicleaner-0.1.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "216a5b2c25079bf160558ec3646a19e0", "sha256": "b090a3a2bfc909e4b0b3f170cce3cf31b0fdc9cbcbbc8c6c9c0e57dd815fdb12" }, "downloads": -1, "filename": "aws_amicleaner-0.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "216a5b2c25079bf160558ec3646a19e0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14206, "upload_time": "2018-02-03T11:44:02", "url": "https://files.pythonhosted.org/packages/ae/ee/9f604356abaa0fb6ecd7dfa1e640f008a0c834815d1dc2e4e77cb8567ab7/aws_amicleaner-0.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4f3320a98267aea8041d7bd3792996a5", "sha256": "218c599d587531cbfd06431273da0c08daababe4e0338c4ffc4d241fdec6fa8c" }, "downloads": -1, "filename": "aws-amicleaner-0.1.3.tar.gz", "has_sig": false, "md5_digest": "4f3320a98267aea8041d7bd3792996a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17081, "upload_time": "2018-02-03T11:44:04", "url": "https://files.pythonhosted.org/packages/07/90/b5f8716757e18707a80373b4c9cfdea5346873254093a64671c41ffe1282/aws-amicleaner-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "5da05c9f883c0eb30756e88f63c0dfc7", "sha256": "77f2a2e85d0f0b9435966f38793e3394ccf91500313887bd2fa15669c697de10" }, "downloads": -1, "filename": "aws-amicleaner-0.2.0.tar.gz", "has_sig": false, "md5_digest": "5da05c9f883c0eb30756e88f63c0dfc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17229, "upload_time": "2018-02-05T09:50:54", "url": "https://files.pythonhosted.org/packages/ad/d7/0c41047b5d362131482f0e1d99ccb2362e6a0897c70f5354329199a94be1/aws-amicleaner-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "4cc326f71004f5dc2ee6a6a5d7f6b10f", "sha256": "c505f17ac5fcc10aba0979ad3270bee23a42a5b050f4af4c366539abe7555162" }, "downloads": -1, "filename": "aws-amicleaner-0.2.1.tar.gz", "has_sig": false, "md5_digest": "4cc326f71004f5dc2ee6a6a5d7f6b10f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17197, "upload_time": "2018-02-05T10:15:54", "url": "https://files.pythonhosted.org/packages/5e/d8/4e4a52c308a804996ee9e25d00e4ed085e1b62c9f75997ba37bdcd421ee5/aws-amicleaner-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "cfbb8fe03b6039445570e2a1f8f7beee", "sha256": "a2dbec1ee7e299fda0e0c3ccf70cb9aacc0c58fd0a21926c86ac2a5756a91100" }, "downloads": -1, "filename": "aws_amicleaner-0.2.2-py3.6.egg", "has_sig": false, "md5_digest": "cfbb8fe03b6039445570e2a1f8f7beee", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 25162, "upload_time": "2018-05-22T16:55:46", "url": "https://files.pythonhosted.org/packages/5b/cf/9358ed763d5c9a6f7440f36d50233f8a016aa087f47cc7fc376789b4c22a/aws_amicleaner-0.2.2-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "07af7f8dce0ae74c000169b1424d316c", "sha256": "4e1d60d0c1dec7d24614aede6deff0a807531b29d348d1cf3f52361da69b2b70" }, "downloads": -1, "filename": "aws_amicleaner-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "07af7f8dce0ae74c000169b1424d316c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14945, "upload_time": "2018-05-22T16:55:42", "url": "https://files.pythonhosted.org/packages/2e/c6/e1bd0e2469b9c111a454244f532bc4e1ac76c844c8776e66f97bfe17481f/aws_amicleaner-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7e607d54ab46215c1c642d8efffddd3d", "sha256": "c8a8721c055e59a20e56dd1796ff1228ae5c165341c104267c43e881e3cd8fdf" }, "downloads": -1, "filename": "aws-amicleaner-0.2.2.tar.gz", "has_sig": false, "md5_digest": "7e607d54ab46215c1c642d8efffddd3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17898, "upload_time": "2018-05-22T16:55:44", "url": "https://files.pythonhosted.org/packages/47/c7/b3f15132bf0220142612f9fe8bbdd1ad521f182394a7acc1cabcd3c1e2dc/aws-amicleaner-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cfbb8fe03b6039445570e2a1f8f7beee", "sha256": "a2dbec1ee7e299fda0e0c3ccf70cb9aacc0c58fd0a21926c86ac2a5756a91100" }, "downloads": -1, "filename": "aws_amicleaner-0.2.2-py3.6.egg", "has_sig": false, "md5_digest": "cfbb8fe03b6039445570e2a1f8f7beee", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 25162, "upload_time": "2018-05-22T16:55:46", "url": "https://files.pythonhosted.org/packages/5b/cf/9358ed763d5c9a6f7440f36d50233f8a016aa087f47cc7fc376789b4c22a/aws_amicleaner-0.2.2-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "07af7f8dce0ae74c000169b1424d316c", "sha256": "4e1d60d0c1dec7d24614aede6deff0a807531b29d348d1cf3f52361da69b2b70" }, "downloads": -1, "filename": "aws_amicleaner-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "07af7f8dce0ae74c000169b1424d316c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14945, "upload_time": "2018-05-22T16:55:42", "url": "https://files.pythonhosted.org/packages/2e/c6/e1bd0e2469b9c111a454244f532bc4e1ac76c844c8776e66f97bfe17481f/aws_amicleaner-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7e607d54ab46215c1c642d8efffddd3d", "sha256": "c8a8721c055e59a20e56dd1796ff1228ae5c165341c104267c43e881e3cd8fdf" }, "downloads": -1, "filename": "aws-amicleaner-0.2.2.tar.gz", "has_sig": false, "md5_digest": "7e607d54ab46215c1c642d8efffddd3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17898, "upload_time": "2018-05-22T16:55:44", "url": "https://files.pythonhosted.org/packages/47/c7/b3f15132bf0220142612f9fe8bbdd1ad521f182394a7acc1cabcd3c1e2dc/aws-amicleaner-0.2.2.tar.gz" } ] }