Terraform Vocabulary — Infrastructure as Code English
Practice the key Terraform concepts and vocabulary for describing IaC in English.
0 / 35 completed
1 / 35
What does terraform plan do?
terraform plan creates an execution plan showing what changes would be made — add, change, or destroy — without applying them.
2 / 35
A Terraform state file is out of sync with real infrastructure. What is this called?
State drift occurs when infrastructure changes are made outside Terraform (manually or by other tools), causing the state file to become inaccurate.
3 / 35
A colleague says we should use a Terraform module for the VPC. What does this mean?
Terraform modules are reusable configurations that encapsulate related resources. Using a module for the VPC avoids duplicating configuration across environments.
4 / 35
The output of terraform apply shows: +5 to add, ~2 to change, -1 to destroy. What does the -1 to destroy indicate?
In terraform plan/apply output, a minus (-) prefix indicates resource destruction. This is a critical change requiring careful review.
5 / 35
What is a remote backend in Terraform?
Remote backends store the state file in a shared location (S3, GCS, Terraform Cloud) and provide state locking to prevent concurrent modifications.
6 / 35
Review Comment: "This module doesn't seem to be applying any changes to the security group rules. The Terraform plan shows an addition of -2 to modify the group."
This comment highlights a common issue: discrepancies between the plan and what's actually happening. The '-2' suggests an attempt to *remove* rules, but the state file hasn't reflected this change, leading to confusion. Understanding that Terraform plans are predictions, not guarantees, is crucial here.
7 / 35
Slack Message from @john_doe: "Just deployed the new database server using Terraform. It took about 15 minutes!"
The Slack message is revealing: @john_doe is likely unaware of the complexity behind an Infrastructure as Code deployment. Deployment times are directly relevant to performance and operational efficiency when using Terraform, indicating potential problems with provisioning or connectivity that require investigation.
8 / 35
PR Description: "Added a new module for creating the load balancer. This module uses Terraform to provision the necessary security groups and network interfaces."
This PR description demonstrates a key benefit of modules: They allow you to group related resources (security groups, network interfaces) into a single, reusable unit. This improves organization and reduces duplication – the core principle behind Infrastructure as Code. The description correctly identifies this encapsulation.
9 / 35
Standup Update from @sara_lee: "I'm currently working on refining the Terraform configuration for our new web application. We're using a remote backend to store the state file."
The core benefit of a remote backend is data integrity and conflict resolution: When multiple team members or machines modify the Terraform configuration simultaneously, a remote backend ensures that changes are synchronized correctly. It prevents corruption and inconsistencies in the state file – a critical aspect of collaborative Infrastructure as Code.
10 / 35
API Response (Terraform CLI): "terraform apply -target vm-instance --refresh=true",
Analyzing the API response reveals: The --refresh=true flag allows for dynamic updates. The changes array accurately reflects the actions Terraform performed – creating a new instance and modifying a security group rule as expected.
11 / 35
Review Comment: "This module doesn't seem to be applying any changes to the security group rules. The Terraform plan shows an addition of -2 to modify the group."
This comment highlights a common issue: discrepancies between the plan and what's actually happening. The '-2' suggests an attempt to *remove* rules, but the state file hasn't reflected this change, leading to confusion. Understanding that Terraform plans are predictions, not guarantees, is crucial here.
12 / 35
Slack Message from @john_doe: "Just deployed the new database server using Terraform. It took about 15 minutes!"
The Slack message is revealing: @john_doe is likely unaware of the complexity behind an Infrastructure as Code deployment. Deployment times are directly relevant to performance and operational efficiency when using Terraform, indicating potential problems with provisioning or connectivity that require investigation.
13 / 35
PR Description: "Added a new module for creating the load balancer. This module uses Terraform to provision the necessary security groups and network interfaces."
This PR description demonstrates a key benefit of modules: They allow you to group related resources (security groups, network interfaces) into a single, reusable unit. This improves organization and reduces duplication – the core principle behind Infrastructure as Code. The description correctly identifies this encapsulation.
14 / 35
Standup Update from @sara_lee: "I'm currently working on refining the Terraform configuration for our new web application. We're using a remote backend to store the state file."
The core benefit of a remote backend is data integrity and conflict resolution: When multiple team members or machines modify the Terraform configuration simultaneously, a remote backend ensures that changes are synchronized correctly. It prevents corruption and inconsistencies in the state file – a critical aspect of collaborative Infrastructure as Code.
15 / 35
API Response (Terraform CLI): "terraform apply -target vm-instance --refresh=true",
Analyzing the API response reveals: The --refresh=true flag allows for dynamic updates. The changes array accurately reflects the actions Terraform performed – creating a new instance and modifying a security group rule as expected.
16 / 35
Review Comment: "This module doesn't seem to be applying any changes to the security group rules. The Terraform plan shows an addition of -2 to modify the group."
This comment highlights a common issue: discrepancies between the plan and what's actually happening. The '-2' suggests an attempt to *remove* rules, but the state file hasn't reflected this change, leading to confusion. Understanding that Terraform plans are predictions, not guarantees, is crucial here.
17 / 35
Slack Message from @john_doe: "Just deployed the new database server using Terraform. It took about 15 minutes!"
The Slack message is revealing: @john_doe is likely unaware of the complexity behind an Infrastructure as Code deployment. Deployment times are directly relevant to performance and operational efficiency when using Terraform, indicating potential problems with provisioning or connectivity that require investigation.
18 / 35
PR Description: "Added a new module for creating the load balancer. This module uses Terraform to provision the necessary security groups and network interfaces."
This PR description demonstrates a key benefit of modules: They allow you to group related resources (security groups, network interfaces) into a single, reusable unit. This improves organization and reduces duplication – the core principle behind Infrastructure as Code. The description correctly identifies this encapsulation.
19 / 35
Standup Update from @sara_lee: "I'm currently working on refining the Terraform configuration for our new web application. We're using a remote backend to store the state file."
The core benefit of a remote backend is data integrity and conflict resolution: When multiple team members or machines modify the Terraform configuration simultaneously, a remote backend ensures that changes are synchronized correctly. It prevents corruption and inconsistencies in the state file – a critical aspect of collaborative Infrastructure as Code.
20 / 35
API Response (Terraform CLI): "terraform apply -target vm-instance --refresh=true",
Analyzing the API response reveals: The --refresh=true flag allows for dynamic updates. The changes array accurately reflects the actions Terraform performed – creating a new instance and modifying a security group rule as expected.
21 / 35
Review Comment: "This module doesn't seem to be applying any changes to the security group rules. The Terraform plan shows an addition of -2 to modify the group."
This comment highlights a common issue: discrepancies between the plan and what's actually happening. The '-2' suggests an attempt to *remove* rules, but the state file hasn't reflected this change, leading to confusion. Understanding that Terraform plans are predictions, not guarantees, is crucial here.
22 / 35
Slack Message from @john_doe: "Just deployed the new database server using Terraform. It took about 15 minutes!"
The Slack message is revealing: @john_doe is likely unaware of the complexity behind an Infrastructure as Code deployment. Deployment times are directly relevant to performance and operational efficiency when using Terraform, indicating potential problems with provisioning or connectivity that require investigation.
23 / 35
PR Description: "Added a new module for creating the load balancer. This module uses Terraform to provision the necessary security groups and network interfaces."
This PR description demonstrates a key benefit of modules: They allow you to group related resources (security groups, network interfaces) into a single, reusable unit. This improves organization and reduces duplication – the core principle behind Infrastructure as Code. The description correctly identifies this encapsulation.
24 / 35
Standup Update from @sara_lee: "I'm currently working on refining the Terraform configuration for our new web application. We're using a remote backend to store the state file."
The core benefit of a remote backend is data integrity and conflict resolution: When multiple team members or machines modify the Terraform configuration simultaneously, a remote backend ensures that changes are synchronized correctly. It prevents corruption and inconsistencies in the state file – a critical aspect of collaborative Infrastructure as Code.
25 / 35
API Response (Terraform CLI): "terraform apply -target vm-instance --refresh=true",
Analyzing the API response reveals: The --refresh=true flag allows for dynamic updates. The changes array accurately reflects the actions Terraform performed – creating a new instance and modifying a security group rule as expected.
26 / 35
Review Comment: "This module doesn't seem to be applying any changes to the security group rules. The Terraform plan shows an addition of -2 to modify the group."
This comment highlights a common issue: discrepancies between the plan and what's actually happening. The '-2' suggests an attempt to *remove* rules, but the state file hasn't reflected this change, leading to confusion. Understanding that Terraform plans are predictions, not guarantees, is crucial here.
27 / 35
Slack Message from @john_doe: "Just deployed the new database server using Terraform. It took about 15 minutes!"
The Slack message is revealing: @john_doe is likely unaware of the complexity behind an Infrastructure as Code deployment. Deployment times are directly relevant to performance and operational efficiency when using Terraform, indicating potential problems with provisioning or connectivity that require investigation.
28 / 35
PR Description: "Added a new module for creating the load balancer. This module uses Terraform to provision the necessary security groups and network interfaces."
This PR description demonstrates a key benefit of modules: They allow you to group related resources (security groups, network interfaces) into a single, reusable unit. This improves organization and reduces duplication – the core principle behind Infrastructure as Code. The description correctly identifies this encapsulation.
29 / 35
Standup Update from @sara_lee: "I'm currently working on refining the Terraform configuration for our new web application. We're using a remote backend to store the state file."
The core benefit of a remote backend is data integrity and conflict resolution: When multiple team members or machines modify the Terraform configuration simultaneously, a remote backend ensures that changes are synchronized correctly. It prevents corruption and inconsistencies in the state file – a critical aspect of collaborative Infrastructure as Code.
30 / 35
API Response (Terraform CLI): "terraform apply -target vm-instance --refresh=true",
Analyzing the API response reveals: The --refresh=true flag allows for dynamic updates. The changes array accurately reflects the actions Terraform performed – creating a new instance and modifying a security group rule as expected.
31 / 35
Review Comment: "This module doesn't seem to be applying any changes to the security group rules. The Terraform plan shows an addition of -2 to modify the group."
This comment highlights a common issue: discrepancies between the plan and what's actually happening. The '-2' suggests an attempt to *remove* rules, but the state file hasn't reflected this change, leading to confusion. Understanding that Terraform plans are predictions, not guarantees, is crucial here.
32 / 35
Slack Message from @john_doe: "Just deployed the new database server using Terraform. It took about 15 minutes!"
The Slack message is revealing: @john_doe is likely unaware of the complexity behind an Infrastructure as Code deployment. Deployment times are directly relevant to performance and operational efficiency when using Terraform, indicating potential problems with provisioning or connectivity that require investigation.
33 / 35
PR Description: "Added a new module for creating the load balancer. This module uses Terraform to provision the necessary security groups and network interfaces."
This PR description demonstrates a key benefit of modules: They allow you to group related resources (security groups, network interfaces) into a single, reusable unit. This improves organization and reduces duplication – the core principle behind Infrastructure as Code. The description correctly identifies this encapsulation.
34 / 35
Standup Update from @sara_lee: "I'm currently working on refining the Terraform configuration for our new web application. We're using a remote backend to store the state file."
The core benefit of a remote backend is data integrity and conflict resolution: When multiple team members or machines modify the Terraform configuration simultaneously, a remote backend ensures that changes are synchronized correctly. It prevents corruption and inconsistencies in the state file – a critical aspect of collaborative Infrastructure as Code.
35 / 35
API Response (Terraform CLI): "terraform apply -target vm-instance --refresh=true",
Analyzing the API response reveals: The --refresh=true flag allows for dynamic updates. The changes array accurately reflects the actions Terraform performed – creating a new instance and modifying a security group rule as expected.
What will I practise in "Terraform Vocabulary — Infrastructure as Code English"?
Practice the key Terraform concepts and vocabulary for describing IaC in English.
How many exercises are in this module?
This module has 35 multiple-choice exercises, each with instant feedback and a full explanation of the correct answer.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account, sign-up, or paywall.
Do I need to create an account to do these exercises?
No account is required. Just click an option to answer — your score for this session is tracked automatically in the progress bar above.
What happens if I choose the wrong answer?
You'll immediately see which answer was correct, plus a full explanation covering the vocabulary and reasoning behind it — mistakes are where most of the learning happens.
Can I retry the exercises if I want a higher score?
Yes — use the "Try again" button on the results screen to reset and go through all the questions again.
Is my progress saved if I close the page?
No. Progress is tracked only for your current visit; reloading or leaving the page resets the counter. This keeps the exercise simple and account-free.
Where can I find more Infrastructure as Code (IaC) exercises?
Browse the full Infrastructure as Code (IaC) hub for related drills, or check the "Next up" link below to continue with a connected topic.
How is this different from reading an article on the same topic?
Articles explain vocabulary and concepts in prose; this exercise tests and reinforces that vocabulary through active recall with immediate feedback — the two work best together.
Who writes these exercises?
Every exercise is written by the CoderSlingo team, drawing on real workplace English used in IT roles, then reviewed for accuracy and clarity.