Citrix NetScaler · Schema
LbVserver
A load balancing virtual server configuration that accepts incoming client traffic and distributes it across bound backend services using a configured load balancing algorithm.
API GatewayApplication Delivery ControllerApplication SecurityLoad BalancingSSL OffloadingTraffic ManagementWeb Application Firewall
Properties
| Name | Type | Description |
|---|---|---|
| name | string | Name for the load balancing virtual server. Must be unique and begin with a letter, number, or underscore. Maximum 127 characters. |
| servicetype | string | Protocol of the service running on the virtual server. |
| ipv46 | string | IPv4 or IPv6 address to assign to the virtual server. Usually a VIP address on the NetScaler used as the entry point for client traffic. |
| port | integer | Port number on which the virtual server listens. |
| ipset | string | Name of the IP set to bind to the virtual server. Provides multiple IPs for the virtual server. |
| range | integer | Number of IP addresses that the appliance must generate using the virtual server VIP address and the netmask. Range 2-254. |
| ippattern | string | IP address pattern for identifying packets to be accepted by the virtual server. Used with ipmask. |
| ipmask | string | IP address mask with the IP pattern to form an IP address range for the virtual server. |
| td | integer | Traffic domain identifier. Isolates traffic across virtual servers. Range 0-4094. |
| lbmethod | string | Load balancing method used to select the backend service for each client request. |
| hashlength | integer | Number of bytes to use for the hash value in hash-based load balancing methods. Range 1-4096. |
| netmask | string | IPv4 subnet mask for hashing in SOURCEIPHASH, DESTINATIONIPHASH, and SRCIPDESTIPHASH methods. |
| v6netmasklen | integer | Number of bits in the IPv6 prefix for hash-based LB methods. Range 1-128. |
| backuplbmethod | string | Backup load balancing method used when the primary method fails to select a service. |
| persistencetype | string | Type of persistence for the virtual server. Ensures requests from the same client go to the same service. |
| persistmask | string | IPv4 netmask for source IP persistence. Applied to the source IP before matching for persistence. |
| v6persistmasklen | integer | IPv6 prefix length for source IP persistence. Range 1-128. |
| persistencebackup | string | Backup persistence type for the virtual server. |
| timeout | integer | Persistence timeout in minutes. The period for which persistence sessions are maintained. Range 0-1440. |
| persistavpno | array | AVP numbers to use for Diameter persistence. |
| cookiename | string | Name of the cookie generated by the NetScaler for cookie insert persistence. |
| rule | string | Expression or name of a named expression that the virtual server uses to evaluate client requests. Default is true. |
| listenpolicy | string | Expression identifying traffic accepted by the virtual server. Default is NONE. |
| listenpriority | integer | Priority of the listen policy. Range 0-100. |
| resrule | string | Expression specifying which response to send when the virtual server matches the client request rule. |
| push | string | Process traffic with the push virtual server bound to this virtual server. |
| pushlabel | string | Expression for extracting a label from the request. Used by the push virtual server. |
| pushmulticlients | string | Allow multiple clients to connect to the push virtual server. |
| comment | string | Informational description or comments about the virtual server. |
| clttimeout | integer | Client idle timeout in seconds. Time to wait before closing an idle client connection. Range 0-31536000. |
| somethod | string | Spillover method. Defines the condition under which traffic spills over to the backup virtual server. |
| sopersistence | string | Whether to maintain persistence when spillover occurs. |
| sopersistencetimeout | integer | Persistence timeout in minutes during spillover. Range 2-1440. |
| sothreshold | integer | Threshold value for the spillover method. Meaning varies based on somethod selected. |
| healththreshold | integer | Minimum percentage of UP services required to consider the virtual server as UP. Range 0-100. |
| redirecturl | string | URL to which requests are redirected when all services bound to the virtual server are DOWN. |
| downstateflush | string | Flush all active transactions on all services bound to the virtual server when the state changes to DOWN. |
| disableprimaryondown | string | When a virtual server goes DOWN, remain the primary virtual server in the HA pair so clients continue to connect. |
| insertvserveripport | string | Insert the virtual server IP address and port in the request header. |
| vipheader | string | Name of the HTTP header used to insert the virtual server IP and port. |
| authenticationhost | string | FQDN of the authentication virtual server to which the user is redirected for authentication. |
| authentication | string | Whether authentication is enabled for the virtual server. |
| authn401 | string | Whether to use HTTP 401-based authentication instead of redirect-based. |
| authnvsname | string | Name of the authentication virtual server for 401-based authentication. |
| icmpvsrresponse | string | How the NetScaler responds to ICMP ping requests sent to the VIP. |
| rhistate | string | Route health injection state. Whether to advertise the route to the VIP via dynamic routing when the server is UP. |
| newservicerequest | integer | Number of requests to accept on a new service before distributing traffic to all bound services. Range 0-100. |
| newservicerequestunit | string | Unit for the newservicerequest parameter. |
| newservicerequestincrementinterval | integer | Interval in seconds between successive increments for new service request rate. Range 0-3600. |
| minautoscalemembers | integer | Minimum number of members for autoscale. Range 0-5000. |
| maxautoscalemembers | integer | Maximum number of members for autoscale. Range 0-5000. |
| skippersistency | string | Controls persistence behavior when selecting a service for certain virtual server types. |
| appflowlog | string | Whether to log AppFlow records for the virtual server. |
| state | string | Administrative state of the virtual server. |
| connfailover | string | Mode of connection failover for the virtual server in HA deployments. |
| redirurl | string | Redirect URL string configured on the virtual server. |
| curstate | string | Current operational state of the virtual server. |
| effectivestate | string | Effective state of the virtual server considering all factors. |
| status | integer | Current status of the virtual server. 1 indicates UP. |
| lbrrreason | integer | Reason for the last load balancing redirection. |
| totalservices | integer | Total number of services bound to the virtual server. |
| activeservices | integer | Number of active (UP) services bound to the virtual server. |
| statechangetimesec | string | Time when the virtual server state last changed, in date-time format. |
| tickssincelaststatechange | integer | Number of ticks since the last state change. |
| health | integer | Percentage of UP services to total bound services. |
| isgslb | boolean | Whether this virtual server is a GSLB virtual server. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "LbVserver",
"type": "object",
"description": "A load balancing virtual server configuration that accepts incoming client traffic and distributes it across bound backend services using a configured load balancing algorithm.",
"properties": {
"name": {
"type": "string",
"description": "Name for the load balancing virtual server. Must be unique and begin with a letter, number, or underscore. Maximum 127 characters."
},
"servicetype": {
"type": "string",
"description": "Protocol of the service running on the virtual server."
},
"ipv46": {
"type": "string",
"description": "IPv4 or IPv6 address to assign to the virtual server. Usually a VIP address on the NetScaler used as the entry point for client traffic."
},
"port": {
"type": "integer",
"description": "Port number on which the virtual server listens."
},
"ipset": {
"type": "string",
"description": "Name of the IP set to bind to the virtual server. Provides multiple IPs for the virtual server."
},
"range": {
"type": "integer",
"description": "Number of IP addresses that the appliance must generate using the virtual server VIP address and the netmask. Range 2-254."
},
"ippattern": {
"type": "string",
"description": "IP address pattern for identifying packets to be accepted by the virtual server. Used with ipmask."
},
"ipmask": {
"type": "string",
"description": "IP address mask with the IP pattern to form an IP address range for the virtual server."
},
"td": {
"type": "integer",
"description": "Traffic domain identifier. Isolates traffic across virtual servers. Range 0-4094."
},
"lbmethod": {
"type": "string",
"description": "Load balancing method used to select the backend service for each client request."
},
"hashlength": {
"type": "integer",
"description": "Number of bytes to use for the hash value in hash-based load balancing methods. Range 1-4096."
},
"netmask": {
"type": "string",
"description": "IPv4 subnet mask for hashing in SOURCEIPHASH, DESTINATIONIPHASH, and SRCIPDESTIPHASH methods."
},
"v6netmasklen": {
"type": "integer",
"description": "Number of bits in the IPv6 prefix for hash-based LB methods. Range 1-128."
},
"backuplbmethod": {
"type": "string",
"description": "Backup load balancing method used when the primary method fails to select a service."
},
"persistencetype": {
"type": "string",
"description": "Type of persistence for the virtual server. Ensures requests from the same client go to the same service."
},
"persistmask": {
"type": "string",
"description": "IPv4 netmask for source IP persistence. Applied to the source IP before matching for persistence."
},
"v6persistmasklen": {
"type": "integer",
"description": "IPv6 prefix length for source IP persistence. Range 1-128."
},
"persistencebackup": {
"type": "string",
"description": "Backup persistence type for the virtual server."
},
"timeout": {
"type": "integer",
"description": "Persistence timeout in minutes. The period for which persistence sessions are maintained. Range 0-1440."
},
"persistavpno": {
"type": "array",
"description": "AVP numbers to use for Diameter persistence."
},
"cookiename": {
"type": "string",
"description": "Name of the cookie generated by the NetScaler for cookie insert persistence."
},
"rule": {
"type": "string",
"description": "Expression or name of a named expression that the virtual server uses to evaluate client requests. Default is true."
},
"listenpolicy": {
"type": "string",
"description": "Expression identifying traffic accepted by the virtual server. Default is NONE."
},
"listenpriority": {
"type": "integer",
"description": "Priority of the listen policy. Range 0-100."
},
"resrule": {
"type": "string",
"description": "Expression specifying which response to send when the virtual server matches the client request rule."
},
"push": {
"type": "string",
"description": "Process traffic with the push virtual server bound to this virtual server."
},
"pushlabel": {
"type": "string",
"description": "Expression for extracting a label from the request. Used by the push virtual server."
},
"pushmulticlients": {
"type": "string",
"description": "Allow multiple clients to connect to the push virtual server."
},
"comment": {
"type": "string",
"description": "Informational description or comments about the virtual server."
},
"clttimeout": {
"type": "integer",
"description": "Client idle timeout in seconds. Time to wait before closing an idle client connection. Range 0-31536000."
},
"somethod": {
"type": "string",
"description": "Spillover method. Defines the condition under which traffic spills over to the backup virtual server."
},
"sopersistence": {
"type": "string",
"description": "Whether to maintain persistence when spillover occurs."
},
"sopersistencetimeout": {
"type": "integer",
"description": "Persistence timeout in minutes during spillover. Range 2-1440."
},
"sothreshold": {
"type": "integer",
"description": "Threshold value for the spillover method. Meaning varies based on somethod selected."
},
"healththreshold": {
"type": "integer",
"description": "Minimum percentage of UP services required to consider the virtual server as UP. Range 0-100."
},
"redirecturl": {
"type": "string",
"description": "URL to which requests are redirected when all services bound to the virtual server are DOWN."
},
"downstateflush": {
"type": "string",
"description": "Flush all active transactions on all services bound to the virtual server when the state changes to DOWN."
},
"disableprimaryondown": {
"type": "string",
"description": "When a virtual server goes DOWN, remain the primary virtual server in the HA pair so clients continue to connect."
},
"insertvserveripport": {
"type": "string",
"description": "Insert the virtual server IP address and port in the request header."
},
"vipheader": {
"type": "string",
"description": "Name of the HTTP header used to insert the virtual server IP and port."
},
"authenticationhost": {
"type": "string",
"description": "FQDN of the authentication virtual server to which the user is redirected for authentication."
},
"authentication": {
"type": "string",
"description": "Whether authentication is enabled for the virtual server."
},
"authn401": {
"type": "string",
"description": "Whether to use HTTP 401-based authentication instead of redirect-based."
},
"authnvsname": {
"type": "string",
"description": "Name of the authentication virtual server for 401-based authentication."
},
"icmpvsrresponse": {
"type": "string",
"description": "How the NetScaler responds to ICMP ping requests sent to the VIP."
},
"rhistate": {
"type": "string",
"description": "Route health injection state. Whether to advertise the route to the VIP via dynamic routing when the server is UP."
},
"newservicerequest": {
"type": "integer",
"description": "Number of requests to accept on a new service before distributing traffic to all bound services. Range 0-100."
},
"newservicerequestunit": {
"type": "string",
"description": "Unit for the newservicerequest parameter."
},
"newservicerequestincrementinterval": {
"type": "integer",
"description": "Interval in seconds between successive increments for new service request rate. Range 0-3600."
},
"minautoscalemembers": {
"type": "integer",
"description": "Minimum number of members for autoscale. Range 0-5000."
},
"maxautoscalemembers": {
"type": "integer",
"description": "Maximum number of members for autoscale. Range 0-5000."
},
"skippersistency": {
"type": "string",
"description": "Controls persistence behavior when selecting a service for certain virtual server types."
},
"appflowlog": {
"type": "string",
"description": "Whether to log AppFlow records for the virtual server."
},
"state": {
"type": "string",
"description": "Administrative state of the virtual server."
},
"connfailover": {
"type": "string",
"description": "Mode of connection failover for the virtual server in HA deployments."
},
"redirurl": {
"type": "string",
"description": "Redirect URL string configured on the virtual server."
},
"curstate": {
"type": "string",
"description": "Current operational state of the virtual server."
},
"effectivestate": {
"type": "string",
"description": "Effective state of the virtual server considering all factors."
},
"status": {
"type": "integer",
"description": "Current status of the virtual server. 1 indicates UP."
},
"lbrrreason": {
"type": "integer",
"description": "Reason for the last load balancing redirection."
},
"totalservices": {
"type": "integer",
"description": "Total number of services bound to the virtual server."
},
"activeservices": {
"type": "integer",
"description": "Number of active (UP) services bound to the virtual server."
},
"statechangetimesec": {
"type": "string",
"description": "Time when the virtual server state last changed, in date-time format."
},
"tickssincelaststatechange": {
"type": "integer",
"description": "Number of ticks since the last state change."
},
"health": {
"type": "integer",
"description": "Percentage of UP services to total bound services."
},
"isgslb": {
"type": "boolean",
"description": "Whether this virtual server is a GSLB virtual server."
}
}
}