CloudWanderer

https://user-images.githubusercontent.com/803607/101322139-7111b800-385e-11eb-9277-c6bf3a580987.png

PyPI GitHub Workflow Status (branch) Documentation Status

A Python package which wanders across your AWS account and records your resources in DynamoDB

Installation

pip install cloudwanderer

Usage

Start a local dynamodb

$  docker run -p 8000:8000 amazon/dynamodb-local

Open up python and import and initialise CloudWanderer

>>> import logging
>>> from cloudwanderer import CloudWanderer
>>> from cloudwanderer.storage_connectors import DynamoDbConnector
>>> storage_connector = DynamoDbConnector(
...     endpoint_url='http://localhost:8000'
... )
>>> wanderer = CloudWanderer(storage_connectors=[storage_connector])
>>> logging.basicConfig(level='INFO')
>>> storage_connector.init()

Get all the resources from your AWS account and save them to your local dynamodb.

>>> wanderer.write_resources()

Get a list of VPCs back.

>>> vpcs = storage_connector.read_resources(service='ec2', resource_type='vpc')
>>> first_vpc = next(vpcs)
>>> first_vpc.urn
URN(cloud_name='aws', account_id='123456789012', region='eu-west-2', service='ec2', resource_type='vpc', resource_id_parts=['vpc-11111111'])

Load the full details of the resource.

>>> first_vpc.load()
>>> first_vpc.cidr_block
'172.31.0.0/16'
>>> first_vpc.instance_tenancy
'default'
>>> first_vpc.is_default
True