39 Middleware as a Service APIs

This chapter describes the resource model for Java as a Service (JaaS) APIs and their responses. Application component filtering, which is supported for JaaS zones, and templates are also described.

This chapter contains the topics listed below. The first section provides a summary of all the APIs covered in this chapter whereas the following sections provide the resource details and the related APIs.

39.1 Summary of Java as a Service APIs

The table below shows a summary of all the JaaS APIs covered in this chapter.

Table 39-1 Summary of JaaS APIs

Resource Data Model GET POST PUT DELETE

Cloud

Table 39-2

Section 39.2.1.1

Not supported

Not supported

Not supported

Jaas service family type

Table 39-4

Section 39.2.2.1

Section 39.2.2.2

Not supported

Not supported

Zone

Table 39-6

Section 39.2.3.1

Not supported

Not supported

Not supported

Java platform template

Table 39-8

Section 39.2.4.1

Section 39.2.4.2

Not supported

Not supported

Java platform instance

Table 39-12

Section 39.2.5.1

Section 39.2.5.8

Section 39.2.5.2

Application instance deployment

Table 39-21

Section 39.2.6.1

Section 39.2.5.4

Section 39.2.6.4

Section 39.2.6.2

Data source

Table 39-26

Section 39.2.7.1

Section 39.2.5.6

Section 39.2.7.4

Section 39.2.7.2

Application instance component

Application Instance Component Data Model

Section 39.2.8.1

Not supported

Not supported

Section 39.2.8.2

Service template finds

Not applicable

Section 39.3.1

Not applicable

Not applicable

Not applicable

Zone finds

Not applicable

Section 39.3.2

Not applicable

Not applicable

Not applicable

Load balancer configuration

Not applicable

Section 39.4.1.4

Section 39.4.1.3

Not supported

Quotas

Not applicable

Section 39.5.1.1

Section 39.5.1.2

Section 39.5.1.3

Section 39.5.1.4

Service templates

Not applicable

Not supported

Section 39.6.1

Not supported

Not supported

Service instance

Not applicable

Not supported

Section 39.7.5

Not supported


Note:

In the table above, ”supported” indicates that the operation is supported on the resource. However, there is no example in the chapter for this operation.

39.2 Java as a Service Resource Model

The following sections describe the resource models that are supported by the Java as a Service family type and provide examples of supported operations. The following resource models are described:

The figure below shows the Java as a Service resource model.

Figure 39-1 JaaS Resource Model

java as a service

39.2.1 Cloud

The following table describes the Cloud [application/oracle.com.cloud.common.Cloud+json] data model.

Table 39-2 Cloud Resource Data Model

Field Type Description Occurs

uri

URI

A GET against this URI refreshes the client representation of the resources accessible to this user.

1

name

String

A human readable name. It is a UNICODE string to support different languages.

1

description

String

A brief description. This is a UNICODE string to support different languages.

0...1

service_template

Collection<ServiceTemplates>

List of service templates that are accessible to the user.

0..1

zones

Collection <Zone>

List of zones that are supported by the cloud and accessible to the user.

0..1

service_family_type

Collection <ServiceFamilyType>

The list of service family types that are supported by the cloud.

0..1

resource_state

ResourceState

A cloud that is online and running has READY as its state. If this field is not returned, the client can assume the cloud is READY. If the state of the returned field is not READY, the client cannot assume the viability of subsequent interactions into the cloud.

0..1

media_type

String

The value of this media type with the payload format. For example, application/oracle.com.cloud.common.Cloud+json.

1

canonicalLink

String

GET against this normalized/canonical URI refreshes the client representation of the resources accessible to this user.

1


39.2.1.1 Viewing Details of the Cloud Resource

The following shows an example of a GET operation on the Cloud URI to return its representation.

Example Request:

Table 39-3 GET Request Configuration for Viewing the Cloud Resources

Feature Description

URI

/em/cloud/

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.common.Cloud+json

Body

None

Request method

GET


Example Response:

{
  "uri" : "/em/cloud" ,
  "name" : "Oracle Cloud by Enterprise Manager" ,
  "description" : "This represents the Cloud resource of the Oracle Enterprise Manager Cloud Management solution" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "media_type" : "application/oracle.com.cloud.common.Cloud+json" ,
  "canonicalLink": "/em/websvcs/restful/extws/cloudservices/service/v0   
   /ssa/em/cloud" ,
  "zones" :     {
      "media_type" : "application/oracle.com.cloud.common.Zone+json" ,
      "total" : "3" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/jaas/zone/A1B44A4EBCC4563125D9D0A3AAE4FD51" ,
            "name" : "Zone1" ,
            "media_type" : "application/oracle.com.cloud.jaas.Zone+json" ,
            "service_family_type" : "jaas"
            "canonicalLink": "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/zone/A1B44A4EBCC4563125D9D0A3AAE4FD51"
          } ,
          {
            "uri" : "/em/cloud/dbaas/zone/A1B44A4EBCC4563125D9D0A3AAE4FD51" ,
            "name" : "Zone1" ,
            "description" : "Zone for Physical Pool" ,
            "media_type" : "application/oracle.com.cloud.common.DbZone+json" ,
            "type" : "self_service_zone"
            "canonicalLink": "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/dbaas/zone/A1B44A4EBCC4563125D9D0A3AAE4FD51"
          } ,
          {
            "uri" : "/em/cloud/opc/opczone" ,
            "name" : "OPC Zone" ,
            "media_type" : "application/oracle.com.cloud.opc.OpcZone+json" ,
            "service_family_type" : "opc" ,
            "type" : "opc"
            "canonicalLink": "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/service_family_type/opc"
          }
      ]
    } ,
"service_templates" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceTemplate+json" ,
      "total" : "5" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/jaas/javaplatformtemplate/D016AADD465462ACE040F20AD18167BA" ,
            "name" : "PS4_LowHeapTemplate" ,
            "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformTemplate+json" ,
            "service_family_type" : "jaas"
            "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatformtemplate/ D016AADD465462ACE040F20AD18167BA"
          } ,
          {
            "uri" : "/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AD03030FAE80F6B58E040F20AD1812FE2%3A0.1" ,
            "name" : " rtriddappjul18_Deploy_20120718_051319824" ,
            "media_type" : "application/oracle.com.cloud.jaas.ApplicationInstanceComponent+json" ,
            "service_family_type" : "jaas"
            "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AD03030FAE80F6B58E040F20AD1812FE2%3A0.1"
          } ,
          {
            "uri" : "/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AD03517A824EBFCF9E040F20AD1811CD9%3A0.1" ,
            "name" : "FileUploadFromCode" ,
            "media_type" : "application/oracle.com.cloud.jaas.ApplicationInstanceComponent+json" ,
            "service_family_type" : "jaas"
            "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AD03517A824EBFCF9E040F20AD1811CD9%3A0.1" 
          } ,
          {
            "uri" : "/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AD03EFA365D58A674E040F20AD18134AE%3A0.1" ,
            "name" : "Test_1354864500315" ,
            "media_type" : "application/oracle.com.cloud.jaas.ApplicationInstanceComponent+json" ,
            "service_family_type" : "jaas"
             "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AD03EFA365D58A674E040F20AD18134AE%3A0.1"
          } ,
          {
            "uri" : "/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AD1103FE5F6877372E040F20AD1814215%3A0.1" ,
            "name" : "RiddleApp" ,
            "media_type" : "application/oracle.com.cloud.jaas.ApplicationInstanceComponent+json" ,
            "service_family_type" : "jaas"
             "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AD1103FE5F6877372E040F20AD1814215%3A0.1"
          }
      ]
    } ,
"service_family_types" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceFamilyType+json" ,
      "total" : "4" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/service_family_type/jaas" ,
            "name" : "jaas" ,
            "media_type" : "application/oracle.com.cloud.common.ServiceFamilyType+json" ,
            "type" : "jaas"
            "canonicalLink": "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/service_family_type/jaas"
          } ,
          {
            "uri" : "/em/cloud/service_family_type/dbaas" ,
            "name" : "dbaas" ,
            "media_type" : "application/oracle.com.cloud.common.ServiceFamilyType+json" ,
            "type" : "dbaas"
             "canonicalLink": "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/service_family_type/dbaas"
          } ,
          {
            "uri" : "/em/cloud/service_family_type/opc" ,
            "name" : "opc" ,
            "media_type" : "application/oracle.com.cloud.common.ServiceFamilyType+json" ,
            "type" : "opc"
            canonicalLink: "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/service_family_type/opc"
          } ,
          {
            "uri" : "/em/cloud/service_family_type/iaas" ,
            "name" : "iaas" ,
            "media_type" : "application/oracle.com.cloud.iaas.IaasServiceFamilyType+json" ,
            "type" : "iaas"
            "canonicalLink": "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/service_family_type/iaas"
          }
      ]
    } ,
  "service_requests" :     {
      "media_type" : "application/oracle.com.cloud.common.Request+json" ,
      "total" : "0" ,
      "elements" : 
      [      ]
    }
}

39.2.2 JaaS Service Family Type

Jaas service family type is a category of services that are offered by Java as a Service (JaaS). The following table describes the Jaas ServiceFamilyType [application/oracle.com.cloud.common.ServiceFamilyType+json] data model:

Table 39-4 JaaS Service Family Type Data Model

Field Type Description Occurs

uri

URI

A GET against this URI refreshes the client representation of the Jaas ServiceFamilyType definition to this user.

1

name

String

Name of the Jaas ServiceFamilyType.

1

description

String

Human readable description of the Service Family Type. Shall be a UNICODE string to support different languages.

1

resource_state

ResourceState

The resource state of the resource.

0..1

media_type

String

The media type of the resource.

1

service_templates

Collection <ServiceTemplate>

The collection of service templates that are of this service family type.

0..1

zones

Collection <Zone>

The collection of zones that support service instances of this service family type.

0..1

instance_types

Collection <Instance Type>

The collection of instance types that are supported by this service family type.

0..1

canonicalLink

String

GET against this normalized/canonical URI refreshes the client representation of the resources accessible to this user.

1


39.2.2.1 Viewing Detail of the JaaS Service Family Type Resource

The following shows an example of a GET operation on the JaaS Service Family Type URI to return its representation.

Example Request:

Table 39-5 GET Request Configuration for Viewing Details of the JaaS Service Family Type Resource

Feature Description

URI

/em/cloud/service_family_type/jaas

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.common.ServiceFamilyType+json

Body

None

Request method

GET


Example Response:

