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

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

variable "application_family" {
  default = "devops"
}

variable "team_name" {
  default = "devops"
}

variable "backup_bucket" {
  description = "Backup bucket"
  default     = "prod-orcdbucket"
}

variable "backup_kms_key_id" {
  description = "ID of the KMS key used for encrypting backups"
  default     = "839dc350-52d3-4bd0-b37f-da708ba77aca"
}

variable "backup_s3_concurrency" {
  default     = 1
  description = "how many parallel connections to s3"
}

variable "backup_s3_prefix" {
  default     = "backup/neo4j/prod-neo4j-cluster.theorchard.io/prod-4"
  description = "s3 folder the backups will be stored in"
}

variable "backup_service_name" {
  description = "Backup service name"
  default     = "neo4j-cluster-backup-fargate"
}

variable "backup_host_service_name" {
  description = "Backup host service name"
  default     = "neo4j-backup"
}

variable "backup_service_secret_names" {
  default = ["PRIVATE_KEY", "TRUSTED_CERT", "NEO4j_USERNAME", "NEO4j_PASSWORD", ]
  type    = set(string)
}

variable "backup_service_task_cpu" {
  default = 4096
}

variable "backup_service_task_memory" {
  default = 30720
}

variable "backup_task_definition_revision" {
  description = "The revision of the backup task definition to run."
  default     = 18
}

variable "route53_record_ttl" {
  description = "TTL associated with Route53 records"
  default     = "60"
}

# Notification settings
variable "notification_endpoints" {
  type        = string
  description = "Endpoints for alerts. Can be email, slack, pagerduty, etc"
  default     = "@slack-devops @oncall-devops"
}

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

variable "backup_notification_endpoints" {
  type        = string
  description = "Endpoints for backup step function. Can be email, slack, pagerduty, etc"
  default     = "@slack-backup-alerts"
}

variable "neo4j_session_errors_critical_number" {
  type        = number
  description = "Number of neo4j session errors that represent critical status"
  default     = "25000" # This number is just high enough to clear the noise floor and not notify during neo4j backups, which cause errors.
}

variable "shared_account_id" {
  description = "Shared account id"
  default     = "086679231553"
}





variable "dependent_applications" {
  description = "List of dependent applications"
  default = [
    "content", "settings", "moneyhub", "podcast", "insights", "fansifter",
    "documents", "distribution-suite", "royalties", "collaborator-suite",
    "workstation", "oa", "abacus", "publishing"
  ]
}

variable "ssh_ingress_cidr_blocks" {
  description = "CIDR blocks from which to allow SSH"
  type        = list(string)

  default = [
    "192.168.32.0/24",
    "192.168.33.0/24",
    "192.168.40.0/22",
  ]
}
