Exam Availability Dates
- Today: Terraform Associate 002 certification is available to schedule
- 21 March: Terraform Associate 003 becomes available to schedule. Both versions will be available
- 21 April: Last day to schedule or reschedule an appointment to take the Terraform Associate 002 exam
- Scheduling subject to appointment availability until May 5th
Which Exam to Take
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.
If you have passed the Terraform Associate wait until the new version comes out to recertify. We have extended all current badge expirations dates so you have time to wait for the new exam.
If you have never passed the Terraform Associate exam the choice is up to you and your timeline.
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 |
Explain when to use and not use provisioners and when to use local-exec or remote-exec |
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 |
Configure resource using a 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 |
Prerequisites
- Basic terminal skills
- Basic understanding of on premises and cloud architecture
Product Version Tested
Terraform 1.0 and higher.
Preparing for the Exam
The Terraform Associate 002 exam has both a study guide and a review guide. While much of the information in these two guides are the same, they are presented differently for different uses. Use the study guide if you want to study all the exam objectives. Use the review guide if you already have Terraform experience and/or training and want to pick and choose which objectives to review before taking the exam. There are also sample questions available so you can get a feel for what the exam will be like.
Exam Details
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 |
Exam Objectives
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 of 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 |