variable "aws_region" {
  default     = "us-east-1"
  description = "All elements of the state machine execution flow have to be placed in the same region."
}

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

variable "service_name" {
  default = "ows-grass"
}

variable "team_name" {
  type    = string
  default = "permissions-platform"
}

# non sensitive env variables
variable "DB_URL" {
  description = "Fully qualified database connection url for sqlachemy mysql://username:password@host:port/database"
  default     = "sqlite://"
}

variable "LOGGER_HANDLER_ASYNC" {
  default = "1"
}

variable "SEND_METRICS_TO_DD_ENABLED" {
  default = "true"
}

variable "SESSION_DURATION" {
  default = "2594000"
}

variable "REDIS_PORT" {
  default = "6379"
}

variable "JWT_SERVICE_NAME" {
  default = "lambda-jwt-refresh"
}

variable "JWT_SECRET_NAME" {
  default = "jwt_enabled_services"
}

variable "JWT_REFRESH_INTERVAL" {
  type    = number
  default = 43200
}

variable "application_family" {
  default = "permissions-platform"
}

variable "secrets_manager_secret_names" {
  description = "List of secrets manager secrets to create"
  type        = list(string)
  default = [
    "AUTH0_API_AUDIENCE",
    "AUTH0_DOMAIN",
    "DB_URL",
  ]
}

variable "notification_endpoints" {
  description = "DataDog notification endpoints - for log alert only in qa."
  default     = "@slack-permissions-platform-alerts"
}

variable "escalation_notification_endpoints" {
  description = "DataDog escalation notification endpoints - for log alert only in qa."
  default     = "@slack-permissions-platform-alerts"
}

variable "waf_blocking_alert_channel" {
  default = "@slack-ows-grass"
}

variable "datadog_waf_monitor_threshold" {
  default = 300
}

variable "blocked_ip_addresses" {
  description = "List of blocked IP addresses"
  type        = list(string)
  default = [
    "192.168.32.99/32", # Unused VPN address for testing
  ]
}
