locals {
  # define AZ in region id
  availability_zones = formatlist("%v%v", var.aws_region_id, ["a", "b", "c"])
  project_group      = "prodhub"
  name_prefix        = lower("${var.platform["prefix"]}-${local.project_group}")
  env_prefix         = lower(var.platform["prefix"])
  account_id         = data.aws_caller_identity.current.account_id
  aggregated_tag     = "${var.platform.short_platform_name}_${upper(var.platform.prefix)}"

  common_tags = {
    platform          = var.platform.name
    environment       = var.platform.environment
    platform_with_env = "${var.platform.name} ${var.platform.environment}"
    managed_by        = "Terraform"
  }
}

# The attribute `${data.aws_caller_identity.current.account_id}` will be current account number.
data "aws_caller_identity" "current" {}

# According to the security requirements we need to send logs into this bucket.
data "aws_s3_bucket" "security_logs" {
  bucket = "security-${local.account_id}-logs"
}



module "client_platforms_list" {
  source = "../../../modules/vpc/whitelist_nat_by_platform"

  allowed_envs = var.nat_whitelist
}

module "web_ip_whitelist" {
  source = "../../../modules/ip_whitelist_v2"

  users = var.web_whitelist
}

module "projectgroup_whitelist" {
  source = "../../../modules/ip_whitelist_v2"

  users = var.projectgroup_whitelist
}
/*
module "main_sg_map" {
  source = "../../module_sg_map"

  name_prefix            = local.name_prefix
  vpc_id                 = module.main_vpc.vpc_id
  projectgroup_whitelist = module.projectgroup_whitelist.whitelist_for_sg
  external_access_mode   = "mixed"
  external_https_access = concat(
    module.web_ip_whitelist.whitelist_for_sg,
    module.client_platforms_list.rules_list
  )

  common_tags = merge(
    local.common_tags,
    {
      project                  = "Infrastructure",
      service                  = "Networking",
      plat_env_project_service = "${local.aggregated_tag}_INFRA_NTW"
    }
  )
}
*/
