Skip Headers
Oracle® Enterprise Manager Cloud Administration Guide
12c Release 2 (12.1.0.2)

Part Number E28814-03
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

20 Cloud API Examples

The following sections provide examples of interaction with Enterprise Manager Cloud Control 12.1.0.2 with the Enterprise Manager for Oracle Cloud 12.1.0.4 plug-in. The following topics are covered:

Introspecting Resources

The following examples illustrates the shape of the various resources. In this version, default x-specification-version is assumed at 10001.

Cloud Resource

Use the top level /em/cloud to introspect the Cloud resource.

  • URL

    https://example.us.oracle.com/em/cloud

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=X-specification-Version: 10001

  • Method

    GET

The following returns the Cloud resource:

{
  "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" ,
  "zones" :     {
      "media_type" : "application/oracle.com.cloud.common.Zone+json" ,
      "total" : "3" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/jaas/zone/450121204B4703131FC0FDD72E7BF494" ,
            "name" : "PaaS_Zone_Middleware" ,
            "media_type" : "application/oracle.com.cloud.jaas.Zone+json" ,
            "service_family_type" : "jaas"
          } ,
          {
            "uri" : "/em/cloud/opc/opczone" ,
            "name" : "OPC Zone" ,
            "media_type" : "application/oracle.com.cloud.opc.OpcZone+json" ,
            "service_family_type" : "opc" ,
            "type" : "opc"
          } ,
          {
            "uri" : "/em/cloud/iaas/zone/D73AF0D42C8459E11419862797D1F37D" ,
            "name" : "cloud_zone" ,
            "media_type" : "application/oracle.com.cloud.iaas.Zone+json" ,
            "service_family_type" : "iaas" ,
            "type" : "VM_ZONE"
          }
      ]
    } ,
  "service_templates" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceTemplate+json" ,
      "total" : "7" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/iaas/servicetemplate/vm/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3ATemplate%3AC76CEB5563EA5E13E040578CDA817FAF%3A0.1" ,
            "name" : "template_sanity" ,
            "media_type" : "application/oracle.com.cloud.common.VMTemplate+json" ,
            "service_family_type" : "iaas" ,
            "type" : "Template"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC75E88B04D7FEDEDE040578CDA810E49%3A0.1" ,
            "name" : "sidb_assembly" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "service_family_type" : "iaas" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC769B1F361529309E040578CDA813D57%3A0.1" ,
            "name" : "wls_assembly" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "service_family_type" : "iaas" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC76F733BC7A41AF7E040578CDA812CDC%3A0.1" ,
            "name" : "fmw_venkat" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "service_family_type" : "iaas" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC76C144A4A245B62E040578CDA8163B9%3A0.1" ,
            "name" : "fmw_abby" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "service_family_type" : "iaas" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC77122B0A916D95CE040578CDA814854%3A0.1" ,
            "name" : "sidbasmA_abby" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "service_family_type" : "iaas" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC76C8792DE2A0937E040578CDA81795E%3A0.1" ,
            "name" : "WLS_abby" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "service_family_type" : "iaas" ,
            "type" : "Assembly"
          }
      ]
    } ,
  "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"
          } ,
          {
            "uri" : "/em/cloud/service_family_type/dbaas" ,
            "name" : "dbaas" ,
            "media_type" : "application/oracle.com.cloud.common.ServiceFamilyType+json" ,
            "type" : "dbaas"
          } ,
          {
            "uri" : "/em/cloud/service_family_type/opc" ,
            "name" : "opc" ,
            "media_type" : "application/oracle.com.cloud.common.ServiceFamilyType+json" ,
            "type" : "opc"
          } ,
          {
            "uri" : "/em/cloud/service_family_type/iaas" ,
            "name" : "iaas" ,
            "media_type" : "application/oracle.com.cloud.iaas.IaasServiceFamilyType+json" ,
            "type" : "iaas"
          }
      ]
    }
}

Note:

Even though the Accept type was not specified, the Web service still unambiguously returns the Cloud resource as the "/em/cloud" address uniquely identifies the Cloud as the default resource to be returned.

The following shows interaction with the Cloud resource picking up specific attributes

  • URL

    https://example.us.oracle.com/em/cloud?service_family_types,name

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

Here are the selective attributes:

{
  "name" : "Oracle Cloud by Enterprise Manager" ,
  "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"
          } ,
          {
            "uri" : "/em/cloud/service_family_type/dbaas" ,
            "name" : "dbaas" ,
            "media_type" : "application/oracle.com.cloud.common.ServiceFamilyType+json" ,
            "type" : "dbaas"
          } ,
          {
            "uri" : "/em/cloud/service_family_type/opc" ,
            "name" : "opc" ,
            "media_type" : "application/oracle.com.cloud.common.ServiceFamilyType+json" ,
            "type" : "opc"
          } ,
          {
            "uri" : "/em/cloud/service_family_type/iaas" ,
            "name" : "iaas" ,
            "media_type" : "application/oracle.com.cloud.iaas.IaasServiceFamilyType+json" ,
            "type" : "iaas"
          }
      ]
    }
}

This feature is supported on all the common resources where only selective attributes will be gathered and returned to the client.

Service Family Type Resource

The following describes the Service Family Type resource.

  • URL

    https://example.us.oracle.com/em/cloud/service_family_type/iaas

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

The following shows the returned headers and content for this interaction:

X-specification-version: 10001
Content-Type: application/oracle.com.cloud.iaas.IaasServiceFamilyType+json; charset=ISO-8859-1
{
  "uri" : "/em/cloud/service_family_type/iaas" ,
  "name" : "iaas" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "media_type" : "application/oracle.com.cloud.iaas.IaasServiceFamilyType+json" ,
  "type" : "iaas" ,
  "service_templates" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceTemplate+json" ,
      "total" : "7" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/iaas/servicetemplate/vm/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3ATemplate%3AC76CEB5563EA5E13E040578CDA817FAF%3A0.1" ,
            "name" : "template_sanity" ,
            "media_type" : "application/oracle.com.cloud.common.VMTemplate+json" ,
            "type" : "Template"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC75E88B04D7FEDEDE040578CDA810E49%3A0.1" ,
            "name" : "sidb_assembly" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC769B1F361529309E040578CDA813D57%3A0.1" ,
            "name" : "wls_assembly" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC76F733BC7A41AF7E040578CDA812CDC%3A0.1" ,
            "name" : "fmw_venkat" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC76C144A4A245B62E040578CDA8163B9%3A0.1" ,
            "name" : "fmw_abby" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC77122B0A916D95CE040578CDA814854%3A0.1" ,
            "name" : "sidbasmA_abby" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC76C8792DE2A0937E040578CDA81795E%3A0.1" ,
            "name" : "WLS_abby" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "type" : "Assembly"
          }
      ]
    } ,
  "zones" :     {
      "media_type" : "application/oracle.com.cloud.common.Zone+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/iaas/zone/D73AF0D42C8459E11419862797D1F37D" ,
            "name" : "cloud_zone" ,
            "media_type" : "application/oracle.com.cloud.iaas.Zone+json" ,
            "service_family_type" : "iaas" ,
            "type" : "VM_ZONE"
          }
      ]
    } ,
  "instance_types" :     {
      "media_type" : "application/oracle.com.cloud.common.InstanceType+json" ,
      "total" : "2" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/instance_type/vm%40iaas" ,
            "name" : "vm" ,
            "media_type" : "application/oracle.com.cloud.common.InstanceType+json" ,
            "instance_media_type" : "application/oracle.com.cloud.common.VM+json"
          } ,
          {
            "uri" : "/em/cloud/instance_type/assembly%40iaas" ,
            "name" : "assembly" ,
            "media_type" : "application/oracle.com.cloud.common.InstanceType+json" ,
            "instance_media_type" : "application/oracle.com.cloud.common.AssemblyInstance+json"
          }
      ]
    } ,
  "instance_options" : 
  [
      {
        "name" : "Medium" ,
        "cpu" : "4" ,
        "memory" : "8192" ,
        "local_storage" : "512000" ,
        "id" : "2"
      } ,
      {
        "name" : "Large" ,
        "cpu" : "8" ,
        "memory" : "15360" ,
        "local_storage" : "1024000" ,
        "id" : "3"
      } ,
      {
        "name" : "Small" ,
        "cpu" : "2" ,
        "memory" : "4096" ,
        "local_storage" : "256000" ,
        "id" : "1"
      }
  ]
}

The media type application/oracle.com.cloud.iaas.IaasServiceFamilyType+json is returned automatically as the most detailed resource. Similarly, you can interact with the system by accepting the common type:

  • URL

    https://example.us.oracle.com/em/cloud/service_family_type/iaas

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

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

  • Method

    GET

The Web service will return the same as described above.

Service Instance Type resource

This is the resource that describes the type of services that are provided by a particular Service Family Type.

  • URL

    https://example.us.oracle.com/em/cloud/instance_type/vm%40iaas

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

The following shows the Service Instance Type resource:

{
  "uri" : "/em/cloud/instance_type/vm%40iaas" ,
  "name" : "vm" ,
  "description" : "A Virtual Machine represents a computational unit that contains CPU, Memory, Network Instances, and Disks" ,
  "media_type" : "application/oracle.com.cloud.common.InstanceType+json" ,
  "instance_media_type" : "application/oracle.com.cloud.common.VM+json" ,
  "metrics" : 
  [
    [
      "CPU_Utilization" ,
      "CPU Utilization of the Server" ,
      "GENERIC"
    ] ,
    [
      "Total_Network_Throughput" ,
      "Total Network Throughput of the Server" ,
      "GENERIC"
    ] ,
    [
      "Total_Disk_Throughput" ,
      "Total Disk Throughput of the Server" ,
      "GENERIC"
    ] ,
    [
      "Filesystem_Total_Used" ,
      "Summary of the total file system usage" ,
      "GENERIC"
    ]
  ] ,
  "instance_options" : 
  [
      {
        "name" : "Medium" ,
        "cpu" : "4" ,
        "memory" : "8192" ,
        "local_storage" : "512000" ,
        "id" : "2"
      } ,
      {
        "name" : "Large" ,
        "cpu" : "8" ,
        "memory" : "15360" ,
        "local_storage" : "1024000" ,
        "id" : "3"
      } ,
      {
        "name" : "Small" ,
        "cpu" : "2" ,
        "memory" : "4096" ,
        "local_storage" : "256000" ,
        "id" : "1"
      }
  ]
}

Zone

This describes the Zone resource.

  • URL

    https://example.us.oracle.com/em/cloud/iaas/zone/D73AF0D42C8459E11419862797D1F37D

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

The following is the Zone resource, automatically cast to the application/oracle.com.cloud.iaas.Zone+json media type:

{
  "uri" : "/em/cloud/iaas/zone/D73AF0D42C8459E11419862797D1F37D" ,
  "name" : "cloud_zone" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "context_id" : "D73AF0D42C8459E11419862797D1F37D" ,
  "media_type" : "application/oracle.com.cloud.iaas.Zone+json" ,
  "service_family_type" : "iaas" ,
  "type" : "VM_ZONE" ,
  "service_templates" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceTemplate+json" ,
      "total" : "7" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/iaas/servicetemplate/vm/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3ATemplate%3AC76CEB5563EA5E13E040578CDA817FAF%3A0.1" ,
            "name" : "template_sanity" ,
            "media_type" : "application/oracle.com.cloud.common.VMTemplate+json" ,
            "type" : "Template"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC75E88B04D7FEDEDE040578CDA810E49%3A0.1" ,
            "name" : "sidb_assembly" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC77122B0A916D95CE040578CDA814854%3A0.1" ,
            "name" : "sidbasmA_abby" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC769B1F361529309E040578CDA813D57%3A0.1" ,
            "name" : "wls_assembly" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC76C144A4A245B62E040578CDA8163B9%3A0.1" ,
            "name" : "fmw_abby" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC76C8792DE2A0937E040578CDA81795E%3A0.1" ,
            "name" : "WLS_abby" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "type" : "Assembly"
          } ,
          {
            "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC76F733BC7A41AF7E040578CDA812CDC%3A0.1" ,
            "name" : "fmw_venkat" ,
            "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
            "type" : "Assembly"
          }
      ]
    } ,
  "service_instances" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceInstance+json" ,
      "total" : "0" ,
      "elements" : 
      [      ]
    } ,
  "vnets" :     {
      "media_type" : "application/oracle.com.cloud.common.VNet+json" ,
      "total" : "3" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/iaas/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3AnetConfig%3AC76CEADBBBE6B23FE040578CDA817FB1" ,
            "context_id" : "oracle:defaultService:em:provisioning:1:netConfig:C76CEADBBBE6B23FE040578CDA817FB1" ,
            "media_type" : "application/oracle.com.cloud.common.VNet+json" ,
            "id" : "oracle:defaultService:em:provisioning:1:netConfig:C76CEADBBBE6B23FE040578CDA817FB1"
          } ,
          {
            "uri" : "/em/cloud/iaas/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3AnetConfig%3AC77076C8FDEC6BD7E040578CDA813B2B" ,
            "context_id" : "oracle:defaultService:em:provisioning:1:netConfig:C77076C8FDEC6BD7E040578CDA813B2B" ,
            "media_type" : "application/oracle.com.cloud.common.VNet+json" ,
            "id" : "oracle:defaultService:em:provisioning:1:netConfig:C77076C8FDEC6BD7E040578CDA813B2B"
          } ,
          {
            "uri" : "/em/cloud/iaas/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3AnetConfig%3AC76F741AFD7EB760E040578CDA812CD8" ,
            "context_id" : "oracle:defaultService:em:provisioning:1:netConfig:C76F741AFD7EB760E040578CDA812CD8" ,
            "media_type" : "application/oracle.com.cloud.common.VNet+json" ,
            "id" : "oracle:defaultService:em:provisioning:1:netConfig:C76F741AFD7EB760E040578CDA812CD8"
          }
      ]
    } ,
  "delegated_credentials" :     {
      "media_type" : "application/oracle.com.cloud.iaas.ExalogicZoneCredential+json" ,
      "total" : "0" ,
      "elements" : 
      [      ]
    }
}

Service Template Resource

As shown in previous examples, the elements in the collection shown all have "media_type" as an attribute to clearly indicate what its resource type is.

  • URL

    https://example.oracle.com/em/cloud/iaas/servicetemplate/vm/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3ATemplate%3AC76CEB5563EA5E13E040578CDA817FAF%3A0.1

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

This is the resource returned as the complete VMTemplate resource:

{
  "uri" : "/em/cloud/iaas/servicetemplate/vm/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3ATemplate%3AC76CEB5563EA5E13E040578CDA817FAF%3A0.1" ,
  "name" : "template_sanity" ,
  "description" : "test template" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "context_id" : "oracle:defaultService:em:provisioning:1:cmp:Virtualization:Template:C76CEB5563EA5E13E040578CDA817FAF:0.1" ,
  "media_type" : "application/oracle.com.cloud.common.VMTemplate+json" ,
  "type" : "Template" ,
  "created" : "2012-08-17T11:53:26+0000" ,
  "default_instance_media_type" : "application/oracle.com.cloud.common.VM+json" ,
  "zones" :     {
      "media_type" : "application/oracle.com.cloud.iaas.Zone+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/iaas/zone/D73AF0D42C8459E11419862797D1F37D" ,
            "name" : "cloud_zone" ,
            "media_type" : "application/oracle.com.cloud.iaas.Zone+json" ,
            "service_family_type" : "iaas" ,
            "type" : "VM_ZONE"
          }
      ]
    } ,
  "service_instances" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceInstance+json" ,
      "total" : "0" ,
      "elements" : 
      [      ]
    } ,
  "deployment_params" : 
  [
      {
        "name" : "zone" ,
        "description" : "'zone' attribute is the URI of the zone that the 'application/oracle.com.cloud.common.VM' resource is to be created in" ,
        "type" : "STRING" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "based_on" ,
        "description" : "'based_on' attribute is the URI of the service template or format String of the originated source which the deployed 'application/oracle.com.cloud.common.VM' resource is to be followed" ,
        "type" : "STRING" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "cpu" ,
        "description" : "The information that determined how much 'CPU' is to be allocated to the deployed resource" ,
        "type" : "LIST" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "memory" ,
        "description" : "The information that determined how much 'MEMORY' is to be allocated to the deployed resource" ,
        "type" : "NUMBER" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "disks" ,
        "description" : "The list of disks to be included in the deployed resource" ,
        "type" : "LIST" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "params.domain_type" ,
        "description" : "The domain type of the Virtual Machine" ,
        "type" : "STRING" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "params.network_profile" ,
        "description" : "The identifier of the network profile to be used for the network instances of the Virtual Machine" ,
        "type" : "STRING" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "params.server_prefix" ,
        "description" : "The server prefix to be specified for the Virtual Machine" ,
        "type" : "STRING" ,
        "require" : "true" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "params.server_size" ,
        "description" : "The name of the server instance size" ,
        "type" : "STRING" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "params.request_name" ,
        "description" : "The request name to be tracked for the Virtual Machine creation" ,
        "type" : "STRING" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "params.request_description" ,
        "description" : "The request description to be tracked for the Virtual Machine creation" ,
        "type" : "STRING" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "params.vnc_password" ,
        "description" : "The VNC password for the Virtual Machine" ,
        "type" : "STRING" ,
        "require" : "true" ,
        "sensitive" : "true"
      } ,
      {
        "name" : "params.root_password" ,
        "description" : "The Root password for the Virtual Machine" ,
        "type" : "STRING" ,
        "require" : "true" ,
        "sensitive" : "true"
      } ,
      {
        "name" : "params.start_vm" ,
        "description" : "Whether or not the Virtual Machine should be started after creation" ,
        "type" : "STRING" ,
        "defaultValue" : "YES" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "params.ha_enabled" ,
        "description" : "Whether or not the Virtual Machine should be HA enabled" ,
        "type" : "STRING" ,
        "defaultValue" : "NO" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "params.disks_overwrite" ,
        "description" : "Whether or not the default Virtual Machine disks should be overwritten" ,
        "type" : "STRING" ,
        "defaultValue" : "NO" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "params.networks" ,
        "description" : "Whether or not the default Virtual Machine disks should be overwritten" ,
        "type" : "LIST" ,
        "require" : "false" ,
        "sensitive" : "false"
      }
  ] ,
  "directory" : "COMP_Components" ,
  "updated" : "2012-08-17T11:53:26+0000" ,
  "creator" : "DMBHAT1" ,
  "last_modified_by" : "DMBHAT1" ,
  "componenttype" : "Virtualization" ,
  "oracle_owned" : "false"
}

Metric resource

A metric contains some time series information, and depending on the type of the metric, rollup information can be retrieved. For example,

  • URL

    https://example.oracle.com/em/cloud/metric/iaas%3Avm%3ACPU_Utilization%3A523CAE80A305928C9C5BE8A67A4181FD

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

This is the response from the Web service:

{
  "uri" : "/em/cloud/metric/iaas%3Avm%3ACPU_Utilization%3A523CAE80A305928C9C5BE8A67A4181FD" ,
  "name" : "CPU_Utilization" ,
  "media_type" : "application/oracle.com.cloud.common.Metric+json" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "type" : "NUMBER" ,
  "current_value" : "52.53868103027344" ,
  "current_time" : "2012-08-22T01:28:14+0000" ,
  "time_range" : 
  [
    "2012-08-22T01:18:14+0000" ,
    "2012-08-22T01:28:14+0000"
  ] ,
  "time_range_epoch" : 
  [
    "1345598294965" ,
    "1345598894965"
  ] ,
  "rollup_unit" : "RAW" ,
  "values" : 
  [
      {
        "time_utc" : "2012-08-22T01:21:44+0000" ,
        "value" : "52.53868103027344"
      }
  ] ,
  "key" : "iaas:vm:CPU_Utilization:523CAE80A305928C9C5BE8A67A4181FD"
}

The default time range is 10 minutes. To modify the time range, query parameters can be used to specify the time range. For example, the following would get the metric data for the last 50 minutes:

  • URL

    https://example.oracle.com/em/cloud/metric/iaas%3Avm%3ACPU_Utilization%3A523CAE80A305928C9C5BE8A67A4181FD?time_range_epoch=1345595894965~1345598894965

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

The query parameter "time_range_epoch" contains two numbers separated by "~" to indicate FROM time and TO time, inclusive. Here is the response:

{
  "uri" : "/em/cloud/metric/iaas%3Avm%3ACPU_Utilization%3A523CAE80A305928C9C5BE8A67A4181FD" ,
  "name" : "CPU_Utilization" ,
  "media_type" : "application/oracle.com.cloud.common.Metric+json" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "type" : "NUMBER" ,
  "current_value" : "52.53868103027344" ,
  "current_time" : "2012-08-22T01:29:19+0000" ,
  "time_range" : 
  [
    "2012-08-22T00:38:14+0000" ,
    "2012-08-22T01:28:14+0000"
  ] ,
  "time_range_epoch" : 
  [
    "1345595894965" ,
    "1345598894965"
  ] ,
  "rollup_unit" : "RAW" ,
  "values" : 
  [
      {
        "time_utc" : "2012-08-22T01:21:44+0000" ,
        "value" : "52.53868103027344"
      } ,
      {
        "time_utc" : "2012-08-22T01:16:44+0000" ,
        "value" : "52.67461395263672"
      } ,
      {
        "time_utc" : "2012-08-22T01:11:44+0000" ,
        "value" : "51.93536376953125"
      } ,
      {
        "time_utc" : "2012-08-22T01:06:44+0000" ,
        "value" : "52.61101531982422"
      } ,
      {
        "time_utc" : "2012-08-22T01:01:44+0000" ,
        "value" : "52.30859375"
      } ,
      {
        "time_utc" : "2012-08-22T00:56:44+0000" ,
        "value" : "52.778690338134766"
      } ,
      {
        "time_utc" : "2012-08-22T00:51:44+0000" ,
        "value" : "52.08208084106445"
      } ,
      {
        "time_utc" : "2012-08-22T00:46:44+0000" ,
        "value" : "52.42387771606445"
      } ,
      {
        "time_utc" : "2012-08-22T00:41:44+0000" ,
        "value" : "52.2672004699707"
      }
  ] ,
  "key" : "iaas:vm:CPU_Utilization:523CAE80A305928C9C5BE8A67A4181FD"
}