{
  "uri" : "/em/cloud/service_family_type/jaas" ,
  "name" : "jaas" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "media_type" : "application/oracle.com.cloud.common.ServiceFamilyType+json" ,
  "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/service_family_type/jaas" ,
  "type" : "jaas" ,
  "service_templates" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceTemplate+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/jaas/javaplatformtemplate/D016AADD465462ACE040F20AD18167BA" ,
            "name" : "PS4_LowHeapTemplate" ,
            "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformTemplate+json" ,
            "service_family_type" : "jaas" ,
            "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatformtemplate/D016AADD465462ACE040F20AD18167BA"
          }
      ]
    } 
  "zones" :     {
      "media_type" : "application/oracle.com.cloud.common.Zone+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/jaas/zone/A1B44A4EBCC4563125D9D0A3AAE4FD51" ,
            "name" : "Zone1" ,
            "media_type" : "application/oracle.com.cloud.jaas.Zone+json" ,
            "service_family_type" : "jaas" ,
            "type" : "jaas" ,
            "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/zone/A1B44A4EBCC4563125D9D0A3AAE4FD51"
          }
      ]
    } ,
  "instance_types" :     {
      "media_type" : "application/oracle.com.cloud.common.InstanceType+json" ,
      "total" : "0" ,
      "elements" : 
      [      ]
    } ,
  "service_requests" :     {
      "total" : "0" ,
      "elements" : 
      [      ]
    }
}

39.2.2.2 Creating an Application Instance Component by Passing a POST Request on the Jaas Service Family Type Resource

ApplicationInstanceComponent can be created using a post request on JaaS. Right now this is being done using a Java Program. The following shows a sample program:

Note:

<<>> : Provides a hint to an appropriate value.
import java.io.File;
import java.io.FileInputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
 
import oracle.sysman.emInternalSDK.ssa.cloudapi.client.EMRestService;
 
public class FileUpload {
    static public void main(String[] args)
    throws Exception {
        String emUser = <<JAAS_USER_NAME>>;
        String emPassword = <<password>>";
        String emHost = <<host_machine_name/ip>>;
        String emPort = <<port>>;
        String emLocation = "https://"+emHost+":"+emPort;
        String applicationLocation = <<application_location>>;
        String deployPlanLocation = <<deploy_plan_location>>; 
        File f = new File(applicationLocation+"deploy_app.ear");          StringWriter sw = new StringWriter();
        PrintWriter pw =new PrintWriter(sw);
        pw.println("{");
        String fileName = "MyApplication"+emUser+"_"+System.currentTimeMillis();
        pw.println("\"name\":"+"\""+fileName+"\",");
        pw.println("\"description\":\"Riddles App\",");
        pw.println("\"originate\":\"STREAMING\",");
        pw.println("\"files\":[");
        pw.println("{");
        //pw.println("\"path\":\"swlib_internal_path\",");
        pw.println("\"file_archive_path\":\"swlib_internal_path\",");
        pw.println("\"content_type\":\"application/octet-stream\",");
        pw.println("\"source\":\""+f.getName()+"\"");
        pw.println("}");
        pw.println("]");
        pw.print("}");
        pw.flush();
        pw.close();
        String content = sw.toString();
        System.out.println("CONTENT:\n"+content+"\n");
        //String content = "{\n\"name\":\"STOPPED\"\n}";
        List<EMRestService.MultipartItem> items = new ArrayList<EMRestService.MultipartItem>();
        EMRestService.MultipartItem item1, item2, item3, item4, item5;
        item1 = new EMRestService.MultipartItem("item1", false);
        item1.setContentType("multipart/form-data");
        item1.setContent(content);
        items.add(item1);
        item2 = new EMRestService.MultipartItem("item2", true);
        item2.setFileAlias(f.getName());
        item2.setFile(f);
        items.add(item2);
        File deploymentPlanFile = new File(applicationLocation+"deployment_plan.xml");
        item3 = new EMRestService.MultipartItem("item3", true);
        item3.setFileAlias(deploymentPlanFile.getName());
        item3.setFile(deploymentPlanFile);
        items.add(item3);
        File preDeployFile = new File(deployPlanLocation+" predeploy_script.py");
        item4 = new EMRestService.MultipartItem("item4", true);
        item4.setFileAlias(preDeployFile.getName());
        item4.setFile(preDeployFile);
        items.add(item4);
        File postDeployFile = new File(deployPlanLocation+" postdeploy_script.py");
        item5 = new EMRestService.MultipartItem("item5", true);
        item5.setFileAlias(postDeployFile.getName());
        item5.setFile(postDeployFile);
        items.add(item5);
        
        String uri = emLocation+"/em";
        EMRestService ers = new EMRestService(uri, emUser, emPassword.getBytes());
        ers.setReadTimeout(600*1000);
        Object o = ers.webserviceMultipart(EMRestService.Method.POST, uri+"/cloud/service_family_type/jaas", "application/oracle.com.cloud.jaas.ApplicationInstanceComponent", items);
        System.out.println(o);
    }
}

39.2.3 Zone

The following table describes the Zone [application/oracle.com.cloud.common.Zone+json] data model.

Table 39-6 Zone Data Model

Field Type Description Occurs

uri

URI

A GET against this URI refreshes the client representation of the zone definition to this user.

1

name

String

Name of the Zone.

1

description

String

Human readable description of the Zone. It is a UNICODE string to support different languages.

0...1

context_id

String

This is an ID indication the internal reference of the zone

1

service_instances

Collection <ServiceInstance>

Collection of the service instances that are in this zone.

0..1

service_family_type

String

The name of the service family type that this zone is associated with.Each Zone is contextualized in the service family type.

0..1

resource_state

ResourceState

The resource state of the resource.

0..1

media_type

String

The media type of the resource.

1

canonicalLink

String

GET against this normalized/canonical URI refreshes the client representation of the resources accessible to this user.

1


39.2.3.1 Viewing Details of the Zone Resource

The following shows an example of a GET operation on the Zone URI to return its representation.

Example Request:

Table 39-7 GET Request Configuration for Viewing Details of a Zone

Feature Description

URI

/em/cloud/jaas/zone/A1B44A4EBCC4563125D9D0A3AAE4FD51

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.common.Zone+json

Body

None

Request method

GET


Example Response:

{
  "uri" : "/em/cloud/jaas/zone/A1B44A4EBCC4563125D9D0A3AAE4FD51" ,
  "name" : "Zone1" ,
  "description" : "Zone for Physical Pool" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "context_id" : "A1B44A4EBCC4563125D9D0A3AAE4FD51" ,
  "media_type" : "application/oracle.com.cloud.jaas.Zone+json" ,
  "service_family_type" : "jaas" ,
  "canonicalLink": "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/zone/ A1B44A4EBCC4563125D9D0A3AAE4FD51" ,
  "service_instances" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceInstance+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/jaas/javaplatforminstance/8AF6E65447FBA84E968CCD909BD05D42" ,
            "name" : "MyServer-1" ,
            "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
            "status" : "RUNNING"
            "canonicalLink": "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatforminstance/8AF6E65447FBA84E968CCD909BD05D42"
          }
      ]
    }
}          

39.2.4 JavaPlatformTemplate

The JavaPlatformTemplate extends the CloudServiceTemplate SDK class. It is permissible to accept the ServiceTemplate media type on an instance of JavaPlatformTemplate. It is a preconfigured deployable entity that realizes a JavaPlatformInstance resource.

The following table describes the JavaPlatformTemplate [application/oracle.com.cloud.jaas.JavaPlatformTemplate+json] data model.

Table 39-8 JavaPlatformTemplate Data Model

Field Type Description Occurs

uri

URI

A GET against this URI refreshes the client representation of the resources accessible to this user.

1

name

String

A human readable name given to the template.

1

description

String

A brief description given to the template.

0...1

created

Timestamp

Date and time, in ISO 8601 format, when the template was created/last modified.

1

zones

Collection <Zone>

List of all zones configured for this template.

1

service_family_type

String

Denotes the type of Service Template (for example, "jaas").

1

resource_state

ResourceState

The validity of the fields on a GET should be guaranteed only when the resource state is READY. Otherwise, the client should not assume the validity of the fields.

1

service_instances

Collection

<JavaPlatformInstance>

All service instances created based on this JavaPlatformTemplate.

0…1

media_type

String

The media type of the service template that this type represents.

1

default_instance_media_type

String

Default media type for the request, value "application/oracle.com.cloud.jaas.JavaPlatformInstance+json".

1

context_id

String

This is an ID indication the internal reference of the service template.

1

canonicalLink

String

GET against this normalized/canonical URI refreshes the client representation of the resources accessible to this user.

1


39.2.4.1 Viewing Details of the Java Platform Template Resource

The following shows an example of a GET operation on the JavaPlatformTemplate URI to return its representation.

Example Request:

Table 39-9 GET Request Configuration for Viewing Details of the Java Platform Template Resource

Feature Description

URI

/em/cloud/jaas/javaplatformtemplate/D016AADD465462ACE040F20AD18167BA

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.JavaPlatformTemplate+json

Body

None

Request method

GET


Example Response:

{
  "uri" : "/em/cloud/jaas/javaplatformtemplate/D016AADD465462ACE040F20AD18167BA" ,
  "name" : "PS4_LowHeapTemplate" ,
  "description" : "This is a service template using the CDP CDP_PS4_lowHeap_MWProfile" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "context_id" : "D016AADD465462ACE040F20AD18167BA" ,
  "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformTemplate+json" ,
  "service_family_type" : "jaas" ,
  "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatformtemplate/ D016AADD465462ACE040F20AD18167BA" ,
  "created" : "2012-12-04 23:16:10.0" ,
  "default_instance_media_type" : "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
  "zones" :     {
      "media_type" : "application/oracle.com.cloud.common.Zone+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/jaas/zone/A1B44A4EBCC4563125D9D0A3AAE4FD51" ,
            "name" : "Zone1" ,
            "media_type" : "application/oracle.com.cloud.jaas.Zone+json" ,
            "service_family_type" : "jaas"
            "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/service_family_type/jaas"
          }
      ]
    } ,
  "service_instances" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceInstance+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/jaas/javaplatforminstance/8AF6E65447FBA84E968CCD909BD05D42" ,
            "name" : "MyServer-1" ,
            "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
            "status" : "RUNNING"
            "canonicalLink": "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatforminstance/8AF6E65447FBA84E968CCD909BD05D42"
          }
      ]
    }
}

39.2.4.2 Creating a Java Platform Instance by Passing POST Request on a Java Platform Template

The following shows a sample POST on the JavaPlatformTemplate URI to create an "empty" JavaPlatformInstance by providing:

  • Name of JavaPlatformInstance in "name" attribute

  • Destination Zone URI in "zone" attribute

Example Request:

Table 39-10 POST Request Configuration for Creating a Java Platform Instance

Feature Description

URI

/em/cloud/jaas/javaplatformtemplate/D016AADD465462ACE040F20AD18167BA

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.JavaPlatformTemplate+json

Content-Type: application/oracle.com.cloud.jaas.JavaPlatformInstance+json

Body

 {
    "name" : "rtjul17", 
    "zone" : "/em/cloud/jaas/zone/C355810A6"
 }

Request method

POST


Example Response (When the operation is in progress):

{
  "uri" : "/em/cloud/jaas/javaplatforminstancerequest/1" ,
  "name" : "rtjul17_Create_20120717_045804697" ,
  "resource_state" :     {
      "state" : "INITIATED" ,
      "messages" : 
        [
                {
                    "text" : "null" ,
                        "date" : "2012-07-17T09:16:13+0000"
               }
       ]
    } ,
 "context_id": "1",
 "media_type": "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
 "service_family_type": "jaas" ,
 "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatforminstancerequest/1" ,
 "status": "SCHEDULED"
 "created" : "2013-05-09T07:06:57+0000"
}

