• Overview
    • Enforce Policy as Code
    • Infrastructure as Code
    • Inject Secrets into Terraform
    • Integrate with Existing Workflows
    • Manage Kubernetes
    • Manage Virtual Machine Images
    • Multi-Cloud Deployment
    • Network Infrastructure Automation
    • Terraform CLI
    • Terraform Cloud
    • Terraform Enterprise
  • Registry
  • Tutorials
    • About the Docs
    • Intro to Terraform
    • Configuration Language
    • Terraform CLI
    • Terraform Cloud
    • Terraform Enterprise
    • Provider Use
    • Plugin Development
    • Registry Publishing
    • Integration Program
    • Terraform Tools
    • CDK for Terraform
    • Glossary
  • Community
GitHubTerraform Cloud
Download
  • Intro to Terraform
  • Configuration Language
  • Terraform CLI
  • Terraform Cloud
  • Terraform Enterprise
  • Provider Use
  • Plugin Development
  • Registry Publishing
  • Integration Program
  • Terraform Tools
  • CDK for Terraform
  • Glossary
Type '/' to Search

»Terraform Documentation

Terraform is an infrastructure as code (IaC) tool that allows you to build, change, and version infrastructure safely and efficiently. This includes both low-level components like compute instances, storage, and networking, as well as high-level components like DNS entries and SaaS features.

»Get Started

  • Learn how Terraform solves infrastructure challenges and how it compares to other tools and services.
  • Install Terraform and explore use cases with the hands-on tutorials on HashiCorp Learn.

»Manage Infrastructure

  • Describe infrastructure on various providers with Terraform's configuration language.
  • Use the Terraform CLI to manage configuration, plugins, infrastructure, and state.
  • Use CDK for Terraform to write and deploy Terraform configurations in your preferred programming language.

»Collaborate

  • Terraform Cloud helps teams use Terraform together, with version control, state sharing, governance, and more.
  • Terraform Enterprise is a self-hosted instance of Terraform Cloud.

»Develop and Share

  • Create a provider to allow Terraform to interact with a service.
  • Create reusable configurations with modules.
  • Publish a provider or module to the Terraform Registry to make it publicly available.
github logoEdit this page
  • Overview
  • Docs
  • Extend
  • Privacy
  • Security
  • Press Kit
  • Consent Manager