TF-004 Understand Terraform's purpose Practice Question
A team is using Terraform to manage multiple environments (dev, staging, prod) with the same configuration but different variable values. They want to avoid duplicating configuration files. Which Terraform feature is best suited for this?
⚠ Common exam trap
HashiCorp often tests the misconception that Terraform modules (Option A) are the primary tool for environment separation, but modules are for code reuse, not state isolation—workspaces handle state separation without duplicating configuration.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Terraform workspaces
Terraform workspaces allow you to manage multiple environments (e.g., dev, staging, prod) using the same root configuration and variable definitions, but with separate state files. This avoids duplicating configuration files while enabling environment-specific variable values via `terraform.workspace` interpolation or separate `.tfvars` files per workspace. Option D is correct because workspaces are the native Terraform feature designed for this exact use case.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Terraform modules with separate directories for each environment
Why it's wrong here
While Terraform modules promote reusability, creating entirely separate directories, each containing a distinct root module configuration for every environment, leads to significant code duplication. This approach necessitates maintaining identical infrastructure code across multiple locations, increasing the risk of configuration drift and making updates or bug fixes cumbersome and error-prone. It defeats the purpose of centralizing infrastructure definition for consistent deployment.
- ✗
Terraform data sources to fetch environment-specific variables
Why it's wrong here
Terraform data sources are designed to read information about existing infrastructure or external data, making it available within your configuration. While they can dynamically fetch environment-specific variables, such as AMI IDs or database endpoints, they do not provide a mechanism for isolating or managing distinct infrastructure states for multiple environments from a single configuration. Data sources are for consumption, not for the creation and lifecycle management of separate environments.
- ✗
Using multiple Terraform configuration files in a single directory
Why it's wrong here
Placing multiple, distinct Terraform configuration files intended for different environments within a single directory will not achieve environment separation. Terraform processes all `.tf` files in the current working directory as a single, unified configuration, generating a single state file and plan. This approach would lead to resource name collisions, conflicting variable definitions, and an inability to independently manage or deploy each environment.
- ✓
Terraform workspaces
Why this is correct
Terraform workspaces provide a robust mechanism for managing multiple distinct infrastructure environments using a single, consistent Terraform configuration. Each workspace maintains its own isolated state file, allowing for independent deployments and modifications without affecting other environments. This approach significantly reduces configuration duplication, simplifies environment management, and ensures consistency across development, staging, and production deployments.
Go deeper
Related to this question
About these practice questions
This TF-004 question is part of Courseiva's 428-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This TF-004 practice question is part of Courseiva's free HashiCorp certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the TF-004 exam.