LBVirtualServer
All the types of LBVirtualServer extend from this abstract class. This is present for extensibility.
Properties
Timestamp of resource creation
ID of the user who created this resource
Timestamp of last modification
ID of the user who last modified this resource
The server will populate this field when returing the resource. Ignored on PUT and POST.
Protection status is one of the following: PROTECTED - the client who retrieved the entity is not allowed to modify it. NOT_PROTECTED - the client who retrieved the entity is allowed to modify it REQUIRE_OVERRIDE - the client who retrieved the entity is a super user and can modify it, but only when providing the request header X-Allow-Overwrite=true. UNKNOWN - the _protection field could not be determined for this entity.
The _revision property describes the current revision of the resource. To prevent clients from overwriting each other’s changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.
Schema for this resource
Indicates system owned resource
If access log is enabled, all HTTP requests sent to an L7 virtual server are logged to the access log file. Both successful requests (backend server returns 2xx) and unsuccessful requests (backend server returns 4xx or 5xx) are logged to access log, if enabled.
The application profile defines the application protocol characteristics. It is used to influence how load balancing is performed. Currently, LBFastTCPProfile, LBFastUDPProfile and LBHttpProfile, etc are supported.
subtree for this type within policy tree containing nested elements.
The setting is used when load balancer acts as an SSL server and terminating the client SSL connection
Default pool member ports when member port is not defined.
Description of this resource
Defaults to ID if not set
Flag to enable the load balancer virtual server.
Unique identifier of this resource
Configures the IP address of the LBVirtualServer where it receives all client connections and distributes them among the backend servers.
Path to optional object that enables persistence on a virtual server allowing related client connections to be sent to the same backend server. Persistence is disabled by default.
virtual servers can be associated to LBService(which is similar to physical/virtual load balancer), LB virtual servers, pools and other entities could be defined independently, the LBService identifier list here would be used to maintain the relationship of LBService and other LB entities.
Intent objects are not directly deleted from the system when a delete is invoked on them. They are marked for deletion and only when all the realized entities for that intent object gets deleted, the intent object is deleted. Objects that are marked for deletion are not returned in GET call. One can use the search API to get these objects.
To ensure one virtual server does not over consume resources, affecting other applications hosted on the same LBS, connections to a virtual server can be capped. If it is not specified, it means that connections are unlimited.
To ensure one virtual server does not over consume resources, connections to a member can be rate limited. If it is not specified, it means that connection rate is unlimited.
Path of its parent
Absolute path of this object
The server pool(LBPool) contains backend servers. Server pool consists of one or more servers, also referred to as pool members, that are similarly configured and are running the same application.
Ports contains a list of at least one port or port range such as “80”, “1234-1236”. Each port element in the list should be a single port or a single port range.
Path relative from its parent
The type of this resource.
Load balancer rules allow customization of load balancing behavior using match/action rules. Currently, load balancer rules are supported for only layer 7 virtual servers with LBHttpProfile.
The setting is used when load balancer acts as an SSL client and establishing a connection to the backend server.
When load balancer can not select a backend server to serve the request in default pool or pool in rules, the request would be served by sorry server pool.
JSON Example
{
"_create_time": 0,
"_create_user": "string",
"_last_modified_time": 0,
"_last_modified_user": "string",
"_links": [
{
"action": "string",
"href": "string",
"rel": "string"
}
],
"_protection": "string",
"_revision": 0,
"_schema": "string",
"_self": {
"action": "string",
"href": "string",
"rel": "string"
},
"_system_owned": false,
"access_log_enabled": false,
"application_profile_path": "string",
"children": [
{
"_create_time": 0,
"_create_user": "string",
"_last_modified_time": 0,
"_last_modified_user": "string",
"_links": [
{
"action": "string",
"href": "string",
"rel": "string"
}
],
"_protection": "string",
"_revision": 0,
"_schema": "string",
"_self": {
"action": "string",
"href": "string",
"rel": "string"
},
"_system_owned": false,
"description": "string",
"display_name": "string",
"id": "string",
"marked_for_delete": false,
"resource_type": "string",
"tags": [
{
"scope": "string",
"tag": "string"
}
]
}
],
"client_ssl_profile_binding": {
"certificate_chain_depth": 0,
"client_auth": "string",
"client_auth_ca_paths": [
"string"
],
"client_auth_crl_paths": [
"string"
],
"default_certificate_path": "string",
"sni_certificate_paths": [
"string"
],
"ssl_profile_path": "string"
},
"default_pool_member_ports": [
"string"
],
"description": "string",
"display_name": "string",
"enabled": false,
"id": "string",
"ip_address": "string",
"lb_persistence_profile_path": "string",
"lb_service_path": "string",
"marked_for_delete": false,
"max_concurrent_connections": 0,
"max_new_connection_rate": 0,
"parent_path": "string",
"path": "string",
"pool_path": "string",
"ports": [
"string"
],
"relative_path": "string",
"resource_type": "string",
"rules": [
{
"actions": [
{
"type": "string"
}
],
"display_name": "string",
"match_conditions": [
{
"inverse": false,
"type": "string"
}
],
"match_strategy": "string",
"phase": "string"
}
],
"server_ssl_profile_binding": {
"certificate_chain_depth": 0,
"client_certificate_path": "string",
"server_auth": "string",
"server_auth_ca_paths": [
"string"
],
"server_auth_crl_paths": [
"string"
],
"ssl_profile_path": "string"
},
"sorry_pool_path": "string",
"tags": [
{
"scope": "string",
"tag": "string"
}
]
}