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

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

variable "vpc_id" {
  type        = string
  description = "VPC ID where the lambdas will execute"
  default     = "vpc-7f0e841a"
}

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

variable "queue_name" {
  description = "Name of SQS queue lambda will receive event from"
  default     = "push-notifications"
}

variable "fanout_queue_name" {
  description = "Name of SQS queue where events are fanned out from"
  default     = "fanout-event"
}

variable "event_buffer_dynamo_table_hash_key" {
  type    = string
  default = "buffer_id"
}

variable "application_family" {
  description = "Access rules"
  default     = "osp"
}

variable "notification_endpoints" {
  description = "Endpoints for alerts. Can be email, slack, pagerduty, etc"
  default = "@slack-mobile-notifications @slack-notifications"
}

variable "escalation_notification_endpoints" {
  description = "Endpoints for escalation alerts. Can be email, slack, pagerduty, etc"
  default     = "@slack-mobile-notifications @slack-notifications"
}

variable "teams" {
  description = "A set of Datadog Teams to associate the resources with"
  default     = ["mobile", "osp"]
}

variable "store_state_dynamo_table_name" {
  type = string
  description = "DynamoDB table name to save store states."
  default = "notification-store-state"
}

variable "store_state_dynamo_table_hash_key" {
  type = string
  description = "Hash key for store state table."
  default = "store_id"
}

variable "notification_dispatcher_lambda_name" {
  type = string
  description = "Name for notification-dispatcher lambda."
  default = "notification-dispatcher"
}

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

variable "common_prefix" {
  type = string
  description = "Common prefix for lambda names and shared resources."
  default = "lambda-notifications"
}
