variable "aws_region" {
  description = "AWS region"
  default     = "us-east-1"
}

variable "environment" {
  default = "prod"
}

variable "service_name" {
  default = "briteverify-email-validator"
}

variable "application_family" {
  default = "fansifter"
}

variable "lambda_name" {
  default = "lambda-audience-briteverify-email-validator"
}

variable "lambda_timeout" {
  default = 15 * 60
}

variable "lambda_reserved_concurrency" {
  default = 1
}

variable "lambda_memory_size" {
  default = 1024
}

variable "verify_list_limit" {
  default = 60000
}

variable "briteverify_reserved_tokens_count" {
  default = 0
}

variable "snowflake_account" {
  default = "delphi.us-east-1"
}

variable "snowflake_database" {
  default = "FANSIFTER_APP_REPORTING"
}

variable "snowflake_schema" {
  default = "PROD"
}

variable "snowflake_warehouse" {
  default = "PROD_ETL_WH"
}

variable "snowflake_role" {
  default = "PROD_LAMBDA_AUDIENCE"
}

variable "snowflake_user" {
  default = "PROD_LAMBDA_AUDIENCE"
}

variable "secrets_manager_secret_names" {
  description = "List of secrets manager secrets to create."
  type        = list(string)
  default = [
    "BRITEVERIFY_API_KEY",
    "SNOWFLAKE_PRIVATE_KEY",
    "SNOWFLAKE_KEY_PASSPHRASE",
  ]
}

locals {
  briteverify_api_key_secret_name       = "${var.environment}/${var.lambda_name}/BRITEVERIFY_API_KEY"
  snowflake_private_key_secret_name     = "${var.environment}/${var.lambda_name}/SNOWFLAKE_PRIVATE_KEY"
  snowflake_key_passphrase_secret_name  = "${var.environment}/${var.lambda_name}/SNOWFLAKE_KEY_PASSPHRASE"

  tags = {
    environment        = var.environment
    application_family = var.application_family
    service_name       = var.lambda_name
    terraformed        = true
    eiso-exception     = "aws.08.30"
  }
}
