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

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

variable "service_name" {
  default = "dd-snowflake-sync"
}

variable "lambda_name" {
  description = "Lambda function name"
  default     = "lambda-dd-snowflake-sync"
}

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

variable "kinesis_shard_count" {
  default = 5
}

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

variable "lambda_default_timeout" {
  description = "Default value for timeout"
  default     = 900
}

variable "lambda_memory_size" {
  description = "Memory size for the lambda function"
  default     = "512"
}

variable "lambda_function_reserved_concurrent_executions" {
  description = "Number of reserved concurrent executions for lambda function"
  default     = 1
}

variable "kinesis_batch_size" {
  default = 10000
}

variable "kinesis_batch_window" {
  default = 300
}

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

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

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

variable "tables_to_log" {
  description = "Comma-separated table names"
  type        = string
  default     = "encoding_queue_detail"
}

variable "snowflake_user" {
  default = "PROD_DD_SNOWFLAKE_SYNC_SERVICE_USER"
}

variable "snowflake_role" {
  default = "PROD_DD_SNOWFLAKE_SYNC_SERVICE_USER_ROLE"
}

variable "snowflake_warehouse" {
  default = "PROD_ETL_WAREHOUSE"
}

variable "team_name" {
  type        = string
  description = "Name of team that owns the service"
  default     = "content-delivery-asset-management"
}
