» Terraform Documentation

Welcome to the Terraform documentation!

We've divided the Terraform docs into several sections to make it easier to find things. Navigate using this index page, or jump from section to section in the "Other Docs" section of the navigation sidebar.

» 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 tutorials to teach you how to use Terraform's features. Begin with the Get Started collection, then continue with task-specific tutorials 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 tutorials 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 Cloud ➜

Documentation for Terraform Cloud.

Terraform Cloud is an application that helps teams use Terraform together. It manages Terraform runs in a consistent and reliable environment, and includes easy access to shared state and secret data, 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 Cloud offers free accounts for small teams, and paid plans with additional feature sets for medium-sized businesses.

» Terraform Enterprise ➜

Documentation for Terraform Enterprise.

Terraform Enterprise is an on-premise distribution of Terraform Cloud. It offers enterprises a private instance of the Terraform Cloud application, with no resource limits and with additional enterprise-grade architectural features like audit logging and SAML single sign-on.

» 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 ➜

Tutorials about using Terraform with GitHub Actions. GitHub Actions is GitHub's service for running commands in reaction to events in a Git repository, and HashiCorp publishes a helper action for running Terraform commands against 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.