locals {
  lambda_name_review_notifications = "${var.service_name}-jfidlow-test"
  lambda_name_apply_release_level_change = "${var.service_name}-apply-release-level-change"
}

provider "aws" {
  region = var.aws_region
}

terraform {
  backend "s3" {
    bucket  = "dev-orcd-terraform-state"
    key     = "dev/lambda-content/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

# Caller Identity
data "aws_caller_identity" "current" {}

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

  environment        = var.environment
  application_family = var.application_family
  lambda_name        = local.lambda_name_review_notifications

  use_container_image                            = true
  lambda_description                             = "Test MSK"
  lambda_function_timeout                        = "600"
  lambda_function_reserved_concurrent_executions = "10"
  vpc_enabled                                    = true
  vpc_subnet_ids                                 = var.vpc_subnet_ids
  datadog_enabled                                = false
  datadog_advanced_enabled                       = false

  lambda_function_environment_variables = {
    ENVIRONMENT = var.environment
  }

  msk_event_enabled                      = true
  event_source_mapping_msk_cluster_name  = var.trigger_msk_cluster_name
  event_source_mapping_msk_cluster_uuid  = var.trigger_msk_cluster_uuid
  event_source_mapping_batch_size        = 1
  msk_topics                             = ["event.owsContentReview.review"]
  event_source_mapping_starting_position = "LATEST"
}

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

  environment             = var.environment
  application_family      = var.application_family
  lambda_name             = local.lambda_name_apply_release_level_change

  lambda_description      = "Apply release level error correction changes to product"
  lambda_function_timeout = "300"
  use_container_image     = true
  vpc_enabled             = true
  vpc_subnet_ids          = var.vpc_subnet_ids

  lambda_function_environment_variables = {
    ENVIRONMENT = var.environment
  }
}