Similarly, to specify different rollup unit, the following interaction shows that HOURLY rollup for the last 7 hours:

  • URL

    https://example.oracle.com/em/cloud/metric/iaas%3Avm%3ACPU_Utilization%3A523CAE80A305928C9C5BE8A67A4181FD?time_range_epoch=1345571178252~1345611178252&rollup_unit=HOURLY

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

This is the response from the Web service for the aggregated information:

{
  "uri" : "/em/cloud/metric/iaas%3Avm%3ACPU_Utilization%3A523CAE80A305928C9C5BE8A67A4181FD" ,
  "name" : "CPU_Utilization" ,
  "media_type" : "application/oracle.com.cloud.common.Metric+json" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "type" : "NUMBER" ,
  "current_value" : "52.37758255004883" ,
  "current_time" : "2012-08-22T04:55:13+0000" ,
  "time_range" : 
  [
    "2012-08-21T17:46:18+0000" ,
    "2012-08-22T04:52:58+0000"
  ] ,
  "time_range_epoch" : 
  [
    "1345571178252" ,
    "1345611178252"
  ] ,
  "rollup_unit" : "HOUR" ,
  "values" : 
  [
      {
        "time_utc" : "2012-08-21T23:00:00+0000" ,
        "average" : "52.6733585993448905" ,
        "min" : "52.130245208740234" ,
        "max" : "53.29022216796875" ,
        "std" : "3.55263697371071501307481053785512321532E-01"
      } ,
      {
        "time_utc" : "2012-08-21T22:00:00+0000" ,
        "average" : "5.24303614298502599166666666666666666667E01" ,
        "min" : "51.621360778808594" ,
        "max" : "52.85725402832031" ,
        "std" : "3.63521555326025399658498002900543252046E-01"
      } ,
      {
        "time_utc" : "2012-08-21T21:00:00+0000" ,
        "average" : "52.6410032908121745" ,
        "min" : "52.04186248779297" ,
        "max" : "53.23821258544922" ,
        "std" : "3.21552680564547999623645642115362106482E-01"
      } ,
      {
        "time_utc" : "2012-08-21T20:00:00+0000" ,
        "average" : "7.60534032185872416666666666666666666667E00" ,
        "min" : "0" ,
        "max" : "52.8489990234375" ,
        "std" : "1.80268512452981440717409537961069439254E01"
      } ,
      {
        "time_utc" : "2012-08-21T19:00:00+0000" ,
        "average" : "0" ,
        "min" : "0" ,
        "max" : "0" ,
        "std" : "0"
      } ,
      {
        "time_utc" : "2012-08-21T18:00:00+0000" ,
        "average" : "0" ,
        "min" : "0" ,
        "max" : "0" ,
        "std" : "0"
      }
  ] ,
  "key" : "iaas:vm:CPU_Utilization:523CAE80A305928C9C5BE8A67A4181FD"
}

Creating a Service Instance

This section describes how to create a service instance using the Cloud resources.

VM Creation

As VM is a service instance in the service family type "iaas", you need to identify the zone of the same family type in which to create the VM. There are two approaches to creating a VM:

  1. POST to the "iaas" Zone of which VM is to reside

  2. POST to the VMTemplate of which the VM is to be based on

Note the attributes in the submitted body for the POST. The pattern is the same for other service instance creations. Because the intention is clear, the "zone" attribute is not required while POSTing to the "iaas" Zone. Similarly, the "based_on" attribute is not needed when POSTing to the VMTemplate.

POST to the "iaas" Zone

The following shows the configuration for POSTing to "iaas" Zone:

  • URL

    https://example.oracle.com/em/cloud/iaas/servicetemplate/vm/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3ATemplate%3AC76CEB5563EA5E13E040578CDA817FAF%3A0.1

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=Content-Type: application/oracle.com.cloud.common.VM+json

  • Body

    {
      "based_on":"/em/cloud/iaas/servicetemplate/vm/   
       oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%   
       3AVirtualization%3ATemplate%3AC76CEB5563EA5E13E040578CDA817FAF%3A0.1",
       "cpu" : [2,0],
       "memory" : "512",
       "params":{
        "server_prefix":"ZONEPOST",
        "vnc_password":"welcome1",
        "root_password":"welcome1"
      }
    }
    
  • Method

    POST

The following is the response from the above interaction:

{
  "uri" : "/em/cloud/iaas/server/byrequest/102" ,
  "name" : "VDOSI VM Creation 1345392541850" ,
  "resource_state" :     {
      "state" : "INITIATED" ,
      "messages" : 
      [
          {
            "text" : "The Request with ID '102' is scheduled with Job Id 'C79997609390CB9BE040578CDA817D96'" ,
            "date" : "2012-08-19T16:09:02+0000"
          }
      ]
    } ,
  "context_id" : "102" ,
  "media_type" : "application/oracle.com.cloud.common.VM+json" ,
  "service_family_type" : "iaas" ,
  "created" : "2012-08-19T16:09:02+0000"
}

POST to the VMTemplate

The following describes the configurations for POSTing to the VMTemplate:

  • URL

    https://example.oracle.com/em/cloud/iaas/servicetemplate/vm/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3ATemplate%3AC76CEB5563EA5E13E040578CDA817FAF%3A0.1

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=Content-Type: application/oracle.com.cloud.common.VM+json

  • Body

    {
     "zone":"/em/cloud/iaas/zone/D73AF0D42C8459E11419862797D1F37D",
      "cpu" : [2,0],
      "memory" : "512",
      "params":{
        "server_prefix":"STPOST",
        "vnc_password":"welcome1",
        "root_password":"welcome1"
      }
    }
    
  • Method

    POST

The following is the response from the above interaction:

{
  "uri" : "/em/cloud/iaas/server/byrequest/101" ,
  "name" : "VDOSI VM Creation 1345391921407" ,
  "resource_state" :     {
      "state" : "INITIATED" ,
      "messages" : 
      [
          {
            "text" : "The Request with ID '101' is scheduled with Job Id 'C7999760937CCB9BE040578CDA817D96'" ,
            "date" : "2012-08-19T15:58:47+0000"
          }
      ]
    } ,
  "context_id" : "101" ,
  "media_type" : "application/oracle.com.cloud.common.VM+json" ,
  "service_family_type" : "iaas" ,
  "created" : "2012-08-19T15:58:42+0000"
}

This response is the same as the previous version. If the zone is not specified, then it is not possible for the Web service to determine where the VM should be deployed. The following interaction illustrates this:

  • URL

    https://example.oracle.com/em/cloud/iaas/servicetemplate/vm/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3ATemplate%3AC76CEB5563EA5E13E040578CDA817FAF%3A0.1

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=Content-Type: application/oracle.com.cloud.common.VM+json

  • Body

    {
      "cpu" : [2,0],
      "memory" : "512",
      "params":{
        "server_prefix":"STPOST",
        "vnc_password":"welcome1",
        "root_password":"welcome1"
      }
    }
    
  • Method

    POST

The following is the response from the Web service:

{
  "messages" : 
  [
      {
        "hint" : "'zone' attribute needs to be specified to complete 'POST' request for 'application/oracle.com.cloud.common.VM' resource" ,
        "stack_trace" : "oracle.sysman.emInternalSDK.ssa.cloudapi.rest.RestServletException: 'zone' attribute needs to be specified to complete 'POST' request for 'application/oracle.com.cloud.common.VM' resource\n\tat oracle.sysman.ssa.cloudapi.iaas.VMRequest.GenerateVMFromDeployment(VMRequest.java:149)\n\tat oracle.sysman.ssa.cloudapi.iaas.VMTemplate.processRequest(VMTemplate.java:93)\n\tat oracle.sysman.ssa.cloudapi.iaas.IaasServiceProvider.processRequest(IaasServiceProvider.java:582)\n\tat oracle.sysman.emInternalSDK.ssa.cloudapi.EMCloudServlet.perform(EMCloudServlet.java:236)\n\tat oracle.sysman.emInternalSDK.ssa.cloudapi.EMCloudServlet.performPost(EMCloudServlet.java:385)\n\tat oracle.sysman.emInternalSDK.ssa.cloudapi.rest.AbstractRestServlet.doPost(AbstractRestServlet.java:137)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:727)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:820)\n\tat weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)\n\tat webl" ,
        "text" : "Did not successfully execute 'POST' resource operation on 'application/oracle.com.cloud.common.Cloud' identified by '/em/cloud/iaas/servicetemplate/vm/oracle:defaultService:em:provisioning:1:cmp:Virtualization:Template:C76CEB5563EA5E13E040578CDA817FAF:0.1'" ,
        "date" : "2012-08-19T16:02:51+0000"
      }
  ]
}

Polling the VM Creation

Once the VM creation has been POSTed, you can GET the resource identified by the return URI to keep track of the status.

  • URL

    https://example.oracle.com/em/cloud/iaas/server/byrequest/101

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

The following is the response:

{
  "uri" : "/em/cloud/iaas/server/byrequest/101" ,
  "name" : "VDOSI VM Creation 1345391921407" ,
  "resource_state" :     {
      "state" : "CREATING" ,
      "messages" : 
      [
          {
            "text" : "The Request with ID '101' is being processed, and has Job Id 'C7999760937CCB9BE040578CDA817D96'" ,
            "date" : "2012-08-19T16:14:11+0000"
          }
      ]
    } ,
  "context_id" : "101" ,
  "media_type" : "application/oracle.com.cloud.common.VM+json" ,
  "service_family_type" : "iaas" ,
  "created" : "2012-08-19T15:58:42+0000"
}

Note that the "resource_state" attribute is showing "CREATING" state to indicate the VM is still being created. Once the VM is created, the same GET will return the VM resource with "READY" state, as shown below:

