locals.tf
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# locals =====================================================================

data "aws_availability_zones" "available" { state = "available" }

locals {
  region_abbr = split("-", data.aws_availability_zones.available.zone_ids[0])[0]

  az_name_to_zone_id = zipmap(
    data.aws_availability_zones.available.names,
    data.aws_availability_zones.available.zone_ids
  )

  module_tags = {
    managed-by  = "terraform"
    module-name = "networking:vpc"
  }

  nat_gateway_keys = var.enable_nat_gateway ? (
    var.single_nat_gateway
    ? { "single" = values(var.public_subnets)[0] }
    : var.public_subnets
  ) : {}

  flow_log_destination_type = var.enable_flow_logs ? (
    can(regex("^arn:[^:]+:logs:", var.flow_log_destination_arn)) ? "cloud-watch-logs" : "s3"
  ) : null
}