AWS Resource Inventory Management & Delta Tracking CLI tool
Project description
AWS Inventory Manager
Snapshot, Track, Secure, and Clean Up Your AWS Environment
Inventory Snapshots | Configuration Drift | Security Scanning | Cost Analysis | Resource Cleanup | IaC Generation
What It Does
AWS Inventory Manager captures a point-in-time inventory of your AWS resources, then helps you track changes, find security issues, and clean up unwanted resources.
Note: "Snapshot" in this tool means an inventory snapshot (a catalog of what exists), not an AWS EBS or RDS snapshot. No AWS snapshots are created.
| Problem | Solution |
|---|---|
| "What changed in our account?" | Field-level configuration drift detection |
| "Are we following security best practices?" | Automated CIS Benchmark scanning |
| "Someone spun up a bunch of test resources" | Delete everything created after a baseline snapshot |
| "How much is each team spending?" | Per-inventory cost tracking with tag filtering |
| "I need to clean up a sandbox account" | Purge all resources except those with specific tags |
Quick Start
pip install aws-inventory-manager
Or with pipx: pipx install aws-inventory-manager
# 1. Capture current state
awsinv snapshot create my-baseline --regions us-east-1
# 2. View what was captured
awsinv snapshot report
# 3. Track changes
awsinv delta --snapshot my-baseline --show-diff
# 4. Find security issues
awsinv security scan --severity HIGH
# 5. Clean up (always preview first!)
awsinv cleanup preview my-baseline
awsinv cleanup execute my-baseline --confirm
See the full Getting Started tutorial for a complete walkthrough.
Features
- Inventory Snapshots -- 27 AWS services, 80+ resource types, multi-region, Lambda code collection, SQLite storage (guide)
- Change Tracking -- Field-level drift detection with before/after diff (guide)
- Security Scanning -- 12+ CIS-aligned checks across severity levels (guide)
- Cost Analysis -- Per-inventory cost tracking, date ranges, service breakdown (guide)
- Resource Cleanup -- Baseline cleanup, purge mode, protection rules, 43 deletable types (guide)
- AWS Config Integration -- Auto-detected, up to 5x faster collection (guide)
- Query & Analysis -- SQL queries, resource search, cross-snapshot history (guide)
- Creator Tracking -- CloudTrail-based resource provenance (guide)
- IaC Generation -- Terraform, CDK TypeScript, CDK Python via AI (guide)
- Guardrails -- Policy-based compliance checking, AI auto-fix, CI/CD ready (guide)
- Web UI -- Resource Explorer with advanced filtering and export (guide)
- Lambda Code -- List, extract, view, diff, and fetch Lambda deployment code (guide)
Documentation
Full documentation is available at troylar.github.io/aws-inventory-manager.
| Section | Description |
|---|---|
| Getting Started | Installation, first snapshot, common workflows |
| Configuration | Environment variables, AWS Config, data storage, multi-account |
| Guides | How-to guides for every feature |
| Guardrails | Policy-based compliance checking |
| Reference | CLI reference, IAM permissions, supported resources, database schema |
| Development | Contributing, testing, architecture |
| FAQ | Troubleshooting and frequently asked questions |
Common Workflows
# Development environment reset
awsinv snapshot create morning-baseline --regions us-east-1
# ... work all day ...
awsinv cleanup execute morning-baseline --confirm
# Pre/post deployment comparison
awsinv snapshot create pre-deploy --regions us-east-1,us-west-2
# ... deploy ...
awsinv delta --snapshot pre-deploy --show-diff
# Sandbox account cleanup
awsinv cleanup purge --protect-tag "baseline=true" --preview
awsinv cleanup purge --protect-tag "baseline=true" --confirm
See Common Workflows for more examples.
Command Quick Reference
| Command Group | Description |
|---|---|
awsinv snapshot |
Create, list, export, enrich snapshots |
awsinv delta |
Track changes since a baseline |
awsinv security |
Run CIS-aligned security scans |
awsinv cost |
Cost analysis with date ranges |
awsinv cleanup |
Delete resources (preview/execute/purge) |
awsinv lambda |
Lambda code: list, extract, show, diff, fetch |
awsinv query |
SQL queries and resource search |
awsinv generate |
Generate Terraform/CDK from snapshots |
awsinv guardrails |
Compliance checking and policy management |
awsinv serve |
Launch web-based Resource Explorer |
See the full CLI Reference for all options.
Supported Resources
27 AWS services, 80+ resource types. 43 support deletion via cleanup.
See Supported Resource Types for the full list.
Development
git clone https://github.com/troylar/aws-inventory-manager.git
cd aws-inventory-manager
pip install -e ".[dev]"
invoke test # All tests with coverage
invoke test-unit # Unit tests only (faster)
invoke quality # Lint + typecheck
invoke quality --fix # Auto-fix issues
invoke build # Build distributable package
2400+ tests, 61% overall coverage.
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Run tests:
invoke test - Run quality checks:
invoke quality - Submit a pull request
See CONTRIBUTING.md for detailed guidelines.
License
MIT License - see LICENSE
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aws_inventory_manager-1.3.4.tar.gz.
File metadata
- Download URL: aws_inventory_manager-1.3.4.tar.gz
- Upload date:
- Size: 415.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebd2b468f9d79fdb0ff389930ff107ecb320c09daab88444a1653f5e4b71c308
|
|
| MD5 |
1676c0e7d69f892d5cb050df7cce8cf2
|
|
| BLAKE2b-256 |
69e966c3aeac49f9764b924a8eec161a4911f5500c1ab48ba0fb062c6bfe8aac
|
Provenance
The following attestation bundles were made for aws_inventory_manager-1.3.4.tar.gz:
Publisher:
publish-pypi.yml on troylar/aws-inventory-manager
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aws_inventory_manager-1.3.4.tar.gz -
Subject digest:
ebd2b468f9d79fdb0ff389930ff107ecb320c09daab88444a1653f5e4b71c308 - Sigstore transparency entry: 926837088
- Sigstore integration time:
-
Permalink:
troylar/aws-inventory-manager@8c3be731062a438560326b10b4ef0879e212c879 -
Branch / Tag:
refs/tags/v1.3.4 - Owner: https://github.com/troylar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@8c3be731062a438560326b10b4ef0879e212c879 -
Trigger Event:
release
-
Statement type:
File details
Details for the file aws_inventory_manager-1.3.4-py3-none-any.whl.
File metadata
- Download URL: aws_inventory_manager-1.3.4-py3-none-any.whl
- Upload date:
- Size: 540.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7566f8f1d1e62011c3d0a9b43e08a738a48913d2b530232b0be7691887f518a4
|
|
| MD5 |
eb2f2cf1908e93e84855dfd9a523fcbc
|
|
| BLAKE2b-256 |
0d331230e4c54927ca6235b9eb66357c1ed417232302c5360bc4598b13c20bc9
|
Provenance
The following attestation bundles were made for aws_inventory_manager-1.3.4-py3-none-any.whl:
Publisher:
publish-pypi.yml on troylar/aws-inventory-manager
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aws_inventory_manager-1.3.4-py3-none-any.whl -
Subject digest:
7566f8f1d1e62011c3d0a9b43e08a738a48913d2b530232b0be7691887f518a4 - Sigstore transparency entry: 926837096
- Sigstore integration time:
-
Permalink:
troylar/aws-inventory-manager@8c3be731062a438560326b10b4ef0879e212c879 -
Branch / Tag:
refs/tags/v1.3.4 - Owner: https://github.com/troylar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@8c3be731062a438560326b10b4ef0879e212c879 -
Trigger Event:
release
-
Statement type: