Upgrade & Secure Your Future with DevOps, SRE, DevSecOps, MLOps!

We spend hours on Instagram and YouTube and waste money on coffee and fast food, but won’t spend 30 minutes a day learning skills to boost our careers.
Master in DevOps, SRE, DevSecOps & MLOps!

Learn from Guru Rajesh Kumar and double your salary in just one year.


Get Started 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"
  }
}
Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x