terraform-modules/network/variables.tf

123 lines
No EOL
1.9 KiB
HCL

variable "project_id" {
type = string
}
variable "name" {
type = string
}
variable "ipv4_gateway" {
type = string
default = null
}
variable "ipv4_nameservers" {
type = list(string)
default = []
}
variable "ipv4_prefix" {
type = string # CIDR, only for NON-routed nets
default = null
}
variable "ipv4_prefix_length" {
type = number # e.g. 24
default = null
}
variable "ipv6_gateway" {
type = string
default = null
}
variable "ipv6_nameservers" {
type = list(string)
default = []
}
variable "ipv6_prefix" {
type = string
default = null
}
variable "ipv6_prefix_length" {
type = number
default = null
}
variable "labels" {
type = map(string)
default = {}
}
variable "no_ipv4_gateway" {
type = bool
default = false
}
variable "no_ipv6_gateway" {
type = bool
default = false
}
variable "routed" {
type = bool
default = true
}
variable "nic_allowed_addresses" {
type = list(string)
default = []
}
variable "nic_ipv4" {
type = string
default = null
}
variable "nic_labels" {
type = map(string)
default = {}
}
variable "nic_name" {
type = string
default = null
}
variable "nic_security" {
type = bool
default = false
nullable = false
}
variable "nic_security_group_ids" {
type = list(string)
default = []
}
variable "security_groups" {
type = map(object({
name = string
description = optional(string)
labels = optional(map(string))
stateful = optional(bool)
rules = list(object({
description = optional(string)
direction = string
ether_type = optional(string)
ip_range = optional(string)
protocol = optional(object({
name = optional(string)
number = optional(number)
}))
port_range = optional(object({
min = number
max = number
}))
remote_security_group_id = optional(string)
}))
}))
default = {}
}