- Understand the CDKTF development workflow using TypeScript.
- Be able to scaffold and structure CDKTF projects with reusable constructs.
- Deploy AWS resources (IAM, Lambda, API Gateway) using CDKTF.
- Migrate an existing Terraform project into CDKTF.
If you’re new to TypeScript or Terrafrom, start with the Modules 1–3 sequence: Course Introduction → TypeScript fundamentals → CDKTF basics. These build the foundation before moving into AWS-specific deployments.
Course Overview
Below is a concise map of the course modules and what you’ll learn in each.- Module 1 — Course Introduction: We’ll introduce core IaC concepts and demonstrate the differences between manual ClickOps and automated workflows. You’ll see short demos of manual setup followed by Terraform and CDKTF automation.
- Module 2 — TypeScript: Fundamentals and idiomatic TypeScript patterns you’ll use in CDKTF. We’ll cover type annotations, interfaces, classes, modules, and how to structure your code for reusability.
- Module 3 — CDKTF: Hands-on configuration of a CDKTF project, authoring constructs, synthesizing Terraform configuration, and applying changes. Best practices for structuring larger CDKTF codebases will be covered.
- Module 4 — AWS with CDKTF: We’ll connect to AWS, configure providers, and deploy common resources such as IAM roles, Lambda functions, and API Gateway endpoints. This module includes a practical lab where you deploy a Lambda function with the required IAM role and policy.


- Module 5 — Course Conclusion: A final review of key concepts, recommended next steps for learning, and guidance on converting an existing Terraform HCL project to CDKTF.

Deploying cloud resources can incur AWS charges. Use the provided lab accounts or the free tier when possible and remember to destroy resources after use (
cdktf destroy or the AWS console).Quick TypeScript Example (used early in the course)
This simple example demonstrates importing a utility function and running it with ts-node. It’s the same pattern you’ll use when breaking up CDKTF projects into modules. File: import-example.tsExample shell commands you’ll see in labs
These are representative commands used to show working directories and run local tasks:Additional Resources and References
- Official CDK for Terraform docs: https://developer.hashicorp.com/terraform/cdktf
- Terraform docs: https://www.terraform.io/docs
- TypeScript Handbook: https://www.typescriptlang.org/docs/handbook/intro.html
- AWS Documentation: https://docs.aws.amazon.com/