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
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!