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

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

variable "application_family" {
  type        = string
  description = "The name of the application family"
  default     = "rdx"
}

variable "service_name" {
  type        = string
  description = "The name of the service"
  default     = "rdx-schema-registry"
}

variable "team_name" {
  type        = string
  description = "The name of the team that owns this service"
  default     = "devops"
}

variable "notification_endpoints" {
  type        = string
  description = "Endpoints for datadog notifications"
  default     = "@slack-The_Orchard-rdx-schema-registry"
}

variable "schema_bucket_name" {
  type        = string
  description = "S3 bucket name for storing GraphQL schemas"
  default     = "rdx-schema-registry"
}

variable "usm_token_endpoint" {
  type        = string
  description = "USM authentication token endpoint"
  default     = "https://uat-auth-console.sonymusic.com/ws/client/token/create"
}

variable "logger_level" {
  type        = string
  description = "Log level for Lambda functions"
  default     = "debug"
}

variable "schema_introspection_memory_size" {
  type        = number
  description = "Memory size for schema-introspection Lambda in MB"
  default     = 512
}

variable "schema_introspection_timeout" {
  type        = number
  description = "Timeout for schema-introspection Lambda in seconds"
  default     = 60
}

variable "schema_composition_memory_size" {
  type        = number
  description = "Memory size for schema-composition Lambda in MB"
  default     = 256
}

variable "schema_composition_timeout" {
  type        = number
  description = "Timeout for schema-composition Lambda in seconds"
  default     = 30
}

variable "eventbridge_schedule_enabled" {
  type        = bool
  description = "Enable EventBridge schedule for schema introspection (disabled in prod)"
  default     = true
}

variable "eventbridge_schedule_expression" {
  type        = string
  description = "EventBridge schedule expression for schema introspection"
  default     = "rate(6 hours)"
}

variable "rdx_environment" {
  type        = string
  description = "Pre configured RDX environment for schema registry to target."
  default     = "dev"
}

variable "secrets_manager_secret_names" {
  description = "List of secrets manager secrets to create"
  type        = list(string)
  default = [
    "RDX_USM_CREDENTIALS",
    "RDX_SCUBA_API_KEY",
    "RDX_CLEARANCE_API_KEY"
  ]
}
