Limited Time Offer!

For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!

Enroll Now

Terraform Error Handing with Try Catch

The code could be improved by adding some error handling. For example, you could check to make sure that the PEM file exists and that the password data is valid. You could also add a retry mechanism in case the AWS API call fails.

This code uses the try and catch blocks to handle errors. If the rsadecrypt function fails, the catch block will be executed and the output will be set to the specified error message.

resource "aws_instance" "example" {
  ami = "ami-065b889ab5c33720e"
  count         = "18"
  instance_type = "t2.medium"
  key_name = "aws-hl-training"
  vpc_security_group_ids =["sg-0541801a7a059ba17"]
  get_password_data = "true"
}

output "public_ip" {
    value = "${aws_instance.example.*.public_ip}"
}

output "public_dns" {
    value = "${aws_instance.example.*.public_dns}"
}

output "Administrator_Password1" {
  value = try {
    [
      for g in aws_instance.example : rsadecrypt(g.password_data,file("aws-hl-training.pem"))
    ]
  } catch {
    // Handle the error
    "Unable to decrypt password data"
  }
}
Rajesh Kumar
Follow me
Latest posts by Rajesh Kumar (see all)
Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x