provider "aws" {
  region = var.aws_region
}

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

# 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
}

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

  group_name = "app-security"
  users = [
    "amccown",
    "bhavin.shah",
    "bwilliams",
    "oyasinskaya",
    "hravariya",
    "jchung",
    "sshinde",
  ]
  application_families_to_access = [
    "security-tools",
    "sound-recordings"
  ]
}
