Navigate:
All Reposaws-cdk
~$AWSCDK0.0%

AWS CDK: Define cloud infrastructure in code

Programming language abstractions that synthesize into CloudFormation templates.

LIVE RANKINGS • 06:51 AM • STEADY
OVERALL
#262
30
CLOUD & DEVOPS
#18
1
30 DAY RANKING TREND
ovr#262
·Cloud#18
STARS
12.6K
FORKS
4.4K
DOWNLOADS
2.1M
7D STARS
+1
7D FORKS
+7
See Repo:
Share:

Learn more about aws-cdk

AWS CDK is an infrastructure-as-code framework that allows developers to define cloud resources using general-purpose programming languages rather than declarative configuration formats. The framework provides high-level constructs and abstractions that map to AWS services, which are then synthesized into CloudFormation templates during a compilation phase. These constructs are organized in a hierarchical tree structure where resources are defined as objects with properties and methods, enabling logic, loops, and conditionals within infrastructure definitions. The framework supports TypeScript, Python, Java, C#, and Go, allowing teams to use familiar language tooling, type checking, and IDE features when building cloud infrastructure. This approach trades the simplicity of pure declarative templates for the expressiveness and reusability benefits of imperative programming constructs.

aws-cdk

1

Multi-language support

Supports TypeScript, Python, Java, .NET, and Go, allowing teams to write infrastructure code in their existing programming languages. Language versions are supported until their vendor-defined end-of-life.

2

Construct-based composition

Infrastructure is built from reusable components called constructs that encapsulate AWS best practices and can be shared across projects. The AWS Construct Library provides pre-built constructs for AWS services, with stability designations indicating API compatibility guarantees.

3

CloudFormation synthesis

The CLI synthesizes CDK applications into AWS CloudFormation templates, enabling standard deployment workflows and infrastructure diffing to preview changes before deployment.


import { App, Stack } from 'aws-cdk-lib';
import { Bucket, BlockPublicAccess } from 'aws-cdk-lib/aws-s3';

const app = new App();
const stack = new Stack(app, 'MyStack');

const bucket = new Bucket(stack, 'MyBucket', {
  versioned: true,
  blockPublicAccess: BlockPublicAccess.BLOCK_ALL
});

app.synth();

vv2.223.0

Breaking changes remove four L1 properties from DynamoDB GlobalTable/Table and Events EventBusPolicy to align with CloudFormation schemas.

  • Remove references to GlobalTableSettingsReplicationMode and GlobalTableSourceArn in DynamoDB L1 constructs before upgrading.
  • Stop relying on the Id attribute of AWS::Events::EventBusPolicy; CloudFormation no longer exposes it.
vv2.222.0

Breaking change in bedrock-agentcore requires switching from string IDs to IUserPool/IUserPoolClient constructs in RuntimeAuthorizerConfiguration.usingCognito().

  • Update bedrock-agentcore calls to pass IUserPool and IUserPoolClient constructs instead of string parameters for Cognito authorization.
  • Enable Java 25 and Python 3.14 Lambda runtimes; opt into NLB security groups via feature flag elasticloadbalancingv2/nlbSecurityGroups.
vv2.221.1

Patch release fixing a Go compilation failure introduced in prior versions.

  • Upgrade if using Go bindings; resolves compilation errors reported in #35770 and #35862.
  • No breaking changes or new requirements; safe drop-in replacement for v2.221.0.

See how people are using aws-cdk

Loading tweets...


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers