variable "name_prefix" {
  type        = string
  description = "The prefix name of the objects"
  default     = "name_prefix"
}

variable "common_tags" {
  type        = map(string)
  description = "Common tags to add for the objects"
  default = {
  }
}

variable "name" {
  description = "List of the SQS queue name"
  type        = string
}

variable "visibility_timeout_seconds" {
  description = "The timeout in seconds of visibility of the message"
  default     = 30
}

variable "delay_seconds" {
  description = "Delay in displaying message"
  default     = "0"
}

variable "max_message_size" {
  description = "Max size of the message default to 256KB"
  default     = "262144"
}

variable "message_retention_seconds" {
  description = "Seconds of retention of the message default to 4 days"
  default     = "345600"
}

variable "receive_wait_time_seconds" {
  description = "The time for which a ReceiveMessage call will wait for a message to arrive (long polling) before returning. An integer from 0 to 20 (seconds). The default for this attribute is 0, meaning that the call will return immediately."
  default     = "20"
}

variable "dead_letter_queue" {
  description = "The dead letter queue to use for undeliverable messages"
  default     = ""
}

variable "max_receive_count" {
  description = "Maximum receive count"
  default     = "5"
}

variable "fifo_queue" {
  description = "Configure the queue(s) to be FIFO queue(s). This will append the required extension `.fifo` to the queue name(s)."
  default     = "false"
}

variable "content_based_deduplication" {
  description = "Enables content-based deduplication for FIFO queues."
  default     = "false"
}

variable "kms_master_key_id" {
  description = "The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK."
  type        = string
  default     = null
}

variable "kms_data_key_reuse_period_seconds" {
  description = "The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again."
  type        = string
  default     = null
}
