Bird
Raised Fist0
Terraformcloud~5 mins

Comments in HCL in Terraform - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What symbol is used for a single-line comment in HCL?
The # or // symbols are used for single-line comments in HCL.
Click to reveal answer
beginner
How do you write a multi-line comment in HCL?
Use /* to start and */ to end a multi-line comment in HCL.
Click to reveal answer
beginner
Why are comments useful in Terraform configuration files?
Comments help explain the purpose of code, making it easier to understand and maintain.
Click to reveal answer
beginner
Can comments affect the behavior of Terraform configurations?
No, comments are ignored by Terraform and do not affect configuration behavior.
Click to reveal answer
beginner
Show an example of a single-line and a multi-line comment in HCL.
Single-line comment: # This is a comment or // This is a comment
Multi-line comment:
/*
This is a
multi-line comment
*/
Click to reveal answer
Which of the following is NOT a valid way to write a comment in HCL?
A<!-- This is a comment -->
B# This is a comment
C// This is a comment
D/* This is a comment */
What happens to comments when Terraform processes a configuration file?
AThey are executed as code
BThey are converted to variables
CThey are ignored
DThey cause errors
Which symbols can start a single-line comment in HCL?
A# and //
B/* and */
C<!-- and -->
D-- and ##
How do you write a multi-line comment in HCL?
AUse <code>--</code> at the start and end
BStart with <code>#</code> on each line
CUse <code>//</code> on each line
DEnclose text between <code>/*</code> and <code>*/</code>
Why should you use comments in your Terraform files?
ATo make the code run faster
BTo explain code for better understanding
CTo hide code from Terraform
DTo create variables
Explain how to write single-line and multi-line comments in HCL and why they are important.
Think about how you add notes in a text to help yourself or others understand it later.
You got /4 concepts.
    Describe the impact of comments on Terraform configuration behavior.
    Consider if Terraform treats comments like code or just skips them.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the purpose of comments in Terraform's HCL language?
      easy
      A. To explain the code without affecting its execution
      B. To execute additional commands
      C. To speed up the Terraform apply process
      D. To delete unused resources automatically

      Solution

      1. Step 1: Understand the role of comments

        Comments are notes in code that help explain what the code does but do not change how it runs.
      2. Step 2: Identify the correct purpose

        Since comments do not execute or affect resources, their purpose is purely explanatory.
      3. Final Answer:

        To explain the code without affecting its execution -> Option A
      4. Quick Check:

        Comments explain code [OK]
      Hint: Comments never change code behavior, only explain it [OK]
      Common Mistakes:
      • Thinking comments run code
      • Assuming comments speed up deployment
      • Believing comments delete resources
      2. Which of the following is a valid single-line comment syntax in Terraform HCL?
      easy
      A. /* This is a comment */
      B. # This is a comment
      C. -- This is a comment
      D. %% This is a comment

      Solution

      1. Step 1: Recall single-line comment syntax in HCL

        Terraform HCL supports # and // for single-line comments.
      2. Step 2: Match options with valid syntax

        # This is a comment uses #, which is valid. /* This is a comment */ is multi-line comment syntax. Options C and D are invalid in HCL.
      3. Final Answer:

        # This is a comment -> Option B
      4. Quick Check:

        Single-line comment = # or // [OK]
      Hint: Single-line comments start with # or // only [OK]
      Common Mistakes:
      • Using -- or %% which are not valid in HCL
      • Confusing multi-line comment syntax for single-line
      • Omitting comment symbols
      3. What will happen if you run this Terraform code snippet?
      resource "aws_instance" "example" {
        ami           = "ami-123456"
        instance_type = "t2.micro"  # This is a small instance
        // This line is ignored
        /* multi-line
           comment here */
      }
      medium
      A. Terraform will create an AWS instance ignoring all comments
      B. Terraform will throw a syntax error due to comments
      C. Terraform will create an instance but ignore the instance_type
      D. Terraform will skip the resource block entirely

      Solution

      1. Step 1: Understand how comments affect Terraform code

        Comments are ignored by Terraform during execution and do not affect resource creation.
      2. Step 2: Analyze the code snippet

        The resource block is valid with comments in single-line (#, //) and multi-line (/* */) forms. Terraform will create the instance as specified.
      3. Final Answer:

        Terraform will create an AWS instance ignoring all comments -> Option A
      4. Quick Check:

        Comments ignored, resource created [OK]
      Hint: Comments do not affect resource creation or syntax [OK]
      Common Mistakes:
      • Thinking comments cause syntax errors
      • Assuming comments disable resource properties
      • Believing comments skip resource blocks
      4. Identify the error in this Terraform snippet:
      resource "aws_s3_bucket" "bucket" {
        bucket = "my-bucket"
        /* This is a multi-line comment
        missing the closing tag
      
      medium
      A. Single-line comment used incorrectly
      B. Incorrect resource type name
      C. Bucket name must be numeric
      D. Missing closing */ for multi-line comment

      Solution

      1. Step 1: Check multi-line comment syntax

        Multi-line comments start with /* and must end with */. The snippet lacks the closing */.
      2. Step 2: Confirm other parts are correct

        Resource type and bucket name are valid. No single-line comment issues.
      3. Final Answer:

        Missing closing */ for multi-line comment -> Option D
      4. Quick Check:

        Unclosed multi-line comment [OK]
      Hint: Always close multi-line comments with */ [OK]
      Common Mistakes:
      • Forgetting to close multi-line comments
      • Confusing resource type errors with comment errors
      • Assuming bucket names must be numeric
      5. You want to temporarily disable a block of Terraform code without deleting it. Which comment style should you use to comment out multiple lines safely?
      hard
      A. Use # at the start of each line
      B. Use // at the start of each line
      C. Use /* */ to wrap the entire block
      D. Use XML style <!-- --> comments

      Solution

      1. Step 1: Review comment styles for multiple lines

        Single-line comments (# or //) require prefixing each line, which is tedious for many lines.
      2. Step 2: Identify the best multi-line comment method

        Using /* */ wraps multiple lines easily, disabling the entire block at once.
      3. Step 3: Exclude invalid options

        XML style comments are not valid in HCL.
      4. Final Answer:

        Use /* */ to wrap the entire block -> Option C
      5. Quick Check:

        Multi-line comments use /* */ [OK]
      Hint: Wrap multiple lines with /* and */ to comment out block [OK]
      Common Mistakes:
      • Using # or // for many lines instead of block comment
      • Trying XML style comments which are invalid
      • Not closing multi-line comment properly