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

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

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

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

  environment                                    = "${var.environment}"
  use_custom_function_name                       = true
  custom_function_name                           = "lambda-find-batch-to-close-${var.environment}"
  lambda_name                                    = "lambda-find-batch-to-close"
  lambda_description                             = "Sets the status of appropriate batches to ready_to_close"
  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}"
  cloudwatch_event_enabled                       = true
  cloudwatch_event_schedule                      = "rate(5 minutes)"
  lambda_function_memory_size                    = "${var.lambda_memory_size}"
  lambda_function_reserved_concurrent_executions = 1

  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}"
  }
}
