Class LoadBalancer.Builder
- java.lang.Object
-
- com.oracle.bmc.loadbalancer.model.LoadBalancer.Builder
-
- Enclosing class:
- LoadBalancer
public static class LoadBalancer.Builder extends Object
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LoadBalancer.Builder
backendSets(Map<String,BackendSet> backendSets)
LoadBalancer
build()
LoadBalancer.Builder
certificates(Map<String,Certificate> certificates)
LoadBalancer.Builder
compartmentId(String compartmentId)
The OCID of the compartment containing the load balancer.LoadBalancer.Builder
copy(LoadBalancer model)
LoadBalancer.Builder
definedTags(Map<String,Map<String,Object>> definedTags)
Defined tags for this resource.LoadBalancer.Builder
displayName(String displayName)
A user-friendly name.LoadBalancer.Builder
freeformTags(Map<String,String> freeformTags)
Free-form tags for this resource.LoadBalancer.Builder
hostnames(Map<String,Hostname> hostnames)
LoadBalancer.Builder
id(String id)
The OCID of the load balancer.LoadBalancer.Builder
ipAddresses(List<IpAddress> ipAddresses)
An array of IP addresses.LoadBalancer.Builder
isDeleteProtectionEnabled(Boolean isDeleteProtectionEnabled)
Whether or not the load balancer has delete protection enabled.LoadBalancer.Builder
isPrivate(Boolean isPrivate)
Whether the load balancer has a VCN-local (private) IP address.LoadBalancer.Builder
isRequestIdEnabled(Boolean isRequestIdEnabled)
Whether or not the load balancer has the Request Id feature enabled for HTTP listeners.LoadBalancer.Builder
lifecycleState(LoadBalancer.LifecycleState lifecycleState)
The current state of the load balancer.LoadBalancer.Builder
listeners(Map<String,Listener> listeners)
LoadBalancer.Builder
networkSecurityGroupIds(List<String> networkSecurityGroupIds)
An array of NSG OCIDs associated with the load balancer.LoadBalancer.Builder
pathRouteSets(Map<String,PathRouteSet> pathRouteSets)
LoadBalancer.Builder
requestIdHeader(String requestIdHeader)
If isRequestIdEnabled is true then this field contains the name of the header field that contains the unique request id that is attached to every request from the load balancer to the load balancer backends and to every response from the load balancer.LoadBalancer.Builder
routingPolicies(Map<String,RoutingPolicy> routingPolicies)
LoadBalancer.Builder
ruleSets(Map<String,RuleSet> ruleSets)
LoadBalancer.Builder
securityAttributes(Map<String,Map<String,Object>> securityAttributes)
Extended Defined tags for ZPR for this resource.LoadBalancer.Builder
shapeDetails(ShapeDetails shapeDetails)
LoadBalancer.Builder
shapeName(String shapeName)
A template that determines the total pre-provisioned bandwidth (ingress plus egress).LoadBalancer.Builder
sslCipherSuites(Map<String,SSLCipherSuite> sslCipherSuites)
LoadBalancer.Builder
subnetIds(List<String> subnetIds)
An array of subnet OCIDs.LoadBalancer.Builder
systemTags(Map<String,Map<String,Object>> systemTags)
System tags for this resource.LoadBalancer.Builder
timeCreated(Date timeCreated)
The date and time the load balancer was created, in the format defined by RFC3339.
-
-
-
Method Detail
-
id
public LoadBalancer.Builder id(String id)
The OCID of the load balancer.- Parameters:
id
- the value to set- Returns:
- this builder
-
compartmentId
public LoadBalancer.Builder compartmentId(String compartmentId)
The OCID of the compartment containing the load balancer.- Parameters:
compartmentId
- the value to set- Returns:
- this builder
-
displayName
public LoadBalancer.Builder displayName(String displayName)
A user-friendly name.It does not have to be unique, and it is changeable.
Example: example_load_balancer
- Parameters:
displayName
- the value to set- Returns:
- this builder
-
lifecycleState
public LoadBalancer.Builder lifecycleState(LoadBalancer.LifecycleState lifecycleState)
The current state of the load balancer.- Parameters:
lifecycleState
- the value to set- Returns:
- this builder
-
timeCreated
public LoadBalancer.Builder timeCreated(Date timeCreated)
The date and time the load balancer was created, in the format defined by RFC3339.Example: 2016-08-25T21:10:29.600Z
- Parameters:
timeCreated
- the value to set- Returns:
- this builder
-
ipAddresses
public LoadBalancer.Builder ipAddresses(List<IpAddress> ipAddresses)
An array of IP addresses.- Parameters:
ipAddresses
- the value to set- Returns:
- this builder
-
shapeName
public LoadBalancer.Builder shapeName(String shapeName)
A template that determines the total pre-provisioned bandwidth (ingress plus egress).To get a list of available shapes, use the
listShapes
operation.Example: 100Mbps
- Parameters:
shapeName
- the value to set- Returns:
- this builder
-
shapeDetails
public LoadBalancer.Builder shapeDetails(ShapeDetails shapeDetails)
-
isPrivate
public LoadBalancer.Builder isPrivate(Boolean isPrivate)
Whether the load balancer has a VCN-local (private) IP address.If "true", the service assigns a private IP address to the load balancer.
If "false", the service assigns a public IP address to the load balancer.
A public load balancer is accessible from the internet, depending on your VCN's [security list rules](https://docs.oracle.com/iaas/Content/Network/Concepts/securitylists.htm). For more information about public and private load balancers, see [How Load Balancing Works](https://docs.oracle.com/iaas/Content/Balance/Concepts/balanceoverview.htm#how-load-balancing-works).
Example: true
- Parameters:
isPrivate
- the value to set- Returns:
- this builder
-
isDeleteProtectionEnabled
public LoadBalancer.Builder isDeleteProtectionEnabled(Boolean isDeleteProtectionEnabled)
Whether or not the load balancer has delete protection enabled.If "true", the loadbalancer will be protected against deletion if configured to accept traffic.
If "false", the loadbalancer will not be protected against deletion.
Delete protection is not be enabled unless this field is set to "true". Example: true
- Parameters:
isDeleteProtectionEnabled
- the value to set- Returns:
- this builder
-
isRequestIdEnabled
public LoadBalancer.Builder isRequestIdEnabled(Boolean isRequestIdEnabled)
Whether or not the load balancer has the Request Id feature enabled for HTTP listeners.If "true", the load balancer will attach a unique request id header to every request passed through from the load balancer to load balancer backends. This same request id header also will be added to the response the lb received from the backend handling the request before the load balancer returns the response to the requestor. The name of the unique request id header is set the by value of requestIdHeader.
If "false", the loadbalancer not add this unique request id header to either the request passed through to the load balancer backends nor to the reponse returned to the user.
Example: true
- Parameters:
isRequestIdEnabled
- the value to set- Returns:
- this builder
-
requestIdHeader
public LoadBalancer.Builder requestIdHeader(String requestIdHeader)
If isRequestIdEnabled is true then this field contains the name of the header field that contains the unique request id that is attached to every request from the load balancer to the load balancer backends and to every response from the load balancer.If a request to the load balancer already contains a header with same name as specified in requestIdHeader then the load balancer will not change the value of that field.
If this field is set to "" this field defaults to X-Request-Id.
- Parameters:
requestIdHeader
- the value to set- Returns:
- this builder
-
subnetIds
public LoadBalancer.Builder subnetIds(List<String> subnetIds)
An array of subnet OCIDs.- Parameters:
subnetIds
- the value to set- Returns:
- this builder
-
networkSecurityGroupIds
public LoadBalancer.Builder networkSecurityGroupIds(List<String> networkSecurityGroupIds)
An array of NSG OCIDs associated with the load balancer.During the load balancer's creation, the service adds the new load balancer to the specified NSGs.
The benefits of associating the load balancer with NSGs include:
NSGs define network security rules to govern ingress and egress traffic for the load balancer.
The network security rules of other resources can reference the NSGs associated with the load balancer to ensure access.
Example: ["ocid1.nsg.oc1.phx.unique_ID"]
- Parameters:
networkSecurityGroupIds
- the value to set- Returns:
- this builder
-
listeners
public LoadBalancer.Builder listeners(Map<String,Listener> listeners)
-
hostnames
public LoadBalancer.Builder hostnames(Map<String,Hostname> hostnames)
-
sslCipherSuites
public LoadBalancer.Builder sslCipherSuites(Map<String,SSLCipherSuite> sslCipherSuites)
-
certificates
public LoadBalancer.Builder certificates(Map<String,Certificate> certificates)
-
backendSets
public LoadBalancer.Builder backendSets(Map<String,BackendSet> backendSets)
-
pathRouteSets
public LoadBalancer.Builder pathRouteSets(Map<String,PathRouteSet> pathRouteSets)
-
freeformTags
public LoadBalancer.Builder freeformTags(Map<String,String> freeformTags)
Free-form tags for this resource.Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags.
Example: {"Department": "Finance"}
- Parameters:
freeformTags
- the value to set- Returns:
- this builder
-
definedTags
public LoadBalancer.Builder definedTags(Map<String,Map<String,Object>> definedTags)
Defined tags for this resource.Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
Example: {"Operations": {"CostCenter": "42"}}
- Parameters:
definedTags
- the value to set- Returns:
- this builder
-
securityAttributes
public LoadBalancer.Builder securityAttributes(Map<String,Map<String,Object>> securityAttributes)
Extended Defined tags for ZPR for this resource.Each key is predefined and scoped to a namespace.
Example: {"Oracle-ZPR": {"MaxEgressCount": {"value":"42","mode":"audit", "usagetype" : "zpr"}}}
- Parameters:
securityAttributes
- the value to set- Returns:
- this builder
-
systemTags
public LoadBalancer.Builder systemTags(Map<String,Map<String,Object>> systemTags)
System tags for this resource.Each key is predefined and scoped to a namespace. For more information, see Resource Tags. System tags can be viewed by users, but can only be created by the system.
Example: {"orcl-cloud": {"free-tier-retained": "true"}}
- Parameters:
systemTags
- the value to set- Returns:
- this builder
-
ruleSets
public LoadBalancer.Builder ruleSets(Map<String,RuleSet> ruleSets)
-
routingPolicies
public LoadBalancer.Builder routingPolicies(Map<String,RoutingPolicy> routingPolicies)
-
build
public LoadBalancer build()
-
copy
public LoadBalancer.Builder copy(LoadBalancer model)
-
-