# Secrets manager
data "aws_secretsmanager_secret_version" "datadog_api_key" {
  secret_id = "${var.environment}/lambda-close-batch/DATADOG_API_KEY"
}

data "aws_secretsmanager_secret_version" "datadog_app_key" {
  secret_id = "${var.environment}/lambda-close-batch/DATADOG_APP_KEY"
}

data "aws_secretsmanager_secret_version" "sentry_dsn" {
  secret_id = "${var.environment}/lambda-close-batch/SENTRY_DSN"
}

module "lambda_close_batch" {
  source = "git@github.com:theorchard/terraform-lambda.git//"

  environment                                    = var.environment
  use_custom_function_name                       = true
  custom_function_name                           = "lambda-close-batch-${var.environment}"
  lambda_name                                    = "lambda-close-batch"
  lambda_description                             = "Tries to close the batch"
  lambda_function_timeout                        = var.lambda_default_timeout
  vpc_subnet_ids                                 = var.vpc_subnet_ids
  vpc_security_group_ids                         = var.vpc_security_group_ids
  iam_policy_file_enabled                        = true
  iam_policy_file_location                       = var.iam_policy_file_location
  lambda_function_memory_size                    = var.lambda_memory_size
  sqs_event_enabled                              = true
  event_source_mapping_batch_size                = var.sqs_message_batch_size
  event_source_mapping_resource_type             = "sqs"
  event_source_mapping_queue_name                = "${var.environment}-${var.event_source_mapping_queue_name}"
  lambda_function_reserved_concurrent_executions = var.lambda_concurrency

  lambda_function_environment_variables = {
    Environment     = var.environment
    DATADOG_API_KEY = data.aws_secretsmanager_secret_version.datadog_api_key.secret_string
    DATADOG_APP_KEY = data.aws_secretsmanager_secret_version.datadog_app_key.secret_string
    SENTRY_DSN      = data.aws_secretsmanager_secret_version.sentry_dsn.secret_string
    LOGGER_DSN      = var.LOGGER_DSN
  }
}

