data "aws_iam_policy_document" "songwhip_send_email_policy" {
  statement {
    effect = "Allow"
    resources = [
      "arn:aws:ses:us-east-1:${module.accounts.orcd_accounts["prod"]}:identity/theorchard.com"
    ]
    actions = [
      "ses:SendEmail",
      "ses:SendRawEmail",
    ]
  }
}

resource "aws_iam_policy" "theorchard_com_send_email_policy" {
  name   = "SES-${var.environment}-${var.service_name}-send-email-policy"
  policy = data.aws_iam_policy_document.songwhip_send_email_policy.json
}

module "lambda_send_email" {
  source = "git@github.com:theorchard/terraform-lambda.git//?ref=5.3.0"

  environment              = var.environment
  lambda_name              = "lambda-${var.service_name}-send_email" # cannot use more than 64 characters
  application_family       = var.application_family
  lambda_description       = "Lambda function to send raw email via SES"
  use_container_image      = true
  datadog_advanced_enabled = true
  vpc_enabled              = true
  vpc_id                   = module.vpc_info.vpc_id
  vpc_subnet_ids           = module.vpc_info.default_private_subnet_ids
  lambda_function_timeout  = 60
  splitio_enabled          = false
  zappa_s3_policy_enabled  = false
  iam_managed_policy_attachments = [
    aws_iam_policy.theorchard_com_send_email_policy.arn
  ]

  lambda_function_environment_variables = {
    ENVIRONMENT  = var.environment
    SERVICE_NAME = "lambda-${var.service_name}-send_email"
  }
}
