From 029fb1d4ed4dcd56bf35178b5f9a67d7470db846 Mon Sep 17 00:00:00 2001 From: sanjay-rb Date: Tue, 17 Mar 2026 20:54:56 +0000 Subject: [PATCH] AWS CDK Python Setup Instructions --- docs/README.instructions.md | 1 + .../aws-cdk-python-setup.instructions.md | 137 ++++++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 instructions/aws-cdk-python-setup.instructions.md diff --git a/docs/README.instructions.md b/docs/README.instructions.md index b9eb2941a..dab198e1d 100644 --- a/docs/README.instructions.md +++ b/docs/README.instructions.md @@ -31,6 +31,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-instructions) for guidelines on | [ASP.NET REST API Development](../instructions/aspnet-rest-apis.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Faspnet-rest-apis.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Faspnet-rest-apis.instructions.md) | Guidelines for building REST APIs with ASP.NET | | [Astro Development Instructions](../instructions/astro.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fastro.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fastro.instructions.md) | Astro development standards and best practices for content-driven websites | | [AWS AppSync Event API Instructions](../instructions/aws-appsync.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Faws-appsync.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Faws-appsync.instructions.md) | Production-grade guidance for AWS AppSync Event API handlers using APPSYNC_JS runtime restrictions, utilities, modules, and datasource patterns | +| [AWS CDK Python Setup Instructions](../instructions/aws-cdk-python-setup.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Faws-cdk-python-setup.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Faws-cdk-python-setup.instructions.md) | Setup instructions for AWS CDK Python projects | | [Azure DevOps Pipeline YAML Best Practices](../instructions/azure-devops-pipelines.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-devops-pipelines.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-devops-pipelines.instructions.md) | Best practices for Azure DevOps Pipeline YAML files | | [Azure Functions Typescript](../instructions/azure-functions-typescript.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-functions-typescript.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-functions-typescript.instructions.md) | TypeScript patterns for Azure Functions | | [Azure Logic Apps and Power Automate Instructions](../instructions/azure-logic-apps-power-automate.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-logic-apps-power-automate.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Fazure-logic-apps-power-automate.instructions.md) | Guidelines for developing Azure Logic Apps and Power Automate workflows with best practices for Workflow Definition Language (WDL), integration patterns, and enterprise automation | diff --git a/instructions/aws-cdk-python-setup.instructions.md b/instructions/aws-cdk-python-setup.instructions.md new file mode 100644 index 000000000..fa4b9868d --- /dev/null +++ b/instructions/aws-cdk-python-setup.instructions.md @@ -0,0 +1,137 @@ +--- +description: 'Setup instructions for AWS CDK Python projects' +applyTo: '**/*.py' +--- + +# AWS CDK Python Setup Instructions + +This instructions file provides guidance for setting up and working with AWS CDK (Cloud Development Kit) projects using Python. These instructions apply to Python files in CDK projects. + +## Prerequisites + +Before starting with AWS CDK Python development, ensure you have the following installed: + +- **Node.js** (version 14.15.0 or later) - Required for the AWS CDK CLI +- **Python** (version 3.7 or later) +- **AWS CLI** - For configuring AWS credentials and managing AWS resources +- **Git** - For version control + +## Installation Steps + +### 1. Install AWS CDK CLI + +The AWS CDK CLI is a Node.js package that provides the `cdk` command. + +```bash +npm install -g aws-cdk +``` + +Verify the installation: + +```bash +cdk --version +``` + +### 2. Configure AWS Credentials + +Install and configure the AWS CLI: + +```bash +# Install AWS CLI (if not already installed) +# On macOS, you can use Homebrew: +brew install awscli + +# Configure AWS credentials +aws configure +``` + +Enter your AWS Access Key ID, Secret Access Key, default region, and output format when prompted. + +### 3. Create a New CDK Project + +Create a new directory for your CDK project and initialize it: + +```bash +mkdir my-cdk-project +cd my-cdk-project +cdk init app --language python +``` + +This creates a basic CDK app structure with: +- `app.py` - Main application entry point +- `my_cdk_project/` - Python package containing your CDK stacks +- `requirements.txt` - Python dependencies +- `cdk.json` - CDK configuration + +### 4. Set Up Python Virtual Environment + +CDK Python projects include a virtual environment. Activate it: + +```bash +# On macOS/Linux +source .venv/bin/activate + +# On Windows +.venv\Scripts\activate +``` + +### 5. Install Python Dependencies + +Install the required Python packages: + +```bash +pip install -r requirements.txt +``` + +The main dependencies include: +- `aws-cdk-lib` - Core CDK constructs +- `constructs` - Base construct library + +## Development Workflow + +### Synthesize CloudFormation Templates + +Generate CloudFormation templates from your CDK code: + +```bash +cdk synth +``` + +This creates `cdk.out/` directory with synthesized templates. + +### Deploy to AWS + +Deploy your CDK stacks to AWS: + +```bash +cdk deploy +``` + +Review the changes and confirm deployment when prompted. + +### Bootstrap (First Time Only) + +If deploying to a new AWS account/region, bootstrap the environment: + +```bash +cdk bootstrap +``` + +This sets up necessary resources like S3 buckets for storing assets. + +## Best Practices + +- Always activate the virtual environment before working +- Use `cdk diff` to preview changes before deployment +- Test deployments in development accounts first +- Use AWS CDK constructs for infrastructure as code +- Follow Python naming conventions and structure + +## Troubleshooting + +- Ensure AWS credentials are properly configured +- Check that the correct AWS region is set +- Verify Node.js and Python versions meet requirements +- Use `cdk doctor` to diagnose common issues + +For detailed documentation, refer to the official AWS CDK documentation and the attached `awscdk.pdf` file.