variable "account" {
  type        = string
  description = "Snowflake account name"
  default     = "DELPHI"
}

variable "region" {
  type        = string
  description = "Snowflake account region"
  default     = "us-east-1"
}

variable "database_name" {
  type        = string
  description = "The name of the database (must be upper-case)."
  default     = "SME_ANALYTICS"
}

variable "schemas" {
  type = list(object({
    name                 = string
    is_managed           = optional(bool, true)
    create_roles         = optional(bool, true)
    read_role_name       = optional(string)
    read_write_role_name = optional(string)
  }))
  description = "A list of schemas to create in the database"
  default = [
    { name = "SHARED", is_managed = false, create_roles = true },
    { name = "UK", is_managed = false, create_roles = true },
    { name = "CRM_UK", is_managed = false, create_roles = true },
    { name = "CRM_UK_COLUMBIA", is_managed = false, create_roles = true },
    { name = "FI", is_managed = false, create_roles = true },
    { name = "BX", is_managed = false, create_roles = true },
    { name = "FR", is_managed = false, create_roles = true },
    { name = "PH", is_managed = false, create_roles = true },
    { name = "BR", is_managed = false, create_roles = true },
    { name = "INSIGHTS", is_managed = false, create_roles = true },
    { name = "INT_MKTG", is_managed = false, create_roles = true },
    { name = "DATA_SCIENCE", is_managed = false, create_roles = true },
    { name = "LATINIBERIA", is_managed = false, create_roles = true },
    { name = "REPORTING_DB", is_managed = false, create_roles = true },
    { name = "ALAMO", is_managed = false, create_roles = true },
    { name = "US_RCA", is_managed = false, create_roles = true },
    { name = "PL", is_managed = false, create_roles = true },
    { name = "CH", is_managed = false, create_roles = true },
    { name = "SOUTH_AFRICA", is_managed = false, create_roles = true },
    { name = "IT", is_managed = false, create_roles = true },
    { name = "NO", is_managed = false, create_roles = true },
    { name = "DK", is_managed = false, create_roles = true },
    { name = "SE", is_managed = false, create_roles = true },
    { name = "TR", is_managed = false, create_roles = true },
    { name = "US_COLUMBIA", is_managed = false, create_roles = true },
    { name = "AU", is_managed = false, create_roles = true },
    { name = "STRATEGY_INVESTMENTS", is_managed = false, create_roles = true },
    { name = "AWAL", is_managed = false, create_roles = true },
    { name = "AWAL_EXECUTIVE", is_managed = false, create_roles = true },
    { name = "ROBOTS_HUMANS", is_managed = false, create_roles = true },
    { name = "CA", is_managed = false, create_roles = true },
    { name = "SME_ASIA_PARTNER_DEV", is_managed = false, create_roles = true },
    { name = "ES", is_managed = false, create_roles = true },
    { name = "CN", is_managed = false, create_roles = true },
    { name = "AE", is_managed = false, create_roles = true },
    { name = "MX", is_managed = false, create_roles = true },
    { name = "5020RECORDS", is_managed = false, create_roles = true },
    { name = "RECORDSCO", is_managed = false, create_roles = true },
    { name = "ARISTA", is_managed = false, create_roles = true },
    { name = "EPIC", is_managed = false, create_roles = true },
    { name = "MASTERWORKS", is_managed = false, create_roles = true },
    { name = "US_REVENUE", is_managed = false, create_roles = true },
    { name = "SOMLIVRE", is_managed = false, create_roles = true },
    { name = "ID", is_managed = false, create_roles = true },
    { name = "KR", is_managed = false, create_roles = true },
    { name = "TW", is_managed = false, create_roles = true },
    { name = "CORE_SALES_MARKETING_SYSTEMS", is_managed = false, create_roles = true },
    { name = "INDIA", is_managed = false, create_roles = true },
    { name = "CO", is_managed = false, create_roles = true },
    { name = "GLOBAL_FINANCE", is_managed = false, create_roles = true },
    { name = "GLOBAL_TECH", is_managed = false, create_roles = true },
    { name = "US_NASHVILLE", is_managed = false, create_roles = true },
    { name = "ORCHARD_ANALYTICS", is_managed = false, create_roles = true },
    { name = "SME_DIGITAL_OPS", is_managed = false, create_roles = true },
    { name = "SME_REPERTOIRE_MANAGEMENT", is_managed = false, create_roles = true },
    { name = "GSA", is_managed = false, create_roles = true },
    { name = "SHARED_SIGMA", is_managed = false, create_roles = true },
    { name = "DE", is_managed = false, create_roles = true },
    { name = "BLA", is_managed = false, create_roles = true },
    { name = "SEA", is_managed = false, create_roles = true },
    { name = "US_PROVIDENT", is_managed = false, create_roles = true },
    { name = "GDB_BUSINESS_DEVELOPMENT", is_managed = false, create_roles = true },
  ]
}
