Create Load Balancer Virtual Server With Rules
It is used to create virtual servers, the associated rules and bind the rules to the virtual server. To add new rules, make sure the rules which have no identifier specified, the new rules are automatically generated and associated to the virtual server. If the virtual server need to consume some existed rules without change, those rules should not be specified in this array, otherwise, the rules are updated.
Use the following Policy API -
PATCH /policy/api/v1/infra/lb-virtual-servers/<lb-virtual-server-id>
Show optional properties
{
"virtual_server": {}
}
{
"rules": [
{
"_links": [
{
"action": "string",
"href": "string",
"rel": "string"
}
],
"_schema": "string",
"_self": {},
"_revision": 0,
"_create_time": 0,
"_create_user": "string",
"_last_modified_time": 0,
"_last_modified_user": "string",
"_protection": "string",
"_system_owned": false,
"description": "string",
"display_name": "string",
"id": "string",
"resource_type": "string",
"tags": [
{
"scope": "string",
"tag": "string"
}
],
"actions": [
{
"type": "string"
}
],
"match_conditions": [
{
"inverse": false,
"type": "string"
}
],
"match_strategy": "string",
"phase": "string"
}
],
"virtual_server": {
"access_list_control": {
"action": "string",
"enabled": false,
"group_id": "string"
},
"access_log_enabled": false,
"application_profile_id": "string",
"client_ssl_profile_binding": {
"certificate_chain_depth": 0,
"client_auth": "string",
"client_auth_ca_ids": [
"string"
],
"client_auth_crl_ids": [
"string"
],
"default_certificate_id": "string",
"sni_certificate_ids": [
"string"
],
"ssl_profile_id": "string"
},
"default_pool_member_port": "string",
"default_pool_member_ports": [
"string"
],
"enabled": false,
"ip_address": "string",
"ip_protocol": "string",
"log_significant_event_only": false,
"max_concurrent_connections": 0,
"max_new_connection_rate": 0,
"persistence_profile_id": "string",
"pool_id": "string",
"port": "string",
"ports": [
"string"
],
"rule_ids": [
"string"
],
"server_ssl_profile_binding": {
"certificate_chain_depth": 0,
"client_certificate_id": "string",
"server_auth": "string",
"server_auth_ca_ids": [
"string"
],
"server_auth_crl_ids": [
"string"
],
"ssl_profile_id": "string"
},
"sorry_pool_id": "string"
}
}
Created
"LbVirtualServerWithRule Object"
It is used to add rules, update rules and bind rules to the virtual server. To add new rules, make sure that the rules have no identifier specified, the new rules are automatically generated and associated to the virtual server. If the virtual server need to consume some existed rules without change, those rules should not be specified in the list, otherwise, the rules are updated. For update_with_rules action, it supports rules delete and update. To delete old rules, the rules should not be configured in new action, the UUID of deleted rules should be removed from rule_ids. To update rules, the rules should be specified with new change and configured with identifier. If there are some rules which are not modified, those rule should not be specified in the rules list, the UUID list of rules should be specified in rule_ids of LbVirtualServer. The property is deprecated as NSX-T Load Balancer is deprecated.
virtual_server
curl -X POST -H 'Authorization: <value>' -H 'Content-Type: application/json' -d '{"virtual_server":"{}"}' https://{api_host}/api/v1/loadbalancer/virtual-servers?action=create_with_rules