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

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

variable "service_name" {
  description = "Name of service"
  default     = "neo4j-5-cluster"
}

variable "application_family" {
  default = "devops"
}

variable "route53_zone_id" {
  description = "Route 53 zone ID in Networking account"
  default     = "Z2RSKZ9M7TJ9Z"
}

variable "neo4j_slack_channel" {
  description = "Slack channel for Neo4j notifications"
  default     = "@slack-neo4j-db"
}

variable "neo4j_user_secrets_manager" {
  description = "Secrets manager secrets for Neo4j initial user credentials"
  type        = list(string)
  default = [
    "NEO4J_USER",
    "NEO4J_PASSWORD",
  ]
}

variable "bolt_ingress_prefix_lists" {
  type        = set(string)
  description = "Set of prefix lists for Neo4j Bolt ingress rules"
  default = [
    "qa-permissions-platform-private-subnet-prefix-list",
    "uat-accounting-private-subnet-prefix-list",
    "vpn-sme-internal-primary",
  ]
}

variable "dns_updater_lambda_name" {
  default = "lambda-neo4j-dns-update"
}

variable "dns_lambda_notification_endpoints" {
  type        = string
  description = "Endpoints for DNS updater Lambda. Can be email, slack, pagerduty, etc"
  default     = "@slack-neo4j-db"
}

variable "dns_updater_secret_names" {
  default = ["NEO4J_PASSWORD", "NEO4J_USERNAME"]
  type    = set(string)
}
