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

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

variable "service_name" {
  default = "maxwells-neo4j-kinesis"
}

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

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

variable "escalation_notification_endpoints" {
  default = ""
}

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     = "qa.db.qaorch.com"
}

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

variable "include_expressions" {
  description = "List of tables to include"
  type        = list(string)
  default = [
    "art_relations.artist_info",
    "art_relations.vendor",
    "art_relations.subaccount",
    "art_relations.project",
    "art_relations.releases",
    "art_relations.track",
    "art_relations.release_artist",
    "art_relations.track_artist",
    "art_relations.track_writer",
    "art_relations.participant_identifier",
    "art_relations.participant_external_link",
    "art_relations.orchadmin_users",
    "art_relations.vendor_service_tier",
    "art_relations.company_brand"
  ]
}

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

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_neo4j_kinesis"
}

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

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