variable "region" {
  default = "us-east-1"
}

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

variable "hash_key" {
  default     = "first_id"
  description = "Hash key required by AWS for indexing."
}

variable "range_key" {
  default     = "second_id"
  description = "Range key required by AWS for secondary indexing."
}

variable "range_type" {
  default     = "S"
  description = "Type of range key."
}

variable "service_name" {
  default = "ows-analytics-sr"
}

variable "team_name" {
  type    = string
  default = "insights"
}

variable "attributes" {
  type = list(object({
    name = string
    type = string
    }
  ))
  description = "List of additional attributes"
  default = [
    {
      name = "first_id"
      type = "S"
    },
    {
      name = "second_id"
      type = "S"
    }
  ]
}

variable "secondary_indices" {
  type = list(object({
    name            = string
    hash_key        = string
    range_key       = string
    projection_type = string
    read_capacity   = string
    write_capacity  = string
    }
  ))
  description = "List of global global_secondary_index"
  default = [
    {
      name            = "second_id-first_id"
      hash_key        = "second_id"
      range_key       = "first_id"
      projection_type = "ALL"
      read_capacity   = "1"
      write_capacity  = "1"
    }
  ]
}

variable "snowflake_account" {
  default = "orchard"
}

variable "snowflake_database" {
  default = "FACTS"
}

variable "snowflake_schema" {
  default = "QA"
}

variable "snowflake_warehouse" {
  default = "QA_OWS_WAREHOUSE"
}

variable "snowflake_role" {
  default = "QA_OWS_ANALYTICS_READ"
}

variable "snowflake_user" {
  default = "QA_OWS_ANALYTICS_SR"
}

variable "application_family" {
  default = "insights"
}

variable "notification_endpoints" {
  default = "@slack-graphql"
}
