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

variable "environment" {
  default = "prod"
}

variable "application_family" {
  default = "kafka-data-highway"
}

variable "lambda_fan_preference_sforce_updates_name" {
  description = "Fan Preference Sforce Updates lambda name."
  default     = "lambda-fan-preference-sforce-updates"
}

variable "lambda_subscription_preference_sforce_updates_name" {
  description = "subscription Preference Sforce Updates lambda name."
  default     = "lambda-subscription-preference-sforce-updates"
}

variable "lambda_fan_subscription_preference_sforce_updates_name" {
  description = "Fan Subscription Preference Sforce Updates lambda name."
  default     = "lambda-fan-subscription-preference-sforce-updates"
}

variable "lambda_fan_subscription_preference_sforce_updates_sentry_service_name" {
  description = "Fan Subscription Preference Sforce Updates Sentry service name (full lambda name exceeds Sentry service name length)."
  default     = "lambda-fan-subs-preference-sforce-updates"
}

# Kafka configs
variable "msk_cluster_name" {
  description = "MSK Cluster name, without environment prefix"
  default     = "managed-kafka-fansifter"
}

variable "kafka_event_updates_topic_name" {
  description = "Preference Center update events source Topic name."
  default     = "event.owsPreferenceCenter.fanUpdate"
}

variable "kafka_event_deletes_topic_name" {
  description = "Preference Center delete events source Topic name."
  default     = "event.owsPreferenceCenter.fanDelete"
}

variable "kafka_sforce_sink_topic_name" {
  description = "SForce Sink Updates target Topic name."
  default     = "cdc.preferenceCenter.fanUpdates"
}

variable "subscription_event_updates_topic_name" {
  description = "Preference Center subscription update events source Topic name."
  default     = "event.owsPreferenceCenter.subscriptionsUpdate"
}

variable "subscription_sforce_sink_topic_name" {
  description = "SForce Sink for subscription Updates target Topic name."
  default     = "cdc.preferenceCenter.subscriptionUpdates"
}

variable "fan_subscription_event_updates_topic_name" {
  description = "Preference Center fan subscription update events source Topic name."
  default     = "event.owsPreferenceCenter.fanSubscriptionsUpdate"
}

variable "fan_subscription_sforce_sink_topic_name" {
  description = "SForce Sink for fan subscription Updates target Topic name."
  default     = "cdc.preferenceCenter.fanSubscriptionUpdates"
}

variable "failure_sns_topic" {
  description = "Notify if the lambda fails after retries."
  default     = "lambda-subscription-preference-failed"
}

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

variable "fan_subscription_dlq_topic_name" {
  description = "DLQ topic name."
  default     = "dlq.owsPreferenceCenter.fanSubscriptionsUpdate"
}

variable "notification_endpoints" {
  description = "notification endpoints"
  default     =  "@slack-kafka-data-highway-alerts"
}