Example Response (After the instance has been created):

{
  "uri" : "/em/cloud/jaas/javaplatformtemplate/D016AADD465462ACE040F20AD18167BA" ,
  "name" : "PS4_LowHeapTemplate" ,
  "description" : "This is a service template using the CDP CDP_PS4_lowHeap_MWProfile" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "context_id" : "D016AADD465462ACE040F20AD18167BA" ,
  "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformTemplate+json" ,
  "service_family_type" : "jaas" ,
  "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatformtemplate/ D016AADD465462ACE040F20AD18167BA" ,
  "created" : "2012-12-04 23:16:10.0" ,
  "default_instance_media_type" : "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
  "zones" :     {
      "media_type" : "application/oracle.com.cloud.common.Zone+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/jaas/zone/A1B44A4EBCC4563125D9D0A3AAE4FD51" ,
            "name" : "Zone1" ,
            "media_type" : "application/oracle.com.cloud.jaas.Zone+json" ,
            "service_family_type" : "jaas"
            "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/service_family_type/jaas"
          }
      ]
    } ,
  "service_instances" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceInstance+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/jaas/javaplatforminstance/8AF6E65447FBA84E968CCD909BD05D42" ,
            "name" : "MyServer-1" ,
            "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
            "status" : "RUNNING"
            "canonicalLink": "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatforminstance/8AF6E65447FBA84E968CCD909BD05D42"
          }
      ]
    }
}

39.2.4.3 Viewing Details of the Java Platform Request Resource

The following shows a sample GET operation on the JavaPlatform Request URL:

Example Request:

Table 39-11 GET Request Configuration for Viewing the Status of the Java Platform Request

Feature Description

URI

/em/cloud/jaas/javaplatforminstancerequest/1

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.JavaPlatformInstance+json

Body

None

Request method

GET


Example Response (When the operation is in progress):

{
  "uri" : "/em/cloud/jaas/javaplatforminstancerequest/1" ,
  "name" : "rtjul17_Create_20120717_045804697" ,
  "resource_state" :     {
      "state" : "INITIATED" ,
      "messages" : 
        [
                {
                    "text" : "null" ,
                        "date" : "2012-07-17T09:16:13+0000"
               }
       ]
    } ,
 "context_id": "1",
 "media_type": "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
 "service_family_type": "jaas" ,
  "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatforminstancerequest/1" ,"status": "SCHEDULED
 "created" : "2013-05-09T07:06:57+0000"
}

Example Response (After the instance has been created):

{
  "uri" : "/em/cloud/jaas/javaplatformtemplate/D016AADD465462ACE040F20AD18167BA" ,
  "name" : "PS4_LowHeapTemplate" ,
  "description" : "This is a service template using the CDP CDP_PS4_lowHeap_MWProfile" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "context_id" : "D016AADD465462ACE040F20AD18167BA" ,
  "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformTemplate+json" ,
  "service_family_type" : "jaas" ,
  "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatformtemplate/ D016AADD465462ACE040F20AD18167BA" ,
  "created" : "2012-12-04 23:16:10.0" ,
  "default_instance_media_type" : "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
  "zones" :     {
      "media_type" : "application/oracle.com.cloud.common.Zone+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/jaas/zone/A1B44A4EBCC4563125D9D0A3AAE4FD51" ,
            "name" : "Zone1" ,
            "media_type" : "application/oracle.com.cloud.jaas.Zone+json" ,
            "service_family_type" : "jaas"
            "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/service_family_type/jaas"
          }
      ]
    } ,
  "service_instances" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceInstance+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/jaas/javaplatforminstance/8AF6E65447FBA84E968CCD909BD05D42" ,
            "name" : "MyServer-1" ,
            "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
            "status" : "RUNNING"
            "canonicalLink": "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatforminstance/8AF6E65447FBA84E968CCD909BD05D42"
          }
      ]
    }
}

39.2.5 Java Platform Instance

JavaPlatformInstance will extend the ServiceInstance from the Cloud framework resource model. It is linked to an Oracle Composite Application target in Enterprise Manager.

The following table describes the JavaPlatformInstance [application/oracle.com.cloud.jaas.JavaPlatformInstance+json] data model.

Table 39-12 JavaPlatformInstance Data Model

Field Type Description Occurs

uri

URI

A GET against this URI refreshes the client representation of the resources accessible to this user.

1

name

String

A human readable name given to the instance.

[POST]

1

zone

Zone (uri, name, media_type)

The Zone to which the instance is deployed.

[POST]

1

media_type

String

Indicates the additional media type that clients can use to perform a GET.

1

application_instance_deployments

Collection <ApplicationInstanceDeployment>

This is a list of all the ApplicationInstanceDeployments deployed on the JavaPlatformInstance.

0…1

resource_state

ResourceState

The validity of the fields on a GET should be guaranteed only when the resource state is READY. Otherwise, the client should not assume the validity of the fields.

1

based_on

JavaPlatformTemplate

JavaPlatformTemplate based on which this instance was created.

1

jdbc_drivers

String[]

List of JDBC drivers available to create a data source on this instance.

0…1

data_sources

Collection<DataSource>

This is a list of all the data sources configured for this instance.

0…1

status

String

Indicates the status of the underlying Weblogic cluster

Values are

STOPPED, RUNNING, UNREACHABLE, UNKNOWN

0…1

server_count

String

Number of Java servers in the Weblogic cluster of the JavaPlatformInstance

[PUT]

1

service_family_type

String

Denotes the type of Service Instance (for example, "jaas").

1

context_id

String

This is an ID indication the internal reference of the service template

1

canonicalLink

String

GET against this normalized/canonical URI refreshes the client representation of the resources accessible to this user.

1


39.2.5.1 Viewing Details of the Java Platform Instance Resource

The following shows a sample GET operation on the JavaPlatformInstance URI to return its representation.

Example Request:

Table 39-13 GET Request Configuration for Viewing Details of the Java Platform Instance Resource

Feature Description

URI

/em/cloud/jaas/javaplatforminstance/960A4A8244145EC7949303B4ECD650D0

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.JavaPlatformInstance+json

Body

None

Request method

GET


Example Response:

{
  "uri" : "/em/cloud/jaas/javaplatforminstance/960A4A8244145EC7949303B4ECD650D0" ,
  "name" : "jb__sd_platform_12_24_2012_13_38_28" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "context_id" : "960A4A8244145EC7949303B4ECD650D0" ,
  "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
  "service_family_type" : "jaas" ,
  "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatforminstance/960A4A8244145EC7949303B4ECD650D0" ,
  "status" : "RUNNING" ,
  "zone" :     {
      "uri" : "/em/cloud/jaas/zone/A1B44A4EBCC4563125D9D0A3AAE4FD51" ,
      "name" : "Zone1" ,
      "context_id" : "A1B44A4EBCC4563125D9D0A3AAE4FD51" ,
      "media_type" : "application/oracle.com.cloud.jaas.Zone+json" ,
      "service_family_type" : "jaas"
      "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/zone/ A1B44A4EBCC4563125D9D0A3AAE4FD51" ,      "type" : "jaas"
    } ,
  "based_on" :     {
      "uri" : "/em/cloud/jaas/javaplatformtemplate/D016AADD465462ACE040F20AD18167BA" ,
      "name" : "PS4_LowHeapTemplate" ,
      "context_id" : "D016AADD465462ACE040F20AD18167BA" ,
      "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformTemplate+json" ,
      "service_family_type" : "jaas"
      "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatformtemplate/ D016AADD465462ACE040F20AD18167BA "
    } ,
  "data_sources" :     {
      "media_type" : "application/oracle.com.cloud.jaas.DataSource+json" ,
      "total" : "0" ,
      "elements" : 
      [      ]
    } ,
      "jdbc_drivers" : 
  [
    "com.ddtek.jdbc.oracle.OracleDriver" ,
    "oracle.jdbc.xa.client.OracleXADataSource" ,
    "oracle.jdbc.OracleDriver" ,
    "com.ddtek.jdbcx.oracle.OracleDataSource"
  ] ,
  "server_count" : "1" ,
  "application_instance_deployments" :     {
      "media_type" : "application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json" ,
      "total" : "0" ,
      "elements" : 
      [      ]
    }
}

39.2.5.2 Deleting a Service Instance by Passing a DELETE Request on a Java Platform Instance

The following shows a sample DELETE operation on the JavaPlatformInstance URI to retire the service instance.

Example Request:

Table 39-14 DELETE Request Configuration for Deleting a Java Platform Instance

Feature Description

URI

/em/cloud/jaas/javaplatforminstance/960A4A8244145EC7949303B4ECD650D0

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.JavaPlatformInstance+json

Body

None

Request method

DELETE


Example Response:

{
  "uri" : "/em/cloud/jaas/javaplatforminstancerequest/121" ,
  "name" : "rtjul17_Delete_20120719_035504227" ,
  "resource_state" :     {
      "state" : "INITIATED" ,
      "messages" : 
         [
                 {
                       "text" : "null" ,
                        "date" : "2012-07-19T09:16:13+0000"
                 }
         ]
      } ,
   "context_id": "121",
   "media_type": "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
   "service_family_type": "jaas" ,
   "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatforminstancerequest/121" ,
   "status": "SCHEDULED"
   "created" : "2013-05-09T09:08:38+0000"
}

39.2.5.3 Viewing Status of the DELETE Request

Example Request:

Table 39-15 GET Request Configuration for Viewing Status of the Delete Operation

Feature Description

URI

/em/cloud/jaas/javaplatforminstancerequest/121

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.JavaPlatformInstance+json

Body

None

Request method

GET


Example Response (When the operation is in progress):

{
"uri" : "/em/cloud/jaas/javaplatforminstancerequest/121" ,
"name" : "rtjul17_Delete_20120719_035504227" ,
"resource_state" :     {
      "state" : "INITIATED" ,
      "messages" : 
      [
                       {
                          "text" : "null" ,
                "date" : "2012-07-19T09:16:13+0000"
          }
      ]
} ,
"context_id": "121",
"media_type": "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
"service_family_type": "jaas" ,
"canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatforminstancerequest/121" ,
"status": "SCHEDULED"
"created" : "2013-05-09T09:08:38+0000"
  }

Example Response (when the operation is complete):

The Status field will show that the resource has been deleted.

39.2.5.4 Creating an Application Instance Deployment By Passing a POST Request on Java Platform Instance

The following shows a sample POST operation on the JavaPlatformInstance URI to deploy an ApplicationInstanceDeployment.

  • Name of ApplicationInstanceDeployment in the "name" attribute

  • ApplicationInstanceComponent URI in the "application_instance_component" attribute

Example Request:

Table 39-16 POST Request Configuration for Creating an Application Instance Deployment Resource

Feature Description

URI

