You will be able to use either version of the Terraform Associate certification to verify your basic infrastructure automation skills.
The Terraform Associate certification is for Cloud Engineers specializing in operations, IT, or development who know the basic concepts and skills associated with Terraform open source. This includes understanding which enterprise features exist and what can and cannot be done using the open source offering. You should have professional experience using Terraform in production, but performing the exam objectives in a personal demo environment may be sufficient.
Assessment Type | Multiple choice |
Format | Online proctored |
Duration | 1 hour |
Price | $70.50 USD, plus locally applicable taxes and fees. Free retake not included. |
Language | English |
Expiration | 2 years |
1 | Understand Infrastructure as Code (IaC) concepts |
1a | Explain what IaC is |
1b | Describe advantages of IaC patterns |
2 | Understand Terraform's purpose (vs other IaC) |
2a | Explain multi-cloud and provider-agnostic benefits |
2b | Explain the benefits of state |
3 | Understand Terraform basics |
3a | Handle Terraform and provider installation and versioning |
3b | Describe plug-in based architecture |
3c | Demonstrate using multiple providers |
3d | Describe how Terraform finds and fetches providers |
3e | Explain when to use and not use provisioners and when to use local-exec or remote-exec |
4 | Use the Terraform CLI (outside of core workflow) |
4a | Given a scenario: choose when to use terraform fmt to format code |
4b | Given a scenario: choose when to use terraform taint to taint Terraform resources |
4c | Given a scenario: choose when to use terraform import to import existing infrastructure into your Terraform state |
4d | Given a scenario: choose when to use terraform workspace to create workspaces |
4e | Given a scenario: choose when to use terraform state to view Terraform state |
4f | Given a scenario: choose when to enable verbose logging and what the outcome/value is |
5 | Interact with Terraform modules |
5a | Contrast module source options |
5b | Interact with module inputs and outputs |
5c | Describe variable scope within modules/child modules |
5d | Discover modules from the public Terraform Module Registry |
5e | Defining module version |
6 | Navigate Terraform workflow |
6a | Describe Terraform workflow ( Write -> Plan -> Create ) |
6b | Initialize a Terraform working directory (terraform init ) |
6c | Validate a Terraform configuration (terraform validate ) |
6d | Generate and review an execution plan for Terraform (terraform plan ) |
6e | Execute changes to infrastructure with Terraform (terraform apply ) |
6f | Destroy Terraform managed infrastructure (terraform destroy ) |
7 | Implement and maintain state |
7a | Describe default local backend |
7b | Outline state locking |
7c | Handle backend authentication methods |
7d | Describe remote state storage mechanisms and supported standard backends |
7e | Describe effect of Terraform refresh on state |
7f | Describe backend block in configuration and best practices for partial configurations |
7g | Understand secret management in state files |
8 | Read, generate, and modify configuration |
8a | Demonstrate use of variables and outputs |
8b | Describe secure secret injection best practice |
8c | Understand the use of collection and structural types |
8d | Create and differentiate resource and data configuration |
8e | Use resource addressing and resource parameters to connect resources together |
8f | Use Terraform built-in functions to write configuration |
8g | Configure resource using a dynamic block |
8h | Describe built-in dependency management (order of execution based) |
9 | Understand Terraform Cloud and Enterprise capabilities |
9a | Describe the benefits of Sentinel, registry, and workspaces |
9b | Differentiate OSS and Terraform Cloud workspaces |
9c | Summarize features of Terraform Cloud |
Visit the Exam-taker Handbook to learn about the requirements and policies for taking exams.
Starting in March 2023, the Terraform Associate 003 will begin to replace the Terraform Associate 002 certification. The objective differences between the exam versions focus on reorganization and rewording of objectives to cover recent and future Terraform product growth.
The Terraform Associate 002 certification is still relevant and will be accepted as a validation of Terraform knowledge until each individual badge’s expiration date. Receiving a Terraform Associate 003 certification will not impact any existing Terraform Associate 002 credentials, and a single candidate can hold both at the same time. However, either certification alone can be used to validate Terraform knowledge at the associate level.
Content Differences Between Exams
We've updated the Terraform Associate 003 exam to account for how Terraform has grown, and to accommodate future growth. The changes are primarily a reorganization and rewording of the 002 exam objectives. More significant changes are listed below.
# | Objective Description | Status in Terraform Associate 003 |
---|---|---|
3e | Removed | |
4 | Use Terraform outside of core workflow | terraform taint removed, other topics reorganized |
6b | Initialize a Terraform working directory (terraform init ) | Includes questions about terraform.lock.hcl |
7 | Implement and maintain state | Cloud integration authentication, and cloud backends added |
8a | Demonstrate use of variables and outputs | Covers sensitive variables and outputs' relationship to exposure on the CLI |
8g | dynamic block | Use cases for dynamic block are still tested in objective 8 |
9 | Understand Terraform Cloud capabilities | Restructured to accommodate the current and future state of Terraform Cloud |
Assessment Type | Multiple choice |
Format | Online proctored |
Duration | 1 hour |
Price | $70.50 USD, plus locally applicable taxes and fees. Free retake not included. |
Language | English |
Expiration | 2 years |
1 | Understand Infrastructure as Code (IaC) concepts |
1a | Explain what IaC is |
1b | Describe advantages of IaC patterns |
2 | Understand the purpose of Terraform (vs other IaC) |
2a | Explain multi-cloud and provider-agnostic benefits |
2b | Explain the benefits of state |
3 | Understand Terraform basics |
3a | Install and version Terraform providers |
3b | Describe plugin-based architecture |
3c | Write Terraform configuration using multiple providers |
3d | Describe how Terraform finds and fetches providers |
4 | Use Terraform outside the core workflow |
4a | Describe when to use terraform import to import existing infrastructure into your Terraform state |
4b | Use terraform state to view Terraform state |
4c | Describe when to enable verbose logging and what the outcome/value is |
5 | Interact with Terraform modules |
5a | Contrast and use different module source options including the public Terraform Module Registry |
5b | Interact with module inputs and outputs |
5c | Describe variable scope within modules/child modules |
5d | Set module version |
6 | Use the core Terraform workflow |
6a | Describe Terraform workflow ( Write -> Plan -> Create ) |
6b | Initialize a Terraform working directory (terraform init ) |
6c | Validate a Terraform configuration (terraform validate ) |
6d | Generate and review an execution plan for Terraform (terraform plan ) |
6e | Execute changes to infrastructure with Terraform (terraform apply ) |
6f | Destroy Terraform managed infrastructure (terraform destroy ) |
6g | Apply formatting and style adjustments to a configuration (terraform fmt ) |
7 | Implement and maintain state |
7a | Describe default local backend |
7b | Describe state locking |
7c | Handle backend and cloud integration authentication methods |
7d | Differentiate remote state back end options |
7e | Manage resource drift and Terraform state |
7f | Describe backend block and cloud integration in configuration |
7g | Understand secret management in state files |
8 | Read, generate, and modify configuration |
8a | Demonstrate use of variables and outputs |
8b | Describe secure secret injection best practice |
8c | Understand the use of collection and structural types |
8d | Create and differentiate resource and data configuration |
8e | Use resource addressing and resource parameters to connect resources together |
8f | Use HCL and Terraform functions to write configuration |
8g | Describe built-in dependency management (order of execution based) |
9 | Understand Terraform Cloud capabilities |
9a | Explain how Terraform Cloud helps to manage infrastructure |
9b | Describe how Terraform Cloud enables collaboration and governance |
Visit the Exam-taker Handbook to learn about the requirements and policies for taking exams.
Sign up to be notified with updates to the HashiCorp Product Certifications program and to receive news and information about HashiCorp products.