Credentials Valid Until Expired
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.
Timeline
The Terraform Associate 002 certification was available from July 2019 until May 2023.
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 0.15 and higher
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 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 plugin-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 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 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 TFE workspaces |
9c |
Summarize features of Terraform Cloud |