HashiCorp’s Infrastructure Automation certification program has two levels: Work up to the advanced Terraform Authoring and Operations Professional Certification by starting with the foundational Terraform Associate certification. The Associate certification validates your knowledge of basic concepts and skills associated with Terraform. Then, continue your certification journey with the Professional hands-on, lab-based exam to validate your years of Terraform production experience.
The Terraform Associate certification is for Cloud Engineers specializing in operations, IT, or development who know the basic concepts and skills associated with Terraform. You understand what Terraform Enterprise features exist and can differentiate between Terraform Enterprise and Community Edition. You will be best prepared for this exam if you have professional experience using Terraform in production, but performing the exam objectives in a personal demo environment may be sufficient.
Assessment Type | Multiple choice |
Format | Online proctored |
Duration | 1 hour |
Price | $70.50 USD, plus locally applicable taxes and fees. Free retake not included. |
Language | English |
Expiration | 2 years |
1 | Understand Infrastructure as Code (IaC) concepts |
1a | Explain what IaC is |
1b | Describe advantages of IaC patterns |
2 | Understand the purpose of Terraform (vs other IaC) |
2a | Explain multi-cloud and provider-agnostic benefits |
2b | Explain the benefits of state |
3 | Understand Terraform basics |
3a | Install and version Terraform providers |
3b | Describe plugin-based architecture |
3c | Write Terraform configuration using multiple providers |
3d | Describe how Terraform finds and fetches providers |
4 | Use Terraform outside the core workflow |
4a | Describe when to use terraform import to import existing infrastructure into your Terraform state |
4b | Use terraform state to view Terraform state |
4c | Describe when to enable verbose logging and what the outcome/value is |
5 | Interact with Terraform modules |
5a | Contrast and use different module source options including the public Terraform Module Registry |
5b | Interact with module inputs and outputs |
5c | Describe variable scope within modules/child modules |
5d | Set module version |
6 | Use the core Terraform workflow |
6a | Describe Terraform workflow ( Write -> Plan -> Create ) |
6b | Initialize a Terraform working directory (terraform init ) |
6c | Validate a Terraform configuration (terraform validate ) |
6d | Generate and review an execution plan for Terraform (terraform plan ) |
6e | Execute changes to infrastructure with Terraform (terraform apply ) |
6f | Destroy Terraform managed infrastructure (terraform destroy ) |
6g | Apply formatting and style adjustments to a configuration (terraform fmt ) |
7 | Implement and maintain state |
7a | Describe default local backend |
7b | Describe state locking |
7c | Handle backend and cloud integration authentication methods |
7d | Differentiate remote state back end options |
7e | Manage resource drift and Terraform state |
7f | Describe backend block and cloud integration in configuration |
7g | Understand secret management in state files |
8 | Read, generate, and modify configuration |
8a | Demonstrate use of variables and outputs |
8b | Describe secure secret injection best practice |
8c | Understand the use of collection and structural types |
8d | Create and differentiate resource and data configuration |
8e | Use resource addressing and resource parameters to connect resources together |
8f | Use HCL and Terraform functions to write configuration |
8g | Describe built-in dependency management (order of execution based) |
9 | Understand HCP Terraform capabilities |
9a | Explain how HCP Terraform helps to manage infrastructure |
9b | Describe how HCP Terraform enables collaboration and governance |
Review the rules and policies for taking HashiCorp certification exams.
Unexpired Terraform Associate 002 or 003 credentials:
When you pass the Terraform Authoring and Operations Professional exam, you will receive the professional-level credentials (badge and corresponding certificate). You will also extend the expiration of your Terraform Associate 002 or 003 credentials.
Unexpired Terraform Associate 002 credential:
Unexpired Terraform Associate 003 credential:
Learn more about recertification in our Knowledgebase.
We updated the Terraform Associate 003 exam to account for how Terraform has grown, and to accommodate future growth. The changes are primarily a reorganization and rewording of the 002 exam objectives. More significant changes are listed below.
# | Objective Description | Status in Terraform Associate 003 |
---|---|---|
3e | Explain when to use and not use provisioners and when to use local-exec or remote-exec | REMOVED |
4 | Use Terraform outside of core workflow | terraform taint removed, other topics reorganized |
6b | Initialize a Terraform working directory (terraform init ) | Includes questions about terraform.lock.hcl |
7 | Implement and maintain state | Cloud integration authentication, and cloud backends added |
8a | Demonstrate use of variables and outputs | Covers sensitive variables and outputs' relationship to exposure on the CLI |
8g | dynamic block | Use cases for dynamic block are still tested in objective 8 |
9 | Understand HCP Terraform capabilities | Restructured to accommodate the current and future state of HCP Terraform |
The Terraform Authoring and Operations Professional exam is a lab-based exam for Cloud Engineers focused on developing Terraform configuration and using it to manage infrastructure over time. You are well-qualified to take this exam if you hold the Terraform Associate Certification (or equivalent knowledge), have extensive production experience with Terraform Community Edition, Terraform Enterprise, or HCP Terraform, develop modules and organization standards to enable other users, and use Terraform to manage your own infrastructure resources, as well as enable others with varying levels of Terraform expertise to use Terraform effectively.
This exam assesses both advanced configuration authoring and a deep understanding of Terraform workflows. Earning this credential reflects that the practitioner has professional-level expertise in both domains. We strongly recommend that you pass the associate-level Terraform exam before taking the professional-level exam. The professional-level exam is intended for practitioners who have extensive experience with Terraform in a production environment, and understand the concepts covered in the associate exam.
Assessment Type | Lab-based and multiple choice |
Format | Online proctored |
Duration | 4 hours; 15-min break included |
Price | $295 USD, plus locally applicable taxes and fees. Includes free retake. |
Language | English |
Expiration | 2 years |
Cloud Provider | AWS |
1 | Manage resource lifecycle |
1a | Initialize a configuration using terraform init and its options |
1b | Generate an execution plan using terraform plan and its options |
1c | Apply configuration changes using terraform apply and its options |
1d | Destroy resources using terraform destroy and its options |
1e | Manage resource state, including importing resources and reconciling resource drift |
2 | Develop and troubleshoot dynamic configuration |
2a | Use language features to validate configuration |
2b | Query providers using data sources |
2c | Compute and interpolate data using HCL functions |
2d | Use meta-arguments in configuration |
2e | Configure input variables and outputs, including complex types |
2f | Analyze best practices for managing sensitive data, such as using Vault for secrets management |
3 | Develop collaborative Terraform workflows |
3a | Manage the Terraform binary, providers, and modules using version constraints |
3b | Configure remote state |
3c | Use the Terraform workflow in automation |
3d | Share data across configurations and workspaces |
4 | Create, maintain, and use Terraform modules |
4a | Create a module |
4b | Use a module in configuration |
4c | Refactor a module and use module versioning |
4d | Refactor an existing configuration into modules |
5 | Configure and use Terraform providers |
5a | Understand Terraform's plugin-based architecture |
5b | Configure providers, including aliasing, versioning, sourcing, and managing upgrades |
5c | Manage provider authentication |
5d | Troubleshoot provider errors |
6 | Collaborate on infrastructure as code using HCP Terraform |
6a | Analyze the HCP Terraform run workflow |
6b | Understand HCP Terraform workspaces and their configuration options, including access management |
6c | Manage provider credentials in HCP Terraform |
6d | Analyze policy as code and governance features |
This performance-based exam contains labs that must be completed in a virtual environment along with a shorter multiple-choice section. During the lab scenarios, you will be tested on performing real-world Terraform tasks using the command line, cloud providers' (AWS) UI, and text editors. You will have access to Terraform documentation, AWS cloud provider documentation, and limited Registry access.
Review the requirements and policies for taking exams.
To renew your certification, you will need to take and pass the Terraform Authoring & Operations Professional exam again.
If you hold an unexpired Terraform Professional certification: You can take the exam again starting 18 months after your previous exam date. When you pass the exam, the expiration date on your credentials will be extended.
If you hold an expired Terraform Professional certification: You are eligible to recertify at any time. When you pass the exam again, you will receive a new, separate set of credentials with a new expiration date.
Sign up to be notified with updates to the HashiCorp Product Certifications program and to receive news and information about HashiCorp products.