I'm trying to use an existing ACM cert in my terraform and I'm having issues accessing the domain_validation_options
. I'm newish to TF so maybe it has something to do with data vs resource that I don't fully understand?
My impression was that data "aws_acm_certificate" "my_app"
would grab the existing cert (created outside TF) for "*.foobar.com" and provide the resource's data to be available in the module, but apparently I'm missing something.
data "aws_acm_certificate" "my_app" {
domain = "*.foobar.com"
statuses = ["ISSUED"]
}
# ...
resource "aws_route53_record" "cert_validation" {
allow_overwrite = true
name = tolist(data.aws_acm_certificate.my_app.domain_validation_options)[0].resource_record_name
records = [ tolist(data.aws_acm_certificate.my_app.domain_validation_options)[0].resource_record_value ]
type = tolist(data.aws_acm_certificate.my_app.domain_validation_options)[0].resource_record_type
zone_id = aws_route53_zone.public.id
ttl = 60
}
In app.terraform.io this leads to the error:
Error: Unsupported attribute
on modules/dns_and_ssl/main.tf line 37, in resource "aws_route53_record" "cert_validation":
name = tolist(data.aws_acm_certificate.my_app.domain_validation_options)[0].resource_record_name
This object has no argument, nested block, or exported attribute named "domain_validation_options".