I am trying to create an NS record for my hosted zone, dev.example.com. The name of the record should be dev-api.example.com. However, when applying the terraform to the dev environment, it shows up in AWS route53 as dev-api.example.com.dev.example.com for the record name. Why might this be happening? Below is the relevant code.
data "aws_route53_zone" "example_api" {
name = var.environment == "prod" ? "api.example.com" : "dev-api.example.com"
}
data "aws_route53_zone" "example" {
name = var.environment == "prod" ? "example.com" : "dev.example.com"
private_zone = false
}
resource "aws_route53_record" "example_api_ns" {
zone_id = data.aws_route53_zone.example.zone_id
name = var.environment == "prod" ? "api.example.com" : "dev-api.example.com"
type = "NS"
ttl = 300
records = [
data.aws_route53_zone.example_api.name_servers[0],
data.aws_route53_zone.example_api.name_servers[1],
data.aws_route53_zone.example_api.name_servers[2],
data.aws_route53_zone.example_api.name_servers[3],
]
}