provider "aws" {
  region = var.aws_region
}

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

module "group_with_attachments" {
  source = "git@github.com:theorchard/terraform-iam-policies.git//modules/groups?ref=1.1.0"

  group_name = var.group_name
  users = [
    "anorton",
    "jbrooks",
    "jviletto",
    "jzhang",
    "oyatsuk",
    "tmartin",
  ]
  application_families_to_access = [
    "collaborators",
  ]
}

# Attach pre-existing policies
data "aws_iam_policy" "pre_existing_policies" {
  for_each = toset(var.pre_existing_policy_names)
  name     = each.value
}

# Attach IAM policies to IAM group
resource "aws_iam_group_policy_attachment" "iam_group_policy_attachment" {
  for_each   = data.aws_iam_policy.pre_existing_policies
  group      = module.group_with_attachments.iam_group_name
  policy_arn = each.value.arn
}
