Skip to content

Commit

Permalink
dont create route53 if service is missing (mostly, dont create a shar…
Browse files Browse the repository at this point in the history
…ed endpoint)
  • Loading branch information
badra001 committed Apr 14, 2023
1 parent 05e8ace commit ad77828
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions vpc-interface-endpoint/route53.tf
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@ locals {
endpoint_exists = fileexists(format("%v/setup/.vpce.%v", path.root, data.aws_vpc_endpoint_service.interface_endpoint.service))
service_domain_parts = split(".", data.aws_vpc_endpoint_service.interface_endpoint.private_dns_name)
is_wildcard = local.service_domain_parts[0] == "*"
has_service = data.aws_vpc_endpoint_service.interface_endpoint.service != null
domain_name = local.is_wildcard ? join(".", slice(local.service_domain_parts, 1, length(local.service_domain_parts))) : data.aws_vpc_endpoint_service.interface_endpoint.private_dns_name
r53_create = contains(local.permitted_accounts, local.account_id) && var.create_central_vpc_endpoint && length(local.domain_name) > 0
r53_create = contains(local.permitted_accounts, local.account_id) && var.create_central_vpc_endpoint && length(local.domain_name) > 0 && local.has_service
}

resource "aws_route53_zone" "vpce" {
Expand Down Expand Up @@ -163,13 +164,14 @@ resource "aws_ssm_parameter" "vpce" {
description = format("VPC Endpoint details for %v", data.aws_vpc_endpoint_service.interface_endpoint.service)
type = "String"
value = jsonencode({
name = data.aws_vpc_endpoint_service.interface_endpoint.service
region = local.region
dns_name = local.domain_name
id = aws_vpc_endpoint.interface_endpoint.id
zone = try(aws_route53_zone.vpce[0].name, null)
zone_id = try(aws_route53_zone.vpce[0].zone_id, null)
create_time = try(time_static.vpce[0].unix, null)
name = data.aws_vpc_endpoint_service.interface_endpoint.service
region = local.region
dns_name = local.domain_name
id = aws_vpc_endpoint.interface_endpoint.id
zone = try(aws_route53_zone.vpce[0].name, null)
zone_id = try(aws_route53_zone.vpce[0].zone_id, null)
create_time = try(time_static.vpce[0].unix, null)
ip_addresses = try([for n in data.aws_network_interface.vpce : n.private_ip], [])
})

tags = merge(
Expand Down

0 comments on commit ad77828

Please sign in to comment.