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 "alb_internal" {
  default     = false
  description = "An Internet-facing load balancer routes requests from clients over the Internet to targets. An internal load balancer routes requests from clients to targets using private IP addresses. If true, the LB will be internal."
}

variable "alb_suffix" {
  type        = string
  default     = ""
  description = "This suffix will be added to the generic name of the ALB"
}

variable "alb_security_groups" {
  type        = list(string)
  description = "A list of security group IDs to assign to the LB."
}

variable "alb_subnets" {
  type        = list(string)
  description = "A list of subnet IDs to attach to the LB. You can specify only one subnet per Availability Zone. You must specify subnets from at least two Availability Zones to increase the availability of your load balancer."
}

variable "alb_idle_timeout" {
  default     = 60
  description = "The time in seconds that the connection is allowed to be idle."
}

variable "alb_ip_address_type" {
  type        = string
  default     = "ipv4"
  description = "The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 and dualstack."
}

variable "access_logs_enabled" {
  type        = bool
  default     = false
  description = "Enable or disable logging request to S3."
}

variable "access_logs_bucket_name" {
  type        = string
  default     = ""
  description = "S3 bucket (externally created) for storing load balancer access logs. Required if access_logs_enabled is true."
}

variable "access_logs_bucket_prefix" {
  type        = string
  default     = ""
  description = "S3 prefix within the access_logs_bucket_name under which logs are stored. Will be added to default 'elb/' prefix."
}

variable "enable_ip_blocking" {
  type        = bool
  default     = false
  description = "Enable blocking requests from specific IP addresses"
}

variable "account_alias" {
  type        = string
  default     = ""
  description = "The account alias to use for naming the web ACL"
}
