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

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

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 "fcm_application_arn" {
  default     = "arn:aws:sns:us-east-1:437795906767:app/GCM/QA_Orchard_Go_FCM"
  description = "Application arn for Firebase Cloud Messaging push notification platform."
}

variable "apn_application_arn" {
  default     = "arn:aws:sns:us-east-1:437795906767:app/APNS/QA_Orchard_Go"
  description = "Application arn for Apple IOS push notification platform."
}

variable "awal_fcm_application_arn" {
  default     = "arn:aws:sns:us-east-1:437795906767:app/GCM/qa-awal"
  description = "Awal Firebase Cloud Messaging push notification platform."
}

variable "awal_apn_application_arn" {
  default     = "arn:aws:sns:us-east-1:437795906767:app/APNS/qa-awal"
  description = "Awal IOS push notification platform."
}

variable "sme_fcm_application_arn" {
  default     = "arn:aws:sns:us-east-1:437795906767:app/GCM/qa-sme"
  description = "SME Firebase Cloud Messaging push notification platform."
}

variable "sme_apn_application_arn" {
  default     = "arn:aws:sns:us-east-1:437795906767:app/APNS/qa-sme"
  description = "SME IOS push notification platform."
}

variable "NEO4J_MAX_RETRY_TIME" {
  default     = 30
  description = "Neo4j DB max_retry time in seconds."
}

variable "NEO4J_SETUP_READY" {
  default     = true
  description = "True if Neo4j DB creds are setup in secrets manager and are ready for use."
}

variable "REDIS_URL" {
  description = "Location of Redis host."
  default     = ""
}

variable "REDIS_CACHE_TTL" {
  description = "TTL in seconds."
  default     = 86400
}

variable "REDIS_USE_SSL" {
  default = "true"
}

variable "sns_delivery_cloudwatch_log_groups" {
  type        = list(any)
  description = "SNS Cloudwatch log groups that will be sent to Datadog"
  default = [
    "sns/us-east-1/437795906767/app/APNS/QA_Orchard_Go",
    "sns/us-east-1/437795906767/app/APNS/QA_Orchard_Go/Failure",
    "sns/us-east-1/437795906767/app/GCM/QA_Orchard_Go_FCM",
    "sns/us-east-1/437795906767/app/GCM/QA_Orchard_Go_FCM/Failure",
  ]
}

variable "application_family" {
  description = "Application family."
  default     = "user-platform"
}

variable "secrets_manager_secret_names" {
  description = "List of secrets manager secrets to create"
  type        = list(string)
  default = [
    "AR_MYSQL_HOST",
    "AR_MYSQL_USER",
    "AR_MYSQL_PASSWORD",
    "AUTH0_MACHINE_CLIENT_ID",
    "AUTH0_MACHINE_CLIENT_SECRET",
    "FEATURE_FM_SECRET_TOKEN",
    "FEATURE_FM_SECRET_TOKEN_KEY",
    "PUBKEY_OA",
    "PUBKEY_WORKSTATION",
    "SECRET_OA",
    "SECRET_WORKSTATION",
    "NEO4J_AURA_PASSWORD",
    "NEO4J_AURA_USERNAME",
    "NEO4J_PASSWORD",
    "NEO4J_USERNAME",
    "AUTH0_ORCHARDGO_NATIVE_CLIENT_ID",
    "ZENDESK_SECRET_KEY",
    "ZENDESK_MESSAGING_SECRET_KEY",
    "ZENDESK_KID",
  ]
}

variable "proxy_allowed_ip_ranges" {
  type = list(string)
  default = [
    "207.237.185.0/26",
    "35.167.74.121/32",
    "35.166.202.113/32",
    "35.160.3.103/32",
    "54.183.64.135/32",
    "54.67.77.38/32",
    "54.67.15.170/32",
    "54.183.204.205/32",
    "35.171.156.124/32",
    "18.233.90.226/32",
    "3.211.189.167/32",
    "18.232.225.224/32",
    "34.233.19.82/32",
    "52.204.128.250/32",
    "3.132.201.78/32",
    "3.19.44.88/32",
    "3.20.244.231/32",
    "174.129.105.183/32",
    "18.116.79.126/32",
    "18.117.64.128/32",
    "18.191.46.63/32",
    "18.218.158.118/32",
    "18.218.26.94/32",
    "3.131.238.180/32",
    "3.131.55.63/32",
    "3.133.18.220/32",
    "3.134.176.17/32",
    "3.20.16.23/32",
    "3.21.254.195/32",
    "34.211.191.214/32",
    "34.233.190.223/32",
    "35.162.47.8/32",
    "35.82.131.220/32",
    "44.205.93.104/32",
    "44.218.235.21/32",
    "44.219.52.110/32",
    "44.224.190.45/32",
    "44.246.144.93/32",
    "52.12.243.90/32",
    "52.14.149.14/32",
    "52.2.61.131/32",
    "52.206.34.127/32",
    "52.33.36.223/32",
    "52.43.255.209/32",
    "52.88.192.232/32",
    "52.89.116.72/32",
    "54.145.227.59/32",
    "54.157.101.160/32",
    "54.200.12.78/32",
    "54.209.32.202/32",
    "54.245.16.146/32",
    "54.245.93.221/32",
    "54.68.157.8/32",
    "54.69.107.228/32",
  ]
  description = "List of proxy allowed IP ranges"
}

variable "container_port" {
  type        = string
  default     = "8080"
  description = "Container port number"
}

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 "application_alert_channel" {
  default = "@slack-accounts-team-alerts"
}

variable "teams" {
  default = ["accounts-platform"]
}

variable "neo4j_aura_url" {
  default = "neo4j+s://1a12e02c.databases.neo4j.io"
}

variable "neo4j_url" {
  default = "neo4j+s://qa-neo4j-cluster.theorchard.io:7687"
}