{
  "uri" : "/em/cloud/iaas/server/vm/C5CA59AF9386975E8AEA45B0F040F095" ,
  "name" : "STPOST" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "context_id" : "C5CA59AF9386975E8AEA45B0F040F095" ,
  "media_type" : "application/oracle.com.cloud.common.VM+json" ,
  "metrics" :     {
      "media_type" : "application/oracle.com.cloud.common.Metric+json" ,
      "total" : "4" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/metric/iaas%3Avm%3ACPU_Utilization%3AC5CA59AF9386975E8AEA45B0F040F095" ,
            "name" : "CPU_Utilization" ,
            "media_type" : "application/oracle.com.cloud.common.Metric+json" ,
            "type" : "NUMBER" ,
            "current_value" : "" ,
            "current_time" : "2012-08-19T16:17:02+0000"
          } ,
          {
            "uri" : "/em/cloud/metric/iaas%3Avm%3ATotal_Network_Throughput%3AC5CA59AF9386975E8AEA45B0F040F095" ,
            "name" : "Total_Network_Throughput" ,
            "media_type" : "application/oracle.com.cloud.common.Metric+json" ,
            "type" : "NUMBER" ,
            "current_value" : "" ,
            "current_time" : "2012-08-19T16:17:02+0000"
          } ,
          {
            "uri" : "/em/cloud/metric/iaas%3Avm%3ATotal_Disk_Throughput%3AC5CA59AF9386975E8AEA45B0F040F095" ,
            "name" : "Total_Disk_Throughput" ,
            "media_type" : "application/oracle.com.cloud.common.Metric+json" ,
            "type" : "NUMBER" ,
            "current_value" : "" ,
            "current_time" : "2012-08-19T16:17:02+0000"
          } ,
          {
            "uri" : "/em/cloud/metric/iaas%3Avm%3AFilesystem_Total_Used%3AC5CA59AF9386975E8AEA45B0F040F095" ,
            "name" : "Filesystem_Total_Used" ,
            "media_type" : "application/oracle.com.cloud.common.Metric+json" ,
            "type" : "NUMBER" ,
            "current_value" : "" ,
            "current_time" : "2012-08-19T16:17:02+0000"
          }
      ]
    } ,
  "service_family_type" : "iaas" ,
  "status" : "STARTED" ,
  "created" : "2012-08-19T16:15:21+0000" ,
  "hostname" : "dadvfm0052.us.oracle.com" ,
  "cpu" : 
  [
    "2" ,
    "0"
  ] ,
  "memory" : "512" ,
  "disks" : 
  [
    [
      "default_disk" ,
      "10240"
    ] ,
    [
      "7e8a5d25-7995-40c9-9b16-9274cc2d64f3.img (2)" ,
      "6918"
    ] ,
    [
      "fcaf377c-ed3e-4823-a9b3-6b4d2289e215.img (2)" ,
      "192"
    ] ,
    [
      "f5dba62c-eb49-40c6-af0b-06187b2b9856.img (2)" ,
      "5120"
    ]
  ] ,
  "interfaces" :     {
      "media_type" : "application/oracle.com.cloud.common.NetworkInterface+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "name" : "cloud_network" ,
            "address" : "10.229.136.185" ,
            "mac" : "00:21:f6:5f:73:33"
          }
      ]
    } ,
  "os" : "None" ,
  "type" : "VIRTUAL"
}

Assembly Instance Creation

Similar to VM creation, assembly instance creation can also be POSTed to both a Zone and an AssemblyTemplate. The following shows the service template details:

  • URL

    https://example.oracle.com/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC75E88B04D7FEDEDE040578CDA810E49%3A0.1

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

The following is the response from the Web service:

{
  "uri" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC75E88B04D7FEDEDE040578CDA810E49%3A0.1" ,
  "name" : "sidb_assembly" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "context_id" : "oracle:defaultService:em:provisioning:1:cmp:Virtualization:Assembly:C75E88B04D7FEDEDE040578CDA810E49:0.1" ,
  "media_type" : "application/oracle.com.cloud.common.AssemblyTemplate+json" ,
  "type" : "Assembly" ,
  "created" : "2012-08-16T11:02:38+0000" ,
  "default_instance_media_type" : "application/oracle.com.cloud.common.AssemblyInstance+json" ,
  "zones" :     {
      "media_type" : "application/oracle.com.cloud.iaas.Zone+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/iaas/zone/D73AF0D42C8459E11419862797D1F37D" ,
            "name" : "cloud_zone" ,
            "media_type" : "application/oracle.com.cloud.iaas.Zone+json" ,
            "service_family_type" : "iaas" ,
            "type" : "VM_ZONE"
          }
      ]
    } ,
  "service_instances" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceInstance+json" ,
      "total" : "0" ,
      "elements" : 
      [      ]
    } ,
  "deployment_params" : 
  [
      {
        "name" : "zone" ,
        "description" : "'zone' attribute is the URI of the zone that the 'application/oracle.com.cloud.common.AssemblyInstance' resource is to be created in" ,
        "type" : "STRING" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "based_on" ,
        "description" : "'based_on' attribute is the URI of the service template or format String of the originated source which the deployed 'application/oracle.com.cloud.common.AssemblyInstance' resource is to be followed" ,
        "type" : "STRING" ,
        "require" : "false" ,
        "sensitive" : "false"
      } ,
      {
        "name" : "deployment_plan" ,
        "description" : "'deployment_plan' attribute describes the configuration of which the deployed 'application/oracle.com.cloud.common.AssemblyInstance' resource is to be used in the XML deployment plan format" ,
        "type" : "STRING" ,
        "require" : "false" ,
        "sensitive" : "false"
      }
  ] ,
  "directory" : "COMP_Components" ,
  "updated" : "2012-08-16T11:02:38+0000" ,
  "creator" : "DMBHAT1" ,
  "last_modified_by" : "DMBHAT1" ,
  "componenttype" : "Virtualization" ,
  "oracle_owned" : "false" ,
  "deploy_plans" : 
  [
      {
        "name" : "cloud_zone" ,
        "description" : "Default Assembly Deployment Plan for Service Template 'sidb_assembly' on Zone 'cloud_zone'" ,
        "context_id" : "D73AF0D42C8459E11419862797D1F37D" ,
        "xml" : "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<ns2:ConfigurationData xmlns:ns2=\"http://www.oracle.com/sysman/vt/RequestConfigData\">\n    <AssemblyDeployment assemblyInstanceName=\"DEFAULT_PLEASE_CHANGE\">\n        <SourceBinary type=\"TYPE_SWLIB\" name=\"oracle:defaultService:em:provisioning:1:cmp:Virtualization:Assembly:C75E88B04D7FEDEDE040578CDA810E49:0.1\"/>\n        <DeploymentTarget type=\"oracle_vm_zone\" name=\"D73AF0D42C8459E11419862797D1F37D\"/>\n        <AcceptedAllEULAs>false</AcceptedAllEULAs>\n        <InstallEMAgent>false</InstallEMAgent>\n        <DisableCleanup>false</DisableCleanup>\n        <EMAgentConfig installUserPassword=\"  \" installUserName=\"oracle\"/>\n        <AssemblyNetworkConfig>\n            <AssemblyNetwork name=\"network-1\"/>\n        </AssemblyNetworkConfig>\n        <VirtualSystemCollectionConfig id=\"sidbasmA_linuxx64_11203psu1\">\n            <ProductConfiguration>\n                <Product>\n                    <Properties/>\n                    <EMAgent>false</EMAgent>\n                </Product>\n            </ProductConfiguration>\n            <VirtualSystemConfig agentPushInstallationEnabled=\"true\" agentInstallationType=\"Push Agent Installation\" vmInstance=\"true\" targetName=\"sidbasmA_linuxx64_11203psu1/sidbasm:%assembly_instance_name%\" id=\"sidbasmA_linuxx64_11203psu1/sidbasm\">\n                <ProductConfiguration>\n                    <Product>\n                        <Properties>\n                            <Property id=\"ocm.runConfiguration\">\n<Name>ocm.runConfiguration</Name>\n<Required>false</Required>\n<Value>false</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.metalinkCsiRegistration.CSI\">\n<Name>ocm.metalinkCsiRegistration.CSI</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.metalinkCsiRegistration.metalinkId\">\n<Name>ocm.metalinkCsiRegistration.metalinkId</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.proxyPassword\">\n<Name>ocm.proxyPassword</Name>\n<Required>false</Required>\n<Value>  </Value>\n<Secret>true</Secret>\n                            </Property>\n                            <Property id=\"ocm.metalinkCsiRegistration.countryCode\">\n<Name>ocm.metalinkCsiRegistration.countryCode</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_7|size-units\">\n<Name>system-fileset|db_asm_disk_7|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_1|size-units\">\n<Name>system-fileset|db_asm_disk_1|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_3|size-units\">\n<Name>system-fileset|db_asm_disk_3|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_0|size\">\n<Name>system-fileset|db_asm_disk_0|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_1|size\">\n<Name>system-fileset|db_asm_disk_1|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"asm-password\">\n<Name>asm-password</Name>\n<Required>true</Required>\n<Value>  </Value>\n<Secret>true</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_7|size\">\n<Name>system-fileset|db_asm_disk_7|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.metalinkEmailRegistration.metalinkEmailId\">\n<Name>ocm.metalinkEmailRegistration.metalinkEmailId</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"input|listener-1|global-db-name\">\n<Name>input|listener-1|global-db-name</Name>\n<Required>false</Required>\n<Value>orcl.us.oracle.com</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_4|size-units\">\n<Name>system-fileset|db_asm_disk_4|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.proxyHost\">\n<Name>ocm.proxyHost</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.repeaterURI\">\n<Name>ocm.repeaterURI</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_2|size-units\">\n<Name>system-fileset|db_asm_disk_2|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"input|listener-1|port\">\n<Name>input|listener-1|port</Name>\n<Required>false</Required>\n<Value>1521</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.anonymousEmailRegistration.emailId\">\n<Name>ocm.anonymousEmailRegistration.emailId</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"db-account-password\">\n<Name>db-account-password</Name>\n<Required>true</Required>\n<Value>  </Value>\n<Secret>true</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_3|size\">\n<Name>system-fileset|db_asm_disk_3|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_2|size\">\n<Name>system-fileset|db_asm_disk_2|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.proxyPort\">\n<Name>ocm.proxyPort</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.proxyUsername\">\n<Name>ocm.proxyUsername</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_6|size\">\n<Name>system-fileset|db_asm_disk_6|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_5|size\">\n<Name>system-fileset|db_asm_disk_5|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_4|size\">\n<Name>system-fileset|db_asm_disk_4|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.metalinkEmailRegistration.metalinkPassword\">\n<Name>ocm.metalinkEmailRegistration.metalinkPassword</Name>\n<Required>false</Required>\n<Value> </Value>\n<Secret>true</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_6|size-units\">\n<Name>system-fileset|db_asm_disk_6|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_5|size-units\">\n<Name>system-fileset|db_asm_disk_5|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_0|size-units\">\n<Name>system-fileset|db_asm_disk_0|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                        </Properties>\n                        <EMAgent>false</EMAgent>\n                    </Product>\n                </ProductConfiguration>\n                <HardwareConfiguration>\n                    <Memory>2048</Memory>\n                    <VCPUs>1</VCPUs>\n                    <HaEnabled>false</HaEnabled>\n                    <StartAfterCreation>true</StartAfterCreation>\n                    <CPUSchedulingPriority>50</CPUSchedulingPriority>\n                    <CPUCap>100</CPUCap>\n                    <LocalDisks>\n                        <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_System\">\n                            <Size>5122</Size>\n                            <Mode>Read-Write</Mode>\n                            <CreatedByVmSize>false</CreatedByVmSize>\n   
                     </disk>\n                        <disk fromDefinition=\"true\" name=\"AB\">\n                            <Size>0</Size>\n                            <Mode>Read-Write</Mode>\n                            <CreatedByVmSize>false</CreatedByVmSize>\n                        </disk>\n                        <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_sys-asm_base\">\n                            <Size>502</Size>\n                            <Mode>Read-Write</Mode>\n                            <CreatedByVmSize>false</CreatedByVmSize>\n                        </disk>\n                        <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_sys-asm_home\">\n                            <Size>10307</Size>\n                            <Mode>Read-Write</Mode>\n                            <CreatedByVmSize>false</CreatedByVmSize>\n                        </disk>\n                        <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_sys-db_base\">\n                            <Size>502</Size>\n                            <Mode>Read-Write</Mode>\n                            <CreatedByVmSize>false</CreatedByVmSize>\n                        </disk>\n                        <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_sys-db_home\">\n                            <Size>9068</Size>\n                            <Mode>Read-Write</Mode>\n                            <CreatedByVmSize>false</CreatedByVmSize>\n                        </disk>\n                    </LocalDisks>\n                    <SharedDisks>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_0\"/>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_1\"/>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_2\"/>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_3\"/>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_4\"/>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_5\"/>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_6\"/>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_7\"/>\n                    </SharedDisks>\n                    <Nics>\n                        <NetworkInterface fromDefinition=\"true\" name=\"eth0\">\n                            <IPAssignmentMode>Dhcp</IPAssignmentMode>\n                            <QoS>Any_Network_QoS_Type</QoS>\n                            <AssemblyNetwork name=\"network-1\"/>\n                        </NetworkInterface>\n                    </Nics>\n                    <RootPassword>  </RootPassword>\n                    <LogLocation>/assemblybuilder/logs</LogLocation>\n                    <VmSize>Custom</VmSize>\n                    <NetworkConfigurationTimeout>60</NetworkConfigurationTimeout>\n                    <ProductConfigurationTimeout>60</ProductConfigurationTimeout>\n                </HardwareConfiguration>\n            </VirtualSystemConfig>\n        </VirtualSystemCollectionConfig>\n    </AssemblyDeployment>\n</ns2:ConfigurationData>\n"
      } ,
      {
        "uri" : "/em/cloud/iaas/servicetemplate/deploymentplan/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3ADeployment+Plan%3AC7790791F0831736E040578CDA815673%3A0.1" ,
        "name" : "sidb_deployplan" ,
        "media_type" : "application/oracle.com.cloud.iaas.DeploymentPlan+json" ,
        "type" : "Deployment Plan"
      }
  ]
}

