data "aws_iam_policy_document" "dev_marketing_cloud_poc_policy_document" {
  statement {
    actions = [
      "s3:GetBucketLocation",
      "s3:ListMultipartUploadParts",
      "s3:ListBucketMultipartUploads",
    ]
    effect = "Allow"
    resources = [
      "arn:aws:s3:::dev-crm-ecommerce-data"
    ]
  }
  statement {
    actions = [
      "s3:ListBucket",
      "s3:ListMultipartUploadParts",
      "s3:ListBucketMultipartUploads",
    ]
    effect = "Allow"
    resources = [
      "arn:aws:s3:::dev-crm-ecommerce-data"
    ]
    condition {
      test     = "StringEquals"
      values   = ["", "dev_marketing_cloud_poc/"]
      variable = "s3:prefix"
    }
  }
  statement {
    actions = [
      "s3:ListBucket",
      "s3:ListMultipartUploadParts",
      "s3:ListBucketMultipartUploads",
    ]
    effect = "Allow"
    resources = [
      "arn:aws:s3:::dev-crm-ecommerce-data"
    ]
    condition {
      test     = "StringEquals"
      values   = ["dev_marketing_cloud_poc/*"]
      variable = "s3:prefix"
    }
  }
  statement {
    actions = [
      "s3:*",
    ]
    effect = "Allow"
    resources = [
      "arn:aws:s3:::dev-crm-ecommerce-data/dev_marketing_cloud_poc/*"
    ]
  }
}

resource "aws_iam_policy" "dev_marketing_cloud_poc_policy" {
  name   = "${local.env_prefix}-marketing_cloud_poc_policy"
  policy = data.aws_iam_policy_document.dev_marketing_cloud_poc_policy_document.json
}
