variable "environment" {
  description = "prod, qa or dev"
  default     = "dev"
}

variable "sns_topic_name" {
  description = "The name of the SNS topic to create, minus environment prefix"
  default     = "test-topic"
}

variable "sns_kms_master_key_id" {
  description = "The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK."
  default     = "alias/aws/sns"
}

variable "application_family" {
  type        = string
  description = "Application family to which this service belongs"
}

variable "additional_tags" {
  type        = map(string)
  description = "Optional map of additional tags to set on resources. These will be combined with programmatically set required tags."
  default     = {}
}

variable "sns_subscription_protocol" {
  type        = string
  description = "Currently-supported subscription protocols"
  default     = "lambda"

  validation {
    condition     = contains(["lambda", "sqs", "email", "https"], var.sns_subscription_protocol)
    error_message = "Currently-supported options for protocol are lambda, SQS, Email, https"
  }
}

variable "sns_subscription_enabled" {
  description = "Enable SNS subscription"
  default     = true
}
variable "is_fifo_topic" {
  description = "Whether or not to create a FIFO topic"
  default     = false
}

variable "enable_content_based_deduplication" {
  description = "Whether or not to enable content-based deduplication"
  default     = false
}

variable "sns_subscription_endpoint" {
  description = "SNS subscription endpoint - lambda arn, sqs arn, email address, https endpoint"
  default = ""
}
