TF-003 Interact with Terraform modules Practice Question
This TF-003 practice question tests your understanding of interact with terraform modules. Examine the command output carefully: the correct answer depends on what the output actually shows, not on general recall alone. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
Exhibit
Refer to the exhibit.
```
module "bucket" {
source = "terraform-aws-modules/s3-bucket/aws"
bucket = "my-company-logs"
acl = "log-delivery-write"
}
```
Error during terraform plan:
```
Error: Unsupported argument
on main.tf line 4, in module "bucket":
4: acl = "log-delivery-write"
An argument named "acl" is not expected here.
```
Based on the error, what is the most likely reason the 'acl' argument is not expected?
Clue words in this question
Noticing these words before you look at the options changes how you read each choice.
Clue: "most likely"
Why it matters: Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.
Refer to the exhibit.
```
module "bucket" {
source = "terraform-aws-modules/s3-bucket/aws"
bucket = "my-company-logs"
acl = "log-delivery-write"
}
```
Error during terraform plan:
```
Error: Unsupported argument
on main.tf line 4, in module "bucket":
4: acl = "log-delivery-write"
An argument named "acl" is not expected here.
```
A
The module version currently installed does not have an 'acl' variable.
Module versions may deprecate or remove input variables; the error indicates the variable is not defined in that version.
B
The argument name is misspelled; it should be 'acl_control'.
Why wrong: While possible, the error message says 'not expected here', which is typical of a non-existent argument.
C
The module requires the 'acl' to be set inside a separate block.
Why wrong: The error indicates that the argument is not expected at the module level; it might be that the module expects it inside a nested block, but the error is clear.
D
The 'bucket' argument is missing; 'acl' must follow it.
Why wrong: The order of arguments doesn't matter; the error is about 'acl' itself, not its position.
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
The module version currently installed does not have an 'acl' variable.
Option A is correct because the module version does not support the 'acl' argument; it may have been removed. Option B is wrong because typically the registry would show supported arguments. Option C is wrong because other arguments may still be valid. Option D is wrong because the error is about an unexpected argument, not missing required.
Key principle: ACLs process entries top to bottom and stop at the first match. Entry order and interface direction matter as much as the permit or deny statement.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
✓
The module version currently installed does not have an 'acl' variable.
Why this is correct
Module versions may deprecate or remove input variables; the error indicates the variable is not defined in that version.
Clue confirmation
The clue word "most likely" in the question point toward this answer.
Related concept
Standard ACLs match source addresses.
✗
The argument name is misspelled; it should be 'acl_control'.
Why it's wrong here
While possible, the error message says 'not expected here', which is typical of a non-existent argument.
✗
The module requires the 'acl' to be set inside a separate block.
Why it's wrong here
The error indicates that the argument is not expected at the module level; it might be that the module expects it inside a nested block, but the error is clear.
✗
The 'bucket' argument is missing; 'acl' must follow it.
Why it's wrong here
The order of arguments doesn't matter; the error is about 'acl' itself, not its position.
Common exam traps
Common exam trap: ACLs stop at the first match
ACLs are processed top to bottom. The first matching entry wins, and an implicit deny usually exists at the end.
Detailed technical explanation
How to think about this question
ACL questions test precision: source, destination, protocol, port and direction. A generally correct ACL can still fail if it is applied on the wrong interface or in the wrong direction.
KKey Concepts to Remember
Standard ACLs match source addresses.
Extended ACLs can match source, destination, protocol and ports.
The first matching ACL entry is used.
There is usually an implicit deny at the end.
TExam Day Tips
→Check inbound versus outbound direction.
→Read the ACL from top to bottom.
→Look for a broader permit or deny above the intended line.
Key takeaway
ACLs process entries top to bottom and stop at the first match. Entry order and interface direction matter as much as the permit or deny statement.
Real-world example
How this comes up in practice
A security administrator must allow nursing staff to reach a patient records server while blocking access from the guest Wi-Fi VLAN. After applying an extended ACL, traffic is still blocked from nursing workstations. The ACL was applied outbound instead of inbound on the wrong interface. Questions like this test ACL direction and placement rules.
What to study next
Got this wrong? Here's your next step.
Review ACL processing order, placement rules (standard near destination, extended near source), and inbound vs outbound direction. Study wildcard masks and implicit deny. Then practise related TF-003 ACL questions on filtering logic and placement.
Interact with Terraform modules — This question tests Interact with Terraform modules — Standard ACLs match source addresses..
What is the correct answer to this question?
The correct answer is: The module version currently installed does not have an 'acl' variable. — Option A is correct because the module version does not support the 'acl' argument; it may have been removed. Option B is wrong because typically the registry would show supported arguments. Option C is wrong because other arguments may still be valid. Option D is wrong because the error is about an unexpected argument, not missing required.
What should I do if I get this TF-003 question wrong?
Review ACL processing order, placement rules (standard near destination, extended near source), and inbound vs outbound direction. Study wildcard masks and implicit deny. Then practise related TF-003 ACL questions on filtering logic and placement.
Are there clue words in this question I should notice?
Yes — watch for: "most likely". Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.
What is the key concept behind this question?
Standard ACLs match source addresses.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
This TF-003 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-003 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.