Class NetworkLoadBalancer


  • @Generated(value="OracleSDKGenerator",
               comments="API Version: 20200501")
    public final class NetworkLoadBalancer
    extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
    The properties that define a network load balancer.

    For more information, see Introduction to Network Load Balancer.

    To use any of the API operations, you must be authorized in an IAM policy. If you are not authorized, contact an administrator. If you are an administrator who writes policies to give users access, then see [Getting Started with Policies](https://docs.oracle.com/iaas/Content/Identity/Concepts/policygetstarted.htm).

    For information about endpoints and signing API requests, see [About the API](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm). For information about available SDKs and tools, see [SDKS and Other Tools](https://docs.oracle.com/iaas/Content/API/Concepts/sdks.htm).
    Note: Objects should always be created or deserialized using the NetworkLoadBalancer.Builder. This model distinguishes fields that are null because they are unset from fields that are explicitly set to null. This is done in the setter methods of the NetworkLoadBalancer.Builder, which maintain a set of all explicitly set fields called NetworkLoadBalancer.Builder.__explicitlySet__. The hashCode() and equals(Object) methods are implemented to take the explicitly set fields into account. The constructor, on the other hand, does not take the explicitly set fields into account (since the constructor cannot distinguish explicit null from unset null).

    • Method Detail

      • getId

        public String getId()
        The OCID of the network load balancer.
        Returns:
        the value
      • getCompartmentId

        public String getCompartmentId()
        The OCID of the compartment containing the network load balancer.
        Returns:
        the value
      • getDisplayName

        public String getDisplayName()
        A user-friendly name, which does not have to be unique, and can be changed.

        Example: example_load_balancer

        Returns:
        the value
      • getLifecycleState

        public LifecycleState getLifecycleState()
        The current state of the network load balancer.
        Returns:
        the value
      • getLifecycleDetails

        public String getLifecycleDetails()
        A message describing the current state in more detail.

        For example, can be used to provide actionable information for a resource in Failed state.

        Returns:
        the value
      • getNlbIpVersion

        public NlbIpVersion getNlbIpVersion()
        IP version associated with the NLB.
        Returns:
        the value
      • getTimeCreated

        public Date getTimeCreated()
        The date and time the network load balancer was created, in the format defined by RFC3339.

        Example: 2020-05-01T21:10:29.600Z

        Returns:
        the value
      • getTimeUpdated

        public Date getTimeUpdated()
        The time the network load balancer was updated.

        An RFC3339 formatted date-time string.

        Example: 2020-05-01T22:10:29.600Z

        Returns:
        the value
      • getIpAddresses

        public List<IpAddress> getIpAddresses()
        An array of IP addresses.
        Returns:
        the value
      • getIsPrivate

        public Boolean getIsPrivate()
        Whether the network load balancer has a virtual cloud network-local (private) IP address.

        If "true", then the service assigns a private IP address to the network load balancer.

        If "false", then the service assigns a public IP address to the network load balancer.

        A public network load balancer is accessible from the internet, depending the [security list rules](https://docs.oracle.com/iaas/Content/network/Concepts/securitylists.htm) for your virtual cloudn network. For more information about public and private network load balancers, see [Network Load Balancer Types](https://docs.oracle.com/iaas/Content/NetworkLoadBalancer/introduction.htm#NetworkLoadBalancerTypes). This value is true by default.

        Example: true

        Returns:
        the value
      • getIsPreserveSourceDestination

        public Boolean getIsPreserveSourceDestination()
        When enabled, the skipSourceDestinationCheck parameter is automatically enabled on the load balancer VNIC.

        Packets are sent to the backend set without any changes to the source and destination IP.

        Returns:
        the value
      • getIsSymmetricHashEnabled

        public Boolean getIsSymmetricHashEnabled()
        This can only be enabled when NLB is working in transparent mode with source destination header preservation enabled.

        This removes the additional dependency from NLB backends(like Firewalls) to perform SNAT.

        Returns:
        the value
      • getSubnetId

        public String getSubnetId()
        The subnet in which the network load balancer is spawned OCIDs.
        Returns:
        the value
      • getNetworkSecurityGroupIds

        public List<String> getNetworkSecurityGroupIds()
        An array of network security groups OCIDs associated with the network load balancer.

        During the creation of the network load balancer, the service adds the new load balancer to the specified network security groups.

        The benefits of associating the network load balancer with network security groups include:

        Network security groups define network security rules to govern ingress and egress traffic for the network load balancer.

        The network security rules of other resources can reference the network security groups associated with the network load balancer to ensure access.

        Example: ["ocid1.nsg.oc1.phx.unique_ID"]

        Returns:
        the value
      • getListeners

        public Map<String,​Listener> getListeners()
        Listeners associated with the network load balancer.
        Returns:
        the value
      • getBackendSets

        public Map<String,​BackendSet> getBackendSets()
        Backend sets associated with the network load balancer.
        Returns:
        the value
      • getFreeformTags

        public Map<String,​String> getFreeformTags()
        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"}

        Returns:
        the value
      • getSecurityAttributes

        public Map<String,​Map<String,​Object>> getSecurityAttributes()
        ZPR 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: { "oracle-zpr": { "td": { "value": "42", "mode": "audit" } } }

        Returns:
        the value
      • getDefinedTags

        public Map<String,​Map<String,​Object>> getDefinedTags()
        Defined tags for this resource.

        Each key is predefined and scoped to a namespace. For more information, see Resource Tags.

        Example: {"Operations": {"CostCenter": "42"}}

        Returns:
        the value
      • getSystemTags

        public Map<String,​Map<String,​Object>> getSystemTags()
        Key-value pair representing system tags’ keys and values scoped to a namespace.

        Example: {“bar-key”: “value”}

        Returns:
        the value
      • toString

        public String toString()
        Overrides:
        toString in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
      • toString

        public String toString​(boolean includeByteArrayContents)
        Return a string representation of the object.
        Parameters:
        includeByteArrayContents - true to include the full contents of byte arrays
        Returns:
        string representation
      • equals

        public boolean equals​(Object o)
        Overrides:
        equals in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel