» Terraform Documentation

Welcome to the Terraform documentation!

There are a lot of things a user of Terraform might need to know about. To help you manage this information, we've divided the Terraform docs into several sections.

You can navigate the docs via this index page, or you can jump from section to section using the "Other Docs" area of the navigation sidebar, available in most areas of this site.

» Introduction to Terraform ➜

A broad overview of what Terraform is and why people use it.

» Terraform CLI ➜

Documentation for Terraform's core functionality, including:

...and much more.

» Learn Terraform ➜ (external site)

Interactive guides to teach you how to use Terraform's features. Begin with the Getting Started guide, then continue with task-specific advanced guides or go directly to the Terraform CLI docs.

» Guides and Whitepapers ➜

Detailed descriptions of various Terraform workflows, both general and specific. This includes things like:

This section is devoted to overviews and explanations of complex systems; the goal isn't to teach you how to accomplish a particular task (like the guides at Learn Terraform), but to explain best practices and show how the different pieces of a workflow fit together.

» Terraform Glossary ➜

Definitions (and helpful links) for technical terms used throughout Terraform's documentation, help text, and UI. Visit the glossary whenever you get lost.

» Terraform Enterprise ➜

Documentation for Terraform Enterprise.

Terraform Enterprise is a supplementary paid product that makes it easier for teams to manage infrastructure together. It provides a way to share access to sensitive data, a consistent and reliable environment for Terraform runs, access controls for approving changes to infrastructure, a private registry for sharing Terraform modules, detailed policy controls for governing the contents of Terraform configurations, and more.

» Terraform Registry ➜

Documentation about the Terraform Registry, a web service for distributing Terraform modules. Includes information about publishing, finding, and using modules.

» Terraform GitHub Actions ➜

Documentation about the Terraform GitHub Actions. GitHub Actions is GitHub's service for running commands in reaction to events in a Git repository, and HashiCorp publishes several actions for validating repositories that contain Terraform configurations.

» Extending Terraform ➜

Documentation about developing Terraform providers, with extensive information about Terraform's internals.

Terraform relies on provider plugins to manage infrastructure resources across a wide variety of infrastructure services. Anyone can make and distribute a Terraform provider for their own service.