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

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

variable "application_family" {
  default = "user-platform"
}

variable "team"{
  default = "accounts-platform"
}

variable "service_name" {
  default = "gda-sks-leads"
}

variable "lambda_name" {
  default = "lambda-gda-sks-leads"
}

variable "lambda_handler" {
  default = "src.app.handler"
}

variable "lambda_provisioned_concurrent_executions" {
  default = 1
}

variable "vpc_id" {
  description = "VPC ID for lambda function when VPC integration is enabled."
  type        = string
  default     = "vpc-7f0e841a"
}

variable "vpc_subnet_ids" {
  type        = list(any)
  description = "VPC subnet IDs where the lambdas will execute"
  default     = ["subnet-cb4dbae0", "subnet-5366ef24", "subnet-043d235081c966332"]
}

variable "msk_cluster_name" {
  description = "MSK cluster name to read from."
  default     = "prod-managed-kafka-artist-diy"
}

variable "kafka_topic" {
  description = "Kafka topic to send messages to."
  default     = "event.gdaLeads"
}

variable "kafka_offset_topic" {
  description = "Kafka topic to store consumed offsets."
  default     = "event.gdaLeads.offsets"
}

variable "group_id" {
  description = "Consumer group id."
  default     = "prod-salesforce-leads-poller"
}

variable "salesforce_domain" {
  description = "Salesforce domain (should be 'test' for any sandbox)"
  default     = "login"
}

variable "dlq_enabled" {
  description = "Enable lambda DLQ"
  default     = true
}

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

variable "cloudwatch_event_schedule" {
  description = "The schedule for cloudwatch event-based invocations. Specify a cron() or rate() expression"
  default     = "rate(30 minutes)"
}

variable "datadog_notification_endpoints" {
  description = "DataDog notification endpoints"
  default     = "@slack-accounts-team-alerts"
}

variable "datadog_error_monitor_threshold" {
  description = "number of failed invocations caused by errors before alerting"
  default = 3
}

variable "datadog_warning_monitor_threshold"{
  description = "warning threshold for failed invocation monitor"
  default = 1
}

variable "datadog_recovery_threshold"{
  description = "recovery threshold for lambda error monitor"
  default = 1
}

variable "lambda_timeout" {
  type    = number
  default = 300
}
