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

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

variable "service_name" {
  default = "abacus-airflow"
}

variable "abacus_airflow_bucket_name" {
  description = "Bucket to contain airflow code 2.9.2"
  default     = "abacus-airflow"
}

variable "application_family" {
  description = "Application family of which this is a component. Used for tagging"
  default     = "accounting"
}

variable "environment_class" {
  default = "mw1.small"
}

variable "s3_adjustments_bucket_name" {
  default = "uat-abacus-adjustments"
}

variable "s3_payments_bucket_name" {
  default = "uat-abacus-payments"
}

variable "s3_sales_bucket_name" {
  default = "uat-royalties-sales-files"
}

variable "s3_static_data_bucket_name" {
  default = "uat-abacus-static-data"
}

variable "secrets_backend" {
  default = "airflow.contrib.secrets.aws_secrets_manager.SecretsManagerBackend"
}

variable "ar_mysql_db_host" {
  default     = "qa.db.qaorch.com"
  description = "QA art_relations host"
}

variable "ar_mysql_db_user" {
  default     = "abacus-airflow"
  description = "QA art_relations service user"
}

variable "ar_mysql_connection_name" {
  default     = "ART_RELATIONS_CONNECTION_URI"
  description = "Connection string for connecting to QA art_relations"
}

variable "snowflake_connection_name" {
  default     = "SNOWFLAKE_CONNECTION_URI"
  description = "Connection string for connecting to snowflake ROYALTY_ACCOUNTING.QA"
}

variable "snowflake_user" {
  description = "Snowflake service user"
  default     = "UAT_OWS_ROYALTIES_WORKFLOW"
}

variable "snowflake_account" {
  description = "Snowflake account"
  default     = "delphi.us-east-1"
}

variable "snowflake_database" {
  description = "Snowflake database"
  default     = "ROYALTY_ACCOUNTING"
}

variable "snowflake_schema" {
  description = "Snowflake schema"
  default     = "UAT"
}

variable "snowflake_warehouse" {
  description = "Snowflake warehouse"
  default     = "UAT_ABACUS_WH"
}

variable "snowflake_role" {
  description = "Snowflake role"
  default     = "UAT_OWS_ROYALTIES_WORKFLOW"
}

locals {
  secrets_prefix = "${var.environment}/${var.service_name}"
}

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