module "woocommerce_sftp" {
  source = "../../../modules/aws_transfer/sftp_password_auth"

  name_prefix        = "${local.name_prefix}-woocommerce"
  account_id         = local.account_id
  secrets_path       = "delphi/prod/sftp/"
  enable_ip_blocking = true


  lambda_policies = [
    module.logging_policy.policy.arn,
    module.kms_secrets_manager.secrets_services_ro_policy.arn,
  ]

  common_tags    = merge(
    local.common_tags, 
    { service_name = "delphi-get-user-config-lambda" },
    { runtime = "python3.12" }
  )
  aggregated_tag = local.aggregated_tag
  project        = "ETL"
}

module "woocommerce_s3_rw_policy" {
  source       = "../../../modules/iam/policies/s3/buckets_rw"
  bucket_masks = [module.s3_woocommerce_data.bucket.id]
  name         = "woocommerce_s3_rw_access"
  name_prefix  = local.name_prefix
}

resource "aws_iam_role" "woocommerce_user_role" {
  name = "${local.name_prefix}-woocommerce_user_role"

  assume_role_policy = <<EOF
{
    "Version": "2012-10-17",
    "Statement": [
        {
        "Effect": "Allow",
        "Principal": {
            "Service": "transfer.amazonaws.com"
        },
        "Action": "sts:AssumeRole"
        }
    ]
}
EOF
}

resource "aws_iam_role_policy_attachment" "woocommerce_user_role_policy" {
  role       = aws_iam_role.woocommerce_user_role.id
  policy_arn = module.woocommerce_s3_rw_policy.policy.arn
}
