The popularity of HashiCorp Terraform has really taken off in the last couple of years. Terraform has become an extremely popular tool for writing declarative Infrastructure as Code (IaC) used to deploy and manage cloud infrastructure across one or even multiple cloud providers. With this growing popularity, HashiCorp is recognizing the need for enterprises to be able to hire qualified candidates when it comes to using Terraform. They have done this by introducing the HashiCorp Certified Terraform Associate certification!
Let’s dig into the exam objectives and requirements so you can learn and prove your Terraform skills with the great certification!
This article discusses the current exam objectives for the HashiCorp Certified: Terraform Associate (002) exam that is available through April 2023. Starting on March 21, 2023, the new HashiCorp Certified: Terraform Associate (003) exam and objectives will be available.
Table of Contents
Certification Target Audience
The HashiCorp Certified: Terraform Associate certification is targeted towards Cloud Engineers who use HashiCorp Terraform in their job duties of operations, IT, or development. It’s best that certification candidates have professional experience using Terraform in production. Candidates should also understand how Terraform concepts apply to enterprise scenarios; including what features exist and how they can be used in enterprise infrastructure as code (IaC) deployment scenarios using Terraform.
The HashiCorp Certified: Terraform Associate certification is targeted towards Cloud Engineers who use HashiCorp Terraform in their job duties of operations, IT, or development.
Certification Prerequisites
The HashiCorp Certified: Terraform Associate certification does not have any prerequisite certifications or exams to pass first. You can start with the Terraform Associate certification, but you’ll want to keep in mind the following items that you should be familiar with first:
- Basic terminal skills
- Basic understanding of on-premises and cloud architecture
Exam Details
The HashiCorp Certified: Terraform Associate certification is earned by passing a single, multiple choice exam. It is also an online proctored exam, so you can take it from the comfort of your own environment without needing to go any where in-person.
Here are some additional exam details published by HashiCorp:
- Assessment Type: Multiple choice
- Format: Online proctored
- Duration: 1 hour
- Language: English
- Expiration: 2 years
The Terraform Associate certification does expire after 2 years, so you will need to renew it after that time to stay current. Given the pace of update and change for Terraform (as with any thing else in the Cloud world) this expiration duration for the certification is fitting. Plus, it’s directly inline with the expiration of certifications from other vendors as well.
Study Resources
As with most technologies, there are plenty of resources when it comes to learning these technologies. In addition to the resources available here on Build5Nines; HashiCorp even has their own study guide website you can use to help study, as well as review guide to help those with existing Terraform experience.
But, don’t forget to check out the great Terraform content here on Build5Nines too:
- Get Started with Terraform on Azure
- Terraform: Overview of Azure Providers and Tools
- Terraform Modules: Create Reusable Infrastructure as Code
- Use Terraform Input Variables to Parameterize Infrastructure Deployments
- Terraform Feature Flags & Environment Toggle Design Patterns
- Terraform: If/Else Conditional Resource and Module Deployment
- Terraform: Deploy to Multiple Azure Subscriptions in Single Project
- Terraform: Create Azure IoT Hub and Device Provisioning Service (DPS)
Exam Objectives
Here’s the list of exam objectives for the HashiCorp Certified: Terraform Associate certification exam, along with some links to useful resources for learning about the topics:
- Understand Infrastructure as Code (IaC) concepts
- Explain what IaC is
- Describe advantages of IaC patterns
- Understand Terraform’s purpose (vs other IaC)
- Explain multi-cloud and provider-agnostic benefits
- Explain the benefits of state
- Understand Terraform basics
- Handle Terraform and provider installation and versioning
- Describe plugin based architecture
- Demonstrate using multiple partners
- Describe how Terraform finds and fetches providers
- Explain when to use and not use provisioners and when to use
local-exec
orremote-exec
- Use the Terraform CLI (outside of core workflow)
- Given a scenario choose when to use
terraform fmt
to format code - Given a scenario choose when to use
terraform taint
to taint Terraform resources - Given a scenario choose when to use
terraform import
to import existing infrastructure into your Terraform state - Given a scenario choose when to use
terraform workspace
to create workspaces - Given a scenario choose when to use
terraform state
to view Terraform state - Given a scenario choose when to enable verbose logging and what the outcome / value is
- Given a scenario choose when to use
- Interact with Terraform modules
- Contract module source options
- Interact with modules inputs and outputs
- Describe variable scope within modules / child modules
- Discover modules from the public Terraform Module Registry
- Defining module version
- Navigate Terraform workflow
- Describe Terraform workflow (Write -> Plan -> Create)
- Initialize a Terraform working directory (
terraform init
) - Validate a Terraform configuration (
terraform validate
) - Generate and review an execution plan for Terraform (
terraform plan
) - Execute changes to infrastructure with Terraform (
terraform apply
) - Destroy Terraform managed infrastructure (
terraform destroy
)
- Implement and maintain state
- Describe default
local
backend - Outline state locking
- Handle backend authentication methods
- Describe remote state storage mechanisms and supported standard backends
- Describe effect of Terraform refresh on state
- Describe
backend
block in configuration and best practices for partial configurations - Understand secret management in state files
- Describe default
- Read, generate, and modify configuration
- Demonstrate use of variables and outputs
- Describe secure secret injection best practice
- Understand the use of collection and structural types
- Create and differentiate
resource
anddata
configuration - Use resource addressing and resource parameters to connect resources together
- Use Terraform built-in functions to write configuration
- Configure resource using a
dynamic
block - Describe built-in dependency management (order of execution based)
- Understand Terraform Cloud and Enterprise capabilities
- Describe the benefits of Sentinel, registry, and workspaces
- Differentiate OSS and TFE workspaces
- Summarize features of Terraform Cloud
More Information: For the official list of exam objectives for the Terraform Associate certification, please visit HashiCorp’s official certification site.
Happy studying!