- Infrastructure Lifecycle Management
- Security Lifecycle Management
| [ Web Proxy ] |
| Viewing: https://developer.hashicorp.com/terraform/cdktf | [Back] [Original] |
Cloud Development Kit for Terraform (CDKTF) lets you use familiar programming languages to define and provision infrastructure.
Deprecation announcement
The Cloud Development Kit for Terraform is deprecated as of December 10, 2025. HashiCorp no longer supports or maintains the Cloud Development Kit for Terraform.
Cloud Development Kit for Terraform (CDKTF) allows you to use familiar programming languages to define and provision infrastructure. This gives you access to the entire Terraform ecosystem without learning HashiCorp Configuration Language (HCL) and lets you leverage the power of your existing toolchain for testing, dependency management, etc.
We support TypeScript, Python, Java, C#, and Go.
CDK for Terraform leverages concepts and libraries from the AWS Cloud Development Kit to translate your code into infrastructure configuration files for Terraform.
At a high level, you will:
cdktf CLI commands to provision infrastructure with Terraform or synthesize your code into a JSON configuration file that others can use with Terraform directly.You can use every Terraform provider and module available on the Terraform Registry, and you can use CDKTF with HCP Terraform, Terraform Enterprise, and HashiCorp's policy as code framework, Sentinel.
CDKTF offers many benefits, but it is not the right choice for every project. You should consider using CDKTF when:
You can make this choice for each team and project because CDK for Terraform interoperates with existing Terraform providers and modules.
Consider which of the supported languages you are most familiar with and which language best fits your organization's current tooling. We work towards providing feature parity and a good user experience across all supported languages, but there may be instances when new experimental features will not be available for all languages.
If you plan to create and package your own constructs, we recommend choosing TypeScript. Using TypeScript allows you to use the cdktf constructs package generator to build and publish your constructs in multiple languages.
| Web Proxy Viewer | New URL | Original Page |