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

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

variable "service_name" {
  default = "maxwells-switchboard"
}

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

variable "notification_endpoints" {
  default = "@slack-data-alerts @slack-devops-internal-alerts"
}

variable "escalation_notification_endpoints" {
  default = "@slack-data-alerts @slack-devops-internal-alerts"
}

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

variable "maxwell_mysql_host" {
  description = "The MySQL host to connect to"
  type        = string
  default     = "prod-art-relations.cluster-cb22xqmk0y0q.us-east-1.rds.amazonaws.com"
}

variable "maxwell_mysql_user" {
  description = "The MySQL user to connect with"
  type        = string
  default     = "maxwell-swtchbrd"
}

variable "include_expressions" {
  description = "List of tables to include"
  type        = list(string)
  default = [
    "art_relations.project",
    "art_relations.releases",
    "art_relations.release_localized_metadata",
    "art_relations.release_artist_localized_metadata",
    "art_relations.release_artist",
    "art_relations.product_physical",
    "art_relations.product_video",
    "art_relations.track",
    "art_relations.track_artist",
    "art_relations.track_artist_localized_metadata",
    "art_relations.track_writer",
    "art_relations.track_localized_metadata",
    "art_relations.track_publishing",
    "art_relations.track_publisher"
  ]
}

variable "maxwell_mysql_schema_database" {
  description = "The name of the MySQL database where maxwell keeps its own state"
  type        = string
  default     = "maxwell_switchboard"
}

variable "maxwell_producer" {
  description = "The maxwell producer type"
  type        = string
  default     = "kinesis"
}

variable "maxwell_producer_partition_by" {
  description = "The value of the producer_partition_by maxwell configuration property"
  type        = string
  default     = "primary_key"
}

variable "maxwell_producer_partition_by_fallback" {
  description = "The value of the producer_partition_by_fallback maxwell configuration property"
  type        = string
  default     = "table"
}

variable "maxwell_mysql_client_id" {
  description = "The value of the client_id maxwell configuration property"
  type        = string
  default     = "maxwell_switchboard"
}

variable "maxwell_mysql_replica_server_id" {
  description = "The value of the replica_server_id maxwell configuration property"
  type        = string
  default     = "0709"
}

variable "maxwell_kpl_aggregation_max_count" {
  description = "The maximum number of items to aggregate into a Kinesis record"
  type        = number
  default     = 10
}
