Class LoadBalancer


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

    For more information, see Managing a Load Balancer.

    To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized, talk to an administrator. If you're an administrator who needs to write policies to give users access, 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 LoadBalancer.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 LoadBalancer.Builder, which maintain a set of all explicitly set fields called LoadBalancer.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 load balancer.
        Returns:
        the value
      • getCompartmentId

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

        public String getDisplayName()
        A user-friendly name.

        It does not have to be unique, and it is changeable.

        Example: example_load_balancer

        Returns:
        the value
      • getLifecycleState

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

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

        Example: 2016-08-25T21:10:29.600Z

        Returns:
        the value
      • getIpAddresses

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

        public String getShapeName()
        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

        Returns:
        the value
      • getIsPrivate

        public Boolean getIsPrivate()
        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

        Returns:
        the value
      • getIsDeleteProtectionEnabled

        public Boolean getIsDeleteProtectionEnabled()
        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

        Returns:
        the value
      • getIsRequestIdEnabled

        public Boolean getIsRequestIdEnabled()
        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

        Returns:
        the value
      • getRequestIdHeader

        public String getRequestIdHeader()
        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.

        Returns:
        the value
      • getSubnetIds

        public List<String> getSubnetIds()
        An array of subnet OCIDs.
        Returns:
        the value
      • getNetworkSecurityGroupIds

        public List<String> getNetworkSecurityGroupIds()
        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"]

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

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

        Returns:
        the value
      • getSystemTags

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

        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