# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket  = "orcd-terraform-state"
    key     = "prod/sentry/users/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

data "sentry_organization" "organization" {
  slug = var.organization
}

data "sentry_team" "teams" {
  for_each     = var.default_sentry_teams
  organization = data.sentry_organization.organization.slug
  slug         = each.key
}

resource "sentry_organization_member" "organization_member" {
  for_each     = { for member in var.members: member.email => member }
  organization = data.sentry_organization.organization.slug
  email        = each.key
  role         = each.value["role"]
}

resource "sentry_team_member" "team_member" {
  for_each = {
    for member_team_combination in local.flattened_member_team_list : "${member_team_combination.email}_${member_team_combination.team}" => member_team_combination
  }
  organization = data.sentry_organization.organization.slug
  team         = data.sentry_team.teams[each.value.team].slug
  member_id    = sentry_organization_member.organization_member[each.value.email].internal_id
}
