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

variable "environment" {
  description = "Available values: dev, qa, prod."
  default     = "prod"
}

variable "service_name" {
  default = "ows-product-staging"
}

variable "application_family" {
  default = "product-builder"
}

variable "notification_endpoints" {
  description = "Endpoints for alerts. Can be email, slack, pagerduty, etc"
  type        = string
  default     = "@slack-The_Orchard-content-creation-mgmt-alerts"
}

variable "escalation_notification_endpoints" {
  description = "Endpoints for escalation alerts. Can be email, slack, pagerduty, etc"
  type        = string
  default     = "@slack-The_Orchard-content-creation-mgmt-alerts"
}

variable "critical_number_5xx" {
  description = "Number of 5xx requests (per 5m) for critical alerts"
  default     = 70
}

variable "critical_recovery_number_5xx" {
  description = "Number of 5xx requests (per 5m) for critical recovery"
  default     = 50
}

variable "warning_number_5xx" {
  description = "Number of 5xx requests (per 5m) for warnings"
  default     = 50
}

variable "warning_recovery_number_5xx" {
  description = "Number of 5xx requests (per 5m) for warning recovery"
  default     = 40
}

variable "db_user" {
  description = "ows-product-staging database service user"
  type        = string
  default     = "ows-product-staging"
}

variable "db_host" {
  description = "ows-product-staging database host"
  type        = string
  default     = "prod-ows-product-staging-0.cb22xqmk0y0q.us-east-1.rds.amazonaws.com"
}

variable "db_name" {
  description = "ows-product-staging db schema name"
  type        = string
  default     = "ows_product_staging"
}

variable "db_port" {
  description = "ows-product-staging database port"
  default     = 3306
}

variable "neo4j_user" {
  description = "ows-product-staging neo4j service user"
  type        = string
  default     = "ows-product-staging-prod"
}

variable "neo4j_url" {
  description = "ows-product-staging neo4j url"
  type        = string
  default     = "neo4j+s://prod-neo4j-cluster.theorchard.io"
}

variable "google_client_id" {
  description = "ows-product-staging google client id"
  type        = string
  default     = "16445159939-l5ikbs22ioqh4nnpbtb2oomu4uneql2s.apps.googleusercontent.com"
}

variable "secrets_manager_secret_names" {
  description = "List of secrets manager secrets to create"
  type        = list(string)
  default = [
    "MYSQL_DB_PASSWORD",
    "NEO4J_PASSWORD",
    "GOOGLE_CLIENT_SECRET",
    "SPOTIFY_API_CLIENT_SECRET"
  ]
}

variable "bulk_session_ingest_sfn_name" {
  description = "Name of the ingestion state machine"
  type        = string
  default     = "sfn-bulk-session-ingest"
}

variable "bulk_session_ingest_queue_sfn_name" {
  description = "Name of the ingestion queue state machine"
  type        = string
  default     = "sfn-bulk-session-ingest-queue"
}

variable "export_catalog_lambda_function_name" {
  description = "Function name of the export catalog lambda"
  type        = string
  default     = "lambda-product-staging-export-catalog"
}

variable "trigger_ingest_lambda_function_name" {
  description = "Function name of the trigger ingest lambda"
  type        = string
  default     = "lambda-product-staging-trigger-ingest"
}

variable "spotify_api_client_id" {
  type        = string
  default     = "7495083921bf4b05b56194a22fd1d19e"
}

variable "ingestion_sqs_queue_name" {
  default = "bulk-session-ingest-execution"
}

variable "finalize_sqs_queue_name" {
  default = "finalize-bulk-session"
}
