{"id":20502047,"url":"https://github.com/praveenkumar109/awsinfrastructureviewgenerator","last_synced_at":"2026-04-17T22:31:11.855Z","repository":{"id":262582157,"uuid":"887691358","full_name":"PraveenKumar109/AWSInfrastructureViewGenerator","owner":"PraveenKumar109","description":"The Infrastructure View Generator is a Python-based tool that helps you audit, documentation and visualize your AWS infrastructure. Using Boto3, it retrieves details on various AWS resources such as VPCs, subnets, EC2 instances, security groups, load balancers, and S3 buckets. This is useful for AWS environment documentation and auditing.","archived":false,"fork":false,"pushed_at":"2024-11-13T07:31:14.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T19:59:03.539Z","etag":null,"topics":["aws","boto3","infrastructure-view"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PraveenKumar109.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-13T05:42:11.000Z","updated_at":"2024-11-13T07:31:17.000Z","dependencies_parsed_at":"2024-11-14T13:36:07.764Z","dependency_job_id":null,"html_url":"https://github.com/PraveenKumar109/AWSInfrastructureViewGenerator","commit_stats":null,"previous_names":["praveenkumar-autopilot/awsinfrastructureviewgenerator","praveenkumar109/awsinfrastructureviewgenerator"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PraveenKumar109%2FAWSInfrastructureViewGenerator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PraveenKumar109%2FAWSInfrastructureViewGenerator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PraveenKumar109%2FAWSInfrastructureViewGenerator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PraveenKumar109%2FAWSInfrastructureViewGenerator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PraveenKumar109","download_url":"https://codeload.github.com/PraveenKumar109/AWSInfrastructureViewGenerator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242097419,"owners_count":20071252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","boto3","infrastructure-view"],"created_at":"2024-11-15T19:19:11.653Z","updated_at":"2026-04-17T22:31:11.817Z","avatar_url":"https://github.com/PraveenKumar109.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Infrastructure View Generator\n\nThe Infrastructure View Generator is a Python-based tool that helps you audit, documentation and visualize your AWS infrastructure. Using Boto3, it retrieves details on various AWS resources such as VPCs, subnets, EC2 instances, security groups, load balancers, and S3 buckets. This is useful for AWS environment documentation and auditing.\n\n## Features\n\nThe tool provides detailed information about the following AWS resources:\n- **VPCs**: Lists VPC IDs, names, CIDR blocks, default status, and states.\n- **Regions and Availability Zones**: Shows available AWS regions and availability zones.\n- **Subnets**: Details subnets within VPCs, including CIDR blocks and available IPs.\n- **EC2 Instances**: Provides instance details including type, architecture, attached EBS volumes, and security groups.\n- **Security Groups**: Displays inbound and outbound rules for security groups.\n- **Load Balancers**: Details for load balancers, including types, DNS names, security groups, and associated target groups.\n- **Target Groups and Instances**: Health check status for instances within target groups.\n- **EBS Volumes**: Information about volume types, sizes, and attachment details.\n- **S3 Buckets**: Lists all S3 buckets in the environment.\n\n## Prerequisites\n\n- Python 3.x\n- AWS credentials configured with appropriate permissions to describe infrastructure components\n- Boto3 library (`pip install boto3`)\n\n## Installation\n\n1. Clone this repository:\n   ```bash\n   git clone https://github.com/your-username/infrastructure-view-generator.git\n   cd infrastructure-view-generator\n   ```\n2. **Install Dependencies**:\n   ```bash\n   pip install boto3\n   ```\n\n## Usage\n\n1. **Configure AWS CLI Profile**:\n   Ensure you have an AWS CLI profile with the necessary permissions to describe infrastructure resources:\n   ```bash\n   aws configure --profile your-environment-name\n   ```\n\n2. **Set the Environment Name in the Script**:\n   Open `main.py` and set your environment name:\n   ```python\n   environment = 'your-environment-name'\n   ```\n\n3. **Run the Script**:\n   Execute the script to output AWS infrastructure details:\n   ```bash\n   python main.py\n   ```\n\n### Example Output\n\nThe tool prints infrastructure details in a structured format, grouped by resource type.\n\n**VPC List**\n```\n## VPC List\nEnvironment, VpcId, VpcName, CidrBlock, IsDefault, State\nmy-profile, vpc-123abc, MyVPC, 10.0.0.0/16, False, available\n```\n\n**Subnets Details**\n```\n## Subnets Details\nEnvironment, VpcName, AvailabilityZone, SubnetName, CidrBlock, AvailableIpAddressCount, State\nmy-profile, MyVPC, us-east-1a, MySubnet, 10.0.1.0/24, 251, available\n```\n\n**EC2 Instances**\n```\n## EC2 Instances\nEnvironment, RegionName, VpcName, AvailabilityZone, SubnetName, ImageId, InstanceId, InstanceType, MonitoringState, Platform, Architecture, EbsOptimized, cpuCores, cpuThreadsPerCore, RootDeviceType, RootDeviceName\nmy-profile, us-east-1, MyVPC, us-east-1a, MySubnet, ami-123456, i-12345abc, t2.micro, disabled, Linux/UNIX, x86_64, True, 2, 1, ebs, /dev/sda1\n```\n\n### Customization\n\nYou can modify the script to include additional resource details or remove specific sections:\n\n1. **Add/Remove AWS Resources**: \n   - Edit methods within the `InfrastructureViewGenerator` class in `main.py` to customize resource outputs. For example, to exclude S3 details, comment out or remove the `Print_S3_Details` method.\n   \n2. **Formatting and Output**:\n   - Customize print statements to match your preferred output format or redirect outputs to a file for structured documentation.\n\n### Code Overview\n\nThe script contains several methods in the `InfrastructureViewGenerator` class:\n- `Print_VPC_Details(session)`: Retrieves and prints details of all VPCs.\n- `Print_Availability_Zones_Details(session)`: Lists availability zones.\n- `Print_Subnets_Details(session)`: Displays subnet details within each VPC.\n- `Print_EC2_Instance_Details(session)`: Provides instance information.\n- `Print_EBS_Details(session)`: Prints details about EBS volumes.\n- `Print_S3_Details(session)`: Lists S3 buckets.\n- And additional methods for security groups, load balancers, and target groups.\n\n### Sample Run\n\nHere's how to initiate a sample run for an AWS environment profile:\n```python\n# Example usage\nif __name__ == \"__main__\":\n    environment = 'your-environment-name'\n    generator = InfrastructureViewGenerator()\n    generator.PrintInfra(environment)\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpraveenkumar109%2Fawsinfrastructureviewgenerator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpraveenkumar109%2Fawsinfrastructureviewgenerator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpraveenkumar109%2Fawsinfrastructureviewgenerator/lists"}