diff --git a/aws_data.tf b/aws_data.tf index 81d8da8..050df9e 100644 --- a/aws_data.tf +++ b/aws_data.tf @@ -15,7 +15,7 @@ data "aws_arn" "current" { # dummy vpc, so we can associate the zone to this account #--- data "aws_vpc" "dummy_vpc" { - count = !(var.shared_vpc_label == null || var.shared_vpc_label == "") ? 1 : 0 + count = local.is_shared_vpc ? 1 : 0 filter { name = "tag:Name" values = ["vpc0-dummy"] diff --git a/main.tf b/main.tf index 45f3bbe..282af9c 100644 --- a/main.tf +++ b/main.tf @@ -9,6 +9,7 @@ locals { cluster_domain_description = format("%v EKS Cluster DNS Zone", var.cluster_name) cluster_domain_name = format("%v.%v", var.cluster_name, local.vpc_domain_name) + is_shared_vpc = data.aws_vpc.vpc_id.owner_id != data.aws_caller_identity.current.account_id region = var.region vpc_domain_name = var.vpc_domain_name } @@ -23,14 +24,14 @@ resource "aws_route53_zone" "cluster_domain" { force_destroy = false vpc { - vpc_id = !(var.shared_vpc_label == null || var.shared_vpc_label == "") ? try(data.aws_vpc.dummy_vpc[0].id, null) : data.aws_vpc.eks_vpc.id + vpc_id = local.is_shared_vpc ? try(data.aws_vpc.dummy_vpc[0].id, null) : data.aws_vpc.eks_vpc.id vpc_region = local.region } lifecycle { ignore_changes = [vpc] precondition { - condition = (var.shared_vpc_label == null || var.shared_vpc_label == "") || (!(var.shared_vpc_label == null || var.shared_vpc_label == "") && !(var.vpc_domain_name == null || var.vpc_domain_name == "")) + condition = (local.is_shared_vpc && !(var.vpc_domain_name == null || var.vpc_domain_name == "")) error_message = "var.vpc_domain_name must be provided when shared VPCs are in use." } }