Recall & Review
beginner
What is the purpose of
output blocks in Terraform modules?Output blocks allow a module to expose values to the parent module or root configuration. They help share information like resource IDs or IP addresses between modules.
Click to reveal answer
beginner
How do you reference an output from a child module in the root module?
Use
module.<module_name>.<output_name>. For example, module.webserver.ip_address accesses the ip_address output from the webserver module.Click to reveal answer
intermediate
Can outputs be used to pass sensitive information between modules?
Yes, outputs can be marked as
sensitive = true to hide their values in Terraform's output and logs, helping protect secrets during module communication.Click to reveal answer
intermediate
What happens if a module output is not defined but you try to access it?
Terraform will return an error during plan or apply, indicating the output does not exist. Outputs must be explicitly declared in the module to be accessible.
Click to reveal answer
advanced
Why is it a best practice to use outputs for module communication instead of directly accessing resources?
Outputs create a clear interface for modules, improving modularity and encapsulation. This avoids tight coupling and makes modules reusable and easier to maintain.
Click to reveal answer
How do you define an output in a Terraform module?
✗ Incorrect
Outputs are defined with an
output block specifying the value to expose.How do you access an output named
db_endpoint from a module called database?✗ Incorrect
Module outputs are accessed using
module.<module_name>.<output_name> syntax.What does setting
sensitive = true on an output do?✗ Incorrect
Marking an output as sensitive hides its value from CLI output and logs but does not encrypt it in the state file.
If a module does not define an output, can you still access its resource attributes directly from the root module?
✗ Incorrect
Modules encapsulate resources; outputs are required to share values outside the module.
Why is using outputs for module communication considered a best practice?
✗ Incorrect
Outputs define a clean interface, helping keep modules modular and reusable.
Explain how outputs enable communication between Terraform modules and why they are important.
Think about how one module shares information with another.
You got /4 concepts.
Describe how to mark an output as sensitive and why you might want to do that.
Consider security when sharing secrets.
You got /3 concepts.