{"id":13625950,"url":"https://github.com/janiko71/aws-inventory","last_synced_at":"2025-04-16T11:30:58.702Z","repository":{"id":29617499,"uuid":"99722224","full_name":"janiko71/aws-inventory","owner":"janiko71","description":"Python script for AWS resources inventory (cheaper than AWS Config)","archived":false,"fork":false,"pushed_at":"2024-11-25T09:02:33.000Z","size":354,"stargazers_count":164,"open_issues_count":7,"forks_count":64,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-11-25T10:22:45.475Z","etag":null,"topics":["aws","awsconfig","boto3","ec2","inventory","python","s3","vpc"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/janiko71.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"janiko71"}},"created_at":"2017-08-08T18:06:18.000Z","updated_at":"2024-11-25T09:02:38.000Z","dependencies_parsed_at":"2024-01-14T07:12:12.759Z","dependency_job_id":"87006fd1-c447-4c8c-a56e-44098522adba","html_url":"https://github.com/janiko71/aws-inventory","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janiko71%2Faws-inventory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janiko71%2Faws-inventory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janiko71%2Faws-inventory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janiko71%2Faws-inventory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/janiko71","download_url":"https://codeload.github.com/janiko71/aws-inventory/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249235030,"owners_count":21235131,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","awsconfig","boto3","ec2","inventory","python","s3","vpc"],"created_at":"2024-08-01T21:02:06.403Z","updated_at":"2025-04-16T11:30:58.687Z","avatar_url":"https://github.com/janiko71.png","language":"Python","readme":"# AWS Inventory\n\n\u003e **This is a brand new version, completely rebuilt from scratch (again) in nov. 2024. It may be quicker and a bit simpler to maintain, but the inventory may have sometimes less details than the previous one.**\n\n## Overview\nDid your never forget to stop an EC2 instance? Or to delete some unusued AWS resource? I'm sure you did. And only remembering it when getting the bill. I know, [AWS Config](https://aws.amazon.com/config) may help you, but did you ever try? It's prohibitive! This python script **lists all the main resources** owned within your AWS account. This inventory may be uncomplete, but it should help you to find what I call _main_ resources that are, in my mind, resources that should affect billing and/or security.\n\nIntended for _personal_ and _non-professional_ use (even if I added some professional features like logging), and for only one account. For more information on multiple accounts, read the [wiki](https://github.com/janiko71/aws-inventory/wiki). This script provides a comprehensive inventory of AWS services used within a **single account** across all available regions. It leverages multithreading to perform inventory operations concurrently, ensuring efficient and timely data collection.\n\n## Support Me\n\nThis project is *[donateware](https://github.com/sponsors/janiko71)*. If you like my work, consider supporting me via GitHub Sponsors!\n\n[![Sponsor](https://img.shields.io/badge/Sponsor-GitHub-ff69b4?logo=github)](https://github.com/sponsors/janiko71)\n\n## Main features\n\n- **Multithreading**: Concurrently performs inventory operations to speed up data collection.\n- **Service Coverage**: Supports a wide range of AWS services, including EC2, S3, RDS, Lambda, and more.\n- **Extendability**: All resources and details inventory services are in JSON files. No need to write code to add new ressources!\n- **Policy Management**: Reads and merges IAM policy files to determine the necessary permissions for inventory operations directly from JSON files used in the project.\n- **Logging**: Detailed logging of operations and errors for troubleshooting and auditing purposes. Ensures the existence of log and output directories, and creates a timestamped log file.\n- **Inventory Processes**:\n  * Retrieves all AWS regions and tests connectivity.\n  * Creates a service structure based on IAM policy files.\n  * Compiles and logs results, handles errors, and updates progress.\n- **Output**: Generates JSON files with the inventory results, including metadata if specified.\n\nThe script functionally processes AWS service inventory with detailed logging, multi-threading, and customizable options via command-line arguments.\n\n## Getting Started\n\n### Prerequisites\n\n- Python 3.11+\n- AWS CLI configured with appropriate credentials (see [wiki](https://github.com/janiko71/aws-inventory/wiki))\n- Install required Python packages:\n  ```sh\n  pip install -r requirements.txt\n  ```  \n### Usage\nPlease see **[wiki](https://github.com/janiko71/aws-inventory/wiki)**.\n\n## How to contribute?\n\n### Testing\n[**TESTERS WANTED! If you test this code, please send me feedback**](https://github.com/janiko71/aws-inventory/discussions/39): I can't test every configuration (especially when there are a lot of items in inventories), so either if it works or not, let me know what is fine and what needs to be corrected (use [issues](https://github.com/janiko71/aws-inventory/issues)).\n\n### Writing some stuff\nContributions are welcome! Please fork the repository and submit a pull request.\n\n### License\nThis project is licensed under the terms of the GNU General Public License v3.0. See the LICENSE file for details.\n","funding_links":["https://github.com/sponsors/janiko71"],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaniko71%2Faws-inventory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaniko71%2Faws-inventory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaniko71%2Faws-inventory/lists"}