Skip to main content

AWS resource inventory scanner and draw.io architecture diagram generator

Project description

aws-radar

AWS resource inventory scanner + draw.io architecture diagram generator.

Scans your AWS account(s) via SSO or IAM credentials and produces:

  • A CSV inventory of every running resource
  • A .drawio file you can open in diagrams.net — with AWS icons, region containers, and service connections auto-wired

Supported services

EC2 · RDS / Aurora · Lambda · ECS · EKS · ElastiCache · DynamoDB · S3 · OpenSearch · SQS · SNS · ALB / NLB

Installation

pip install aws-radar

Quick start

# One-shot: inventory + diagram
aws-radar run --profile my-sso-profile --all-regions --output architecture.drawio

# Or step by step:
aws-radar inventory --profile my-sso-profile --all-regions --export inventory.csv
aws-radar diagram   --input inventory.csv --output architecture.drawio

Then open architecture.drawio at app.diagrams.net.

AWS SSO usage

# Configure SSO once
aws configure sso

# Login before each session
aws sso login --profile my-profile

# Run
aws-radar run --profile my-profile --all-regions

Multi-account

for profile in prod staging dev; do
  aws sso login --profile $profile
  aws-radar run --profile $profile --csv ${profile}.csv --output ${profile}.drawio
done

Python API

import boto3
from aws_radar.inventory import run_inventory
from aws_radar.drawio import build_drawio

session = boto3.Session(profile_name="my-profile")
rows = run_inventory(["us-east-1", "eu-west-1"], session, account_id="123456789012")

mxfile = build_drawio(rows, account_id="123456789012")

Required IAM permissions

Attach the AWS-managed ReadOnlyAccess policy, or grant these specific actions:

ec2:Describe* · rds:Describe* · lambda:ListFunctions
ecs:List*/Describe* · eks:List*/Describe*
elasticache:Describe* · dynamodb:ListTables/DescribeTable
s3:ListAllMyBuckets · opensearch:List*/Describe*
sqs:ListQueues · sns:ListTopics
elasticloadbalancing:DescribeLoadBalancers
sts:GetCallerIdentity

License

MIT

Project details


Download files

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

Source Distribution

aws_radar-0.1.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

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

aws_radar-0.1.0-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file aws_radar-0.1.0.tar.gz.

File metadata

  • Download URL: aws_radar-0.1.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for aws_radar-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2e7fb5d28b33f52d8b9d90f8101ea7cbf5855e2a5b1e3c8989c700217a6752fb
MD5 bcc06e02f7076f0983799fda3c0e8af7
BLAKE2b-256 703e2052ba97748c984a1a0bfe0e66f8c68a3d7edc8cb13f049ac6aa2e63a13d

See more details on using hashes here.

File details

Details for the file aws_radar-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: aws_radar-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for aws_radar-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0b0268dd6fa65168bcf9ca43417d62b3db7f634e02c33839d72717ade9888bce
MD5 cff5cfb1222ae6cb1009486e7ffdc926
BLAKE2b-256 580bdbea0579fc5bfff93fc0f3471d181d9dcf764325db9adcf5ea4d446b6638

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