VMWare NSX-T Load Balancer Pool Module
This Terraform module configures NSX-T load balancer pools with with members or member pools. These pools can then be later referenced by load balancer virtual server rules using the nsxt-load-balancer-virtual-server module.
Basic usage of this module is as follows:
module "example" {
source = " <module-path>"
# Required variables
display_name =
# Optional variables
active_monitor_path = null
algorithm = " ROUND_ROBIN"
member_group = null
members = {}
min_active_members = null
passive_monitor_path = null
resource_description = " Terraform provisioned"
snat = null
tags = {}
tcp_multiplexing_enabled = false
tcp_multiplexing_number = null
}
Name
Description
Type
Default
Required
active_monitor_path
NSX Path to for the active monitor for this pool
string
null
no
algorithm
Load balancing algorithm to use for this pool
string
"ROUND_ROBIN"
no
display_name
The name of the LB pool
string
n/a
yes
member_group
an object to configure the member group in the LB Pool. If member_group and members is set, member_group is ignored.
object({ group_path = string allow_ipv4 = optional(bool) allow_ipv6 = optional(bool) max_ip_list_size = optional(number) port = optional(string) })
null
no
members
a map of objects for configuring the members of the LB Pool. If member_group and members is set, member_group is ignored.
map(object({ ip_address = string admin_state = optional(string) backup_member = optional(bool) max_concurrent_connections = optional(number) port = optional(string) weight = optional(number) }))
{}
no
min_active_members
Minimum number of active members to consider this pool active
number
null
no
passive_monitor_path
NSX Path to passive monitor for this pool
string
null
no
resource_description
A string added to the description field of all created resources
string
"Terraform provisioned"
no
snat
defines how SNAT is configured for the pool
object({ type = string # Only pass ip_pool_addresses if type is 'IPPOOL' ip_pool_addresses = optional(list(string)) })
null
no
tags
A map of NSX-T tag:scope pairs
map(string)
{}
no
tcp_multiplexing_enabled
Should TCP multiplexing be enabled in the pool
bool
false
no
tcp_multiplexing_number
The maximum number of TCP connections per pool that are idly kept alive for sending future client requests.
number
null
no
Name
Description
id
The NSX resource ID for the created load balancer pool.
nsxt_lb_pool
The NSX resource object of the created load balancer pool.
path
The NSX resource path for the created load balancer pool.
revision
The NSX object revision path for the load balancer pool.