locals {
  datadog_teams = {
    for team_name, team in var.teams : team_name => {
      handle          = team.handle
      datadog_members = toset(team.datadog_members)
      slack_channel   = team.slack_channel
      github_slug     = contains(keys(local.github_teams), team_name) ? github_team.team[team_name].slug : null
    } if team.datadog_members != null && length(team.datadog_members) > 0
  }
}

module "datadog_team" {
  for_each = local.datadog_teams

  source = "git@github.com:theorchard/terraform-datadog.git//modules/team?ref=6.19.0"

  team_handle        = each.value.handle
  team_name          = each.key
  team_members       = each.value.datadog_members
  team_slack_channel = each.value.slack_channel
  github_teams       = each.value.github_slug == null ? [] : ["@${var.github_organization}/${each.value.github_slug}"]
}