/em/cloud/jaas/javaplatforminstance/8AF6E65447FBA84E968CCD909BD05D42

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json

Content-Type: application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json

Body

 {
     "name" : "rtriddappjul18", 
     "application_instance_component" : "/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AC414FFB7A0912357E040F10A716015F9%3A0.1"
}

Request method

POST


Example Response:

{
"uri" : "/em/cloud/jaas/applicationinstancedeploymentrequest/ rtriddappjul18@131" ,
             "name" : " rtriddappjul18_Deploy_20120718_051319824" ,
            "resource_state" :     {
                "state" : "INITIATED" ,
                "messages" : 
                [
                  {
                    "date" : "2012-07-18T12:13:28+0000" ,
                    "text" : "null"
                   }
                ]
            } ,
            "context_id" : "rtriddappjul18@131" ,
           "media_type" :             "application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json" ,
           "service_family_type" : "jaas" ,
           "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/applicationinstancedeploymentrequest/ rtriddappjul18@131" ,
           "status" : "SCHEDULED"
}

39.2.5.5 Viewing Status of the Application Instance Deployment Creation Request

The following shows a sample GET of an Application Instance Deployment Request returned by POST to create Application Instance.

Example Request:

Table 39-17 GET Request Configuration for Viewing the Status of the Application Instance Deployment Creation

Feature Description

URI

/em/cloud/jaas/applicationinstancedeploymentrequest/rtriddappju118@131

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json

Body

None

Request method

GET


Example Response (When the operation is in progress)

{
"uri" : "/em/cloud/jaas/applicationinstancedeploymentrequest/ rtriddappjul18@131" ,
             "name" : " rtriddappjul18_Deploy_20120718_051319824" ,
            "resource_state" :     {
                "state" : "INITIATED" ,
                "messages" : 
                [
                  {
                    "date" : "2012-07-18T12:13:28+0000" ,
                    "text" : "null"
                   }
                ]
            } ,
            "context_id" : "rtriddappjul18@131" ,
           "media_type" :          "application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json" ,
           "service_family_type" : "jaas" ,
           "status" : "SCHEDULED"
  }

Example Response (When the operation is complete)

{
     "uri" : "/em/cloud/jaas/applicationinstancedeployment/9D8868C9632E3" ,
     "name" : "rtriddappjul19" ,
     "resource_state" :     {
         "state" : "READY"
     } ,
     "context_id" : "9D8868C9632E3" ,
     "media_type" : "application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json" ,
     "service_family_type" : "jaas" ,
     "status" : "RUNNING" ,
     "http_application_invocation_url" :     {
        "ms_3" : "http://example.oracle.com:32463/RiddlesWeb" ,
        "ms_4" : "http://example.oracle.com:40298/RiddlesWeb"
      } ,
     "https_application_invocation_url" :     {
        "ms_3" : "https://example.oracle.com:3550/RiddlesWeb" ,
        "ms_4" : "https://example.oracle.com:41467/RiddlesWeb"
      } ,
     "contained_in" :     {
        "uri" : "/em/cloud/jaas/javaplatforminstance/CF4339D922C" ,
        "name" : "rtjul17" ,
        "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
        "status" : "RUNNING"
      }
}

39.2.5.6 Creating a Data Source by Passing a POST Request on the Java Platform Instance Resource

The following shows a sample POST operation on the JavaPlatformInstance URI to create a DataSource on the JavaPlatformInstance

  • Name of DataSource in the "name" attribute

  • JNDI Name in "jndi_name" attribute

  • JDBC Driver in "jdbc_driver" attribute

  • Database connect string in "database_connect_string" attribute

  • Database type in "database_type" attribute

  • username and password

Example Request:

Table 39-18 POST Request Configuration for Creating a Data Source on the Java Platform Instance

Feature Description

URI

/em/cloud/jaas/javaplatforminstance/8AF6E65447FBA84E968CCD909BD05D42

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.DataSource+json

Content-Type: application/oracle.com.cloud.jaas.DataSource+json

Body

{
     "name" : "tarunDS_wthParamchanges" ,
     "jndi_name" : ["jndi_1Paramchanges"] , 
     "jdbc_driver" : "oracle.jdbc.OracleDriver" ,
     "database_connect_string" :   "jdbc:oracle:thin:sysman/sysman@example.oracle.com:15044:test2" ,
     "database_type" : "Oracle" ,
     "username": "sysman", 
     "password": "sysman"
}

Request method

POST


Example Response:

{
        "uri" : "/em/cloud/jaas/datasourcerequest/rtrepodsjul23@181" ,
        "name" : "rtrepodsjul23_CreateDS_20120722_112705396" ,
        "resource_state" :     {
           "state" : "INITIATED" ,
           "messages" : 
           [
          {
                           "date" : "2012-07-23T06:27:06+0000" ,
                           "text" : "null"
                        }
            ]
         },
        "context_id" : "rtrepodsjul23@181" ,
        "media_type" : "application/oracle.com.cloud.jaas.DataSource+json" ,
        "service_family_type" : "jaas" ,
  "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/ datasourcerequest/rtrepodsjul23@181" ,
        "status" : "SCHEDULED"
}

39.2.5.7 Viewing Status of the Data Source Creation Request

The following shows a sample GET of Data Source request returned by POST to create Data Source

Example Request:

Table 39-19 GET Request Configuration for Viewing the Status of the Data Source Creation

Feature Description

URI

/em/cloud/jaas/datasourcerequest/rtrepodsju123@181

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.JavaPlatformInstance+json

Body

None

Request method

GET


Example Response (When the operation is in progress):

{
        "uri" : "/em/cloud/jaas/datasourcerequest/rtrepodsjul23@181" ,
        "name" : "rtrepodsjul23_CreateDS_20120722_112705396" ,
        "resource_state" :     {
           "state" : "INITIATED" ,
           "messages" : 
           [
          {
                           "date" : "2012-07-23T06:27:06+0000" ,
                           "text" : "null"
                        }
            ]
         },
        "context_id" : "rtrepodsjul23@181" ,
        "media_type" : "application/oracle.com.cloud.jaas.DataSource+json" ,
        "service_family_type" : "jaas" ,
  "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/ datasourcerequest/rtrepodsjul23@181" ,
        "status" : "SCHEDULED"
}

Example Response (When the operation is complete):

{
     "uri" : "/em/cloud/jaas/datasource/ rtrepodsjul18@CF4339D922C" ,
     "name" : "rtrepodsjul18" ,
     "resource_state" :     {
        "state" : "READY"
      } ,
     "context_id" : " rtrepodsjul18@CF4339D922C" ,
     "media_type" : "application/oracle.com.cloud.jaas.DataSource+json" ,
     "service_family_type" : "jaas" ,
     "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/datasource/rtrepodsjul18@CF4339D922C " ,
     "jndi_name" : 
     [
       "jndi_1"
     ] ,
     "jdbc_driver" : "oracle.jdbc.OracleDriver" ,
     "username" : "sysam",
     "database_connect_string" : "jdbc:oracle:thin:sysman/sysman@example.oracle.com:15044:sjuly14" ,
     "contained_in" :     {
        "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
        "context_id" : "CF4339D922C51" ,
        "name" : "rtjul17" ,
        "uri" : "/em/cloud/jaas/javaplatforminstance/CF4339D922C51"
    }
 
}

39.2.5.8 Scaling Up/Down the Service Instance

The following shows a sample PUT operation on JavaPlatformInstance URI to scale up or scale down the service instance. The final server count is contained in "server_count" attributes. A Scale up or scale down request will be submitted according to Current server count being greater than or lesser than the Final server count.

Example Request:

Table 39-20 PUT Request Configuration for Scaling Up/Down the Service Instance

Feature Description

URI

/em/cloud/jaas/javaplatforminstance/CF4339D922C5

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.JavaPlatformInstance+json

Content-type: application/oracle.com.cloud.jaas.JavaPlatformInstance+json

Body

{
      "server_count" : "3"
}

Request method

PUT


Example Response:

{
  "uri" : "/em/cloud/jaas/javaplatforminstancerequest/211" ,
  "name" : "rtjul17_Scaleup_20120719_045804697" ,
  "resource_state" :     {
      "state" : "INITIATED" ,
      "messages" : 
      [
                {
                  "text" : "null" ,
                        "date" : "2012-07-19T09:16:13+0000"
              }
        ]
    } ,
  "context_id": "211",
  "media_type": "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
  "service_family_type": "jaas" ,
  "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/ javaplatforminstancerequest/211" ,
  "status": "SCHEDULED"
  "created" : "2013-05-09T11:46:27+0000"
}

39.2.6 Application Instance Deployment

This represents the deployment of an Application Instance in a JavaPlatformInstance.

The following table describes the ApplicationInstanceDeployment [application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json] data model.

Table 39-21 Application Instance Deployment Data Model

Field Type Description Occurs

uri

URI

A GET against this URI refreshes the client representation of the resources accessible to this user.

1

name

String

A human readable name given to the instance.

[POST]

1

application_instance_component

ApplicationInstanceComponent

(uri,name,version)

The ApplicationInstanceComponent in the Software library which was used during deployment of this instance.

[POST]

1

http_application_invocation_url

Map<String,String>

Map of server name and HTTP URL of the deployed application. Will be populated after the instance has been created.

0…1

https_application_invocation_url

Map<String,String>

Map of server name and HTTPS URL of the deployed application. Will be populated after the instance has been created.

0…1

contained_in

JavaPlatformInstance

(uri,name)

JavaPlatformInstance on which the application is deployed.

1

deployment_plan

String

Vendor specific configuration parameters for this deployment in the prescribed XML format.

[POST]

0…1

status

String

Indicates the status of the ApplicationInstanceDeployment.

Values are

STOPPED, RUNNING, UNREACHABLE, UNKNOWN

[PUT]

0…1

metrics

Collection <Metric>

The list of metrics (uri, name, type current_value) that are pertinent to this service instance.

0…1

resource_state

ResourceState

The validity of the fields on a GET should be guaranteed only when the resource state is READY. Otherwise, the client should not assume the validity of the fields.

1

service_family_type

String

Denotes the type of ApplicationInstanceDeployment (for example, "jaas").

1

media_type

String

Indicates the additional media type that clients can use to perform a GET.

1

context_id

String

This is an ID indication of the internal reference of the application deployment.

1

canonicalLink

String

GET against this normalized/canonical URI refreshes the client representation of the resources accessible to this user.

1


39.2.6.1 Viewing Details of the Application Instance Deployment Resource

The following shows a sample GET operation on the ApplicationInstanceDeployment URI to return its representation.

Example Request:

Table 39-22 GET Request Configuration for Viewing Details of the Application Instance Deployment

Feature Description

URI

/em/cloud/jaas/applicationinstancedeployment/9D8868C9632E3

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.ApplicaitonInstanceDeployment+json

Body

None

Request method

GET


Example Response:

