data "aws_iam_role" "cross_account_autotest_role" {
  name = "cross_account_autotest_role"
}

resource "aws_iam_role_policy_attachment" "cross_account_autotest_role" {
  role       = data.aws_iam_role.cross_account_autotest_role.name
  policy_arn = module.autotest_merged_policy.policy.arn
}

module "s3_autotest_rw" {
  source      = "../../../modules/iam/policies/s3/buckets_rw"
  name        = "s3_autotest_rw"
  name_prefix = local.name_prefix
  bucket_masks = [
    "${local.name_prefix}-quarantine-sme-data-archive-autotests",
    "${local.name_prefix}-quarantine-sme-data-decompressed-autotests",
    "${local.name_prefix}-sme-data-archive-autotests",
    "${local.name_prefix}-sme-data-corrupted-autotests",
    "${local.name_prefix}-sme-data-decompressed-autotests",
    "${local.name_prefix}-autotests",
    "${local.env_prefix}-sme-data-decompressed",
    "${local.env_prefix}-sme-data-archive",
    "${local.name_prefix}-configs",
  ]
}

module "autotest_merged_policy" {
  source = "../../../modules/iam/policies/merged_policy"
  name   = "${local.name_prefix}-autotest_merged_policy"
  source_policies = [
    module.iam_map.s3_env_ro.policy,
    module.iam_map.lambda_invoke.policy,
    module.iam_map.s3_sme_data_ro.policy,
    module.iam_map.sf_execute.policy,
    data.aws_iam_policy.secrets-services-ro.policy,
    module.s3_autotest_rw.policy.policy,
  ]
}
