terraform {
  backend "s3" {
    bucket         = "dev-orcd-terraform-state"
    key            = "dev/lambda-neo4j-watchdog"
    region         = "us-east-1"
    encrypt        = "true"
    dynamodb_table = "terraform-dev-lambda-neo4j-watchdog"
  }
}

module "lambda-neo4j-watchdog" {
  source = "git@github.com:theorchard/terraform-lambda.git//"
  environment = "${var.env}"
  use_custom_function_name     = true
  custom_function_name         = "neo4j-cluster-role-check-watchdog-${var.env}"
  lambda_name                  = "neo4j-cluster-role-check-watchdog"
  lambda_description           = "Periodically runs diagnostic queries in Neo4J cluster."
  lambda_function_package_path = "lambda.zip"
  lambda_function_timeout      = "60"
  lambda_function_handler      = "index.handler"
  lambda_function_reserved_concurrent_executions = "1"
  vpc_subnet_ids               = "${var.vpc_subnet_ids}"
  vpc_security_group_ids       = "${var.vpc_security_group_ids}"
  cloudwatch_event_enabled     = true
  cloudwatch_event_schedule    = "${var.execution_rate}"
  datadog_enabled              = false

  lambda_function_environment_variables = {
    Environment          = "${var.env}"
    NEO4J_URL            = "${var.neo4j_url}"
    NEO4J_MAX_RETRY_TIME = "${var.neo4j_max_retry_time}"
    LOGGER_DSN           = "${var.logger_dsn}"
  }
}
