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

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

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

variable "bucket_name" {
  description = "Bucket to contain airflow code"
  default     = "abacus-managed-airflow"
}

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

variable "airflow_environment_name" {
  default = "abacus-qa-managed-airflow-environment"
}

variable "https_listener_port" {
  default = 443
}

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

variable "airflow_version" {
  default = "2.2.2"
}

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

variable "dev_group_name" {
  default = "royalty-accounting-more"
}

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

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

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

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

variable "extract_sales_dag_execution_role" {
  default = "arn:aws:iam::989790945997:role/qa-ecs-abacus-airflow-run-role"
}

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     = "QA_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     = "QA"
}

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

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

variable "route53_hosted_zone" {
  default = "theorchard.io"
}

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