HTTP/1.1 200 OK
  Content-Type: application/oracle.com.cloud.jaas. ApplicationInstanceDeployment+json
  Content-Location: /em/cloud/jaas/applicationinstancedeployment/9D8868C9632E3
  Cache-Control: public
  Content-Length: nnn
{
     "uri" : "/em/cloud/jaas/applicationinstancedeployment/9D8868C9632E3" ,
     "name" : "rtriddappjul19" ,
     "resource_state" :     {
         "state" : "READY"
     } ,
     "media_type" : "application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json" ,
     "service_family_type" : "jaas" ,
     "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/applicationinstancedeployment/9D8868C9632E3" ,
     "status" : "RUNNING" ,
     "http_application_invocation_url" :     {
        "ms_3" : "http://example.oracle.com:32463/RiddlesWeb" ,
        "ms_4" : "http://example.oracle.com:40298/RiddlesWeb"
      } ,
     "https_application_invocation_url" :     {
        "ms_3" : "https://example.oracle.com:3550/RiddlesWeb" ,
        "ms_4" : "https://example.oracle.com:41467/RiddlesWeb"
      } ,
     "contained_in" :     {
        "uri" : "/em/cloud/jaas/javaplatforminstance/CF4339D922C" ,
        "name" : "rtjul17" ,
        "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
        "status" : "RUNNING"
        "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/javaplatforminstance/ CF4339D922C "
      }
}

39.2.6.2 Deleting an Application Instance Deployment

The following shows a sample DELETE operation on the Application Instance Deployment URI which undeploys the application from Java Platform Instance.

Example Request:

Table 39-23 DELETE Request Configuration for Deleting an Application Instance Deployment

Feature Description

URI

/em/cloud/jaas/applicationinstancedeployment/9D8868C9632E3

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.ApplicaitonInstanceDeployment+json

Body

None

Request method

DELETE


Example Response:

HTTP/1.1 200 OK
  Content-Type: application/oracle.com.cloud.jaas. ApplicationInstanceDeployment+json
  Content-Location: /em/cloud/jaas/applicationinstancedeploymentrequest/rtriddappjul19@184
  Cache-Control: public
  Content-Length: nnn
  {
     "uri" : "/em/cloud/jaas/applicationinstancedeploymentrequest/rtriddappjul19@184" ,
     "name" : "rtriddappjul19_Undeploy_20120723_011757881" ,
     "resource_state" :     {
        "state" : "INITIATED" ,
        "messages" : 
        [
            {
              "date" : "2012-07-23T08:18:01+0000" ,
              "text" : "null"
            }
        ]
     } ,
     "media_type" : "application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json" ,
     "service_family_type" : "jaas" ,
     canonicalLink: "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/applicationinstancedeploymentrequest/rtriddappjul19@184" ,
     "status" : "SCHEDULED"
  }

39.2.6.3 Viewing Status of the Application Instance Deployment Deletion Request

The following shows a sample GET operation on an Application Instance Deployment Request.

Example Request:

Table 39-24 GET Request Configuration for Viewing the Status of the Application Instance Deployment Deletion

Feature Description

URI

/em/cloud/jaas/applicationinstancedeploymentrequest/rtriddappju119@184

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.ApplicaitonInstanceDeployment+json

Body

None

Request method

GET


Example Response: (operation in progress):

{
     "uri" : "/em/cloud/jaas/applicationinstancedeploymentrequest/rtriddappjul19@184" ,
     "name" : "rtriddappjul19_Undeploy_20120723_011757881" ,
     "resource_state" :     {
        "state" : "INITIATED" ,
        "messages" : 
        [
            {
              "date" : "2012-07-23T08:18:01+0000" ,
              "text" : "null"
            }
        ]
     } ,
     "context_id" : "rtriddappjul19@184" ,
     "media_type" : "application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json" ,
     "service_family_type" : "jaas" ,
     canonicalLink: "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/applicationinstancedeploymentrequest/rtriddappjul19@184" ,
     "status" : "SCHEDULED"
  }

Example Response: (operation is complete):

The status field will show that the resource has been deleted.

39.2.6.4 Starting, Stopping and Redeploying an Application Instance Deployment

The following shows a sample PUT operation on the Application Instance Deployment URI to start or stop the instance.

  • STOPPED to RUNNING

    Put on status attribute, value = "START"

  • RUNNING to STOPPED

    Put on status attribute, value = "STOP"

  • REDEPLOY

    Put on status attribute, value = "REDEPLOY" and ApplicationInstanceComponent URI in the "application_instance_component" attribute

Example Request: Starting/Stopping

Table 39-25 PUT Request Configuration for Starting/Stopping the Status of the Application Instance Deployment

Feature Description

URI

/em/cloud/jaas/applicationinstancedeployment/9D8868C9632E3

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.ApplicaitonInstanceDeployment+json

Content-type: application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json

Body

{
   "status" : "STOP"
}

Request method

PUT


Example Response:

HTTP/1.1 200 OK
  Content-Type: application/oracle.com.cloud.jaas. ApplicationInstanceDeployment+json
  Content-Location: /em/cloud/jaas/applicationinstancedeploymentrequest/rtriddappjul19@182
  Cache-Control: public
  Content-Length: nnn
  {
     "uri" : "/em/cloud/jaas/applicationinstancedeploymentrequest/rtriddappjul19@182" ,
     "name" : "rtriddappjul19_Stop_20120723_123327380" ,
     "resource_state" :     {
        "state" : "INITIATED" ,
        "messages" : 
        [
          {
            "date" : "2012-07-23T07:33:27+0000" ,
            "text" : "null"
          }
        ]
     } ,
     "media_type" : "application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json" ,
    "service_family_type" : "jaas" ,
    "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/applicationinstancedeploymentrequest/rtriddappjul19@182" ,
    "status" : "SCHEDULED"
  }

Example Request for Redeploying:

PUT /em/cloud/jaas/applicationinstancedeployment/9D8868C9632E3
  Host: cloudcompany.com
  Authorization: Basic xxxxxxx
  Accept: application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json
  Content-type: application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json
{
   "status" : "STOP" , 
    "application_instance_component" : "/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AC414FFB7A0912357E040F10A716015F9%3A0.1"
}

Example Response:

 {
     "uri" : "/em/cloud/jaas/applicationinstancedeploymentrequest/rtriddappjul19@183" ,
     "name" : "rtriddappjul19_Undeploy_20120723_123327380" ,
     "resource_state" :     {
        "state" : "INITIATED" ,
        "messages" : 
        [
          {
            "date" : "2012-07-23T07:33:27+0000" ,
            "text" : "null"
          }
        ]
     } ,
     "context_id" : "rtriddappjul19@183" ,
     "media_type" : "application/oracle.com.cloud.jaas.ApplicationInstanceDeployment+json" ,
    "service_family_type" : "jaas" , 
    "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/applicationinstancedeploymentrequest/rtriddappjul19@183" ,
    "status" : "SCHEDULED"
  }

39.2.7 DataSource

The DataSource resource model has the following characteristics:

The following table describes the DataSource [application/oracle.com.cloud.jaas.DataSource+json] data model.

Table 39-26 DataSource Data Model

Field Type Description Occurs

uri

URI

A GET against this URI refreshes the client representation of the resources accessible to this user.

1

name

String

A human readable name given to the data source.

[POST][PUT]

1

jndi_name

String[]

JNDI path to where this data source will be bound. Applications look up the data source on the JNDI tree by this name when reserving a connection.

[POST][PUT]

1

database_type

String

The DBMS of the database that the data source represents.

[POST]

0…1

jdbc_driver

String

The database driver used to connect to the database.

[POST]

1

contained_in

JavaPlatformInstance

(uri, name)

JavaPlatformInstance on which the data source exists.

1

resource_state

ResourceState

The validity of the fields on a GET should be guaranteed only when the resource state is READY. Otherwise, the client should not assume the validity of the fields.

1

database_connect_string

String

Connect String of the database can be provided to create the data source.

[POST][PUT]

0…1

service_family_type

String

Denotes the type of Data Source (for example, "jaas").

1

media_type

String

Indicates the additional media type that clients can use to perform a GET.

1

username

String

Username of the DB connection.

1

password

String

Password of the DB connection.

1

context_id

String

This is an ID indication the internal reference of the data source.

1

canonicalLink

String

GET against this normalized/canonical URI refreshes the client representation of the resources accessible to this user.

1


39.2.7.1 Viewing Details of the Data Source Resource

The following shows a sample GET operation on the DataSource URI to return its representation.

Example Request:

Table 39-27 GET Request Configuration for Viewing Details of the Data Source

Feature Description

URI

/em/cloud/jaas/datasource/rtrepodsjul18@CF4339D922C

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.DataSource+json

Body

None

Request method

GET


Example Response:

{
     "uri" : "/em/cloud/jaas/datasource/ rtrepodsjul18@CF4339D922C" ,
     "name" : "rtrepodsjul18" ,
     "resource_state" :     {
        "state" : "READY"
      } ,
     "context_id" : " rtrepodsjul18@CF4339D922C" ,
     "media_type" : "application/oracle.com.cloud.jaas.DataSource+json" ,
     "service_family_type" : "jaas" ,
     "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/datasource/rtrepodsjul18@CF4339D922C " ,
     "jndi_name" : 
     [
       "jndi_1"
     ] ,
     "jdbc_driver" : "oracle.jdbc.OracleDriver" ,
     "username" : "sysam",
     "database_connect_string" : "jdbc:oracle:thin:sysman/sysman@example.oracle.com:15044:sjuly14" ,
     "contained_in" :     {
        "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
        "context_id" : "CF4339D922C51" ,
        "name" : "rtjul17" ,
        "uri" : "/em/cloud/jaas/javaplatforminstance/CF4339D922C51"
    }
 
}

39.2.7.2 Deleting a Data Source

The following shows a sample DELETE operation on the DataSource URI removes it from the JavaPlatformInstance.

Example Request:

Table 39-28 DELETE Request Configuration for Deleting the Data Source

Feature Description

URI

/em/cloud/jaas/datasource/rtrepodsjul18@CF4339D922C

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.DataSource+json

Body

None

Request method

DELETE


Example Response:

HTTP/1.1 200 OK
  Content-Type: application/oracle.com.cloud.jaas.DataSource+json
  Content-Location: /em/cloud/jaas/datasourcerequest/rtrepodsjul18@201
  Cache-Control: public
  Content-Length: nnn
  {
     "uri" : "/em/cloud/jaas/datasourcerequest/rtrepodsjul18@201" ,
     "name" : "rtrepodsjul18_DeleteDS_20120723_024836692" ,
     "resource_state" :     {
         "state" : "INITIATED" ,
         "messages" : 
         [
            {
               "date" : "2012-07-23T09:48:37+0000" ,
               "text" : "null"
            }
         ]
     } ,
     "media_type" : "application/oracle.com.cloud.jaas.DataSource+json" ,
     "service_family_type" : "jaas" ,
     "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/ datasourcerequest/rtrepodsjul18@201" ,
     "status" : "SCHEDULED"
  }

39.2.7.3 Viewing Status of the Data Source Deletion Request

The following shows a sample GET operation on a DataSource request.

Example Request:

Table 39-29 GET Request Configuration for Viewing Status of the Data Source Deletion

