# 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
}
