Add a User-Managed Load Balancer

post

/paas/api/v1.1/instancemgmt/{identityDomainId}/services/jaas/instances/{serviceId}/servicecomponent

Adds Oracle Traffic Director as a user-managed load balancer for the specified Oracle Java Cloud Service instance.

Request

Supported Media Types
Path Parameters
Header Parameters
Body ()
The request body contains Oracle Traffic Director configuration details.
Root Schema : addotd-postrequestm
Type: object
Show Source
Nested Schema : components
Type: object
Groups properties for the Oracle Traffic Director component (OTD).
Show Source
Nested Schema : OTD
Type: object
Properties for the Oracle Traffic Director (OTD) component.
Show Source
  • Password for the Oracle Traffic Director administrator. This must be explicitly set.

    The password must meet the following requirements:

    • Starts with a letter
    • Is between 8 and 30 characters long
    • Has one or more upper case letters
    • Has one or more lower case letters
    • Has one or more numbers
    • Has one or more of the following special characters: hyphen (-), underscore (_), pound sign (#), dollar sign ($). If Exadata is the database for the service instance, the password cannot contain the dollar sign ($).

  • Port for accessing Oracle Traffic Director using HTTP. The default value is 8989.
  • User name for the Oracle Traffic Director administrator. This must be explicitly set.

    The name must be between 8 and 128 characters long and cannot contain any of the following characters:

    • Tab
    • Brackets
    • Parentheses
    • The following special characters: left angle bracket (<), right angle bracket (>), ampersand (&), pound sign (#), pipe symbol (|), and question mark (?).

  • Flag that specifies whether the HA is enabled on the user-managed load balancer. This value defaults to false (that is, HA is not enabled).
  • ipReservations
    This attribute is not applicable to Oracle Java Cloud Service instances on Oracle Cloud Infrastructure.

    A single IP reservation name or two names separated by a comma.

    Reserved or pre-allocated IP addresses can be assigned to the user-managed load balancer nodes. The number of names in ipReservations must match the number of load balancer nodes you are provisioning.

    Note the difference between accounts where regions are supported and not supported.

    • Where regions are supported: You can only use those reserved IPs created in the region where the Oracle Java Cloud Service instance is provisioned.

      See IP Reservations REST Endpoints for information about how to find unused IP reservations and, if needed, create new IP reservations.

    • Where regions are not supported: If your Oracle Java Cloud Service instance is associated with an Oracle Database Exadata Cloud Service database deployment, you must first submit a request to get the IP reservations. See the My Oracle Support document titled How to Request Authorized IPs for Provisioning a Java Cloud Service with Database Exadata Cloud Service (MOS Note 2163568.1).

  • Listener port for the user-managed load balancer for accessing deployed applications using HTTP. The default value is 8080.

    This value is overridden by privilegedListenerPort unless its value is set to 0. This value has no effect if the user-managed load balancer is disabled.

  • Flag that specifies whether the non-secure listener port is enabled on the user-managed load balancer. The default value is true.
  • Policy to use for routing requests to the user-managed load balancer. Valid policies include:
    • LEAST_CONNECTION_COUNT - Passes each new request to the Managed Server with the least number of connections. This policy is useful for smoothing distribution when Managed Servers get bogged down. Managed Servers with greater processing power to handle requests will receive more connections over time. This is the default.
    • LEAST_RESPONSE_TIME - Passes each new request to the Managed Server with the fastest response time. This policy is useful when Managed Servers are distributed across networks.
    • ROUND_ROBIN - Passes each new request to the next Managed Server in line, evenly distributing requests across all Managed Servers regardless of the number of connections or response time.
  • Privileged listener port for accessing the deployed applications using HTTP. The default value is 80.

    This value has no effect if the user-managed load balancer is disabled.

    To disable the privileged listener port, set the value to 0. In this case, if the user-managed load balancer is provisioned, the listener port defaults to listenerPort, if specified, or 8080.

  • Privileged listener port for accessing the deployed applications using HTTPS. The default value is 443.

    This value has no effect if the user-managed load balancer is disabled.

    To disable the privileged listener port, set the value to 0. In this case, if the user-managed load balancer is provisioned, the listener port defaults to securedListenerPort, if specified, or 8081.

  • Secured listener port for accessing the deployed applications using HTTPS. The default value is 8081.

    This value is overridden by privilegedSecuredContentPort unless its value is set to 0. This value has no effect if the user-managed load balancer is disabled.

  • Desired compute shape for the local balancer nodes. A shape defines the number of Oracle Compute Units (OCPUs) and amount of memory (RAM).

    On Oracle Cloud Infrastructure, only VM.Standard and BM.Standard shapes are supported.

    Available shapes vary depending on your Oracle Cloud account and the region in which you provision a service instance.

    See Compute Shapes in the Oracle Cloud Infrastructure documentation.

    On Oracle Cloud Infrastructure Classic, valid shapes include:

    • oc3: 1 OCPU, 7.5 GB memory
    • oc4: 2 OCPUs, 15 GB memory
    • oc5: 4 OCPUs, 30 GB memory
    • oc6: 8 OCPUs, 60 GB memory
    • oc7: 16 OCPUs, 120 GB memory
    • oc8: 24 OCPUs, 180 GB memory
    • oc9: 32 OCPUs, 240 GB memory
    • oc1m: 1 OCPU, 15 GB memory
    • oc2m: 2 OCPUs, 30 GB memory
    • oc3m: 4 OCPUs, 60 GB memory
    • oc4m: 8 OCPUs, 120 GB memory
    • oc5m: 16 OCPUs, 240 GB memory
    • oc8m: 24 OCPUs, 360 GB memory
    • oc9m: 32 OCPUs, 480 GB memory

    Note: Some shapes might not be available in a region.

Nested Schema : ipReservations
Type: array
This attribute is not applicable to Oracle Java Cloud Service instances on Oracle Cloud Infrastructure.

A single IP reservation name or two names separated by a comma.

Reserved or pre-allocated IP addresses can be assigned to the user-managed load balancer nodes. The number of names in ipReservations must match the number of load balancer nodes you are provisioning.

Note the difference between accounts where regions are supported and not supported.

  • Where regions are supported: You can only use those reserved IPs created in the region where the Oracle Java Cloud Service instance is provisioned.

    See IP Reservations REST Endpoints for information about how to find unused IP reservations and, if needed, create new IP reservations.

  • Where regions are not supported: If your Oracle Java Cloud Service instance is associated with an Oracle Database Exadata Cloud Service database deployment, you must first submit a request to get the IP reservations. See the My Oracle Support document titled How to Request Authorized IPs for Provisioning a Java Cloud Service with Database Exadata Cloud Service (MOS Note 2163568.1).

Show Source
Back to Top

Response

Supported Media Types

202 Response

Accepted. The Location header returns a URI that can be used to view the job status. See View the Status of an Operation by Job Id.
Body ()
Root Schema : accepted-responsem
Type: object
The response body contains information about the operation. It can include an issues array for warning messages.
Show Source
Nested Schema : details
Type: object
Groups details of the operation.
Show Source
Nested Schema : issues
Type: array
Groups strings of warning messages, if any.
Show Source

400 Response

Bad Request. Returned if the request payload contains bad or missing details.

See Status Codes for information about other possible HTTP status codes.

Body ()
Root Schema : badrequest-responsem
Type: object
The response body contains information about the request. It can include an issues array for validation error messages.
Show Source
Nested Schema : details
Type: object
Groups details of the request.
Show Source
Nested Schema : issues
Type: array
Groups strings of validation error messages, if any.
Show Source
Back to Top

Examples

The following example shows how to add Oracle Traffic Director as a local load balancer to an existing Oracle Java Cloud Service instance. A POST request is submitted on the REST resource using cURL.

Note: The command in this example uses the URL structure https://rest_server_url/resource-path, where rest_server_url is the REST server to contact for your identity domain (or Cloud Account). See Send Requests.

cURL Command

curl -i -X POST -u username:password -d @addotd.json -H "Content-Type:application/json" -H "X-ID-TENANT-NAME:ExampleIdentityDomain" https://rest_server_url/paas/api/v1.1/instancemgmt/ExampleIdentityDomain/services/jaas/instances/ExampleInstance/servicecomponent

Example of Request Body

The following shows an example of the request body.

{
   "components": {
      "OTD": {
         "listenerPort":"8080",
         "listenerPortEnabled" : true,
         "securedListenerPort":"8081",
         "loadBalancingPolicy":"LEAST_CONNECTION_COUNT",
         "adminPort":"8989",
         "shape":"oc3",
         "haEnabled":"false",
         "adminUserName": "otdadmin",
         "adminPassword": "otdpassword1"
      }
   }
}

Example of Response Header

The following shows an example of the response header. The Location header returns the URI that can be used to view the job status. See View the Status of an Operation by Job Id.

HTTP/1.1 202 Accepted
Date: Tue, 23 May 2017 18:37:36 GMT
Location: https://rest_server_url/paas/api/v1.1/activitylog/ExampleIdentityDomain/job/24087237
Content-Type: application/json

Example of Response Body

The following shows an example of the response document returned in JSON format.

{
   "details": 
   {
      "message": "Submitted Job to add component for Service [ExampleInstance]",
      "jobId": "24087237"
   }
}
Back to Top