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

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

variable "service_name" {
  description = "The name of this service."
  default     = "lambda-documents-load-from-s3"
}

variable "application_family" {
  description = "The name of this group of applications."
  default     = "accounting"
}

variable "datadog_enabled" {
  description = "Enable DataDog monitoring."
  default     = true
}

variable "datadog_advanced_enabled" {
  description = "Enable advanced DataDog monitoring."
  default     = true
}

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

variable "snowflake_database" {
  default = "ROYALTY_ACCOUNTING"
}

variable "s3_bucket_name" {
  description = "S3 bucket name"
  default     = "lambda-documents-load-from-s3"
}

variable "secrets_manager_secret_names" {
  type = list(string)
  default = [
    "SNOWFLAKE_PRIVATE_KEY",
    "SNOWFLAKE_PRIVATE_KEY_PASSPHRASE",
  ]
}

variable "payoneer_token_owner_service" {
  description = "Service that owns and rotates the Payoneer auth token in Secrets Manager. Matches the name segment used by lambda-rotate-payoneer-auth-token."
  default     = "ows-payee"
}

variable "payoneer_token_secret_name" {
  description = "Name segment of the Payoneer auth token secret. Mirrors the default from lambda-rotate-payoneer-auth-token so both sides stay in sync."
  default     = "payoneer_auth_token"
}

variable "payoneer_api_url" {
  description = "Payoneer API base URL for the pull_banking_details processor."
  default     = "https://api.payoneer.com"
}

variable "snowflake_user" {
  default = "PROD_LAMBDA_DOCUMENTS_LOAD_FROM_S3_SERVICE_USER"
}

variable "snowflake_warehouse" {
  default = "PROD_ETL_WAREHOUSE"
}

variable "snowflake_role" {
  default = "PROD_LAMBDA_DOCUMENTS_LOAD_FROM_S3_SERVICE_USER_ROLE"
}

locals {
  lambda_notifications = [
    { prefix = "post_tax_corrections/" },
    { prefix = "post_tax_corrections_vat/" },
    { prefix = "sync_manufactured_upcs/" },
    { prefix = "post_payment_hold/" },
    { prefix = "post_payment_unhold/" },
    { prefix = "post_banking_details/" },
    { prefix = "purge_banking_details/" },
    { prefix = "generate_report_tax_form/" },
    { prefix = "generate_report_banking_details/" },
    { prefix = "post_tax_forms/" },
    { prefix = "post_spanish_tax_details/" },
    { prefix = "post_norway_tax_details/" },
    { prefix = "post_uk_tax_details/" },
    { prefix = "register_banking_details/" },
    { prefix = "generate_report_non_us_tax_details/" },
    { prefix = "post_german_tax_details/" },
    { prefix = "pull_banking_details/" },
  ]
}
