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

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

variable "vpc_id" {
  type        = string
  description = "The VPC ID."
}

variable "projectgroup_whitelist" {
  type        = list(object({ cidr = string, description = string }))
  description = "List of CIDRs which will be whitelisted in addition to standard whitelist module list"
  default     = []
}

variable "external_access_mode" {
  type        = string
  description = "Allowed values: whitelist, vpn, mixed. Based on the value access to resource will be provided to whitelisted ip addresses, vpn ip addresses or both"
  default     = "whitelist"
}

variable "vpn_masq_cidrs" {
  type        = list(string)
  description = "List of vpn server private IP addresses under which VPN users will be masquaraded"
  default     = []
}

variable "external_https_access" {
  type        = list(object({ cidr = string, description = string }))
  description = "List of external CIDRs which will be allowed by HTTPS."
  default     = []
}

variable "internal_https_access" {
  type        = list(object({ cidr = string, description = string }))
  description = "List of internal CIDRs which will be allowed by HTTPS."
  default     = []
}

variable "github_ip_addr" {
  type        = list(object({ cidr = string, description = string }))
  description = "List of Gihub ip addresses, could be checked here https://api.github.com/meta"
  default     = []
}

variable "max_sg_rules" {
  type    = number
  default = 50
}

variable "nat_gateways" {
  type        = list(object({ cidr = string, description = string }))
  description = "List of IP addresses that belongs to NAT gateways."
  default     = []
}

variable "sentry_access" {
  type        = list(object({ cidr = string, description = string }))
  description = "List of IP addresses that should has access to sentry."
  default     = []
}

variable "managed_prefix_list_ids" {
  type        = list(string)
  description = "Lists of ids of managed prefix lists to provide access to"
  default     = []
}
