{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/VirtualServer", "title": "VirtualServer", "type": "object", "description": "A virtual server resource that directs client traffic to a pool of backend servers based on an IP address and port combination.", "properties": { "kind": { "type": "string", "description": "Resource type identifier.", "example": "tm:ltm:virtual:virtualstate", "readOnly": true }, "name": { "type": "string", "description": "Name of the virtual server resource.", "example": "my_virtual_server" }, "fullPath": { "type": "string", "description": "Full path including partition.", "example": "/Common/my_virtual_server", "readOnly": true }, "generation": { "type": "integer", "description": "Configuration generation counter.", "readOnly": true, "example": 10 }, "selfLink": { "type": "string", "format": "uri", "description": "Self-referencing URI for this resource.", "readOnly": true, "example": "https://www.example.com" }, "addressStatus": { "type": "string", "description": "Whether the virtual contributes to the operational status of the associated virtual address.", "enum": [ "yes", "no" ], "default": "yes", "example": "yes" }, "autoLasthop": { "type": "string", "description": "Automatic last hop setting for return traffic routing.", "enum": [ "default", "enabled", "disabled" ], "default": "default", "example": "default" }, "cmpEnabled": { "type": "string", "description": "Whether Clustered Multi-Processing (CMP) acceleration is enabled.", "enum": [ "yes", "no" ], "default": "yes", "example": "yes" }, "connectionLimit": { "type": "integer", "description": "Maximum number of concurrent connections allowed. A value of 0 means unlimited.", "minimum": 0, "default": 0, "example": 0 }, "description": { "type": "string", "description": "User-defined description of the virtual server.", "example": "Production web virtual server" }, "destination": { "type": "string", "description": "Destination IP address and service port in the format /partition/address:port or /partition/address.port.", "example": "/Common/10.0.0.100:80" }, "disabled": { "type": "boolean", "description": "When true, the virtual server does not accept new connections.", "example": true }, "enabled": { "type": "boolean", "description": "When true, the virtual server accepts and processes traffic.", "example": true }, "fallbackPersistence": { "type": "string", "description": "Persistence profile to use when the primary persistence method fails.", "example": "/Common/source_addr" }, "gtmScore": { "type": "integer", "description": "Score value used by Global Traffic Manager for load balancing decisions.", "default": 0, "example": 10 }, "ipProtocol": { "type": "string", "description": "IP protocol for the virtual server.", "enum": [ "tcp", "udp", "sctp", "any" ], "example": "tcp" }, "mask": { "type": "string", "description": "Network mask for the destination address. Use 255.255.255.255 for host-specific virtual servers.", "example": "255.255.255.255" }, "mirror": { "type": "string", "description": "Whether connection and persistence mirroring is enabled for high availability failover.", "enum": [ "enabled", "disabled" ], "default": "disabled", "example": "enabled" }, "nat64": { "type": "string", "description": "Whether NAT64 translation is enabled.", "enum": [ "enabled", "disabled" ], "default": "disabled", "example": "enabled" }, "partition": { "type": "string", "description": "Administrative partition containing this resource.", "default": "Common", "example": "Common" }, "persist": { "type": "array", "description": "Persistence profiles applied to the virtual server.", "items": { "type": "object", "properties": { "name": { "type": "string", "example": "cookie" }, "tmDefault": { "type": "string", "enum": [ "yes", "no" ] } } }, "example": [] }, "pool": { "type": "string", "description": "Default pool for directing traffic. Specified as a full path (e.g., /Common/my_pool).", "example": "/Common/my_pool" }, "profiles": { "type": "array", "description": "Profiles applied to the virtual server.", "items": { "type": "object", "properties": { "name": { "type": "string", "example": "http" }, "context": { "type": "string", "enum": [ "all", "clientside", "serverside" ], "example": "all" }, "fullPath": { "type": "string", "example": "/Common/http" } } }, "example": [] }, "rateLimit": { "type": "string", "description": "Maximum number of connections per second. A value of disabled or 0 means no limit.", "default": "disabled", "example": "example_value" }, "rateLimitMode": { "type": "string", "description": "Scope of rate limiting.", "enum": [ "object", "object-source", "object-destination", "object-source-destination" ], "default": "object", "example": "object" }, "rules": { "type": "array", "description": "iRules applied to the virtual server.", "items": { "type": "string" }, "example": [ "/Common/my_irule" ] }, "source": { "type": "string", "description": "Source address filter. Only connections from this network are accepted.", "default": "0.0.0.0/0", "example": "0.0.0.0/0" }, "sourcePort": { "type": "string", "description": "Source port translation behavior.", "enum": [ "preserve", "preserve-strict", "change" ], "default": "preserve", "example": "preserve" }, "synCookieStatus": { "type": "string", "description": "Current SYN Cookie protection status.", "readOnly": true, "enum": [ "not-activated", "activated" ], "example": "not-activated" }, "translateAddress": { "type": "string", "description": "Whether address translation is enabled.", "enum": [ "enabled", "disabled" ], "default": "enabled", "example": "enabled" }, "translatePort": { "type": "string", "description": "Whether port translation is enabled.", "enum": [ "enabled", "disabled" ], "default": "enabled", "example": "enabled" }, "vlansEnabled": { "type": "boolean", "description": "Whether VLAN filtering is enabled.", "example": true }, "vlansDisabled": { "type": "boolean", "description": "Whether the virtual server is disabled on listed VLANs.", "example": true }, "vlans": { "type": "array", "description": "List of VLANs on which the virtual server is enabled or disabled.", "items": { "type": "string" }, "example": [ "/Common/external" ] }, "vsIndex": { "type": "integer", "description": "System-assigned index for the virtual server.", "readOnly": true, "example": 10 } } }