Terraform Professional study materials
Terraform Professional study resources

Terraform Professional study guide

Terraform Professional · Work through your exam, one topic at a time.

Terraform Professional is HashiCorp's advanced certification for practitioners who already write Terraform fluently and now need to prove they can run it at scale. It sits above the Associate level and assumes comfort with HCL, the CLI workflow, and core provider concepts. The Terraform Professional study guide has 6 sections and about 1,946 words.

01

Authoring and Refactoring Configuration: Expressions, Functions, Dynamic Blocks, Validation, and Lifecycle

Most questions test whether you can predict the value or the plan diff an expression produces, not whether you can write HCL from scratch. Be fluent with for expressions (list and map forms), splats, conditionals, and the safety functions try and can .

332 words, about 2 min
02

Managing State, Backends, and State Operations

State maps configuration addresses to real objects and stores attribute values, including secrets in plaintext. Candidates must know the CLI surface: terraform state list , show , mv , rm , pull , push , replace-provider , plus -refresh=false , -target , and -replace on plan and apply.

319 words, about 2 min
03

Designing, Publishing, and Consuming Reusable Modules

A module is an interface: input variables, outputs, and a provider contract. Every module should declare required providers (with configuration aliases for multi-region patterns) and required version , and should never contain a backend block or a provider block - those belong to the root module.

347 words, about 2 min
04

Collaborating with HCP Terraform and Terraform Enterprise

HCP Terraform organizes everything under an organization, then projects, then workspaces. A workspace owns state, variables, and run history and can be VCS-driven (runs triggered by commits and pull requests), CLI-driven via the cloud block, or API-driven.

312 words, about 2 min
05

Providers, Dependency Locking, and Version Constraints

Each provider is addressed as [<hostname /]<namespace /<type inside required providers , which is also the only place version constraints belong - not in the provider block. Terraform intersects constraints across the whole configuration and selects the newest version that satisfies all of them.

318 words, about 2 min
06

Securing and Testing Configurations: Sensitive Data, Policy as Code, and Native Testing

sensitive = true on a variable or output only redacts CLI display. Any expression referencing a sensitive value becomes sensitive itself, and sensitive values are still written to state in plaintext, so encrypt the backend and restrict who can read state.

318 words, about 2 min