HashiCorp Certified Terraform Associate - Exam Blueprint?

6 minute read

Exam Blueprint

Welcome to this lesson on the exam blueprint of the HashiCorp Certified Terraform Associate exam. In this lesson, we’ll be going through a few things.

First, we will be going through what to expect from the actual exam. Then we’ll do a quick walkthrough of all the main objectives which will be tested on, and finally we’ll be discussing the types of questions that you can expect in the exam.

So, lets get cracking..

  • The exam is 1 hour in duration.
  • It will have anyway between 50 to 60 questions. You will be tested on Terraform 0.12 and higher. (So, if you have worked with versions earlier than version 12, just know that there has been drastic changes in the syntax and some logic since then.)
  • The exam will be online proctored.

The whole process of Certification is quit hands-off. You will need to register using HashiCorp’s official website. From where you will be redirected to the exam portal, and you will also need to make sure that your system meets the requirements for the attempt of the exam.

The certification has an expiration of 2 years from the day that you pass the exam.

Objective of the exam

So, now onto a quick walk through of the exam objectives, which will be tested on in the exam.

SNO Objective Details
1 Understanding Infrastructure as Code Concepts
- Explain what IaC is
- Describe advantages of IaC
2 Understand Terraform’s Purpose (vs. Other IaC)
- Know what Terraform state is
- Know Terraform’s multi-cloud benefits
3 Understand Terraform Basics
- Install Terraform
- Use Terraform providers
- Use Terraform provisioners
4 Use Terraform CLI (Outside of Core Workflow)
- How to debug Terraform
- Terraform fmt, state, taint, import, and workspaces
5 Interact with Terraform Modules
- Differentiate module sources
- Module inputs and outputs and module versioning.
- Variable scope within root/child modules, public registry
6 Navigate Terraform Workflow
- Local & Remote State storage, State locking
- Terraform backend block and Terraform refresh effects
- Backend auth and secret management in state files
7 Implement and Maintain State
- Describe Terraform Workflow.
- Initialize Terraform working dir (terraform init)
- Terraform validate, plan, apply, destroy
8 Read, generate, and modify configuration
- Terraform Variables and Outputs
- Create and contrast resource and data blocks
- Resource Addressing, Built-in functions & Dynamic Blocks
9 Understand Terraform Cloud and Enterprise Capabilities
- Describe benefits of Sentinel, registry and workspace
- Differentiate Terraform OSS adn Enterprise workspaces
- Summarize features of Terraform Cloud offering
  • In objective number 1, you’ll be tested on understanding the Infrastructure as Code concepts. Here HashiCorp expects you to able to expain what infrastrucutre as code, or IaC is, its benefits, and its advantages.

  • In the 2nd objective, you need to understand the Infrastructure as Code from the perspective of Terraform, what makes it different from the other IaC tools and explain the benefits of some of the functionality and features that Terraform offers.

  • In the 3rd objective, you’ll be tested on understanding the building blocks of Terraform, what it uses under the hood, how it works to deploy infrastructure, and Terraform’s various building blocks.

  • The 4th objective will take you deeper, techanically as we will not only be diving into learning Terraform CLI commands, but learn what scenarious to use those commands in, keeping best practices in mind.

  • The 5th objective, you will be tested on the modularization capabilities of Terraform. For example, how can you create configuration of code, which is reusable so that you do not have to keep rewriting code. You will be tested on module inputs and outputs as well as their versioning. You’ll also need to know about scope of variables when used within root or child modules and the Terraform public module registry.

  • The 6th objective, will test you on navigating and being comfortable with the Terraform workflow. Things like local and remote backend storage for Terraform state files, state locking, the Terraform refresh, backend authentication, and managing sensitive data and state files.

  • The 7th objective, you will need to know how Terraform state is implemented and used. You’ll need to be well-versed with the Terraform workflow, how Terraform configuration directories are initialized and the usage of Terraform sub commands, Terraform validation, plan, apply, and destroy.

  • The 8th objective, will test you on the actual coding aspect of Terraform, and you’ll need to know about using variables and outputs in Terraform. You also need to know the difference between the resource and data blocks in Terraform, and when to use them. And finally, how resource addressing works in Terraform and how you can reference different Terraform resources within the same Terraform code. You’ll also need to know about built-in functions and dynamic blocks.

  • The 9th objective, will test you mainly on the Terraform cloud and enterprise offerings, on things such as knowing about Sentinel. Which is a policy enforcement framework by HashiCorp, which can be used in conjunction with Terraform. You also need to know the difference between functionality of the workspace feature between Terraform free offering, versus the same feature in its enterprise offering. You’ll need to understand the main feature offered by Terraform managed cloud offering as well.

So that was the Terraform exam blueprint.

Type of questions can be expected

Now let’s look at the type of questions that you can expect in the exam.

  • True/False: We’ve got the basic true and false questions, where you’ll be given a statement and you will need to determine if it’s correct or not by choosing a true or false scenario. So for example, you’ve got a question where you’re given 2 choices and you either have to select True or False as given below.

    Username and passwords referenced in the Terraform code, even as variables, will end up in plain test in the state file.

    Correct   - True
    Incorrect - False
    
  • Multiple Choice: We have the classic multiple choice questions where you will ve provided a scenario, a statement, or a snippet of code, and you will need to choose the single best answer out of all the provided options. And this is what it will look like.

    Consider the following Terraform 0.12 configuration snippet.

    variable "vpc_cidrs" {
      type = map
      default = {
        us-east-1 = "10.0.0.0/16"
        us-east-2 = "10.1.0.0/16"
        us-west-1 = "10.2.0.0/16"
        us-west-2 = "10.3.0.0/16"
      }
    }
    
    resource "aws_vpc" "shared"{
      cidr_block = _____________
    }
    

    How would you definde the cidr_block for us-east-1 in the aws_vpc resource using a variable?

    Correct   - var.vpc_cidrs["us-east-1"]
    Incorrect - var.vpc_cidrs[0]
    Incorrect - vpc_cidrs["us-east-1"]
    Incorrect - var.vpc_cidrs.0
    

    So, you’ve got a question, there’s a snippet of Terraform code, and you will be asked to choose the best possible answer.

  • Multiple Choice - Multiple Answer: Which will expect you to choose more than one options when answering and here is an example of it.

    You have defined the values for your variables in the file terraform.tfvars, and saved it in the same directory as your Terraform configuration. Which of the following commands will use those values when creating an execution plan?

    Question snipet…

    So you have a question and you’ve got 5 options in there and you have to choose the correct 2 options from the 5 provided.

  • Text match questions: You’ll also be seeing text match questions, which are fill in the blank questions, basically. You will be given a statement. You will be given a statement with blank text boxes where you can type your answer. For these types of questions you’ll not be given any choices, but don’t worry, HashiCorp has ensured that for such questions, variations of the correct answer that demonstrate your understanding of the concept will also be accepted.

HashiCorp on their official certification website, do mention other type of questions which may appear, but they do not specify what those other types of questions could be. However, in my recent attempt of the certification,

I did not see any question type outside of what we have mentioned here.

All the exam questions that you’ve seen here are available on the HashiCorp official Terraform certification website. The link for which is given here.

https://learn.hashicorp.com/tutorials/terraform/associate-questions

Thank you for going through this lesson!

Updated: