CloudySetup is a CLI tool designed to streamline AWS resource management using AWS Cloud Control API. It leverages Amazon Bedrock fully managed service with Anthropic - Claude V2 Gen AI model to create, read, update, list, and delete AWS resources by generating configurations compatible with AWS Cloud Control API.
🔴 👀 Please pause a moment here to see the entire execution of the cloudysky-cli.
- Generate
AWS resource configurationsusinggenerative AIand providesAI generated suggestionsto improve the resource configuration. - Apply generated configurations to
create,update, anddeleteresources and intent on each resources is determined through Generative AI. Monitor resourcecreation status.- Display suggestions for configuration improvements.
- Store
configurations and stateinformation locally.
- Python 3.11+
- Virtual Environment (optional but recommended)
Cloudysetup-cliuses the AWS configured credentials or can use short-lived session credentials through AWS profiles. Ensure that your AWS credentials are set up correctly before using the tool.aws configure
-
Clone the Repository
git clone https://github.com/mostlycloudysky/cloudysetup.git
-
Create a Virtual Environment
python -m venv myenv source myenv/bin/activate # On Windows use `myenv\Scripts\activate`
- Navigate to the
cloudysetupdirectorycd cloudysetup - Install dependancies
pip install -r requirements.txt
- Run the
FastAPIserveruvicorn main:app --reload
The server will start on http://localhost:8000.
You could also use the managed FastAPI Service deployed in ECS fronted by Route53.
- Set the
BASE_URLenvironment variableexport BASE_URL=https://cloudysetup.cloudysky.link - Verify the
backend serviceis running by accessingcurl $BASE_URL/docs
Also, please find the API Specification for the managed Fast API Service
Alternatively, you could manage your own backend service by deploying the Fast API as per your need. Here is the source for to deploy to ECS Fargate using Terraform.
-
Install dependancies and
cloudysetup-clifrom the root of the projectpip install -e . -
To generate a resource configuration, use the
generatecommandcloudysetup-cli generate "Create an SNS topic with topic name as cloudysky with an email subscription to cloudysky@gmail.com address" -
To apply a generated configuration, use the
applycommandcloudysetup-cli apply /path/to/generated_config.json --monitor
-
cloudysetup-clihas following commands and can be found using the--helpcommandcloudysetup-cli --help
Note: This project is intended for development environment usage only. It should not be used in production environments.
Contributions are welcome! Please open an issue or submit a pull request on GitHub.

