Package com.vmware.nsx_policy.model
Class LBVirtualServer.Builder
- java.lang.Object
-
- com.vmware.nsx_policy.model.LBVirtualServer.Builder
-
- Enclosing class:
- LBVirtualServer
public static final class LBVirtualServer.Builder extends java.lang.Object
Builder class forLBVirtualServer
.
-
-
Constructor Summary
Constructors Constructor Description Builder()
Constructor with parameters for the required properties ofLBVirtualServer
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LBVirtualServer
build()
LBVirtualServer.Builder
setAccessListControl(LBAccessListControl accessListControl)
LBVirtualServer.Builder
setAccessLogEnabled(java.lang.Boolean accessLogEnabled)
If access log is enabled, all HTTP requests sent to L7 virtual server are logged to the access log file.LBVirtualServer.Builder
setApplicationProfilePath(java.lang.String applicationProfilePath)
The application profile defines the application protocol characteristics.LBVirtualServer.Builder
setChildren(java.util.List<com.vmware.vapi.bindings.Structure> children)
Subtree for this type within policy tree containing nested elements.LBVirtualServer.Builder
setClientSslProfileBinding(LBClientSslProfileBinding clientSslProfileBinding)
LBVirtualServer.Builder
setCreateTime(java.lang.Long createTime)
Timestamp of resource creation format: int64 This property may be present in responses from the server, but if it is present in a request to server it will be ignored.LBVirtualServer.Builder
setCreateUser(java.lang.String createUser)
ID of the user who created this resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.LBVirtualServer.Builder
setDefaultPoolMemberPorts(java.util.List<java.lang.String> defaultPoolMemberPorts)
Default pool member ports when member port is not defined.LBVirtualServer.Builder
setDescription(java.lang.String description)
Description of this resourceLBVirtualServer.Builder
setDisplayName(java.lang.String displayName)
Defaults to ID if not setLBVirtualServer.Builder
setEnabled(java.lang.Boolean enabled)
Flag to enable the load balancer virtual server.LBVirtualServer.Builder
setId(java.lang.String id)
Unique identifier of this resourceLBVirtualServer.Builder
setIpAddress(java.lang.String ipAddress)
Configures the IP address of the LBVirtualServer where it receives all client connections and distributes them among the backend servers.LBVirtualServer.Builder
setLastModifiedTime(java.lang.Long lastModifiedTime)
Timestamp of last modification format: int64 This property may be present in responses from the server, but if it is present in a request to server it will be ignored.LBVirtualServer.Builder
setLastModifiedUser(java.lang.String lastModifiedUser)
ID of the user who last modified this resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.LBVirtualServer.Builder
setLbPersistenceProfilePath(java.lang.String lbPersistenceProfilePath)
Path to optional object that enables persistence on a virtual server allowing related client connections to be sent to the same backend server.LBVirtualServer.Builder
setLbServicePath(java.lang.String lbServicePath)
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.LBVirtualServer.Builder
setLinks(java.util.List<ResourceLink> links)
The server will populate this field when returing the resource.LBVirtualServer.Builder
setLogSignificantEventOnly(java.lang.Boolean logSignificantEventOnly)
The property log_significant_event_only can take effect only when access_log_enabled is true.LBVirtualServer.Builder
setMarkedForDelete(java.lang.Boolean markedForDelete)
Intent objects are not directly deleted from the system when a delete is invoked on them.LBVirtualServer.Builder
setMaxConcurrentConnections(java.lang.Long maxConcurrentConnections)
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.LBVirtualServer.Builder
setMaxNewConnectionRate(java.lang.Long maxNewConnectionRate)
To ensure one virtual server does not over consume resources, connections to a member can be rate limited.LBVirtualServer.Builder
setOriginSiteId(java.lang.String originSiteId)
This is a UUID generated by the system for knowing which site owns an object.LBVirtualServer.Builder
setOverridden(java.lang.Boolean overridden)
Global intent objects cannot be modified by the user.LBVirtualServer.Builder
setOwnerId(java.lang.String ownerId)
This is a UUID generated by the system for knowing who owns this object.LBVirtualServer.Builder
setParentPath(java.lang.String parentPath)
Path of its parent This property may be present in responses from the server, but if it is present in a request to server it will be ignored.LBVirtualServer.Builder
setPath(java.lang.String path)
Absolute path of this object This property may be present in responses from the server, but if it is present in a request to server it will be ignored.LBVirtualServer.Builder
setPoolPath(java.lang.String poolPath)
The server pool(LBPool) contains backend servers.LBVirtualServer.Builder
setPorts(java.util.List<java.lang.String> ports)
Ports contains a list of at least one port or port range such as \"80\", \"1234-1236\".LBVirtualServer.Builder
setProtection(java.lang.String protection)
Protection status is one of the following: PROTECTED - the client who retrieved the entity is not allowed to modify it.LBVirtualServer.Builder
setRealizationId(java.lang.String realizationId)
This is a UUID generated by the system for realizing the entity object.LBVirtualServer.Builder
setRelativePath(java.lang.String relativePath)
Path relative from its parent This property may be present in responses from the server, but if it is present in a request to server it will be ignored.LBVirtualServer.Builder
setRemotePath(java.lang.String remotePath)
This is the path of the object on the local managers when queried on the NSX+ service, and path of the object on NSX+ service when queried from the local managers.LBVirtualServer.Builder
setResourceType(java.lang.String resourceType)
The type of this resource.LBVirtualServer.Builder
setRevision(java.lang.Long revision)
The _revision property describes the current revision of the resource.LBVirtualServer.Builder
setRules(java.util.List<LBRule> rules)
Load balancer rules allow customization of load balancing behavior using match/action rules.LBVirtualServer.Builder
setSchema(java.lang.String schema)
Schema for this resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.LBVirtualServer.Builder
setSelf(SelfResourceLink self)
LBVirtualServer.Builder
setServerSslProfileBinding(LBServerSslProfileBinding serverSslProfileBinding)
LBVirtualServer.Builder
setSorryPoolPath(java.lang.String sorryPoolPath)
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.LBVirtualServer.Builder
setSystemOwned(java.lang.Boolean systemOwned)
Indicates system owned resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.LBVirtualServer.Builder
setTags(java.util.List<Tag> tags)
Opaque identifiers meaningful to the API userLBVirtualServer.Builder
setUniqueId(java.lang.String uniqueId)
This is a UUID generated by the GM/LM to uniquely identify entities in a federated environment.
-
-
-
Constructor Detail
-
Builder
public Builder()
Constructor with parameters for the required properties ofLBVirtualServer
.
-
-
Method Detail
-
setLinks
public LBVirtualServer.Builder setLinks(java.util.List<ResourceLink> links)
The server will populate this field when returing the resource. Ignored on PUT and POST. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
links
- New value for the property.
-
setSchema
public LBVirtualServer.Builder setSchema(java.lang.String schema)
Schema for this resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
schema
- New value for the property.
-
setSelf
public LBVirtualServer.Builder setSelf(SelfResourceLink self)
- Parameters:
self
- New value for the property.
-
setRevision
public LBVirtualServer.Builder setRevision(java.lang.Long revision)
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. format: int32- Parameters:
revision
- New value for the property.
-
setCreateTime
public LBVirtualServer.Builder setCreateTime(java.lang.Long createTime)
Timestamp of resource creation format: int64 This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
createTime
- New value for the property.
-
setCreateUser
public LBVirtualServer.Builder setCreateUser(java.lang.String createUser)
ID of the user who created this resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
createUser
- New value for the property.
-
setLastModifiedTime
public LBVirtualServer.Builder setLastModifiedTime(java.lang.Long lastModifiedTime)
Timestamp of last modification format: int64 This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
lastModifiedTime
- New value for the property.
-
setLastModifiedUser
public LBVirtualServer.Builder setLastModifiedUser(java.lang.String lastModifiedUser)
ID of the user who last modified this resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
lastModifiedUser
- New value for the property.
-
setProtection
public LBVirtualServer.Builder setProtection(java.lang.String protection)
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. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
protection
- New value for the property.
-
setSystemOwned
public LBVirtualServer.Builder setSystemOwned(java.lang.Boolean systemOwned)
Indicates system owned resource This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
systemOwned
- New value for the property.
-
setDescription
public LBVirtualServer.Builder setDescription(java.lang.String description)
Description of this resource- Parameters:
description
- New value for the property.
-
setDisplayName
public LBVirtualServer.Builder setDisplayName(java.lang.String displayName)
Defaults to ID if not set- Parameters:
displayName
- New value for the property.
-
setId
public LBVirtualServer.Builder setId(java.lang.String id)
Unique identifier of this resource- Parameters:
id
- New value for the property.
-
setResourceType
public LBVirtualServer.Builder setResourceType(java.lang.String resourceType)
The type of this resource.- Parameters:
resourceType
- New value for the property.
-
setTags
public LBVirtualServer.Builder setTags(java.util.List<Tag> tags)
Opaque identifiers meaningful to the API user- Parameters:
tags
- New value for the property.
-
setOriginSiteId
public LBVirtualServer.Builder setOriginSiteId(java.lang.String originSiteId)
This is a UUID generated by the system for knowing which site owns an object. This is used in NSX+. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
originSiteId
- New value for the property.
-
setOwnerId
public LBVirtualServer.Builder setOwnerId(java.lang.String ownerId)
This is a UUID generated by the system for knowing who owns this object. This is used in NSX+. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
ownerId
- New value for the property.
-
setParentPath
public LBVirtualServer.Builder setParentPath(java.lang.String parentPath)
Path of its parent This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
parentPath
- New value for the property.
-
setPath
public LBVirtualServer.Builder setPath(java.lang.String path)
Absolute path of this object This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
path
- New value for the property.
-
setRealizationId
public LBVirtualServer.Builder setRealizationId(java.lang.String realizationId)
This is a UUID generated by the system for realizing the entity object. In most cases this should be same as 'unique_id' of the entity. However, in some cases this can be different because of entities have migrated their unique identifier to NSX Policy intent objects later in the timeline and did not use unique_id for realization. Realization id is helpful for users to debug data path to correlate the configuration with corresponding intent. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
realizationId
- New value for the property.
-
setRelativePath
public LBVirtualServer.Builder setRelativePath(java.lang.String relativePath)
Path relative from its parent This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
relativePath
- New value for the property.
-
setRemotePath
public LBVirtualServer.Builder setRemotePath(java.lang.String remotePath)
This is the path of the object on the local managers when queried on the NSX+ service, and path of the object on NSX+ service when queried from the local managers. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
remotePath
- New value for the property.
-
setUniqueId
public LBVirtualServer.Builder setUniqueId(java.lang.String uniqueId)
This is a UUID generated by the GM/LM to uniquely identify entities in a federated environment. For entities that are stretched across multiple sites, the same ID will be used on all the stretched sites. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
uniqueId
- New value for the property.
-
setChildren
public LBVirtualServer.Builder setChildren(java.util.List<com.vmware.vapi.bindings.Structure> children)
Subtree for this type within policy tree containing nested elements. Note that this type is applicable to be used in Hierarchical API only.- Parameters:
children
- New value for the property. When clients pass a value of this class as a parameter, the property must contain all the properties defined inChildPolicyConfigResource
. When methods return a value of this class as a return value, the property will contain all the properties defined inChildPolicyConfigResource
.
-
setMarkedForDelete
public LBVirtualServer.Builder setMarkedForDelete(java.lang.Boolean markedForDelete)
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. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
markedForDelete
- New value for the property.
-
setOverridden
public LBVirtualServer.Builder setOverridden(java.lang.Boolean overridden)
Global intent objects cannot be modified by the user. However, certain global intent objects can be overridden locally by use of this property. In such cases, the overridden local values take precedence over the globally defined values for the properties. This property may be present in responses from the server, but if it is present in a request to server it will be ignored.- Parameters:
overridden
- New value for the property.
-
setAccessListControl
public LBVirtualServer.Builder setAccessListControl(LBAccessListControl accessListControl)
- Parameters:
accessListControl
- New value for the property.
-
setAccessLogEnabled
public LBVirtualServer.Builder setAccessLogEnabled(java.lang.Boolean accessLogEnabled)
If access log is enabled, all HTTP requests sent to L7 virtual server are logged to the access log file. Both successful returns information responses(1xx), successful responses(2xx), redirection messages(3xx) and unsuccessful requests, backend server returns 4xx or 5xx, are logged to access log, if enabled. All L4 virtual server connections are also logged to the access log if enabled. The non-significant events such as successful requests are not logged if log_significant_event_only is set to true.- Parameters:
accessLogEnabled
- New value for the property.
-
setApplicationProfilePath
public LBVirtualServer.Builder setApplicationProfilePath(java.lang.String applicationProfilePath)
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.- Parameters:
applicationProfilePath
- New value for the property.
-
setClientSslProfileBinding
public LBVirtualServer.Builder setClientSslProfileBinding(LBClientSslProfileBinding clientSslProfileBinding)
- Parameters:
clientSslProfileBinding
- New value for the property.
-
setDefaultPoolMemberPorts
public LBVirtualServer.Builder setDefaultPoolMemberPorts(java.util.List<java.lang.String> defaultPoolMemberPorts)
Default pool member ports when member port is not defined. format: port-or-range- Parameters:
defaultPoolMemberPorts
- New value for the property.
-
setEnabled
public LBVirtualServer.Builder setEnabled(java.lang.Boolean enabled)
Flag to enable the load balancer virtual server.- Parameters:
enabled
- New value for the property.
-
setIpAddress
public LBVirtualServer.Builder setIpAddress(java.lang.String ipAddress)
Configures the IP address of the LBVirtualServer where it receives all client connections and distributes them among the backend servers. format: ip- Parameters:
ipAddress
- New value for the property.
-
setLbPersistenceProfilePath
public LBVirtualServer.Builder setLbPersistenceProfilePath(java.lang.String lbPersistenceProfilePath)
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 deactivated by default.- Parameters:
lbPersistenceProfilePath
- New value for the property.
-
setLbServicePath
public LBVirtualServer.Builder setLbServicePath(java.lang.String lbServicePath)
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.- Parameters:
lbServicePath
- New value for the property.
-
setLogSignificantEventOnly
public LBVirtualServer.Builder setLogSignificantEventOnly(java.lang.Boolean logSignificantEventOnly)
The property log_significant_event_only can take effect only when access_log_enabled is true. If log_significant_event_only is true, significant events are logged in access log. For L4 virtual server, significant event means unsuccessful(error or dropped) TCP/UDP connections. For L7 virtual server, significant event means unsuccessful connections or HTTP/HTTPS requests which have error response code(e.g. 4xx, 5xx).- Parameters:
logSignificantEventOnly
- New value for the property.
-
setMaxConcurrentConnections
public LBVirtualServer.Builder setMaxConcurrentConnections(java.lang.Long maxConcurrentConnections)
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. The property is deprecated as NSX-T Load Balancer is deprecated. format: int64- Parameters:
maxConcurrentConnections
- New value for the property.
-
setMaxNewConnectionRate
public LBVirtualServer.Builder setMaxNewConnectionRate(java.lang.Long maxNewConnectionRate)
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. The property is deprecated as NSX-T Load Balancer is deprecated. format: int64- Parameters:
maxNewConnectionRate
- New value for the property.
-
setPoolPath
public LBVirtualServer.Builder setPoolPath(java.lang.String poolPath)
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.- Parameters:
poolPath
- New value for the property.
-
setPorts
public LBVirtualServer.Builder setPorts(java.util.List<java.lang.String> ports)
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. format: port-or-range- Parameters:
ports
- New value for the property.
-
setRules
public LBVirtualServer.Builder setRules(java.util.List<LBRule> rules)
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 property is deprecated as NSX-T Load Balancer is deprecated.- Parameters:
rules
- New value for the property.
-
setServerSslProfileBinding
public LBVirtualServer.Builder setServerSslProfileBinding(LBServerSslProfileBinding serverSslProfileBinding)
- Parameters:
serverSslProfileBinding
- New value for the property.
-
setSorryPoolPath
public LBVirtualServer.Builder setSorryPoolPath(java.lang.String sorryPoolPath)
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. The property is deprecated as NSX-T Load Balancer is deprecated.- Parameters:
sorryPoolPath
- New value for the property.
-
build
public LBVirtualServer build()
-
-