Skip to content

Latest commit

 

History

History

nsxt-load-balancer-pool

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

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.

Requirements

Name Version
terraform >= 1.3.0
nsxt >= 3.2.7

Usage

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
}

Resources

Name Type
nsxt_policy_lb_pool.this resource

Inputs

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

Outputs

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.