terraform {
  backend "s3" {
    bucket         = "orcd-terraform-state"
    key            = "prod/lambda-auth0-disable-inactive-users"
    region         = "us-east-1"
    encrypt        = "true"
    dynamodb_table = "terraform-qa-lambda-auth0-disable-inactive-users"
  }
}

module "ows_service_owsrequest" {
  source = "git@github.com:theorchard/terraform-owsrequest.git//"

  environment_name = "${var.env}"
  service_name     = "auth0-disable-inactive-users"
}

module "lambda-auth0-disable-inactive-users" {
  source = "git@github.com:theorchard/terraform-lambda.git//"

  environment                                    = "${var.env}"
  use_custom_function_name                       = true
  custom_function_name                           = "auth0-disable-inactive-users-${var.env}"
  lambda_name                                    = "auth0-disable-inactive-users"
  lambda_description                             = "Identifies Auth0 users who haven't logged in for some time and disables them."
  lambda_function_package_path                   = "lambda.zip"
  lambda_function_timeout                        = "300"
  lambda_function_handler                        = "run.main"
  lambda_function_reserved_concurrent_executions = "4"
  vpc_subnet_ids                                 = "${var.vpc_subnet_ids}"
  vpc_security_group_ids                         = "${var.vpc_security_group_ids}"
  cloudwatch_event_enabled                       = true
  cloudwatch_event_schedule                      = "rate(1 day)"
    iam_managed_policy_attachments               = [
    "${module.ows_service_owsrequest.policy_arn_output}",
  ]

  lambda_function_environment_variables = {
    Environment       = "${var.env}"
    INACTIVE_MAX_DAYS = "90"
    SENTRY_DSN        = "${var.SENTRY_DSN}"
  }
}
