This CLI tool allows you to manage AWS resources: EC2 instances, S3 buckets, and Route 53 DNS records. It provides an easy way to create, list, and manage these resources directly from the command line.
- Python 3.x
- AWS credentials configured with
aws configure
- Necessary permissions for EC2, S3, and Route53 resources.
Clone the repository and install any required packages:
git clone (https://github.com/galkamay/Platform-Engineering.git)
pip install -r requirements.txt
python main.py --resource ec2 --action create --ami <ami-id> --instance-type <instance-type> --name <instance-name> [--public-ip]
python main.py --resource ec2 --action list
python main.py --resource ec2 --action manage --instance-id <instance-id> --action <start|stop|terminate>
python main.py --resource s3 --action create --bucket-name <bucket-name> [--public]
python main.py --resource s3 --action upload --bucket-name <bucket-name> --file-path <file-path>
python main.py --resource s3 --action list
python main.py --resource s3 --action delete-file --bucket-name <bucket-name> --file-name <file-name>
python main.py --resource s3 --action delete --bucket-name <bucket-name>
python main.py --resource route53 --action create --domain <domain-name>
python main.py --resource route53 --action add-record --zone-id <zone-id> --record-name <record-name> --record-value <record-value>
python main.py --resource route53 --action update-record --zone-id <zone-id> --record-name <record-name> --record-value <record-value>
python main.py --resource route53 --action delete-record --zone-id <zone-id> --record-name <record-name> --record-value <record-value>
This project relies on the following dependencies:
boto3
: AWS SDK for Pythonargparse
: Argument parsing for the command-line interface
- Ensure you have appropriate permissions in AWS for the CLI commands to execute successfully.
- Handle sensitive AWS information (like
instance_id
,zone_id
) securely.
This project is licensed under the MIT License.