Skip to main content

Know Everything About Your AWS Environment

Project description

AWS Inventory Manager

Know Everything About Your AWS Environment

CI Coverage PyPI version Python 3.11+ License: MIT

Collections | Inventory Snapshots | Configuration Drift | Security Scanning | Cost Analysis | Resource Cleanup | IaC Generation

Documentation | Quick Start | Features | Contributing


What It Does

One CLI that inventories 27 AWS services and 80+ resource types, then lets you track drift, enforce compliance, generate Terraform and CDK, scan for security issues, manage Lambda code, query resources with SQL, and clean up what shouldn't be there. 60+ commands. Zero agents running in your account.

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's actually running in our account?" Snapshot 80+ resource types across all regions in one command
"What changed since last week?" Field-level configuration drift detection between snapshots
"Are we following security best practices?" 12+ CIS-aligned checks with severity filtering
"Someone spun up a bunch of test resources" Delete everything created after a baseline snapshot
"I need Terraform for existing resources" Generate Terraform or CDK from live inventory with guardrails
"What's in that Lambda function?" Extract, view, and diff deployment packages across snapshots
"Are our guardrails being followed?" YAML-based compliance policies with BLOCK/WARN/AUTO-FIX
"I need a resource explorer for the team" Launch a web UI with awsinv serve

Quick Start

pip install aws-inventory-manager

Or with pipx: pipx install aws-inventory-manager

# 1. Organize snapshots into a collection
awsinv collection create prod-baseline --description "Production account"

# 2. Capture current state into the collection
awsinv snapshot create my-baseline --collection prod-baseline --region us-east-1

# 3. View what was captured
awsinv snapshot report

# 4. Track changes
awsinv delta --snapshot my-baseline --show-diff

# 5. Find security issues
awsinv security scan --severity HIGH

# 6. Clean up (always preview first!)
awsinv cleanup preview my-baseline
awsinv cleanup execute my-baseline --yes

See the full Getting Started tutorial for a complete walkthrough.


Features

  • Collections -- Named containers for organizing snapshots by account, environment, or team (guide)
  • 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 --region us-east-1
# ... work all day ...
awsinv cleanup execute morning-baseline --yes

# Pre/post deployment comparison
awsinv snapshot create pre-deploy --region 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" --yes

See Common Workflows for more examples.


Command Quick Reference

Command Group Description
awsinv collection Create, list, show, delete snapshot collections
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

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Run tests: invoke test
  4. Run quality checks: invoke quality
  5. Submit a pull request

See CONTRIBUTING.md for detailed guidelines.

License

MIT License - see LICENSE

Support


Built for AWS practitioners who need visibility and control

Star on GitHub

Project details


Release history Release notifications | RSS feed

This version

2.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aws_inventory_manager-2.1.0.tar.gz (425.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aws_inventory_manager-2.1.0-py3-none-any.whl (548.7 kB view details)

Uploaded Python 3

File details

Details for the file aws_inventory_manager-2.1.0.tar.gz.

File metadata

  • Download URL: aws_inventory_manager-2.1.0.tar.gz
  • Upload date:
  • Size: 425.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for aws_inventory_manager-2.1.0.tar.gz
Algorithm Hash digest
SHA256 bce341383cc4b5f0293c0868a0665af247401aa9c9f7a56257454aa14eda2170
MD5 93c8b321c1163024fd415705c03ce2f9
BLAKE2b-256 fead78d0dfd0d3651f7f088223fd132a8f0e2e24e918d083b697f3c74c5ea670

See more details on using hashes here.

File details

Details for the file aws_inventory_manager-2.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aws_inventory_manager-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 13cb7f7cf2b3f453262633ad82a35731dbd07cd16b9ff926df363970b8859e4b
MD5 258291e7b51cd5b0470dc388c299ffd4
BLAKE2b-256 3e0af20b8721ac1b2dfec38a0e38c4b304a8e0e7565a354559e5ea59a9acd7ee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page