Passing the HashiCorp Certified Terraform Associate Exam

Last weekend I passed the Hashicorp Certified Terraform Associate exam.  The exam is part of HashiCorp’s Cloud Engineer Certification program, which includes Terraform, Vault and Consul certifications.  The exam is comprised of approximately 50-60 questions and is proctored online with a one-hour time limit to complete the exam. 

Exam Objectives

Listed below are the exam objectives for the Terraform Associate exam.

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 providers
  • Describe how Terraform finds and fetches providers
  • Explain when to use and not use provisioners and when to use local-exec or remote-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

Interact with Terraform modules

  • Contrast module source options
  • Interact with module inputs and outputs
  • Describe variable scope within modules/child
  • Discover modules from the public Terraform Module Registry modules
  • 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

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 and data 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

Study Resources

Here are some recommended resources for learning Terraform.

Documentation

HashiCorp Official Study Guide

Video Courses

Pluralsight Terraform Getting Started Course

Pluralsight Terraform Deep Dive Course

Cloudskills Terraform on Azure Course

Skylines Academy Terraform on Azure Course

Books

HashiCorp Terraform Certified Associate Preparation Guide

Practice Exams

Udemy Practice Exams

The Exam

The exam is a combination of true/false, multiple choice, and multi-select questions. There are no ‘hands on’ or practical tasks. The exam is pass/fail type requiring a certain number of questions to be answered correctly to pass. Exam results will be provided immediately after taking the exam.

Summary

Multi-cloud is the future and Terraform provides a cloud agnostic Infrastructure as Code tool allowing Cloud Engineers and Developers to provision and manage multiple cloud environments using one technology.

If you’re planning on taking the exam, good luck!

Thank you for reading!