# vedantgonbare/aws-python-project architecture

> Architecture diagram of the GitHub repository vedantgonbare/aws-python-project, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/vedantgonbare/aws-python-project
- Repository: https://github.com/vedantgonbare/aws-python-project

## Overview

This repository is a set of Python command-line scripts for AWS infrastructure automation. The main workflow in `scripts/full_automation.py` creates an S3 bucket, uploads and tags a file, then discovers an AMI and launches an EC2 instance. Separate scripts provision EC2 or S3 independently, clean up configured resources, or terminate all instances. The graph reflects documented capabilities and sampled script behavior; no shared orchestration layer is evident.

Main entry points: [`scripts/full_automation.py`](https://github.com/vedantgonbare/aws-python-project/blob/main/scripts/full_automation.py) (Full automation), [`scripts/create_ec2_instance.py`](https://github.com/vedantgonbare/aws-python-project/blob/main/scripts/create_ec2_instance.py) (Create EC2), [`scripts/cleanup_aws_resources.py`](https://github.com/vedantgonbare/aws-python-project/blob/main/scripts/cleanup_aws_resources.py) (Resource cleanup), [`scripts/create_s3_bucket.py`](https://github.com/vedantgonbare/aws-python-project/blob/main/scripts/create_s3_bucket.py) (Create S3)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_provision["Provisioning"]
  node_automation["Full automation<br/>[full_automation.py]"]
  node_ec2_create["Create EC2"]
  node_s3_create["Create S3"]
end

subgraph group_cleanup["Cleanup"]
  node_cleanup_script["Resource cleanup"]
  node_terminate_script["Terminate all"]
end

node_user(("Operator"))
node_sample_file["Upload file<br/>[test.txt]"]
node_ec2["AWS EC2"]
node_s3["AWS S3"]

node_user -->|"runs"| node_automation
node_automation -->|"creates bucket"| node_s3
node_automation -->|"reads file"| node_sample_file
node_automation -->|"uploads and tags"| node_s3
node_automation -->|"discovers AMI"| node_ec2
node_automation -->|"launches instance"| node_ec2
node_user -->|"runs"| node_ec2_create
node_ec2_create -->|"discovers AMI"| node_ec2
node_ec2_create -->|"launches instance"| node_ec2
node_user -->|"runs"| node_s3_create
node_s3_create -->|"creates bucket"| node_s3
node_user -->|"runs"| node_cleanup_script
node_cleanup_script -->|"terminates instance"| node_ec2
node_cleanup_script -->|"empties and deletes"| node_s3
node_user -->|"runs"| node_terminate_script
node_terminate_script -->|"lists and terminates"| node_ec2

click node_automation "https://github.com/vedantgonbare/aws-python-project/blob/main/scripts/full_automation.py"
click node_ec2_create "https://github.com/vedantgonbare/aws-python-project/blob/main/scripts/create_ec2_instance.py"
click node_s3_create "https://github.com/vedantgonbare/aws-python-project/blob/main/scripts/create_s3_bucket.py"
click node_cleanup_script "https://github.com/vedantgonbare/aws-python-project/blob/main/scripts/cleanup_aws_resources.py"
click node_terminate_script "https://github.com/vedantgonbare/aws-python-project/blob/main/scripts/terminate_all_instances.py"
click node_sample_file "https://github.com/vedantgonbare/aws-python-project/blob/main/test.txt"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_automation,node_ec2_create,node_s3_create toneBlue
class node_cleanup_script,node_terminate_script toneAmber
class node_user,node_ec2,node_s3 toneIndigo
class node_sample_file toneTeal
```

## Components

### Provisioning

- [Full automation](https://github.com/vedantgonbare/aws-python-project/blob/main/scripts/full_automation.py): `scripts/full_automation.py`
- [Create EC2](https://github.com/vedantgonbare/aws-python-project/blob/main/scripts/create_ec2_instance.py): `scripts/create_ec2_instance.py`
- [Create S3](https://github.com/vedantgonbare/aws-python-project/blob/main/scripts/create_s3_bucket.py): `scripts/create_s3_bucket.py`

### Cleanup

- [Resource cleanup](https://github.com/vedantgonbare/aws-python-project/blob/main/scripts/cleanup_aws_resources.py): `scripts/cleanup_aws_resources.py`
- [Terminate all](https://github.com/vedantgonbare/aws-python-project/blob/main/scripts/terminate_all_instances.py): `scripts/terminate_all_instances.py`

### Other components

- **Operator**
- [Upload file](https://github.com/vedantgonbare/aws-python-project/blob/main/test.txt): `test.txt`
- **AWS EC2**
- **AWS S3**

## Connections

- Operator → Full automation: runs
- Full automation → AWS S3: creates bucket
- Full automation → Upload file: reads file
- Full automation → AWS S3: uploads and tags
- Full automation → AWS EC2: discovers AMI
- Full automation → AWS EC2: launches instance
- Operator → Create EC2: runs
- Create EC2 → AWS EC2: discovers AMI
- Create EC2 → AWS EC2: launches instance
- Operator → Create S3: runs
- Create S3 → AWS S3: creates bucket
- Operator → Resource cleanup: runs
- Resource cleanup → AWS EC2: terminates instance
- Resource cleanup → AWS S3: empties and deletes
- Operator → Terminate all: runs
- Terminate all → AWS EC2: lists and terminates