Feature Description

URI

/em/cloud/jaas/datasourcerequest/rtrepodsjul18@201

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.DataSource+json

Body

None

Request method

GET


Example Response: (operation in progress):

  {
     "uri" : "/em/cloud/jaas/datasourcerequest/rtrepodsjul18@201" ,
     "name" : "rtrepodsjul18_DeleteDS_20120723_024836692" ,
     "resource_state" :     {
         "state" : "INITIATED" ,
         "messages" : 
         [
            {
               "date" : "2012-07-23T09:48:37+0000" ,
               "text" : "null"
            }
         ]
     } ,
     "context_id" : "rtrepodsjul18@201" ,
     "media_type" : "application/oracle.com.cloud.jaas.DataSource+json" ,
     "service_family_type" : "jaas" ,
     "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/ datasourcerequest/rtrepodsjul18@201" ,
     "status" : "SCHEDULED"
  }

Example Response: (operation is complete)

The status field will show that the resource has been deleted.

39.2.7.4 Updating a Data Source

The following shows a sample PUT operation on the DataSource URI to update the DataSource to add/remove JNDI names and edit the database connect string. An example request for TEST DataSource is also provided.

Example Request:

Table 39-30 PUT Request Configuration for Updating the Data Source

Feature Description

URI

/em/cloud/jaas/datasource/rtrepodsjul18@CF4339D922C

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.DataSource+json

Content-type: application/oracle.com.cloud.jaas.DataSource+json

Body

{
     "jndi_name" : ["jndi_2"],
      "database_connect_string" :    "jdbc:oracle:thin:sysman/sysman@example.oracle.com:15044:sep25cc" ,
      "username" : "sysman",
      "password" : "sysman"
}

Request method

PUT


Example Response:

{
  "uri" : "/em/cloud/jaas/datasourcerequest/rtrepodsjul18@CF4339D922C" ,
  "name" : "rtrepodsjul18_UpdateDS_20121216_062909975" ,
  "resource_state" :     {
      "state" : "READY" ,
      "messages" : 
      [
          {
            "date" : "2012-12-16T14:29:16+0000" ,
            "text" : "null"
          }
      ]
    } ,
  "context_id" : "rtrepodsjul18@681" ,
  "media_type" : "application/oracle.com.cloud.jaas.DataSource+json" ,
  "service_family_type" : "jaas" ,
  "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/datasourcerequest/rtrepodsjul18@191" ,
  "status" : "SCHEDULED"
}               

Example Request for TEST Data Source

Table 39-31 PUT Request Configuration for Testing the Data Source

Feature Description

URI

/em/cloud/jaas/datasource/rtrepodsjul18@CF4339D922C

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.DataSource+json

Content-type: application/oracle.com.cloud.jaas.DataSource+json

Body

{
     "status" : "TEST"
}

Request method

PUT


Example Response

{
     "uri" : "/em/cloud/jaas/datasource/rtrepodsjul18@CF4339D922C" ,
     "name" : "rtrepodsjul18" ,
     "resource_state" :     {
        "state" : "READY"
      } ,
     "context_id" : " rtrepodsjul18@CF4339D922C" ,
     "media_type" : "application/oracle.com.cloud.jaas.DataSource+json" ,
     "service_family_type" : "jaas" , 
  "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/datasource/rtrepodsjul18@CF4339D922C " ,
     "jndi_name" : 
     [
       "jndi_1"
     ] ,
     "jdbc_driver" : "oracle.jdbc.OracleDriver" ,
     "username" : "sysam",
     "database_connect_string" : "jdbc:oracle:thin:sysman/sysman@example.oracle.com:15044:sjuly14" ,
     "contained_in" :     {
        "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
        "context_id" : "CF4339D922C51" ,
        "name" : "rtjul17" ,
        "uri" : "/em/cloud/jaas/javaplatforminstance/CF4339D922C51"
    }
}

39.2.7.5 Viewing Status of the Data Source Request

The following shows a sample GET on Data Source request.

Example Request:

Table 39-32 GET Request Configuration for Viewing Status of the Data Source

Feature Description

URI

/em/cloud/jaas/datasourcerequest/rtrepodsjul18@201

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.DataSource+json

Body

None

Request method

GET


Example Response (when operation is in progress):

{
     "uri" : "/em/cloud/jaas/datasourcerequest/rtrepodsjul18@201" ,
     "name" : "rtrepodsjul18_DeleteDS_20120723_024836692" ,
     "resource_state" :     {
         "state" : "INITIATED" ,
         "messages" : 
         [
            {
               "date" : "2012-07-23T09:48:37+0000" ,
               "text" : "null"
            }
         ]
     } ,
     "context_id" : "rtrepodsjul18@201" ,
     "media_type" : "application/oracle.com.cloud.jaas.DataSource+json" ,
     "service_family_type" : "jaas" ,  
     "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/ datasourcerequest/rtrepodsjul18@201" ,
     "status" : "SCHEDULED"
  }

Example Response (when operation is complete):

{
     "uri" : "/em/cloud/jaas/datasource/ rtrepodsjul18@CF4339D922C" ,
     "name" : "rtrepodsjul18" ,
     "resource_state" :     {
        "state" : "READY"
      } ,
     "context_id" : " rtrepodsjul18@CF4339D922C" ,
     "media_type" : "application/oracle.com.cloud.jaas.DataSource+json" ,
     "service_family_type" : "jaas" ,
     "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/datasource/rtrepodsjul18@CF4339D922C " ,
     "jndi_name" : 
     [
       "jndi_1"
     ] ,
     "jdbc_driver" : "oracle.jdbc.OracleDriver" ,
     "username" : "sysam",
     "database_connect_string" : "jdbc:oracle:thin:sysman/sysman@example.us.oracle.com:15044:sjuly14" ,
     "contained_in" :     {
        "media_type" : "application/oracle.com.cloud.jaas.JavaPlatformInstance+json" ,
        "context_id" : "CF4339D922C51" ,
        "name" : "rtjul17" ,
        "uri" : "/em/cloud/jaas/javaplatforminstance/CF4339D922C51"
    }
 
}

39.2.8 Application Instance Component

This represents the application component in the software library. It can be created by POST-ing to the Jaas service type.

The following table describes the ApplicationInstanceComponent [application/oracle.com.cloud.jaas.ApplicationInstanceComponent+json] data model.

Table 39-33 Application Instance Component Data Model

Field Type Description Occurs

uri

URI

A GET against this URI refreshes the client representation of the resources accessible to this user.

1

name

String

A human readable name given to the instance.

[POST]

1

creator

String

Creator of the ApplicationInstanceComponent in the Software Library.

1

created

Timestamp

Date and time, in ISO 8601 format, when the instance was created.

1

version

String

Version of the ApplicationInstanceComponent in the Software library.

[POST]

1

resource_state

ResourceState

The validity of the fields on a GET should be guaranteed only when the resource state is READY. Otherwise, the client should not assume the validity of the fields.

1

context_id

String

This is an ID indication the internal reference of the ApplicationInstanceComponent.

1

service_family_type

String

Denotes the type of ApplicationInstanceComponent (for example, "jaas").

1

media_type

String

Indicates the additional media type that clients can use to perform a GET.

1

status

String

Status of the ApplicationInstanceComponent in the Software Library.

1

maturity

String

Maturity of the ApplicationInstanceComponent in the Software Library.

1

componenttype

String

Component type of ApplicationInstanceComponent (for example, Java EE Application).

1

canonicalLink

String

GET against this normalized/canonical URI refreshes the client representation of the resources accessible to this user.

1


39.2.8.1 Viewing Details of the Application Instance Component Resource

The following shows a sample GET operation on the ApplicationInstanceComponent URI to return its representation.

Example Request:

Table 39-34 GET Request Configuration for Viewing Details of the Application Instance Component

Feature Description

URI

/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AC514D5CF9FC00CD7E040F10A716020D0%3A0.1

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.ApplicationInstanceComponent+json

Body

None

Request method

GET


Example Response:

HTTP/1.1 200 OK
  Content-Type: application/oracle.com.cloud.jaas. ApplicationInstanceComponent+json
  Content-Location: /em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AC514D5CF9FC00CD7E040F10A716020D0%3A0.1
  Cache-Control: public
  Content-Length: nnn
{
     "uri" :   "/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AC514D5CF9FC00CD7E040F10A716020D0%3A0.1" ,
     "name" : "Riddles" ,
     "resource_state" :     {
        "state" : "READY"
     } ,
     "context_id" : "oracle:defaultService:em:provisioning:1:cmp:COMP_Component:SUB_JavaEEApplication:C514D5CF9FC00CD7E040F10A716020D0:0.1" ,
     "media_type" : "application/oracle.com.cloud.jaas.ApplicationInstanceComponent+json" ,
     "service_family_type" : "jaas" ,
     "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/ applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AC514D5CF9FC00CD7E040F10A716020D0%3A0.1" ,
     "created" : "2012-07-17 22:31:33.0" ,
     "version" : "0.1" ,
     "creator" : "SSA_USER_1" ,
     "componenttype" : "Java EE Application" ,
     "status" : "Ready" ,
     "maturity" : "Untested"
}

39.2.8.2 Deleting an Application Instance Component

The following shows a sample DELETE operation on the ApplicationInstanceComponent URI.

Example Request:

Table 39-35 DELETE Request Configuration for Deleting the Application Instance Component

Feature Description

URI

/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AC514D5CF9FC00CD7E040F10A716020D0%3A0.1

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.jaas.ApplicationInstanceComponent+json

Body

None

Request method

DELETE


Example Response:

{
     "uri" :   "/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AC514D5CF9FC00CD7E040F10A716020D0%3A0.1" ,
      "resource_state" :     {
          "state" : "DESTROYED"
       } ,
       "context_id" : "oracle:defaultService:em:provisioning:1:cmp:COMP_Component:SUB_JavaEEApplication:C514D5CF9FC00CD7E040F10A716020D0:0.1" ,
  "media_type" : "application/oracle.com.cloud.jaas.ApplicationInstanceComponent+json" ,
  "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/service/v0/ssa/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AC514D5CF9FC00CD7E040F10A716020D0%3A0.1"
}

39.3 Application Component Filtering

Application component filtering is supported for JaaS zones, templates, and application components.

39.3.1 Filtering Service Templates

The filtering attributes supported are name, service_template_type, owner, and media_type. The following are sample requests and responses to Service Template Finds:

Example Request

Table 39-36 GET Request Configuration for Filtering Service Templates

Feature Description

URI

/em/cloud?filters=

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.common.ServiceTemplateFinds+json

Body

{
"filters":{"name":"RiddleApp"}
}

Request method

GET


Example Response

