Terraform is an open-source infrastructure as code software tool created by HashiCorp. It allows infrastructure to be expressed as code in a simple, human readable language called HCL (HashiCorp Configuration Language). The Terraform CLI automatically reads configuration files and provides an execution plan of changes, which can be reviewed for safety and then applied and provisioned.
Write Declarative Config Files
Define infrastructure as code to manage the full lifecycle — create new resources, manage existing ones, and destroy those no longer needed.
Automatically download and install community or partner modules from the registry with
Plan & Predict Changes
Terraform allows operators to safely and predictably make changes to infrastructure, with clearly mapped resource dependencies and separation of plan and apply.
terraform plan, refresh state, and more, with Terraform config dependency graphing.
Map real world resources to your configuration, keep track of metadata, and improve performance for large infrastructures.
Provision Infrastructure in Familiar Languages
CDK for Terraform (experimental) allows you to define infrastructure code in TypeScript, Python, Java, C#, and Go, using the 1000+ existing Terraform providers and HCL Terraform modules.
Terraform Registry (1000+ Providers)
Choose from an array of providers for your cloud platforms and services, add them to your configuration, then use their resources to provision infrastructure.