Class CreateNetworkLoadBalancerDetails


  • @Generated(value="OracleSDKGenerator",
               comments="API Version: 20200501")
    public final class CreateNetworkLoadBalancerDetails
    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, then 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 CreateNetworkLoadBalancerDetails.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 CreateNetworkLoadBalancerDetails.Builder, which maintain a set of all explicitly set fields called CreateNetworkLoadBalancerDetails.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

      • getCompartmentId

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

        public String getDisplayName()
        Network load balancer identifier, which can be renamed.
        Returns:
        the value
      • getIsPreserveSourceDestination

        public Boolean getIsPreserveSourceDestination()
        This parameter can be enabled only if backends are compute OCIDs.

        When enabled, the skipSourceDestinationCheck parameter is automatically enabled on the load balancer VNIC, and packets are sent to the backend with the entire IP header intact.

        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
      • getReservedIps

        public List<ReservedIP> getReservedIps()
        An array of reserved Ips.
        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 on the [security list rules](https://docs.oracle.com/iaas/Content/network/Concepts/securitylists.htm) for your virtual cloud 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
      • 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
      • getNlbIpVersion

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

        public String getSubnetIpv6Cidr()
        IPv6 subnet prefix selection.

        If Ipv6 subnet prefix is passed, Nlb Ipv6 Address would be assign within the cidr block. NLB has to be dual or single stack ipv6 to support this.

        Returns:
        the value
      • getAssignedPrivateIpv4

        public String getAssignedPrivateIpv4()
        Private IP address to be assigned to the network load balancer being created.

        This IP address has to be in the CIDR range of the subnet where network load balancer is being created Example: “10.0.0.1”

        Returns:
        the value
      • getAssignedIpv6

        public String getAssignedIpv6()
        IPv6 address to be assigned to the network load balancer being created.

        This IP address has to be part of one of the prefixes supported by the subnet. Example: “2607:9b80:9a0a:9a7e:abcd:ef01:2345:6789”

        Returns:
        the value
      • getListeners

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

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

        public Map<String,​String> getFreeformTags()
        Simple key-value pair that is applied without any predefined name, type, or scope.

        Exists for cross-compatibility only. Example: {“bar-key”: “value”}

        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. Example: {“foo-namespace”: {“bar-key”: “value”}}

        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
      • 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