provider "aws" {
  region = var.aws_region
}

# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket  = "orcd-terraform-state"
    key     = "prod/iam/groups/platform/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.3.1"

  group_name = "platform"
  users      = var.users
  application_families_to_access = [
    "gda",
    "user-platform",
    "permissions-platform",
  ]
}

# Get the policy that was created already for qa-graphql-account
data "aws_iam_policy" "qa_pp_opensearch_assume_role_policy" {
  name = "qa-opensearch-assume-role-policy"
}

# Attach the policy to our Principal Users
resource "aws_iam_user_policy_attachment" "platform_gets_qa_pp_opensearch" {
  for_each   = toset(var.users)
  user       = each.value
  policy_arn = data.aws_iam_policy.qa_pp_opensearch_assume_role_policy.arn
}
