Skip to main content

List all your AWS resources, all regions, all services.

Project description

List all resources in an AWS account, all regions, all services(*). Writes JSON files for further processing.

(*) No guarantees for completeness. Use billing alerts if you are worried about costs.

https://travis-ci.org/JohannesEbke/aws_list_all.svg?branch=master

Usage

You need to have python (both 2 or 3 work) as well as AWS credentials set up as usual.

Quick Start with virtualenv:

mkvirtualenv -p $(which python3) aws
pip install aws-list-all
aws-list-all --region eu-west-1 --service ec2 --directory ./data/

Quick Start Output:

---------------8<--(snip)--8<-------------------
--- ec2 eu-west-1 DescribeVolumes Volumes
--- ec2 eu-west-1 DescribeVolumesModifications VolumesModifications
--- ec2 eu-west-1 DescribeVpcEndpointConnectionNotifications ConnectionNotificationSet
--- ec2 eu-west-1 DescribeVpcEndpointConnections VpcEndpointConnections
--- ec2 eu-west-1 DescribeVpcEndpointServiceConfigurations ServiceConfigurations
--- ec2 eu-west-1 DescribeVpcEndpoints VpcEndpoints
--- ec2 eu-west-1 DescribeVpcPeeringConnections VpcPeeringConnections
--- ec2 eu-west-1 DescribeVpcs Vpcs
--- ec2 eu-west-1 DescribeVpnConnections VpnConnections
--- ec2 eu-west-1 DescribeVpnGateways VpnGateways
+++ ec2 eu-west-1 DescribeKeyPairs KeyPairs
+++ ec2 eu-west-1 DescribeSecurityGroups SecurityGroups
+++ ec2 eu-west-1 DescribeTags Tags
!!! ec2 eu-west-1 DescribeClientVpnEndpoints ClientError('An error occurred (InternalError) when calling the DescribeClientVpnEndpoints operation (reached max retries: 4): An internal error has occurred')

Lines start with “---” if no resources of this type have been found, and start with “+++” if at least one resource has been found. “>:|” denotes an error due to missing permissions, other errors are prefixed with “!!!”,

Currently, some default resources are still considered “user-created” and thus listed, this may change in the future.

Details about found resources are saved in json files named after the service, region, and operation used to find them. They can be dumped with:

aws-list-all show data/ec2_*
aws-list-all show --verbose data/ec2_DescribeSecurityGroups_eu-west-1.json

How do I really list everything?

Warning: As AWS has over 1024 API endpoints, you may have to increase your allowed number of open files See https://github.com/JohannesEbke/aws_list_all/issues/6

Restricting the region and service is optional, a simple query without arguments lists everything. It uses a thread pool to parallelize queries and randomizes the order to avoid hitting one endpoint in close succession. One run takes around two minutes for me.

More Examples

Add immediate, more verbose output to a query with --verbose. Use twice for even more verbosity:

aws-list-all query --region eu-west-1 --service ec2 --operation DescribeVpcs --directory data --verbose

Show resources for all returned queries:

aws-list-all show --verbose data/*

Show resources for all ec2 returned queries:

aws-list-all show --verbose data/ec2*

List available services to query:

aws-list-all introspect list-services

List available operations for a given service, do:

aws-list-all introspect list-operations --service ec2

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_list_all-0.6.1.tar.gz (33.3 kB view details)

Uploaded Source

Built Distributions

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

aws_list_all-0.6.1-py3.7.egg (52.4 kB view details)

Uploaded Egg

aws_list_all-0.6.1-py2.py3-none-any.whl (33.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file aws_list_all-0.6.1.tar.gz.

File metadata

  • Download URL: aws_list_all-0.6.1.tar.gz
  • Upload date:
  • Size: 33.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2+

File hashes

Hashes for aws_list_all-0.6.1.tar.gz
Algorithm Hash digest
SHA256 bb6826933ee376f84379a74db1fe96b4ccb787a4cb5c315121671e89141ee187
MD5 e8b16ba6210b6f9e61e71b1cf5659159
BLAKE2b-256 2dee0f08adf32edb5959d2971b7464ba59d95c818ce2ed053e1494622d37df35

See more details on using hashes here.

File details

Details for the file aws_list_all-0.6.1-py3.7.egg.

File metadata

  • Download URL: aws_list_all-0.6.1-py3.7.egg
  • Upload date:
  • Size: 52.4 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2+

File hashes

Hashes for aws_list_all-0.6.1-py3.7.egg
Algorithm Hash digest
SHA256 f02791214e632be68477ba72292832091155c6ab52a15cdf33b1a5cdf55339d7
MD5 ce218fc9e4d1f70ac85aa7d7bf9c1a03
BLAKE2b-256 2078e44c75d2f0324ae273f5e0776eedb04854aa53802dec663b8ac96e0089c1

See more details on using hashes here.

File details

Details for the file aws_list_all-0.6.1-py2.py3-none-any.whl.

File metadata

  • Download URL: aws_list_all-0.6.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 33.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2+

File hashes

Hashes for aws_list_all-0.6.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6022289e4f9fcc70e8dd91a3139a3b39952c7465b4cd546c4db4017bb5cbc348
MD5 df4553c457fd5a97b3f0b8c09ac37b2c
BLAKE2b-256 ff0b5a51d38e939a382ab1d5929987c53f2d6032e5acec438e974b0bbffaee8c

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