github.com/vmware/go-vmware-nsxt@v0.0.0-20230223012718-d31b8a1ca05e/loadbalancer/lb_virtual_server.go (about) 1 /* 2 * NSX API 3 * 4 * VMware NSX REST API 5 * 6 * API version: 1.0.0 7 * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 */ 9 10 package loadbalancer 11 12 import ( 13 "github.com/vmware/go-vmware-nsxt/common" 14 ) 15 16 type LbVirtualServer struct { 17 18 // The server will populate this field when returing the resource. Ignored on PUT and POST. 19 Links []common.ResourceLink `json:"_links,omitempty"` 20 21 // Schema for this resource 22 Schema string `json:"_schema,omitempty"` 23 24 // Link to this resource 25 Self *common.SelfResourceLink `json:"_self,omitempty"` 26 27 // 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. 28 Revision int32 `json:"_revision"` 29 30 // Timestamp of resource creation 31 CreateTime int64 `json:"_create_time,omitempty"` 32 33 // ID of the user who created this resource 34 CreateUser string `json:"_create_user,omitempty"` 35 36 // Timestamp of last modification 37 LastModifiedTime int64 `json:"_last_modified_time,omitempty"` 38 39 // ID of the user who last modified this resource 40 LastModifiedUser string `json:"_last_modified_user,omitempty"` 41 42 // 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. 43 Protection string `json:"_protection,omitempty"` 44 45 // Indicates system owned resource 46 SystemOwned bool `json:"_system_owned,omitempty"` 47 48 // Description of this resource 49 Description string `json:"description,omitempty"` 50 51 // Defaults to ID if not set 52 DisplayName string `json:"display_name,omitempty"` 53 54 // Unique identifier of this resource 55 Id string `json:"id,omitempty"` 56 57 // The type of this resource. 58 ResourceType string `json:"resource_type,omitempty"` 59 60 // Opaque identifiers meaningful to the API user 61 Tags []common.Tag `json:"tags,omitempty"` 62 63 // Whether access log is enabled 64 AccessLogEnabled bool `json:"access_log_enabled"` 65 66 // 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. 67 ApplicationProfileId string `json:"application_profile_id"` 68 69 // The setting is used when load balancer acts as an SSL server and terminating the client SSL connection 70 ClientSslProfileBinding *ClientSslProfileBinding `json:"client_ssl_profile_binding,omitempty"` 71 72 // Only L7 virtual server could be configured with customized client side TCP profile. 73 ClientTcpProfileId string `json:"client_tcp_profile_id,omitempty"` 74 75 // This is a deprecated property, please use 'default_pool_member_ports' instead. If default_pool_member_port is configured and default_pool_member_ports are not specified, both default_pool_member_port and default_pool_member_ports in response payload would return the same port value. If both are specified, default_pool_member_ports setting would take effect with higher priority. 76 DefaultPoolMemberPort string `json:"default_pool_member_port,omitempty"` 77 78 // If default_pool_member_ports are configured, both default_pool_member_port and default_pool_member_ports in the response payload would include port settings, notice that the value of default_pool_member_port is the first element of default_pool_member_ports. 79 DefaultPoolMemberPorts []string `json:"default_pool_member_ports,omitempty"` 80 81 // whether the virtual server is enabled 82 Enabled bool `json:"enabled"` 83 84 // virtual server IP address 85 IpAddress string `json:"ip_address"` 86 87 // Assigned Internet Protocol in IP header, TCP, UDP are supported. 88 IpProtocol string `json:"ip_protocol,omitempty"` 89 90 // 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. 91 MaxConcurrentConnections int64 `json:"max_concurrent_connections,omitempty"` 92 93 // 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. 94 MaxNewConnectionRate int64 `json:"max_new_connection_rate,omitempty"` 95 96 // Persistence profile is used to allow related client connections to be sent to the same backend server. 97 PersistenceProfileId string `json:"persistence_profile_id,omitempty"` 98 99 // 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. 100 PoolId string `json:"pool_id,omitempty"` 101 102 // This is a deprecated property, please use 'ports' instead. Port setting could be single port for both L7 mode and L4 mode. For L4 mode, a single port range is also supported. The port setting could be a single port or port range such as \"80\", \"1234-1236\". If port is configured and ports are not specified, both port and ports in response payload would return the same port value. If both port and ports are configured, ports setting would take effect with higher priority. 103 Port string `json:"port,omitempty"` 104 105 // Port setting could be a single port for both L7 mode and L4 mode. For L4 mode, multiple ports or port ranges are also supported such as \"80\", \"443\", \"1234-1236\". If ports is configured, both port and ports in the response payload would include port settings, notice that the port field value is the first element of ports. 106 Ports []string `json:"ports,omitempty"` 107 108 // 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. 109 RuleIds []string `json:"rule_ids,omitempty"` 110 111 // The setting is used when load balancer acts as an SSL client and establishing a connection to the backend server. 112 ServerSslProfileBinding *ServerSslProfileBinding `json:"server_ssl_profile_binding,omitempty"` 113 114 // Only L7 virtual server could be configured with customized server side TCP profile. 115 ServerTcpProfileId string `json:"server_tcp_profile_id,omitempty"` 116 117 // 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. 118 SorryPoolId string `json:"sorry_pool_id,omitempty"` 119 }