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

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

variable "db_host" {
  default = "prod-royalty-accounting-db.theorchard.io"
}

variable "db_name" {
  default = "royalty_accounting"
}

variable "db_user" {
  default = "ows-royalties"
}

variable "service_name" {
  default = "ows-royalties"
}

variable "s3_sales_bucket" {
  default = "prod-royalties-sales-files"
}

variable "s3_abacus_adjustments_bucket" {
  default = "prod-abacus-adjustments"
}

variable "s3_abacus_quarantine_bucket" {
  default     = "abacus-quarantine"
  description = "S3 bucket for files that failed AV scan."
}

variable "application_family" {
  default     = "accounting"
  description = "Application family to which abacus belongs"
}

variable "team" {
  description = "Datadog team slug"
  default     = "abacus"
}

variable "notification_endpoints" {
  default = "@slack-abacus-monitoring"
}

variable "pagerduty_alert_channel" {
  default = "@oncall-abacus"
}

variable "dependent_applications" {
  default = ["royalties", "collaborator-suite", "moneyhub"]
}

variable "teams" {
  type        = set(string)
  description = "A set of Datadog Teams to associate the resources with"
  default     = ["abacus"]
}

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

variable "kafka_bootstrap_servers" {
  description = "Comma separated list of kafka bootstrap servers"
  default     = "b-1.prod-managed-kafka-cdc.40dsdw.c6.kafka.us-east-1.amazonaws.com:9094,b-2.prod-managed-kafka-cdc.40dsdw.c6.kafka.us-east-1.amazonaws.com:9094,b-3.prod-managed-kafka-cdc.40dsdw.c6.kafka.us-east-1.amazonaws.com:9094"
  type        = string
}

variable "schema_registry_url" {
  description  = "Kafka event schema registry server url"
  default      = "https://prod-schema-registry.theorchard.io"
  type         = string
}

variable "snowflake_account" {
  description = "Snowflake account"
  default     = "orchard"
  type         = string
}

variable "snowflake_role" {
  description = "Snowflake role"
  default     = "ROYALTYACCOUNTING_DB_PROD_SCHEMA_READ"
  type         = string
}

variable "snowflake_warehouse" {
  description = "Snowflake warehouse"
  default     = "PROD_OWS_WAREHOUSE"
  type         = string
}

variable "snowflake_database" {
  description = "Snowflake database"
  default     = "ORCHARD_APP_REPORTING_V2"
  type         = string
}

variable "snowflake_schema" {
  description = "Snowflake schema"
  default     = "PROD_ROYALTY_ACCOUNTING_ROYALTY_ACCOUNTING"
  type         = string
}

variable "snowflake_user" {
  description = "Snowflake user"
  default     = "PROD_OWS_ROYALTIES_SERVICE_USER"
  type         = string
}
