Product Certification Exam Prep

Terraform Associate Certification Exam Review

About the Certification Exam

The Terraform Associate certification is for operations, IT, or DevOps professionals who know the basic concepts and skills associated with open-source HashiCorp Terraform. Qualified candidates may not have used Terraform in production but have performed the tasks listed in the objectives in at least a personal demo environment. This person understands what enterprise features exist and what can and cannot be done using the open-source offering.

Prerequisites

  • Basic terminal skills
  • Basic understanding of on-premises and cloud architecture

To learn more about the exam, visit the HashiCorp Product Certifications page.

Review Guide

Here is a direct mapping of each HashiCorp Certified: Terraform Associate exam objective to where it is covered in HashiCorp's documentation and training. This provides experienced exam candidates a place to review just the objectives they need extra help with before taking the exam.

1Understand Infrastructure as Code (IaC) conceptsDocumentationGuide
1aExplain what IaC isInfrastructure as CodeIntroduction to Infrastructure as Code with Terraform
1bDescribe advantages of IaC patternsInfrastructure as code videoIntroduction to Infrastructure as Code with Terraform
2Understand Terraform's purpose (vs other IaC)DocumentationGuide
2aExplain multi-cloud and provider-agnostic benefitsMulti-Cloud Deployment
2bExplain the benefits of statePurpose of Terraform StateIntroduction to Infrastructure as Code with Terraform
3Understand Terraform basicsDocumentationGuide
3aHandle Terraform and provider installation and versioningProviders

Terraform Settings
Installing Terraform

Build Infrastructure– Providers
3bDescribe plug-in based architectureBuild Infrastructure– Initialization
3cDemonstrate using multiple providersBuild Infrastructure– Providers
3dDescribe how Terraform finds and fetches providersProvidersBuild Infrastructure– Providers
3eExplain when to use and not use provisioners and when to use local-exec or remote-execProvisioners are a Last ResortProvision
4Use the Terraform CLI (outside of core workflow)DocumentationGuide
4aGiven a scenario: choose when to use terraform fmt to format codeCommand: fmt
4bGiven a scenario: choose when to use terraform taint to taint Terraform resourcesCommand: taintFailed Provisioners
and Tainted Resources
4cGiven a scenario: choose when to use terraform import to import existing infrastructure into your Terraform stateCommand: import
4dGiven a scenario: choose when to use terraform workspace to create workspacesWorkspaces
4eGiven a scenario: choose when to use terraform state to view Terraform stateState Command
4fGiven a scenario: choose when to enable verbose logging and what the outcome/value isDebugging Terraform
5Interact with Terraform modulesDocumentationGuide
5aContrast module source optionsFinding and Using ModulesModules
5bInteract with module inputs and outputsModules
5cDescribe variable scope within modules/child modulesInput Variables

Calling a Child Module
5dDiscover modules from the public Terraform Module RegistryFinding and Using ModulesModules
5eDefining module versionModule Versions
6Navigate Terraform workflowDocumentationGuide
6aDescribe Terraform workflow ( Write -> Plan -> Create )The Core Terraform WorkflowBuild Infrastructure
6bInitialize a Terraform working directory (terraform init)Command: initBuild Infrastructure– Initialization
6cValidate a Terraform configuration (terraform validate)Command: validate
6dGenerate and review an execution plan for Terraform (terraform plan)Command: plan
6eExecute changes to infrastructure with Terraform (terraform apply)Command: applyBuild Infrastructure– Apply Changes
6fDestroy Terraform managed infrastructure (terraform destroy)Command: destroyDestroy Infrastructure
7Implement and maintain stateDocumentationGuide
7aDescribe default local backendBackends

Local
7bOutline state lockingState Locking
7cHandle backend authentication methodsBackend Types
7dDescribe remote state storage mechanisms and supported standard backendsBackend TypesRemote State Storage
7eDescribe effect of Terraform refresh on stateCommand: refresh
7fDescribe backend block in configuration and best practices for partial configurationsBackend ConfigurationRemote State Storage
7gUnderstand secret management in state filesSensitive Data in State
8Read, generate, and modify configurationDocumentationGuide
8aDemonstrate use of variables and outputsInput Variables

Output Variables
8bDescribe secure secret injection best practiceVault Provider for Terraform
8cUnderstand the use of collection and structural typesComplex Types
8dCreate and differentiate resource and data configurationResources

Data Sources
8eUse resource addressing and resource parameters to connect resources togetherResource Addressing

References to Named Values
8fUse Terraform built-in functions to write configurationBuilt-in Functions
8gConfigure resource using a dynamic blockDynamic Blocks
8hDescribe built-in dependency management (order of execution based)Resource Dependencies
9Understand Terraform Enterprise capabilitiesDocumentationResource
9aDescribe the benefits of Sentinel, registry, and workspacesSentinel

Module Registry

Workspaces
Sentinel

Module Registry

Workspaces
9bDifferentiate OSS and TFE workspacesCLI Workspaces

Enterprise/Cloud Workspaces
9cSummarize features of Terraform CloudTerraform CloudCompare Packages