# Locals =======================================================================

# AWS Migration Accelerated Program Configuration ------------------------------

locals {
  map_tag_name  = "map-migrated"
  map_tag_value = ""

  map_tag_should_apply = var.enable_map_tag && local.map_tag_value != ""
  map_tag              = local.map_tag_should_apply ? { (local.map_tag_name) = local.map_tag_value } : {}
}

check "map_tag_value_set_when_enabled" {
  assert {
    condition     = !var.enable_map_tag || local.map_tag_should_apply
    error_message = <<-EOT
      MAP TAG WARNING: enable_map_tag is true but map_tag_value is empty.

      The '${local.map_tag_name}' tag was NOT APPLIED to any resource.
      Set the confirmed MPE ID value in map_tag_value before enabling this toggle.
    EOT
  }
}

# Computed Values --------------------------------------------------------------

locals {
  baseline_tags = {
    "stack-name"          = var.stack_name
    "application-name"    = var.application_name
    "project"             = var.project
    "cost-center-opex"    = var.cost_center_opex
    "cost-center-capex"   = var.cost_center_capex
    "environment"         = var.environment
    "data-classification" = var.data_classification
    "availability-tier"   = var.availability_tier
    "app-owner"           = var.app_owner
    "team"                = var.team
    "assignment-group"    = var.assignment_group
    "owner"               = var.owner
    "business-unit"       = var.business_unit
    "managed-by"          = "terraform"
  }

  computed_tags = merge(var.additional_tags, local.baseline_tags, local.map_tag)
}
