» 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 ➜
Visitors who are curious about Terraform can start here.
A broad overview of what Terraform is and why people use it.
» Terraform CLI ➜
Intermediate and advanced users spend most of their time here.
Documentation for Terraform's core functionality, including:
- Terraform's configuration language
- The
terraform
binary and its subcommands - The main Terraform providers
...and much more.
» Learn Terraform ➜ (external site)
New users can start here.
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 ➜
Intermediate users can go here for a deeper understanding of what's possible with Terraform.
Detailed descriptions of various Terraform workflows, both general and specific. This includes things like:
- The end-to-end loop of making infrastructure changes with Terraform
- The long-term process of evolving provisioning practices in a large organization
- Tasks for upgrading to major new Terraform versions
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 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 ➜
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 ➜
If you need to create a new Terraform provider (for a public cloud service or a purely internal service), go here.
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.