The "deploy_plans" attribute contains both the default deployment plan for each zone and the preconfigured deployment plans that are accessible by the user for this service template. To create an assembly instance, the deployment plan should be used.

The configuration specified in the "params" is the primary configuration. In addition, deployment plans can be used to describe detailed product and resource configurations. There are some product configurations where "<Required>true</Required>", and they should also be updated to capture the product configuration values.

The following shows an example of how to create an assembly instance:

  • URL

    https://example.oracle.com/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC75E88B04D7FEDEDE040578CDA810E49%3A0.1

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=Content-Type: application/oracle.com.cloud.common.AssemblyInstance+json

  • Body

    {
      "zone":"/em/cloud/iaas/zone/D73AF0D42C8459E11419862797D1F37D",
      "params":{
        "vnc_password":"welcome1",
        "root_password":"welcome1",
        "assembly_instance_name": "AITEST"
      },
      "deployment_plan":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<ns2:ConfigurationData xmlns:ns2\"http://www.oracle.com/sysman/vt/RequestConfigData\">\n    
    <AssemblyDeployment assemblyInstanceName=\"DEFAULT_PLEASE_CHANGE\">\n        
    <SourceBinary type=\"TYPE_SWLIB\" name=\"oracle:defaultService:em:provisioning:1:cmp:Virtualization:Assembly:C75E88B04D7FEDEDE040578CDA810E49:0.1\"/>\n       <DeploymentTarget type=\"oracle_vm_zone\" name=\"D73AF0D42C8459E11419862797D1F37D\"/>\n        
    <AcceptedAllEULAs>false</AcceptedAllEULAs>\n        
    <InstallEMAgent>false</InstallEMAgent>\n        
    <DisableCleanup>false</DisableCleanup>\n        
    <EMAgentConfig installUserPassword=\"  \" installUserName=\"oracle\"/>\n        
    <AssemblyNetworkConfig>\n            
    <AssemblyNetwork name=\"network-1\"/>\n        
    </AssemblyNetworkConfig>\n        
    <VirtualSystemCollectionConfig id=\"sidbasmA_linuxx64_11203psu1\">\n            
    <ProductConfiguration>\n                
    <Product>\n                    
    <Properties/>\n                    
    <EMAgent>false</EMAgent>\n                
    </Product>\n            
    </ProductConfiguration>\n            
    <VirtualSystemConfig agentPushInstallationEnabled=\"true\" agentInstallationType=\"Push Agent Installation\" vmInstance=\"true\" targetName=\"sidbasmA_linuxx64_11203psu1/sidbasm:%assembly_instance_name%\" id=\"sidbasmA_linuxx64_11203psu1/sidbasm\">\n                
    <ProductConfiguration>\n                    
    <Product>\n                        
    <Properties>\n                            
    <Property id=\"ocm.runConfiguration\">\n<Name>ocm.runConfiguration</Name>\n<Required>false</Required>\n<Value>false</Value>\n<Secret>false</Secret>\n         </Property>\n                            
    <Property id=\"ocm.metalinkCsiRegistration.CSI\">\n<Name>ocm.metalinkCsiRegistration.CSI</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"ocm.metalinkCsiRegistration.metalinkId\">\n<Name>ocm.metalinkCsiRegistration.metalinkId</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"ocm.proxyPassword\">\n<Name>ocm.proxyPassword</Name>\n<Required>false</Required>\n<Value>  
    </Value>\n<Secret>true</Secret>\n                            
    </Property>\n                            
    <Property id=\"ocm.metalinkCsiRegistration.countryCode\">\n<Name>ocm.metalinkCsiRegistration.countryCode</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_7|size-units\">\n<Name>system-fileset|db_asm_disk_7|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_1|size-units\">\n<Name>system-fileset|db_asm_disk_1|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_3|size-units\">\n<Name>system-fileset|db_asm_disk_3|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_0|size\">\n<Name>system-fileset|db_asm_disk_0|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_1|size\">\n<Name>system-fileset|db_asm_disk_1|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"asm-password\">\n<Name>asm-password</Name>\n<Required>true</Required>\n<Value>welcome1</Value>\n<Secret>true</Secret>\n                        </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_7|size\">\n<Name>system-fileset|db_asm_disk_7|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"ocm.metalinkEmailRegistration.metalinkEmailId\">\n<Name>ocm.metalinkEmailRegistration.metalinkEmailId</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"input|listener-1|global-db-name\">\n<Name>input|listener-1|global-db-name</Name>\n<Required>false</Required>\n<Value>orcl.us.oracle.com</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_4|size-units\">\n<Name>system-fileset|db_asm_disk_4|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"ocm.proxyHost\">\n<Name>ocm.proxyHost</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            
    <Property id=\"ocm.repeaterURI\">\n<Name>ocm.repeaterURI</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                        </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_2|size-units\">\n<Name>system-fileset|db_asm_disk_2|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"input|listener-1|port\">\n<Name>input|listener-1|port</Name>\n<Required>false</Required>\n<Value>1521</Value>\n<Secret>false</Secret>\n        </Property>\n                            
    <Property id=\"ocm.anonymousEmailRegistration.emailId\">\n<Name>ocm.anonymousEmailRegistration.emailId</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"db-account-password\">\n<Name>db-account-password</Name>\n<Required>true</Required>\n<Value>welcome1</Value>\n<Secret>true</Secret>\n          </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_3|size\">\n<Name>system-fileset|db_asm_disk_3|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_2|size\">\n<Name>system-fileset|db_asm_disk_2|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"ocm.proxyPort\">\n<Name>ocm.proxyPort</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            
    <Property id=\"ocm.proxyUsername\">\n<Name>ocm.proxyUsername</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                    </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_6|size\">\n<Name>system-fileset|db_asm_disk_6|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                           
    <Property id=\"system-fileset|db_asm_disk_5|size\">\n<Name>system-fileset|db_asm_disk_5|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_4|size\">\n<Name>system-fileset|db_asm_disk_4|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"ocm.metalinkEmailRegistration.metalinkPassword\">\n<Name>ocm.metalinkEmailRegistration.metalinkPassword</Name>\n<Required>false</Required>\n<Value> 
    </Value>\n<Secret>true</Secret>\n                            
    </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_6|size-units\">\n<Name>system-fileset|db_asm_disk_6|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_5|size-units\">\n<Name>system-fileset|db_asm_disk_5|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                            
    <Property id=\"system-fileset|db_asm_disk_0|size-units\">\n<Name>system-fileset|db_asm_disk_0|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            
    </Property>\n                        
    </Properties>\n                        
    <EMAgent>false</EMAgent>\n                    
    </Product>\n                
    </ProductConfiguration>\n                
    <HardwareConfiguration>\n                    
    <Memory>2048</Memory>\n                    
    <VCPUs>1</VCPUs>\n                    
    <HaEnabled>false</HaEnabled>\n                    
    <StartAfterCreation>true</StartAfterCreation>\n                    
    <CPUSchedulingPriority>50</CPUSchedulingPriority>\n                    
    <CPUCap>100</CPUCap>\n                    
    <LocalDisks>\n                        
    <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_System\">\n                            
    <Size>5122</Size>\n                            
    <Mode>Read-Write</Mode>\n                            
    <CreatedByVmSize>false</CreatedByVmSize>\n   
    </disk>\n                        
    <disk fromDefinition=\"true\" name=\"AB\">\n <Size>0</Size>\n                            
    <Mode>Read-Write</Mode>\n <CreatedByVmSize>false</CreatedByVmSize>\n                        
    </disk>\n <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_sys-asm_base\">\n <Size>502</Size>\n                            
    <Mode>Read-Write</Mode>\n <CreatedByVmSize>false</CreatedByVmSize>\n                        
    </disk>\n <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_sys-asm_home\">\n <Size>10307</Size>\n                            
    <Mode>Read-Write</Mode>\n <CreatedByVmSize>false</CreatedByVmSize>\n                        
    </disk>\n <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_sys-db_base\">\n <Size>502</Size>\n                            
    <Mode>Read-Write</Mode>\n <CreatedByVmSize>false</CreatedByVmSize>\n                        
    </disk>\n <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_sys-db_home\">\n <Size>9068</Size>\n                            
    <Mode>Read-Write</Mode>\n <CreatedByVmSize>false</CreatedByVmSize>\n                        
    </disk>\n </LocalDisks>\n                    
    <SharedDisks>\n                        
    <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_0\"/>\n                        
    <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_1\"/>\n                        
    <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_2\"/>\n                        
    <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_3\"/>\n                        
    <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_4\"/>\n                        
    <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_5\"/>\n                        
    <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_6\"/>\n                        
    <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_7\"/>\n                    
    </SharedDisks>\n                    
    <Nics>\n                        
    <NetworkInterface fromDefinition=\"true\" name=\"eth0\">\n                            
    <IPAssignmentMode>Dhcp</IPAssignmentMode>\n                            
    <QoS>Any_Network_QoS_Type</QoS>\n                            
    <AssemblyNetwork name=\"network-1\"/>\n                        
    </NetworkInterface>\n                    
    </Nics>\n                    
    <RootPassword>  
    </RootPassword>\n                    
    <LogLocation>/assemblybuilder/logs</LogLocation>\n                    
    <VmSize>Custom</VmSize>\n                    
    <NetworkConfigurationTimeout>60</NetworkConfigurationTimeout>\n                    
    <ProductConfigurationTimeout>60</ProductConfigurationTimeout>\n                
    </HardwareConfiguration>\n            
    </VirtualSystemConfig>\n        
    </VirtualSystemCollectionConfig>\n    
    </AssemblyDeployment>\n</ns2:ConfigurationData>\n"
    }
    
  • Method

    POST