{
  "uri" : "/em/cloud/finds/service_template/bWVkaWFfdHlwZSUyNTNEYXBwbGljYXRpb24lMjUyRm9yYWNsZS5jb20uY2xvdWQuY29tbW9uLlNl%0AcnZpY2VUZW1wbGF0ZSUyRm5hbWUlMjUzRFJpZGRsZUFwcA%3D%3D" ,
  "name" : "Service Template Finds" ,
  "media_type" : "application/oracle.com.cloud.common.ServiceTemplateFinds+json" ,
  "description" : "This is a Resource Finds for 'Service Template Finds' with media type 'application/oracle.com.cloud.common.ServiceTemplateFinds+json'" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "filters" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceTemplate" ,
      "name" : "RiddleApp"
    } ,
  "finds" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceTemplate" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/jaas/applicationinstancecomponent/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3ACOMP_Component%3ASUB_JavaEEApplication%3AD1103FE5F6877372E040F20AD1814215%3A0.1" ,
            "name" : "RiddleApp" ,
            "media_type" : "application/oracle.com.cloud.jaas.ApplicationInstanceComponent+json" ,
            "service_family_type" : "jaas"
          }
      ]
    }
}

39.3.2 Filtering Zones

The filtering attributes supported are name, owner, service_family_type, and media_type.

Example for Filtering Zones

Table 39-37 GET Request Configuration for Filtering Zones

Feature Description

URI

/em/cloud?filters=

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Accept: application/oracle.com.cloud.common.ZoneFinds+json

Body

{
"filters":{"name":"Zone1"}
}

Request method

GET


Example Response

{
  "uri" : "/em/cloud/finds/zone/bWVkaWFfdHlwZSUyNTNEYXBwbGljYXRpb24lMjUyRm9yYWNsZS5jb20uY2xvdWQuY29tbW9uLlpv%0AbmUlMkZuYW1lJTI1M0Rab25lMQ%3D%3D" ,
  "name" : "Zone Finds" ,
  "media_type" : "application/oracle.com.cloud.common.ZoneFinds+json" ,
  "description" : "This is a Resource Finds for 'Zone Finds' with media type 'application/oracle.com.cloud.common.ZoneFinds+json'" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "filters" :     {
      "media_type" : "application/oracle.com.cloud.common.Zone" ,
      "name" : "Zone1"
    } ,
  "finds" :     {
      "media_type" : "*/*" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/jaas/zone/A1B44A4EBCC4563125D9D0A3AAE4FD51" ,
            "name" : "Zone1" ,
            "media_type" : "application/oracle.com.cloud.jaas.Zone+json" ,
            "service_family_type" : "jaas"
          }
      ]
    }
}

39.4 Load Balancer Configuration

The following table describes the load balancer configuration.

Table 39-38 Load Balancer Configuration

Method Request Payload URI Description

GET

NA

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/lbrconfigs

Returns all load balancer configurations with lbr Id, lbr name and lbr self link.

GET

NA

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/lbrconfigs/{lbr id}

Returns all details about the given load balancer configuration.

POST

LBR Config Item (Json Payload)

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/lbrconfigs

Creates a new load balancer configuration.

PUT

LBR Config Item (Json Payload)

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/lbrconfigs

Edits the load balancer configuration.

DELETE

NA

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/lbrconfigs/{lbr id}

Deletes the lbr with the specified lbr id.


39.4.1 Load Balance Configuration API Examples

This section explains the API examples related to the Load Balancer Configuration.

39.4.1.1 Viewing Details of the Load Balancer Configuration Resource

The table below lists the GET request configuration.

Table 39-39 GET Request Configuration for Viewing Details of the Load Balancer Configuration Resource

Feature Description

URI

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/lbrconfigs

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

None

Request method

GET


A sample of the response received is shown below.

{
name: "Load Balancer Configurations"
description: "Load Balancer Configurations available"
selfLink: " /em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/lbrconfigs"
lbrconfigs: [2]
0:  {
name: "lbr1"
type: "OHS"
id: 1001
selfLink: ”/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/lbrconfigs/1001"
}
1:  {
name: "lbr2"
type: "OTD"
id: 1002
selfLink: "
/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/lbrconfigs/1002"
}
}

39.4.1.2 Viewing Details of the specified Load Balancer Configuration

The table below lists the GET request configuration for viewing details of the Load Balancer Configuration.

Table 39-40 GET Request Configuration for Viewing Details of the specified Load Balancer Configuration

Feature Description

URI

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/lbrconfigs/1001

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

None

Request method

GET


A sample of the response received is shown below.

{
  name: "lbr1"
  description: "Real ohs lbr"
  type: "OHS"
  id: 1001
  owner: "SYSMAN"
  host: "example.oracle.com"
  credential: "HOST_CREDS"
  agentTargetName: "abc.us.oracle.com:11852"
  instanceHome: "/scratch/PS5_OHS/instance_home"
  poolTargets:  [1]
        0:  "10729BD1A3B12FA254232EE4F84CB71B"
planTargets:   [0]
properties: 
 {
    OHS_ROUTING_HTTP_PORT: "7777"
    OHS_ROUTING_PROTOCOL: "HTTP"
    COMPONENT_NAME: "ohs1"
  }
selfLink: "/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/lbrconfigs/1001"
}

39.4.1.3 Editing the Load Balancer Configuration

The table below lists the PUT request configuration for editing the Load Balancer Configuration.

Table 39-41 PUT Request Configuration for Editing the Load Balancer Configuration

Feature Description

URI

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/lbrconfigs

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
"name": "lbr2",
"description": "desc by rest",
"type": "OTD",
"id": 1002,
"host": "abc.us.oracle.com",
"agentTargetName": "abc.us.oracle.com:11852",
"credential": "USER_CREDS",
"instanceHome": "as",
"properties":{ "items": 
               [
                 {"name":"SNMP_PORT", "value":"11161"},
                 {"name":"CERT_NAME", "value": "sdfsdf"},
                 {"name":"OTD_INSTANCENODES", "value": "sd"},
                 {"name":"HTTP_PORT", "value": "80"},
                 {"name":"CONFIG_NAME", "value": "config1"},
                 {"name":"VIRTUAL_SERVER_NAME", "value": "dfsdfs"},
                 {"name":"HTTPS_PORT", "value": "443"},
                 {"name":"ROUTING_PROTOCOL", "value": "HTTP_HTTPS"}
               ]
             } ,
"poolTargets": [ "10729BD1A3B12FA25432EE4F84CB71B" ]
}

Request method

PUT


39.4.1.4 Adding a Load Balancer Configuration

The table below lists the POST request configuration for adding a Load Balancer Configuration.

Table 39-42 PUT Request Configuration for Editing the Load Balancer Configuration

Feature Description

URI

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/lbrconfigs

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
"name": "lbr1",
"description": "desc by rest",
"type": "OHS",
"host": "abc.us.oracle.com",
"agentTargetName": "abc.us.oracle.com:11852",
"credential": "USER_CREDS",
"instanceHome": "instHome",
"properties":{ "items": 
               [
                 {"name":"OHS_ROUTING_HTTP_PORT", "value":"80"},
                 {"name":"OHS_ROUTING_PROTOCOL", "value": "HTTP"},
                 {"name":"COMPONENT_NAME", "value": "compName"}
               ]
             },
"poolTargets": [ "10729BD1A33B12FA254232EE4F84CB71B" ]
}

Request method

POST


39.5 Quotas

The following table describes the quota configuration.

Table 39-43 Quota Configuration

Method Request Payload URI Description

GET

NA

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/quotas

Returns quota settings for all ssa user roles for MWaaS.

POST

Quota Item (Json Payload)

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/quotas

Creates quota for the SSA user role.

PUT

Quota Item (Json Payload)

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/quotas

Edits quota for the SSA user role.

DELETE

Quota Item (Json Payload)

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/quotas

Deletes quota for the SSA user role.


39.5.1 Quotas API Examples

This section explains the Quotas API examples.

39.5.1.1 Viewing Details of the Quota Settings for All SSA User Roles

The table below lists the GET request configuration.

Table 39-44 GET Request Configuration for Viewing Details of the Quota Settings for All SSA User Roles

Feature Description

URI

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/quotas

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

None

Request method

GET


A sample of the response received is shown below.

{"name":"Middleware Cloud Quotas","description":"Middleware Cloud Quotas per SSA
User Role","quotas":[{"roleName":"SSA_DEMO_ROLE", "memory":"10","javaServersCount":"10"}],"selfLink":"https://example.oracle.com
:5416/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/quotas"}
 

39.5.1.2 Creating Quota Settings for a SSA User Role

The table below lists the POST request configuration.

Table 39-45 POST Request Configuration for Creating Quota Settings for a SSA User Role

Feature Description

URI

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/quotas

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
"roleName": "SSA_ROLE"
"memory": "5"
"javaServersCount": "10"
}

Request method

POST


39.5.1.3 Editing Quota Settings for a SSA User Role

The table below lists the PUT request configuration.

Table 39-46 PUT Request Configuration for Editing Quota Settings for a SSA User Role

Feature Description

URI

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/quotas

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
"roleName": "SSA_ROLE"
"memory": "10"
"javaServersCount": "5"
}

Request method

PUT


39.5.1.4 Deleting Quota Settings for a SSA User Role

The table below lists the DELETE request configuration.

Table 39-47 DELETE Request Configuration for Deleting Quota Settings for a SSA User Role

Feature Description

URI

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/quotas

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
"roleName": "SSA_ROLE"
}

Request method

DELETE


39.6 Service Templates

For Create requests, the CDP based template and profiles are supported.

Note:

Middleware Virtual Template management is not supported in this release.

39.6.1 Creating a Service Template

The table below lists the POST request configuration.

Table 39-48 POST Request Configuration for Creating a Service Template

Feature Description

URI

/em/websvcs/restful//extws/cloudservices/admin/cfw/v1/servicetemplates

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
"name": "restTemplate",
"serviceFamily": "MWAAS",
"serviceType": "PhysicalWLS",
"description": " CDP based template created through REST",
"poolIds":[ "10729BD1A3B12FA254232EE4F84CB71B" ],
"roles":[{ "name":"SSA_USER_ROLE1" } ],
"serviceExecutableMeta": {
"type": "CDP",
"name": "CDP1",
"configurations":[
{"id": "wlsUserName","value": "weblogic"},
{"id": "wlsUserPassword","value": "welcome1"},
{"id": "wlsUserPassword2","value": "welcome1"},
{"id": "topology","value": "1"},
{"id": "exposeAdminURLs","value": "0"},
{"id": "enableLoadBalancer","value": "0"},
{"id": "hostListForScripts","value": ""},
{"id": "namedCredforHostList","value": ""},
{"id": "isScriptExecuteOnAdminServer","value": ""},
{"id": "portRangeStart","value": "1024"},
{"id": "portRangeEnd","value": "65000"},
{"id": "memoryUsagePerInstance","value": "0.25"},
{"id": "cpuUsagePerInstance","value": "10"},
{"id": "startupArguments","value": ""},
{"id": "requireHighAvailability","value": "1"},
{"id": "rootPwd","value": ""},
{"id": "agentInstallUserPwd","value": ""},
{"id": "namedHostCredForVirtualFlow","value": ""}  ]
}
}

Request method

POST


39.7 User Operation API Examples

The following operations are described in this section:

39.7.1 Starting/Stopping Service Instances

