-
Notifications
You must be signed in to change notification settings - Fork 79
Description
The rule aws_route53_record_invalid_zone_id
has a char limit of 32 chars on the zone_id
property. A longer zone_id
raises an error when linting.
According to the AWS docs, this is correct. See Id
section of linked documentation.
The ID of the hosted zone that contains the resource record sets that you want to change.
Length Constraints: Maximum length of 32.
Required: Yes
In my use case I generate Terraform files with kOps, and the generated zone_id
s are in the format /hostedzone/XXXXXXXXXXXXXXXXXXXXX
. The generated zone_id
format is accepted by the Terraform AWS provider aws_route53_record
resource.
Example:
resource "aws_route53_record" "dummy" {
alias {
evaluate_target_health = false
name = aws_elb.myelb.dns_name
zone_id = aws_elb.myelb.zone_id
}
name = "example.org"
type = "A"
zone_id = "/hostedzone/XXXXXXXXXXXXXXXXXXXXX"
}
I was not able to find the source code for the aws_route53_record
, because I don't know the provider codebase that well. Maybe it's auto generated. As a proof besides my own codebase, I found a test case in the provider repository which also uses the prefix.
The ruleset should be adjusted to support the /hostedzone/
prefix on the aws_route53_record.zone_id
property.