The following is the Web service response after the request was successfully submitted:

{
  "uri" : "/em/cloud/iaas/assemblyrequest/223" ,
  "name" : "VDOSI Assembly Creation 1345575147280" ,
  "resource_state" :     {
      "state" : "INITIATED" ,
      "messages" : 
      [
          {
            "text" : "The Request with ID '223' is scheduled with Job Id 'C7CB0EBE83C22D70E040578CDA812E66'" ,
            "date" : "2012-08-21T18:52:31+0000"
          }
      ]
    } ,
  "context_id" : "223" ,
  "media_type" : "application/oracle.com.cloud.common.AssemblyInstance+json" ,
  "service_family_type" : "iaas" ,
  "status" : "SCHEDULED" ,
  "created" : "2012-08-21T18:52:28+0000"
}

Similarly, tracking the process by getting the URI returns:

  • URL

    https://example.oracle.com/em/cloud/iaas/assemblyrequest/223

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

The following is the response of the Web service response:

{
  "uri" : "/em/cloud/iaas/assemblyrequest/223" ,
  "name" : "VDOSI Assembly Creation 1345575147280" ,
  "resource_state" :     {
      "state" : "CREATING" ,
      "messages" : 
      [
          {
            "text" : "The Request with ID '223' is being processed, and has Job Id 'C7CB0EBE83C22D70E040578CDA812E66'" ,
            "date" : "2012-08-21T18:54:25+0000"
          }
      ]
    } ,
  "context_id" : "223" ,
  "media_type" : "application/oracle.com.cloud.common.AssemblyInstance+json" ,
  "service_family_type" : "iaas" ,
  "status" : "EXECUTING" ,
  "created" : "2012-08-21T18:52:28+0000"
}

Soon after the assembly instance is created successfully.

  • URL

    https://example.oracle.com/em/cloud/iaas/assemblyrequest/223

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

The following is the response of the Web service response:

{
  "uri" : "/em/cloud/iaas/assembly/C0AACCD8234BBAFBA7AF6CD3865B1FD3" ,
  "name" : "AITEST" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "context_id" : "223" ,
  "media_type" : "application/oracle.com.cloud.common.AssemblyInstance+json" ,
  "service_family_type" : "iaas" ,
  "based_on" : "/em/cloud/iaas/servicetemplate/assembly/oracle%3AdefaultService%3Aem%3Aprovisioning%3A1%3Acmp%3AVirtualization%3AAssembly%3AC75E88B04D7FEDEDE040578CDA810E49%3A0.1" ,
  "reference" :     {
      "ovf:id" : "sidbasmA_linuxx64_11203psu1"
    } ,
  "scalability_groups" :     {
      "media_type" : "application/oracle.com.cloud.common.ScalabilityGroup+json" ,
      "total" : "0" ,
      "elements" : 
      [      ]
    } ,
  "servers" :     {
      "media_type" : "application/oracle.com.cloud.common.VM+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/iaas/server/vm/B28680F24303A42D6909FFC0F79F306C" ,
            "name" : "sidbasmA_linuxx64_11203psu1/sidbasm:DEPPLAN_1345575147280" ,
            "media_type" : "application/oracle.com.cloud.common.VM+json" ,
            "status" : "STARTED"
          }
      ]
    } ,
  "deployment_plan" : "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<ns2:ConfigurationData xmlns:ns2=\"http://www.oracle.com/sysman/vt/RequestConfigData\">\n    <AssemblyDeployment assemblyInstanceName=\"AITEST\">\n        <SourceBinary type=\"TYPE_SWLIB\" name=\"oracle:defaultService:em:provisioning:1:cmp:Virtualization:Assembly:C75E88B04D7FEDEDE040578CDA810E49:0.1\"/>\n        <DeploymentTarget type=\"oracle_vm_zone\" name=\"D73AF0D42C8459E11419862797D1F37D\"/>\n        <AcceptedAllEULAs>false</AcceptedAllEULAs>\n        <InstallEMAgent>false</InstallEMAgent>\n        <DisableCleanup>false</DisableCleanup>\n        <EMAgentConfig installUserPassword=\"  \" installUserName=\"oracle\"/>\n        <AssemblyNetworkConfig>\n            <AssemblyNetwork name=\"network-1\"/>\n        </AssemblyNetworkConfig>\n        <VirtualSystemCollectionConfig id=\"sidbasmA_linuxx64_11203psu1\">\n            <ProductConfiguration>\n                <Product>\n                    <Properties/>\n                    <EMAgent>false</EMAgent>\n                </Product>\n            </ProductConfiguration>\n            <VirtualSystemConfig agentPushInstallationEnabled=\"true\" agentInstallationType=\"Push Agent Installation\" vmInstance=\"true\" targetName=\"sidbasmA_linuxx64_11203psu1/sidbasm:%assembly_instance_name%\" id=\"sidbasmA_linuxx64_11203psu1/sidbasm\">\n                <ProductConfiguration>\n                    <Product>\n                        <Properties>\n                            <Property id=\"ocm.runConfiguration\">\n<Name>ocm.runConfiguration</Name>\n<Required>false</Required>\n<Value>false</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.metalinkCsiRegistration.CSI\">\n<Name>ocm.metalinkCsiRegistration.CSI</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.metalinkCsiRegistration.metalinkId\">\n<Name>ocm.metalinkCsiRegistration.metalinkId</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.proxyPassword\">\n<Name>ocm.proxyPassword</Name>\n<Required>false</Required>\n<Value>  </Value>\n<Secret>true</Secret>\n                            </Property>\n                            <Property id=\"ocm.metalinkCsiRegistration.countryCode\">\n<Name>ocm.metalinkCsiRegistration.countryCode</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_7|size-units\">\n<Name>system-fileset|db_asm_disk_7|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_1|size-units\">\n<Name>system-fileset|db_asm_disk_1|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_3|size-units\">\n<Name>system-fileset|db_asm_disk_3|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_0|size\">\n<Name>system-fileset|db_asm_disk_0|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_1|size\">\n<Name>system-fileset|db_asm_disk_1|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"asm-password\">\n<Name>asm-password</Name>\n<Required>true</Required>\n<Value>  </Value>\n<ValueGuid>C7CC61AC07DC6E58E040578CDA8145F9</ValueGuid>\n<Secret>true</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_7|size\">\n<Name>system-fileset|db_asm_disk_7|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.metalinkEmailRegistration.metalinkEmailId\">\n<Name>ocm.metalinkEmailRegistration.metalinkEmailId</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"input|listener-1|global-db-name\">\n<Name>input|listener-1|global-db-name</Name>\n<Required>false</Required>\n<Value>orcl.us.oracle.com</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_4|size-units\">\n<Name>system-fileset|db_asm_disk_4|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.proxyHost\">\n<Name>ocm.proxyHost</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.repeaterURI\">\n<Name>ocm.repeaterURI</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_2|size-units\">\n<Name>system-fileset|db_asm_disk_2|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"input|listener-1|port\">\n<Name>input|listener-1|port</Name>\n<Required>false</Required>\n<Value>1521</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.anonymousEmailRegistration.emailId\">\n<Name>ocm.anonymousEmailRegistration.emailId</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"db-account-password\">\n<Name>db-account-password</Name>\n<Required>true</Required>\n<Value>  </Value>\n<ValueGuid>C7CC61AC07DF6E58E040578CDA8145F9</ValueGuid>\n<Secret>true</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_3|size\">\n<Name>system-fileset|db_asm_disk_3|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_2|size\">\n<Name>system-fileset|db_asm_disk_2|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.proxyPort\">\n<Name>ocm.proxyPort</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.proxyUsername\">\n<Name>ocm.proxyUsername</Name>\n<Required>false</Required>\n<Value></Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_6|size\">\n<Name>system-fileset|db_asm_disk_6|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_5|size\">\n<Name>system-fileset|db_asm_disk_5|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_4|size\">\n<Name>system-fileset|db_asm_disk_4|size</Name>\n<Required>false</Required>\n<Value>2836</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"ocm.metalinkEmailRegistration.metalinkPassword\">\n<Name>ocm.metalinkEmailRegistration.metalinkPassword</Name>\n<Required>false</Required>\n<Value> </Value>\n<Secret>true</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_6|size-units\">\n<Name>system-fileset|db_asm_disk_6|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_5|size-units\">\n<Name>system-fileset|db_asm_disk_5|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                            <Property id=\"system-fileset|db_asm_disk_0|size-units\">\n<Name>system-fileset|db_asm_disk_0|size-units</Name>\n<Required>false</Required>\n<Value>MB</Value>\n<Secret>false</Secret>\n                            </Property>\n                        </Properties>\n                        <EMAgent>false</EMAgent>\n                    </Product>\n                </ProductConfiguration>\n                <HardwareConfiguration>\n                    <Memory>2048</Memory>\n                    <VCPUs>1</VCPUs>\n                    <HaEnabled>false</HaEnabled>\n                    <StartAfterCreation>true</StartAfterCreation>\n                    <CPUSchedulingPriority>50</CPUSchedulingPriority>\n                    <CPUCap>100</CPUCap>\n                    <LocalDisks>\n                        <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_System\">\n                            <Size>5122</Size>\n      
                      <Mode>Read-Write</Mode>\n                            <CreatedByVmSize>false</CreatedByVmSize>\n                        </disk>\n                        <disk fromDefinition=\"true\" name=\"AB\">\n                            <Size>0</Size>\n                            <Mode>Read-Write</Mode>\n                            <CreatedByVmSize>false</CreatedByVmSize>\n                        </disk>\n                        <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_sys-asm_base\">\n                            <Size>502</Size>\n                            <Mode>Read-Write</Mode>\n                            <CreatedByVmSize>false</CreatedByVmSize>\n                        </disk>\n                        <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_sys-asm_home\">\n                            <Size>10307</Size>\n                            <Mode>Read-Write</Mode>\n                            <CreatedByVmSize>false</CreatedByVmSize>\n                        </disk>\n                        <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_sys-db_base\">\n                            <Size>502</Size>\n                            <Mode>Read-Write</Mode>\n                            <CreatedByVmSize>false</CreatedByVmSize>\n                        </disk>\n                        <disk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_sys-db_home\">\n                            <Size>9068</Size>\n                            <Mode>Read-Write</Mode>\n                            <CreatedByVmSize>false</CreatedByVmSize>\n                        </disk>\n                    </LocalDisks>\n                    <SharedDisks>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_0\"/>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_1\"/>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_2\"/>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_3\"/>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_4\"/>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_5\"/>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_6\"/>\n                        <SharedDisk fromDefinition=\"true\" name=\"2xZNMmSH5oZYW_db_asm_disk_7\"/>\n                    </SharedDisks>\n                    <Nics>\n                        <NetworkInterface fromDefinition=\"true\" name=\"eth0\">\n                            <IPAssignmentMode>Dhcp</IPAssignmentMode>\n                            <QoS>Any_Network_QoS_Type</QoS>\n                            <AssemblyNetwork name=\"network-1\"/>\n                        </NetworkInterface>\n                    </Nics>\n                    <RootPassword>  </RootPassword>\n                    <RootPasswordGuid>C7CC61AC07D96E58E040578CDA8145F9</RootPasswordGuid>\n                    <LogLocation>/assemblybuilder/logs</LogLocation>\n                    <VmSize>Custom</VmSize>\n                    <NetworkConfigurationTimeout>60</NetworkConfigurationTimeout>\n                    <ProductConfigurationTimeout>60</ProductConfigurationTimeout>\n                </HardwareConfiguration>\n            </VirtualSystemConfig>\n        </VirtualSystemCollectionConfig>\n    </AssemblyDeployment>\n</ns2:ConfigurationData>\n"
}