The following table describes the API to stop a service instance.

Table 39-49 PUT Request Configuration for Starting/Stopping Service Instances

Feature Description

URI

em/websvcs/restful/extws/cloudservices/ssa/mwaas/v1/serviceinstances/{instance_id}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
 "operation":"STOP"
 }

Request method

PUT


A sample of the response received is shown below.

{
message: "Stop service instance request has been submitted. Request ID = 122"
statusUri:
"https://example.oracle.com:5416/em/websvcs/restful/extws/cloudservices/ssa/cf
w/v1/servicerequests"
}

Similar to the above example, to start a service instance all the features of the API shown above remain the same, except for "operation":"START" should be mentioned in the Body instead of "operation":"STOP".

39.7.2 Rescheduling Service Instance

The following table describes the reschedule service instance configuration. The following API reschedules the service instance based on the schedule date.

Table 39-50 PUT Request Configuration for Rescheduling a Service Instance

Feature Description

URI

em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/serviceinstances/{instance_id}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
"operation":"RESCHEDULE"
 , "reschedule":"2013-12-20T02:10:45ZAsia/Calcutta"
}

Request method

PUT


A sample of the response received is shown below.

{
message: "Reschedule request has been submitted. Request ID = 124 "
statusUri:
"https://example.oracle.com:5416/em/websvcs/restful/extws/cloudservices/ssa/cf
w/v1/servicerequests"
}

39.7.3 Viewing Details of the Java EE Application Components in Software Library

The following table describes the Java EE application components configuration. The following API returns all the Java EE app components uploaded in the software library.

Table 39-51 GET Request Configuration for Rescheduling a Service Instance

Feature Description

URI

em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/javaeeappcomponets

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

None

Request method

GET


A sample of the response received is shown below.

{
name: "Java EE Application Components uploaded in My Library "
selfLink:
"https://example.oracle.com:5416/em/websvcs/restful/extws/cloudservices/ssa/mw
aas/v1/javaeeappcomponets"
appUrns: [1]
0:  {
type: "Java EE Application"
description: null
status: "Ready"
appName: "Calendar"
creator: "SSA_USER1"
revision: "0.1"
maturity: "Untested"
createdTime: "2013-12-12 04:19:17.0"
appUrn: "oracle:defaultService:em:provisioning:1:cmp:COMP_Component:SUB
_JavaEEApplication:ED561AB14BA02907E043AB53F20AC335:0.1"
}

39.7.4 Deploying an Application as a Library

This section shows the APIs to deploy, redeploy, and undeploy the application as a library.

Table 39-52 Deploy Application as a Library Supported Request Methods

Method Request Payload URI Description

PUT

Instance Item

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/serviceinstances/{Instance_Guid}

Deploys application as a library.

PUT

Instance Item

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/serviceinstances/{Instance_Guid}

Redeploys the deployed application.

PUT

Instance Item

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/serviceinstances/{Instance_Guid}

Undeploys the library.


39.7.4.1 Deploying an Application as a Library

The table below lists the PUT request configuration for deploying an application as a library.

Table 39-53 PUT Request Configuration for Deploying an Application as a Library

Feature Description

URI

em/websvcs/restful/extws/cloudservices/ssa/mwaas/v1/serviceinstances/{instance_id}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
"operation":"DEPLOYLIB"
 , "appName":"testLib” ,

 "appUrn":"oracle:defaultService:em:provisioning:1:cmp:COMP_Component:SUB
_JavaEEApplication:ED561AB14BA02907E043AB53F20AC335:0.1"
}

Request method

PUT


A sample of the response received is shown below.

{
message: "Deploy Library request has been submitted. Request ID = 125 "
statusUri:
 "https://example.oracle.com:5416/em/websvcs/restful/extws/cloudservices/ssa/
cfw/v1/servicerequests"
}

39.7.4.2 Redeploying an Application as a Library

The table below lists the PUT request configuration for redeploying an application as a library.

Table 39-54 PUT Request Configuration for Redeploying an Application as a Library

Feature Description

URI

em/websvcs/restful/extws/cloudservices/ssa/mwaas/v1/serviceinstances/{instance_id}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
"operation":"REDEPLOYLIB"
 , "appName":"testLib” ,
 "appUrn":"oracle:defaultService:em:provisioning:1:cmp:COMP_Component:SUB
_JavaEEApplication:ED561AB14BA02907E043AB53F20AC335:0.1"
}

Request method

PUT


39.7.4.3 Undeploying an Application as a Library

The table below lists the PUT request configuration for undeploying an application as a library.

Table 39-55 PUT Request Configuration for Undeploying an Application as a Library

Feature Description

URI

em/websvcs/restful/extws/cloudservices/ssa/mwaas/v1/serviceinstances/{instance_id}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
"operation":"UNDEPLOYLIB"
 , "appName":"testLib”
}

Request method

PUT


39.7.5 User Operations for Scheduling Support

This sections shows the APIs for the POST operations for Service Instances.

Table 39-56 Java EE Applications Components POST Request Descriptions

Method Request Payload URI Description

POST

Instance Item

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/serviceinstances

Submits request for service instance creation

POST

Instance Item

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/serviceinstances

Scale up request.

POST

Instance Item

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/serviceinstances

Scale down request.

POST

Instance Item

/em/websvcs/restful/extws/cloudservices/admin/mwaas/v1/serviceinstances

Deletes the service instance.


39.7.5.1 Creating a Service Instance

The table below lists the POST request configuration for creating a service instance.

Table 39-57 POST Request Configuration for Creating a Service Instance

Feature Description

URI

em/websvcs/restful/extws/cloudservices/ssa/mwaas/v1/serviceinstances

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
"operation":"REQUEST_INSTANCE"
     , "stGuid":"ED638689D4483CA4E043AB53F20A98C1"
     ,"serviceName":"instanceName"
     ,"zoneName":"paas_zone"
     ,"schedule":"2013-11-23T02:10:45ZAsia/Calcutta"
}

Request method

POST


39.7.5.2 Scaling Up a Service Instance

The table below lists the POST request configuration for scaling up a service instance.

Table 39-58 POST Request Configuration for Scaling Up a Service Instance

Feature Description

URI

em/websvcs/restful/extws/cloudservices/ssa/mwaas/v1/serviceinstances

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
"operation":"SCALEUP"
 ,"serviceName":" instanceName"
  , "numberOfServer":1
  ,"schedule":"2013-11-23T02:10:45ZAsia/Calcutta"
}

Request method

POST


Note:

For immediate execution the schedule object should be empty in the Body.

39.7.5.3 Scaling Down a Service Instance

The table below lists the POST request configuration for scaling down a service instance.

Table 39-59 POST Request Configuration for Scaling Down a Service Instance

Feature Description

URI

em/websvcs/restful/extws/cloudservices/ssa/mwaas/v1/serviceinstances

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
"operation":"SCALEDOWN"
     ,"serviceName":"testInstance20_142768fdfff"
     , "numberOfServer":1
     ,"schedule":""
}

Request method

POST


Note:

For a scheduled execution the schedule object should specify the date, time and zone in the Body.

39.7.5.4 Deleting a Service Instance

The table below lists the POST request configuration for deleting a service instance.

Table 39-60 POST Request Configuration for Deleting a Service Instance

Feature Description

URI

em/websvcs/restful/extws/cloudservices/ssa/mwaas/v1/serviceinstances

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
"operation":"DELETE_INSTANCE"
  ,"serviceName":" instanceName"
  , "zoneName":"paas_zone"
  , "schedule":""
}

Request method

POST


39.8 EMCLI Support for Administration Operations

This section contains a few samples and usage of the emcli commands. For more details, refer to the Enterprise Manager Command Line Reference.

$ emcli invoke_ws -wsname=/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones -method=get

{"name":"Paas Zones","type":"Paas Infrastructure Zone","hasMore":false,"count":1,"items":[{"name":"PaaS_Zone1","id":"A116CF8CA22D453E96B777143E209618","type":"self_service_zone","description":"PaaS Zone with OMS Host","canonicalLink":"https://example.oracle.com:5416/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A116CF8CA22D453E96B777143E209618"}],"totalCount":1,"canonicalLink":"https://example.us.oracle.com:5416/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones","selfLink":"https://example.us.oracle.com:5416/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones"}

$ emcli invoke_ws -wsname=/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A116CF8CA22D453E96B777143E209618 -method=get

"name":"PaaS_Zone1","description":"PaaS Zone with OMS Host","type":"PaaS Infrastructure Zone","id":"A116CF8CA22D453E96B777143E209618","credential":"HOST1","members":{"canonicalLink":"https://example.oracle.com:5416/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A116CF8CA22D453E96B777143E209618/members","memberType":"host","numberOfHostMembers":"1"},"constraints":{"canonicalLink":"https://example.oracle.com:5416/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A116CF8CA22D453E96B777143E209618/constraints","numberOfConstraints":"2"},"roles":{"canonicalLink":"https://example.oracle.com:5416/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A116CF8CA22D453E96B777143E209618/roles","numberOfUserRoles":"3"},"pools":{"canonicalLink":"https://example.oracle.com:5416/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A116CF8CA22D453E96B777143E209618/pools","numberOfSoftwarePools":"0"},"createdOn":"2014-02-18 14:11:28.0","createdBy":null,"modifiedOn":null,"modifiedBy":null,"owner":"SYSMAN","etag":null,"lastModified":null,"canonicalLink":"https://example.oracle.com:5416/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A116CF8CA22D453E96B777143E209618","selfLink":"https://example.oracle.com:5416/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A116CF8CA2D453E96B777143E209618"}

$ emcli help invoke_ws

emcli invoke_ws

-wsname=<WebService Name>

-method=<method name>

[-payload=<Payload>]

[-accept=<accept type>

[-type=response type]

[-param=Query Parameters]

[-input_file=<Input File for payload data>]

Description: Invokes the Enteprise Manager Web service.

Options:

  • -wsname

    For example, -wsname=/em/websvcs/restful/emws/core/v0/list/dataservice

  • -method

    Rest method type

    Example: get/post

  • -payload

    This can be json/xml input payload.

    You can also use input_file tag to pick up this data from file.

  • -accept

    Payload type. These are standard jersey values.

  • -type

    These are standard jersey response types.

  • -param

    Use this to pass in Form/Query parameter value. For example, -param="name:value"

    This also can be read from file. To read from file specify as follows. For example, -param="name:tag" -input_file="tag:file.txt"

    In the above example, the name parameter will be read from file file.txt.

    More than one parameter can be specified as follows:For example, -param="name:value" -param="zip:12345"

  • -input_file

    Use this to pass in payload or param value from file.

Examples:

emcli invoke_ws -wsname=/em/websvcs/restful/emws/core/v0/list/dataservice -method=get -param="name:Administrators"

Invokes list resource and gets all administrators

emcli invoke_ws -wsname=/em/websvcs/restful/emws/core/v0/list/dataservice -method=get -param="name:tag" -input_file="tag:file.txt"

Invokes list resource and gets all administrators. "name" parameter is read from file.txt file.