# EOM2 Alerts from subscription filter
resource "aws_sns_topic" "digsys_eom_eom2_alert" {
  #checkov:skip=CKV_AWS_26: Ensure all data stored in the SNS topic is encrypted
  name = "digsys-eom-eom2-alert"
}

resource "aws_sns_topic_subscription" "digsys_eom_eom2_alert_sub_ivan" {
  topic_arn = aws_sns_topic.digsys_eom_eom2_alert.arn
  protocol  = "email"
  endpoint  = "ivan.larionov.intimetechnologies@sonymusic.com"
}

resource "aws_sns_topic_subscription" "digsys_eom_eom2_alert_sub_vivek" {
  topic_arn = aws_sns_topic.digsys_eom_eom2_alert.arn
  protocol  = "email"
  endpoint  = "Vivek.Dutta.PRKConsulting@sonymusic.com"
}

resource "aws_sns_topic_subscription" "digsys_eom_eom2_alert_sub_vinit" {
  topic_arn = aws_sns_topic.digsys_eom_eom2_alert.arn
  protocol  = "email"
  endpoint  = "vinit.mokal.creo@sonymusic.com"
}

resource "aws_sns_topic_subscription" "digsys_eom_eom2_alert_sub_uday" {
  topic_arn = aws_sns_topic.digsys_eom_eom2_alert.arn
  protocol  = "email"
  endpoint  = "uday.vallabhaneni.creo@sonymusic.com"
}

resource "aws_sns_topic_subscription" "digsys_eom_eom2_alert_sub_vadim" {
  topic_arn = aws_sns_topic.digsys_eom_eom2_alert.arn
  protocol  = "email"
  endpoint  = "vadim.kotenko.intimetechnologies@sonymusic.com"
}

resource "aws_sns_topic_subscription" "digsys_eom_eom2_alert_sub_ivanna" {
  topic_arn = aws_sns_topic.digsys_eom_eom2_alert.arn
  protocol  = "email"
  endpoint  = "ivanna.majczyk.intimetechnologies@sonymusic.com"
}

resource "aws_lambda_permission" "digsys_eom_eom2_allow_cloudwatch_logs_send" {
  statement_id  = "AllowExecutionFromEom2CloudWatchLogs"
  action        = "lambda:InvokeFunction"
  function_name = "digsys-eom-cloudwatch-logs-alert"
  principal     = "logs.amazonaws.com"
  source_arn    = "arn:aws:logs:${var.region}:${var.account_id}:log-group:/aws/containerinsights/${data.aws_eks_cluster.digsys-eom-eks.name}/application/${var.digsys-eom-eom2-eks-namespace}:*"
}

resource "aws_cloudwatch_log_subscription_filter" "digsys_eom_eom2_log_subscription_filter" {
  name            = "digsys-eom-eom2-log-subscription-filter"
  log_group_name  = aws_cloudwatch_log_group.digsys_eom_eom2.name
  filter_pattern  = "{ $.log_processed.level = WARN || $.log_processed.level = WARNING || $.log_processed.level = ERROR }"
  destination_arn = "arn:aws:lambda:${var.region}:${var.account_id}:function:digsys-eom-cloudwatch-logs-alert"
}

resource "aws_cloudwatch_log_group" "digsys_eom_eom2" {
  #checkov:skip=CKV_AWS_338: Ensure CloudWatch log groups retains logs for at least 1 year
  name = "/aws/containerinsights/${data.aws_eks_cluster.digsys-eom-eks.name}/application/${var.digsys-eom-eom2-eks-namespace}"
  retention_in_days = 7
}

import {
  to = aws_cloudwatch_log_group.digsys_eom_eom2
  id = "/aws/containerinsights/digsysd3-eks/application/eom2"
}

# Shared with DRD
resource "aws_cloudwatch_log_group" "digsys_eom_alert_function_log_group" {
  #checkov:skip=CKV_AWS_338: Ensure CloudWatch log groups retains logs for at least 1 year
  name = "/aws/lambda/digsys-eom-cloudwatch-logs-alert"
  retention_in_days = 7
}