Updating a Service Instance

A service instance may be resized, its status updated, or additional resources added.

Updating a VM Resource

The VM resource supports the following changes:

  • The "status" can be updated (for example, from STARTED to STOPPED or from STOPPED to STARTED).

  • The "cpu" and "memory" can be updated (for example to resize the VM).

    For the 12.1.0.4 Cloud Self Service Portal release, VM is no longer required to be STOPPED before modifying the "cpu" and "memory".

  • Any updates supported on the VM resource from 10000 version are also supported on the 10001 version of the resource.

Change VM Status

The following shows the GET of the VM's status:

  • URL

    https://example.oracle.com/em/cloud/iaas/server/byrequest/101?status,uri

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

The following is the response:

{
  "uri" : "/em/cloud/iaas/server/vm/C5CA59AF9386975E8AEA45B0F040F095" ,
  "status" : "STARTED"
}

To update the status, use the PUT method to the resource "uri". Note that the "uri" attribute is the one that directly references to the resource.

  • URL

    https://example.oracle.com/em/cloud/iaas/server/vm/C5CA59AF9386975E8AEA45B0F040F095

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=Content-Type: application/oracle.com.cloud.common.VM+json

  • Body

    {
      "status" : "STOPPED"
    }
    
  • Method

    PUT

The Web service response will return the 200 response code, along with the current VM attributes.

The following shows the GET request on the VM:

  • URL

    https://example.oracle.com/em/cloud/iaas/server/byrequest/101?status,uri

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

The Web service returns the following:

{
  "uri" : "/em/cloud/iaas/server/vm/C5CA59AF9386975E8AEA45B0F040F095" ,
  "status" : "STOPPED"
}

Attempting to submit a PUT transient status value would result in the following:

  • URL

    https://example.oracle.com/em/cloud/iaas/server/vm/C5CA59AF9386975E8AEA45B0F040F095

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=Content-Type: application/oracle.com.cloud.common.VM+json

  • Body

    {
      "status" : "STOPPING"
    }
    
  • Method

    PUT

The following shows the Web service response:

{
  "messages" : 
  [
      {
        "date" : "2012-08-19T17:22:04+0000" ,
        "stack_trace" : "oracle.sysman.emInternalSDK.ssa.cloudapi.rest.RestServletException: Status 'STOPPING' specified by the PUT request is transient, and is not a valid status\n\tat oracle.sysman.ssa.cloudapi.iaas.VM.processVMStatusChange(VM.java:331)\n\tat oracle.sysman.ssa.cloudapi.iaas.VM.processVMChanges(VM.java:253)\n\tat oracle.sysman.ssa.cloudapi.iaas.VM.processRequest(VM.java:227)\n\tat oracle.sysman.ssa.cloudapi.iaas.IaasServiceProvider.processRequest(IaasServiceProvider.java:582)\n\tat oracle.sysman.emInternalSDK.ssa.cloudapi.EMCloudServlet.perform(EMCloudServlet.java:236)\n\tat oracle.sysman.emInternalSDK.ssa.cloudapi.EMCloudServlet.performPut(EMCloudServlet.java:351)\n\tat oracle.sysman.emInternalSDK.ssa.cloudapi.rest.AbstractRestServlet.doPut(AbstractRestServlet.java:163)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:730)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:820)\n\tat weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)\n\tat we" ,
        "hint" : "Status 'STOPPING' specified by the PUT request is transient, and is not a valid status" ,
        "text" : "Did not successfully execute 'PUT' resource operation on 'application/oracle.com.cloud.common.Cloud' identified by '/em/cloud/iaas/server/vm/C5CA59AF9386975E8AEA45B0F040F095'"
      }
  ]
}

Attempting to submit the same PUT status to the VM will result in the following interaction:

  • URL

    https://example.oracle.com/em/cloud/iaas/server/vm/C5CA59AF9386975E8AEA45B0F040F095?resource_state

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=Content-Type: application/oracle.com.cloud.common.VM+json

  • Body

    {
      "status" : "STOPPED"
    }
    
  • Method

    PUT

The web service will response with:

{
  "resource_state" :     {
      "state" : "READY" ,
      "messages" : 
      [
          {
            "date" : "2012-08-19T17:23:49+0000" ,
            "text" : "Current Virtual Machine Status 'STOPPED' is the same as the requested status. Status change is not needed"
          }
      ]
    }
}

When modifying a service instance, the messages communicated will be encapsulated in the resource_state attribute. For example, to START the VM again, the following PUT request can be issued:

  • URL

    https://example.oracle.com/em/cloud/iaas/server/vm/C5CA59AF9386975E8AEA45B0F040F095?resource_state

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=Content-Type: application/oracle.com.cloud.common.VM+json

  • Body

    {
      "status" : "STARTED"
    }
    
  • Method

    PUT

The web service will respond with the following:

{
  "resource_state" :     {
      "state" : "READY" ,
      "messages" : 
      [
          {
            "date" : "2012-08-19T17:25:29+0000" ,
            "text" : "'START' resource operation on 'application/oracle.com.cloud.common.VM' identified by 'C5CA59AF9386975E8AEA45B0F040F095' is successfully submitted with reference 'C7A2713B9A4D29C1E040578CDA817561'"
          }
      ]
    }
}

Changing VM Sizes

The CPU and Memory of a VM can be adjusted to increase or decrease the capacity. For example, to adjust the VM's CPU to 1 vCPU and increase the memory from 512 to 1024, the following PUT request can be issued:

  • URL

    https://example.oracle.com/em/cloud/iaas/server/vm/C5CA59AF9386975E8AEA45B0F040F095?resource_state

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=Content-Type: application/oracle.com.cloud.common.VM+json

  • Body

    {
      "cpu":[1,0],  "memory":"1024" 
    }
    
  • Method

    PUT

The following is returned by the Web service:

{
  "resource_state" :     {
      "state" : "READY" ,
      "messages" : 
      [
          {
            "text" : "'PUT' resource operation on 'application/oracle.com.cloud.common.VM' identified by 'C5CA59AF9386975E8AEA45B0F040F095' is successfully submitted with reference '106'" ,
            "date" : "2012-08-20T01:15:28+0000"
          }
      ]
    }
}

After some period of time, the new capacity is reflected in the VM resource through the GET request:

  • URL

    https://example.oracle.com/em/cloud/iaas/server/vm/C5CA59AF9386975E8AEA45B0F040F095?resource_state,cpu,memory,status

  • Headers

    Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

  • Method

    GET

The Web service returns the following:

{
  "resource_state" :     {
      "state" : "READY"
    } ,
  "status" : "STARTED" ,
  "cpu" : 
  [
    "1" ,
    "0"
  ] ,
  "memory" : "1024"
}

Deleting a Service Instance

The DELETE request on the URI of the resource can be issued to delete a Service Instance. For example, the following DELETE request is issued:

The following Web service response with code 200 is returned:

{
  "uri" : "/em/cloud/iaas/server/vm/C5CA59AF9386975E8AEA45B0F040F095" ,
  "resource_state" :     {
      "state" : "READY" ,
      "messages" : 
      [
          {
            "text" : "'DELETE' resource operation on 'application/oracle.com.cloud.common.VM' identified by 'C5CA59AF9386975E8AEA45B0F040F095' is successfully submitted with reference 'C7A83335CB63DA7BE040578CDA814DDC'" ,
            "date" : "2012-08-20T01:24:38+0000"
          }
      ]
    } ,
  "context_id" : "C5CA59AF9386975E8AEA45B0F040F095" ,
  "media_type" : "application/oracle.com.cloud.common.VM+json" ,
  "service_family_type" : "iaas"
}

After some time, the GET request on the VM URI will result in the following interaction:

The Web service returns the following:

{
  "uri" : "/em/cloud/iaas/server/vm/C5CA59AF9386975E8AEA45B0F040F095" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "context_id" : "C5CA59AF9386975E8AEA45B0F040F095" ,
  "media_type" : "application/oracle.com.cloud.common.VM+json" ,
  "service_family_type" : "iaas" ,
  "status" : "DELETED"
}

Please note the "status" of the VM has the "DELETED" value.

Listing Service Instances

There are various references to service instances in the resource model, and they are all in context of the resource themselves. For example, "service_instances" in the Zone resource would list the elements that are in that Zone, while "service_instances" in the ServiceTemplate resource would list the elements that are based on that service template.

For example, the following list the service instances in a zone.

The following response is returned:

{
  "service_instances" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceInstance+json" ,
      "total" : "2" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/iaas/server/vm/523CAE80A305928C9C5BE8A67A4181FD" ,
            "name" : "ZONEPOST" ,
            "media_type" : "application/oracle.com.cloud.common.VM+json" ,
            "status" : "STARTED"
          } ,
          {
            "uri" : "/em/cloud/iaas/server/vm/C5CA59AF9386975E8AEA45B0F040F095" ,
            "name" : "STPOST" ,
            "media_type" : "application/oracle.com.cloud.common.VM+json" ,
            "status" : "STARTED"
          }
      ]
    }
}

Similarly, you can list the service instances from the service templates:

The following response is returned:

{
  "service_instances" :     {
      "media_type" : "application/oracle.com.cloud.common.ServiceInstance+json" ,
      "total" : "2" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/iaas/server/vm/C5CA59AF9386975E8AEA45B0F040F095" ,
            "name" : "STPOST" ,
            "media_type" : "application/oracle.com.cloud.common.VM+json" ,
            "status" : "STARTED"
          } ,
          {
            "uri" : "/em/cloud/iaas/server/vm/523CAE80A305928C9C5BE8A67A4181FD" ,
            "name" : "ZONEPOST" ,
            "media_type" : "application/oracle.com.cloud.common.VM+json" ,
            "status" : "STARTED"
          }
      ]
    }
}

Version 10000 Support

The 12.1.0.4 Cloud Service Portal plug-in supports the specification version 10000. To start, issue the following HTTP request on the Enterprise Manager:

The following returns the resource as in 10000 version:

{
  "uri" : "/em/cloud" ,
  "name" : "Infrastructure Cloud" ,
  "description" : "Infrastructure Cloud with Self Service Portal and Virtualization Managements" ,
  "service_templates" :     {
      "uri" : "/em/cloud/collection/servicetemplates" ,
      "type" : "application/oracle.com.cloud.common.ServiceTemplate+json" ,
      "total" : "7" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/servicetemplate/oracle:defaultService:em:provisioning:1:cmp:Virtualization:Assembly:C75E88B04D7FEDEDE040578CDA810E49:0.1" ,
            "name" : "sidb_assembly" ,
            "type" : "Assembly" ,
            "version" : "0.1"
          } ,
          {
            "uri" : "/em/cloud/servicetemplate/oracle:defaultService:em:provisioning:1:cmp:Virtualization:Assembly:C769B1F361529309E040578CDA813D57:0.1" ,
            "name" : "wls_assembly" ,
            "type" : "Assembly" ,
            "version" : "0.1"
          } ,
          {
            "uri" : "/em/cloud/servicetemplate/oracle:defaultService:em:provisioning:1:cmp:Virtualization:Template:C76CEB5563EA5E13E040578CDA817FAF:0.1" ,
            "name" : "template_sanity" ,
            "type" : "Template" ,
            "version" : "0.1"
          } ,
          {
            "uri" : "/em/cloud/servicetemplate/oracle:defaultService:em:provisioning:1:cmp:Virtualization:Assembly:C76F733BC7A41AF7E040578CDA812CDC:0.1" ,
            "name" : "fmw_venkat" ,
            "type" : "Assembly" ,
            "version" : "0.1"
          } ,
          {
            "uri" : "/em/cloud/servicetemplate/oracle:defaultService:em:provisioning:1:cmp:Virtualization:Assembly:C76C144A4A245B62E040578CDA8163B9:0.1" ,
            "name" : "fmw_abby" ,
            "type" : "Assembly" ,
            "version" : "0.1"
          } ,
          {
            "uri" : "/em/cloud/servicetemplate/oracle:defaultService:em:provisioning:1:cmp:Virtualization:Assembly:C77122B0A916D95CE040578CDA814854:0.1" ,
            "name" : "sidbasmA_abby" ,
            "type" : "Assembly" ,
            "version" : "0.1"
          } ,
          {
            "uri" : "/em/cloud/servicetemplate/oracle:defaultService:em:provisioning:1:cmp:Virtualization:Assembly:C76C8792DE2A0937E040578CDA81795E:0.1" ,
            "name" : "WLS_abby" ,
            "type" : "Assembly" ,
            "version" : "0.1"
          }
      ]
    } ,
  "zones" :     {
      "uri" : "/em/cloud/collection/zones" ,
      "type" : "application/oracle.com.cloud.common.Zone+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/zone/D73AF0D42C8459E11419862797D1F37D" ,
            "name" : "cloud_zone" ,
            "type" : "oracle_vm_zone"
          }
      ]
    } ,
  "vdcs" :     {
      "uri" : "/em/cloud/collection/vdcs" ,
      "type" : "application/oracle.com.cloud.common.VDC+json" ,
      "total" : "1" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D" ,
            "name" : "Oracle Enterprise Manager Virtual Data Center on Zone  cloud_zone"
          }
      ]
    } ,
  "instance_options" :     {
      "uri" : "/em/cloud/collection/instanceoptions" ,
      "type" : "application/oracle.com.cloud.common.InstanceOption+json" ,
      "total" : "3" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/instanceoption/virtual_machine_size/2" ,
            "name" : "Medium" ,
            "type" : "virtual_machine_size" ,
            "memory" : "8192" ,
            "cpu" : "4" ,
            "local_storage" : "512000"
          } ,
          {
            "uri" : "/em/cloud/instanceoption/virtual_machine_size/3" ,
            "name" : "Large" ,
            "type" : "virtual_machine_size" ,
            "memory" : "15360" ,
            "cpu" : "8" ,
            "local_storage" : "1024000"
          } ,
          {
            "uri" : "/em/cloud/instanceoption/virtual_machine_size/1" ,
            "name" : "Small" ,
            "type" : "virtual_machine_size" ,
            "memory" : "4096" ,
            "cpu" : "2" ,
            "local_storage" : "256000"
          }
      ]
    } ,
  "resource_state" :     {
      "state" : "READY"
    }
}

Similarly, to return the list of resources in the VDC, the following can be issued. (Note that the X-specification-version must be included in the header whenever working with 10000 version resources).

The following VDC resource is returned:

{
  "uri" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D" ,
  "name" : "Oracle Enterprise Manager Virtual Data Center on Zone  cloud_zone" ,
  "description" : "Virtual Data Center is a logical grouping of virtualized assets in a particular zone" ,
  "scalability_groups" :     {
      "uri" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D?scalability_groups" ,
      "type" : "application/oracle.com.cloud.common.ScalabilityGroup+json" ,
      "total" : "0" ,
      "elements" : 
      [      ]
    } ,
  "servers" :     {
      "uri" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D?servers" ,
      "type" : "application/oracle.com.cloud.common.Server+json" ,
      "total" : "0" ,
      "elements" : 
      [      ]
    } ,
  "vnets" :     {
      "uri" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D?vnets" ,
      "type" : "application/oracle.com.cloud.common.VNet+json" ,
      "total" : "3" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/vnet/D73AF0D42C8459E11419862797D1F37D/oracle:defaultService:em:provisioning:1:netConfig:C76CEADBBBE6B23FE040578CDA817FB1" ,
            "name" : "venkat_profile" ,
            "id" : "oracle:defaultService:em:provisioning:1:netConfig:C76CEADBBBE6B23FE040578CDA817FB1"
          } ,
          {
            "uri" : "/em/cloud/vnet/D73AF0D42C8459E11419862797D1F37D/oracle:defaultService:em:provisioning:1:netConfig:C77076C8FDEC6BD7E040578CDA813B2B" ,
            "name" : "nwprofile_abby" ,
            "id" : "oracle:defaultService:em:provisioning:1:netConfig:C77076C8FDEC6BD7E040578CDA813B2B"
          } ,
          {
            "uri" : "/em/cloud/vnet/D73AF0D42C8459E11419862797D1F37D/oracle:defaultService:em:provisioning:1:netConfig:C76F741AFD7EB760E040578CDA812CD8" ,
            "name" : "bmp_profile" ,
            "id" : "oracle:defaultService:em:provisioning:1:netConfig:C76F741AFD7EB760E040578CDA812CD8"
          }
      ]
    } ,
  "zone" : "/em/cloud/zone/D73AF0D42C8459E11419862797D1F37D" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "assembly_instances" :     {
      "uri" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D?assemblies" ,
      "type" : "application/oracle.com.cloud.common.AssemblyInstance+json" ,
      "total" : "11" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/assembly/byrequest/64" ,
            "name" : "WLS_abby" ,
            "contained_in" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D" ,
            "guid" : "FD4F3945CDD6BD6EEEFFAB064735ECDD"
          } ,
          {
            "uri" : "/em/cloud/assembly/byrequest/81" ,
            "name" : "WLS_abby_0" ,
            "contained_in" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D" ,
            "guid" : "79006B5C36F6ED90FC82EB58BB9580F2"
          } ,
          {
            "uri" : "/em/cloud/assembly/byrequest/82" ,
            "name" : "fmw_abby" ,
            "contained_in" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D" ,
            "guid" : "C7852B2D7740F4FAE040578CDA811EF3"
          } ,
          {
            "uri" : "/em/cloud/assembly/byrequest/26" ,
            "name" : "latest_attempt_wls_withagent_dinesh" ,
            "contained_in" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D" ,
            "guid" : "4DE0D2D8C81D0C09E665484BA9DBE668"
          } ,
          {
            "uri" : "/em/cloud/assembly/byrequest/61" ,
            "name" : "sidb_assembly" ,
            "contained_in" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D" ,
            "guid" : "235D95A93ABA2B50AFF5486540F48690"
          } ,
          {
            "uri" : "/em/cloud/assembly/byrequest/62" ,
            "name" : "sidb_assembly_0" ,
            "contained_in" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D" ,
            "guid" : "BFA65EC9A5FB97AD2B971EE8FB5E91AC"
          } ,
          {
            "uri" : "/em/cloud/assembly/byrequest/27" ,
            "name" : "venkat_fmw" ,
            "contained_in" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D" ,
            "guid" : "3DBE707B981DEDA5380ED6DBD8BF399C"
          } ,
          {
            "uri" : "/em/cloud/assembly/byrequest/23" ,
            "name" : "venkat_nw_profile" ,
            "contained_in" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D" ,
            "guid" : "05C1F96EE6FBD049BFE1D57AA89CB0D0"
          } ,
          {
            "uri" : "/em/cloud/assembly/byrequest/1" ,
            "name" : "venkat_sidb" ,
            "contained_in" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D" ,
            "guid" : "3A5C3917D18E276BDC7D08949F1851D1"
          } ,
          {
            "uri" : "/em/cloud/assembly/byrequest/22" ,
            "name" : "wls_dinesh_32bit_agent" ,
            "contained_in" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D" ,
            "guid" : "896B27C0963AF3B5C5C69D62614D63ED"
          } ,
          {
            "uri" : "/em/cloud/assembly/byrequest/21" ,
            "name" : "wls_vt_dinesh" ,
            "contained_in" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D" ,
            "guid" : "E54B51C4FCFF6C56AE393C3B1EEA8464"
          }
      ]
    } ,
  "dbplatform_instances" :     {
      "uri" : "/em/cloud/vdc/default/D73AF0D42C8459E11419862797D1F37D?dbplatform_instances" ,
      "type" : "application/oracle.com.cloud.common.DbPlatformInstance+json" ,
      "total" : "0" ,
      "elements" : 
      [      ]
    }
}

If the x-specification-Version header is not specified, the following will be returned:

{
  "messages" : 
  [
      {
        "text" : "Media Type 'application/oracle.com.cloud.common.VDC' specified in the request cannot be supported by the Cloud Resource. Cloud Resource supports Media Type 'application/oracle.com.cloud.common.Cloud+json'" ,
        "date" : "2012-08-19T15:17:08+0000"
      }
  ]
}

Only Infrastructure Service resources are supported on the 10000 version. Features supported are the same as the previous version.