0
0
Terraformcloud~20 mins

Comments in HCL in Terraform - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
HCL Comments Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:00remaining
Identify the valid single-line comment syntax in HCL
Which of the following lines is a valid single-line comment in HashiCorp Configuration Language (HCL)?
A# This is a comment
B// This is a comment
C/* This is a comment */
D<!-- This is a comment -->
Attempts:
2 left
💡 Hint
HCL supports single-line comments starting with # or //, and multi-line comments with /* */.
Configuration
intermediate
1:30remaining
Effect of comments on resource count
Given the following Terraform configuration snippet, how many resources will be created?
Terraform
resource "aws_instance" "example1" {
  ami           = "ami-123456"
  instance_type = "t2.micro"
}

# resource "aws_instance" "example2" {
#   ami           = "ami-654321"
#   instance_type = "t2.micro"
# }

// resource "aws_instance" "example3" {
//   ami           = "ami-abcdef"
//   instance_type = "t2.micro"
// }
A3
B2
C0
D1
Attempts:
2 left
💡 Hint
Lines starting with # or // are ignored by Terraform.
service_behavior
advanced
1:30remaining
Multi-line comment effect in HCL
What will happen if you use the following multi-line comment syntax in a Terraform configuration file?
Terraform
/*
resource "aws_s3_bucket" "bucket" {
  bucket = "my-bucket"
  acl    = "private"
}
*/

resource "aws_s3_bucket" "bucket2" {
  bucket = "my-bucket-2"
  acl    = "private"
}
AOnly aws_s3_bucket.bucket2 will be created; the first resource is ignored.
BBoth aws_s3_bucket.bucket and aws_s3_bucket.bucket2 will be created.
CTerraform will raise a syntax error due to incorrect comment syntax.
DNo resources will be created because all are commented out.
Attempts:
2 left
💡 Hint
Multi-line comments in HCL start with /* and end with */.
security
advanced
1:30remaining
Security risk of commented sensitive data
Why is it a bad practice to leave sensitive information like passwords or API keys in commented lines in Terraform files?
ACommented lines are encrypted and safe from exposure.
BTerraform automatically removes comments before applying configurations.
CCommented sensitive data can still be exposed in version control or logs.
DComments are ignored by all tools and cannot be accessed.
Attempts:
2 left
💡 Hint
Think about where your code files are stored and who can see them.
Architecture
expert
2:00remaining
Impact of comments on Terraform plan output
Consider a Terraform file where a resource block is commented out using single-line comments. What will be the impact on the output of the `terraform plan` command?
Terraform
resource "aws_security_group" "sg1" {
  name        = "sg1"
  description = "Allow SSH"
  ingress {
    from_port   = 22
    to_port     = 22
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

// resource "aws_security_group" "sg2" {
//   name        = "sg2"
//   description = "Allow HTTP"
//   ingress {
//     from_port   = 80
//     to_port     = 80
//     protocol    = "tcp"
//     cidr_blocks = ["0.0.0.0/0"]
//   }
// }
ATerraform plan will show changes only for aws_security_group.sg1; sg2 is ignored.
BTerraform plan will show no changes because comments disable all resources.
CTerraform plan will fail with a syntax error due to commented lines.
DTerraform plan will show changes for both sg1 and sg2 resources.
Attempts:
2 left
💡 Hint
Comments disable code from being processed by Terraform.