Uczę się Terraform wymyślając pewne przypadki użycia i bardzo szybko odbiłem się od ściany, a sytuacja wydaje się typowa i nie dotyczy bezpośrednio Route 53 i Cloudflare.
Co chcę zrobić:
- utworzyć strefę w Route 53 dla subdomeny
- utworzyć rekordy NS po stronie Cloudflare
To co mam:
resource "aws_route53_zone" "main" {
name = "aws.saalin.pl"
}
resource "cloudflare_record" "example" {
for_each = aws_route53_zone.main.name_servers
zone_id = "zoneId"
name = "aws"
value = each.value
type = "NS"
ttl = 3600
depends_on = [
aws_route53_zone.main
]
}
ale próba aplikacji kończy się błędem:
The "for_each" map includes keys derived from resource attributes that cannot be determined until apply, and so Terraform cannot determine the full set of keys that will identify the instances of this resource.
I faktycznie, wszystkie tutoriale używania for_each
odnoszą się do statycznie zadeklarowanych tablic czy słowników. Jak w takim razie ogrywa się takie przypadki?