TF-004 · domain
Understand IaC concepts
This domain covers Infrastructure as Code fundamentals as they appear on the Terraform Associate exam: idempotency, declarative versus imperative provisioning, version-controlled configuration, and reusing code across environments with variables, modules, and workspaces. Questions are scenario-based, asking you to pick the concept or Terraform workflow that best solves a stated operational problem.
Focused practice
Practice Understand IaC concepts questions
Scored sessions drawing only from this domain — pick a length below.
Start 20-question practice test →What this domain covers
What to know about Understand IaC concepts
Be able to explain idempotency, declarative configuration, and reproducibility, and to choose the right Terraform pattern for sharing code across environments. The most important thing: Terraform reconciles configuration with state, so the same configuration applied repeatedly yields the same infrastructure.
Idempotency: repeated terraform apply runs converge to the same declared result without unintended drift
Declarative configuration versus imperative scripts, and how terraform plan detects differences from state
Reusing one configuration across dev, staging, and prod using input variables, modules, and workspaces
Version control and immutable, reproducible infrastructure replacing manual SSH provisioning and configuration edits
Watch out for
Common Understand IaC concepts exam traps
- ▸Confusing idempotency with simply rerunning commands: Terraform compares desired configuration against recorded state, not against a fresh imperative script execution.
- ▸Assuming workspaces alone isolate environments; state, credentials, and variable values still need deliberate separation to avoid cross-environment changes.
- ▸Treating terraform plan as an approval gate: it only previews changes, and applying without reviewing the plan can still destroy or replace resources.
Question index
All Understand IaC concepts questions (48)
Click any question to see the full explanation, or start a practice session above.
Which two statements accurately describe the difference between declarative and imperative IaC approaches? (Choose two.)
Hard2Match each Terraform command to its primary function.
Medium3Which two are benefits of using Infrastructure as Code? (Choose two.)
Easy4An organization manages multiple environments (dev, staging, prod) using Terraform. They want to minimize code duplication while allowing environment-specific variable values. Which approach best achieves this goal?
Hard5A team uses Terraform to manage multiple AWS EC2 instances with a 'count' meta-argument. They need to reference the ID of the third instance in another resource's configuration. Which expression should they use?
Medium6A company is managing multiple cloud environments (dev, test, prod) using Terraform. They want to ensure consistent configurations across environments while allowing environment-specific values. Which IaC practice best supports this?
Medium7Refer to the exhibit. A team is using this S3 backend configuration. During a deployment, they receive an error that the state file is locked. What is the most likely cause?
Medium8After applying the configuration above, the user changes the AMI to a new value and runs 'terraform apply'. Assuming the new AMI triggers a recreate, what happens during the apply?
Hard9Which statement best describes 'immutable infrastructure' in the context of IaC?
Easy10Refer to the exhibit. After applying this configuration, a team member manually changes the instance type to 't2.small' via the AWS console. The next `terraform plan` shows a change to revert to 't2.micro'. What does this demonstrate?
Hard11A development team is using a declarative IaC tool. They make a change to the configuration file to add a new security group rule. When they apply the configuration, the tool automatically modifies the existing security group to add the rule. What is this behavior called?
Medium12An organization is evaluating IaC tools and wants to minimize configuration drift. Which characteristic of a declarative IaC approach is most effective in preventing drift?
Hard13Which two commands are part of the standard Terraform workflow for provisioning infrastructure?
Easy14A Terraform configuration includes a variable for a database password marked as sensitive. When a user runs 'terraform apply', the password appears as (sensitive) in the plan output. However, they want to pass this password to a provisioner as an environment variable. What should they do?
Hard15Which TWO statements about Infrastructure as Code (IaC) are correct?
Medium16A company has a Terraform module that creates an AWS VPC with subnets. They want to reuse this module across multiple AWS accounts. What is the best practice for referencing the module from different root configurations?
Medium17A team uses Terraform to manage AWS resources. After a manual change to an S3 bucket policy through the AWS console, Terraform's next plan shows that it will revert the policy to the configuration. This is an example of which concept?
Medium18An organization uses Terraform Cloud with VCS-driven runs. They have two workspaces: network and application. They want a new run in the application workspace to automatically trigger whenever the network workspace completes a successful plan. What should they configure?
Hard19A team wants to ensure that their infrastructure configuration repeatedly results in the same environment regardless of the initial state. Which IaC concept is most directly associated with this goal?
Easy20A platform team is standardizing how infrastructure is provisioned across three cloud providers using Terraform. Leadership wants to reduce the risk of undocumented manual changes and ensure that every environment can be recreated identically on demand. Which two characteristics of infrastructure as code directly support these goals? (Choose two.)
Medium21Which TWO statements correctly describe Infrastructure as Code principles?
Easy22A company uses Terraform to deploy virtual machines. They want to ensure that the same exact operating system and software versions are used every time. Which practice supports this?
Easy23Which three characteristics are associated with immutable infrastructure as practiced by Terraform?
Hard24Drag and drop the steps to initialize a Terraform working directory in the correct order.
Medium25A Terraform user wants to visualize the execution order of resources before applying changes. Which command provides a dependency graph view?
Easy26A team is evaluating Terraform and Ansible for infrastructure provisioning. They note that Terraform describes the desired end state, while Ansible defines steps to reach that state. This difference is best described as:
Easy27Refer to the exhibit. What will happen when you run terraform plan?
Medium28A team of five engineers uses Terraform with a remote backend in AWS S3 with DynamoDB state locking. One engineer runs 'terraform apply' but it hangs at 'Acquiring state lock'. What is the most likely cause?
Hard29During development, a Terraform user wants to check that their configuration is syntactically valid and internally consistent before running 'terraform plan'. Which command should they use?
Medium30An organization wants to ensure that running the same Terraform configuration multiple times produces the same result without unintended changes. Which IaC concept is most critical for this goal?
Easy31An organization is migrating from manually built environments to Terraform-managed infrastructure. During a design review, an architect argues that because Terraform configuration files are the source of truth, the team can safely delete the terraform.tfstate file after every successful apply to avoid storing sensitive data. What is the most accurate assessment of this proposal?
Hard32Which two are primary benefits of using Infrastructure as Code (IaC) with Terraform?
Medium33A startup is adopting Terraform to manage their cloud infrastructure. They want to ensure that changes to infrastructure are reviewed and approved before being applied. Which practice aligns with Infrastructure as Code principles to achieve this?
Medium34A junior administrator wants to practice Terraform by deploying a single web server in AWS. They write a configuration file and run terraform init and terraform apply. The deployment succeeds but they notice the web server is not accessible from the internet. What is the most likely reason?
Easy35A team is adopting Terraform to manage infrastructure. One requirement is that all configuration changes must be reviewed and approved before being applied. The team wants to ensure that the Terraform state file reflects the actual deployed infrastructure at all times. Which practice should they implement to meet these requirements?
Medium36You are a DevOps engineer at a growing startup. The infrastructure currently consists of a single AWS EC2 instance running a web application, manually configured. The company plans to scale to multiple instances and environments (development, staging, production). They want to adopt Infrastructure as Code using Terraform. The team has limited experience with Terraform and wants to start small, then gradually adopt more advanced features. The current manual infrastructure must be imported into Terraform. The team also wants to ensure that code changes are reviewed via pull requests before being applied. Which of the following is the best course of action to meet these requirements?
Medium37Match each Terraform cloud/enterprise feature to its purpose.
Medium38Drag and drop the steps to upgrade Terraform providers in a configuration in the correct order.
Medium39A team is defining their Infrastructure as Code strategy. Which two of the following are key benefits of using IaC compared to manual configuration?
Easy40A company manages multiple AWS accounts using Terraform. They have a central repository where all Terraform configurations are stored. Recently, a developer accidentally ran terraform destroy on a production workspace and deleted critical resources. The team wants to implement safeguards to prevent such incidents while still allowing developers to test changes in non-production environments. They currently use Terraform Cloud for remote state management and runs. Which course of action should the team take to minimize risk?
Easy41Which of the following is a primary benefit of using Infrastructure as Code?
Easy42In Terraform, the `terraform plan` command compares the current state with the configuration. This is an example of which IaC principle?
Hard43Based on the exhibit, what can be inferred about the Terraform state and configuration?
Medium44Which three practices help maintain consistency and reduce configuration drift in IaC? (Choose three.)
Medium45A company uses Terraform to manage infrastructure on AWS. They have a configuration that creates an S3 bucket and a DynamoDB table for state locking. The team notices that sometimes when two members run terraform apply simultaneously, they get a state locking error. However, they want to allow concurrent operations on different workspaces. What is the best approach?
Hard46You are a platform engineer at a growing startup. The company currently manages infrastructure manually by SSH-ing into servers to install packages and update configurations. As the team grows, this approach has led to frequent configuration drift, inconsistent environments, and manual errors. Deploying a new environment takes several days and requires detailed runbooks. The CTO has asked you to propose a solution that improves consistency, reduces deployment time, and enables version control of infrastructure. You are evaluating Infrastructure as Code (IaC) tools like Terraform. Which course of action best addresses the CTO's requirements?
Easy47A team uses the backend configuration above. What is the primary benefit of storing state remotely in S3?
Easy48A cloud engineer is preparing to introduce Terraform to a team that currently provisions servers by opening support tickets and waiting for an operations group to build them manually. The engineer needs to explain the fundamental shift in how infrastructure is delivered. Which statement best describes the change that adopting Terraform represents?
EasyOther domains
All TF-004 exam domains
Frequently asked questions
- What does the Understand IaC concepts domain cover on the TF-004 exam?
- Be able to explain idempotency, declarative configuration, and reproducibility, and to choose the right Terraform pattern for sharing code across environments. The most important thing: Terraform reconciles configuration with state, so the same configuration applied repeatedly yields the same infrastructure.
- How many questions are in this domain?
- This page lists all 48 Understand IaC concepts questions in the TF-004 question bank. The actual exam draws from this domain proportionally to its weighting in the official exam blueprint.
- What is the best way to practise this domain?
- Start with a short focused session (10 questions) to identify gaps, then work through explanations. Repeat with a longer session once the weak areas feel solid.
- Can I practise only Understand IaC concepts questions?
- Yes — the session launcher on this page filters questions to this domain only. Choose any session length for inline explanations and scoring.