44 Cloud Resource Models

This chapter specifies the representations of the resources that the Enterprise Manager Cloud REST APIs operate on.

This chapter specifies the representations of the resources that the REST APIs operate on. It contains the following sections:

44.1 Enterprise Manager Cloud Resource Model 10001

This version of the Cloud resource model is the culmination of the XaaS implementation for Cloud Service Portal Plug-in, where additional service types can be used to support the creation and lifecycle management of service instances.

For this release of Enterprise Manager Cloud Control's Cloud Service Portal Plug-in, 10001 is the default version when /em/cloud is accessed by the client. Specifically, the client can specify x-specification-version: 10001 in the HTTP header to examine whether or not a resource supports version 10001. It is important to note that the resource type from different versions may not be inter-mixed in a request. For example, 10001 may reject a request where the content is shaped like the 10000 version of the resource.

The following table contains the top level description of the resources:

Table 44-1 Top Level Resource Descriptions

Resource Description

application/oracle.com.cloud.common

This media type namespace contains "common" resources that are not specific to resource types in XaaS implementation. It is customary that XaaS implementation may extend a common resource type by responding to the request where the accept/content-type is the base type. This is similar to Java's class typing where one can always typecast the base class to an implementation class.

Cloud

This is the top level media type of the entry point /em/cloud where the client can get a high level view of the Cloud as a whole.

ServiceTemplate

This is the common media type that represents a service template each XaaS can extend to create a service instance.

ServiceInstance

This represents the common media type that represents a service instance. Each XaaS can extend this media type to represent the service instances that it supports.

ServiceFamilyType

This represents XaaS or a service family.

InstanceType

This represents a type of service instance. For example, VM is an extending media type of ServiceInstance and there is a corresponding InstanceType? that describes what a VM instance may contain.

Metric

This represents a metric of a resource. For example, performance metrics such as CPU utilization and network utilization are metrics of a VM instance. This does not need to be constrained to performance metrics only. Any measurable or observable time series data can be represented as a metric.

MultipartMetric

This extends the Metric, but represents a multi-dimensional observation.

CloudInteractions

This represents the collection of interactions that are supported by the Cloud. The data of this resource would be protocol dependent. For example, in HTTP protocol, the data would consist of the supported HTTP request triple of (request method, accept type, and content type).

QuotaUsage

This represents the quota information in the context of a service family.

44.2 About Cloud Resources

Cloud resource representations are made up of fields, each with a name and value, encoded using a JavaScript Object Notation (JSON) dictionary. The values may be lists, dictionaries, or numeric or string literals, each of which is represented in JSON in accordance with RFC 4627.

Each type of cloud resource has its own Internet Media Type. The media type SHALL conform to the pattern application/oracle.com.cloud.common.Xxxxxxxx+json, and the specific media type for each resource model is included in square brackets in the corresponding section header.

Cloud resources are now organized by common service entities where specific services (for example, Infrastructure as a Service) provide resources extending common service entities where appropriate. The figure below shows the resource model relationships on the common resources and Infrastructure as a service specific resources.

Figure 44-1 Cloud Resource Model


cloud resource model

44.3 Resource Data Models

The following sections provide details on the different cloud resource data models.

44.3.1 Cloud [application/oracle.com.cloud.common.Cloud+json]

A Cloud represents the user's starting view of all accessible resources. The following table describes the cloud data model.

Table 44-2 Cloud Data Model

Field Type Occurs Description Since

uri

URI

1

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

12.1.0.1

name

String

1

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

12.1.0.1

description

String

0..1

Brief description. This is a UNICODE string to support different languages.

12.1.0.1

service_templates

Collection<ServiceTemplates>

0..1

List of service templates that are accessible to the user.

12.1.0.4

service_family_types

Collection <ServiceFamilyType>

0..1

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

12.1.0.4

zones

Collection<Zone>

0..1

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

12.1.0.2

resource_state

ResourceState

0..1

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

12.1.0.1

media_type

String

1

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

12.1.0.4

44.3.2 ServiceTemplate [application/oracle.com.cloud.common.ServiceTemplate+json]

A ServiceTemplate represents the definition of the deployable service. For a user, a ServiceTemplate represents the definition of the deployable service. Users can create cloud resources by interacting with the URI of a ServiceTemplate. The cloud shall instantiate the resources and their configurations as specified in the definition of the ServiceTemplate.

VMTemplate is a subclass to the ServiceTemplate resource and therefore it is possible to get the ServiceTemplate from the URI of a VMTemplate. The following table shows the ServiceTemplate Data Model.

Table 44-3 ServiceTemplate Data Model

Field Type Occurs Description Since

uri

URI

1

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

12.1.0.4

name

String

1

Human readable name given to the ServiceTemplate. It is a UNICODE string to support different languages.

12.1.0.4

description

String

0..1

A brief description given to the ServiceTemplate. It is a UNICODE string to support different languages.

12.1.0.4

type

String

1

The string that describes the type of the service template.

12.1.0.4

created

Timestamp

1

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

12.1.0.4

service_family_type

String

0..1

The name of the service family type under which this service template is categorized.

12.1.0.4

default_instance_media_type

String

0..1

The default media type of the service instance that can be created using this template.

For example, a VMTemplate would have VM for this attribute to indicate that VMTemplate can be deployed into a VM service instance.

12.1.0.4

resource_state

ResourceState

1

Only a service template with a READY state can be deployed.

12.1.0.4

deployment_params

List of Deployment Parameters

0..1

Contains the list of data structure of Deployment Parameters to indicate the parameters that may be specified during the service instance deployment using this template

12.1.0.4

zones

List of Zones

0..1

Contains the list of Zone resources that this service template can be used to create service instances with

12.1.0.4

service_instances

Collection<?>

0..1

Contains the list of service instances that are created with this template.

12.1.0.4

The following table describes the structure of the Deployment Parameters.

Table 44-4 Deployment Parameter Structure

Field Type Occurs Description

name

String

1

The name of the parameter that needs to be specified during deployment.

description

String

0..1

A brief description of the deployment parameter.

type

String

1

The type of the deployment parameter. It is an enumeration of the following values, STRING, INTEGER, NUMBER, and LIST.

default_value

String

0..1

The default value for this parameter.

required

Boolean

1

TRUE if this parameter is required, FALSE otherwise.

sensitive

Boolean

1

TRUE if this parameter denotes a password. FALSE otherwise.

44.3.3 Zone [application/oracle.com.cloud.common.Zone+json]

A Zone represents a logical boundary where the resources may reside. A Zone can represent a particular geographically location such as Europe Zone, North America Zone, East Asia Zone. A zone can also represent characteristics, such as high network bandwidth or DMZ secured. Furthermore, a Zone can be organizational in nature, such as Financial Department Zone, Testing Zone, and Development Zone.

There should not be any assumption of exclusivity of underlying infrastructures in the Zones unless otherwise noted. For example, Zone A and Zone B can be on the same physical network serving two different departments, but their physical infrastructure setup is transparent to cloud users.

Table 44-5 Zone Data Model

Field Type Occurs Description Since

uri

URI

1

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

12.1.0.1

name

String

1

Name of the Zone.

12.1.0.1

description

String

0..1

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

12.1.0.1

media_type

String

1

The media type of the resource.

12.1.0.4

resource_state

ResourceState

0..1

The resource state of the resource.

12.1.0.1

service_family_type

String

0..1

The name of the service family type that this zone is associated with.

Each Zone is contextualized in the service family type.

12.1.0.4

service_templates

Collection <ServiceTemplate>

0..1

Collection of the service templates that this zone supports and can be deployed into.

12.1.0.4

service_instances

Collection <ServiceInstance>

0..1

Collection of the service instances that are in this zone.

12.1.0.4

44.3.4 Service Family Type [application/oracle.com.cloud.common.ServiceFamilyType+json]

A service family type is a category of services that are offered by the cloud. For example, IaaS is a category that encapsulates infrastructure services. Mwaas is a category that encapsulates middleware services. These categories are predefined.

The following table describes the ServiceFamilyType Data Model

Table 44-6 Service Family Type

Field Type Occurs Description Since

uri

URI

1

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

12.1.0.4

name

String

1

Name of the ServiceFamilyType.

12.1.0.4

description

String

0..1

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

12.1.0.4

resource_state

ResourceState

0..1

The resource state of the resource.

12.1.0.4

media_type

String

1

The media type of the resource.

12.1.0.4

service_templates

Collection <ServiceTemplate>

0..1

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

12.1.0.4

zones

Collection<Zone>

0..1

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

12.1.0.4

instance_types

Collection <InstanceType>

0..1

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

12.1.0.4

quota_usages

Collection <QuotaUsage>

0..1

The collection of quota usages of the perspective family type of the authenticated user.

12.1.0.5

quota_def

Json Object

0..1

The family type specific quota metadata information, this may include some permission information.

The structure of this object would be documented in the perspective family type resource model.

12.1.0.5

44.3.5 Service Instance Type [application/oracle.com.cloud.common.InstanceType+json]

A service instance type describes the common metadata about service instances of the type. This can be interpreted analogously as a Class where the service instance of the type is an instantiation of the class.

The following table describes the ServiceFamilyType Data Model.

Table 44-7 Service Instance Type

Field Type Occurs Description Since

uri

URI

1

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

12.1.0.4

name

String

1

Name of the ServiceInstanceType.

12.1.0.4

description

String

0..1

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

12.1.0.4

resource_state

ResourceState

0..1

The resource state of the resource.

12.1.0.4

media_type

String

1

The media type of the resource.

12.1.0.4

instance_media_type

String

0..1

The media type of the instance of this type.

12.1.0.4

metrics

List<List<String>>

0..1

List of metrics that may be supported by the instance type. Each list element represents the triple of "name", "description", and "type" of the metric.

12.1.0.4

44.3.6 Metric [application/oracle.com.cloud.common.Metric+json]

This resource represents a time series data that may be performance or configuration related. For example, CPU utilization could be a metric for a VM resource, Tablespace usages could be a metric for a Database resource.

The following table describes the Metric Data Model.

Table 44-8 Metric Data Model

Field Type Occurs Description Since

uri

URI

1

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

12.1.0.4

name

String

1

Name of the Metric.

12.1.0.4

description

String

0..1

Human readable description of the Metric. SHALL be a UNICODE string to support different languages.

12.1.0.4

resource_state

ResourceState

0..1

The resource state of the resource.

12.1.0.4

media_type

String

1

The media type of the resource.

12.1.0.4

type

String

1

The type of the metric value. This is an enumeration of STRING, INTEGER, PERCENTAGE, NUMBER, MIX.

12.1.0.4

current_value

String

0..1

The latest known value of the metric

12.1.0.4

current_time

ISO 8601 Date

0..1

The UTC time when the current_value was last observed

12.1.0.4

time_range

List of 2 ISO 8601 Dates

0..1

The first one is begin date, and the second one is end date. This range determines the time series window of "values" attribute

12.1.0.4

rollup_unit

String

0..1

The rollup unit for the time series data. Could be one of DAY, DAILY, DAYLY, HOUR, HOURLY, RAW

12.1.0.4

values

List of objects

0..1

For rollup_unit = RAW, this would be a list of object each containing "time_utc", and "value" attributes to indicate a timed observation.

For all other rollup_unit, this would be a list of object each containing "time_utc", "average", "min", "max", "std" attributes to indicate an aggregated observations where supported.

12.1.0.4

time_range_epoch

List of 2 Number

0..1

Same as time_range, but in the form of epoch time.

12.1.0.4

44.3.7 Service Instance [application/oracle.com.cloud.common.ServiceInstance+json]

A service instance describes the some common metadata about service instances. This is an abstract media type where the actual implementation would be provided by each XaaS service. It is expected that the extending resources respect GET request with this abstract media type.

The following table describes the Service Instance Data Model.

Table 44-9 Service Instance Data Model

Field Type Occurs Description Since

uri

URI

1

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

12.1.0.4

name

String

1

Name of the ServiceInstance.

12.1.0.4

description

String

0..1

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

12.1.0.4

resource_state

ResourceState

1

The resource state of the resource.

12.1.0.4

media_type

String

1

The media type of the resource.

12.1.0.4

metrics

Collection <Metric>

0..1

Collection of metrics that are observed on the resource.

12.1.0.4

service_family_type

String

1

The name of the ServiceFamilyType that this service instance is in context of.

12.1.0.4

status

String

0..1

The status of the entity represented by the service instance. For example, for service instance VM, the value could be STARTED, STOPPED, or any other values that are appropriate for VM. Each extending resource should describe the enumeration of status that are applicable.

12.1.0.4

created

ISO 8601 Date

0..1

The date of which the service instance is created.

12.1.0.4

44.3.8 Quota Usage [application/oracle.com.cloud.common.QuotaUsage+json]

A quota usage describes the amount of some resource used by the authentication used in the context of a service family type. For example, in IaaS, there were quota defined for CPU, Memory, number of servers, where the usages of each is encapsulated into a Quota Usage resource.

The following table describes the Quota Usage Data Model.

Table 44-10 QuotaUsage Data Model

Field Type Occurs Description Since

uri

URI

1

A GET against this URI refreshes the client representation of the QuotaUsage

12.1.0.5

name

String

1

Name of the QuotaUsage.

12.1.0.5

description

String

0..1

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

12.1.0.5

media_type

String

1

The media type of the resource.

12.1.0.5

id

String

1

The identification representation of the resource.

12.1.0.5

type

String

1

The service family type of the resource.

12.1.0.5

used

Number

1

How much of the resource is used. The type is represented by the "unit" attribute.

12.1.0.5

maxAllowed

Number

0..1

What is the maximum amount of resource that may be used by the authenticated user.

12.1.0.5

unit

String

1

The unit of the resource.

12.1.0.5

44.3.9 Service Template Finds [application/oracle.com.cloud.common.ServiceTemplateFinds+json]

Service Template Finds is a resource that would search and filter service templates under the entire cloud given the search criteria. Each service family type shall document the scope of support (for example, list of filter attributes).

The following table describes the Service Template Finds Data Model.

Table 44-11 ServiceTemplateFinds Data Model

Field Type Occurs Description Since

uri

URI

1

A GET against this URI refreshes the client representation of the Service TemplateFinds.

If service templates were added/removed that matched the criteria, refreshing the link will reflect the changes.

12.1.0.5

name

String

1

Name of the ServiceTemplateFinds.

12.1.0.5

description

String

0..1

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

12.1.0.5

filters

Json Object

1

Map of key-value pair to indicate the filter criteria.

12.1.0.5

finds

Collection <*>

1

.Collection of entities (could be any sub type of the service template) that satisfies the filter criteria.

12.1.0.5

The following table describes the attributes supported in the filters:

Table 44-12 Filter Attributes

Attributes Description Since

media_type

The specific service template media to search for. This will be an exact match of the media type.

12.1.0.5 Cloud Service Portal Plug-in (IaaS service family type only)

name

A service template will be returned if the name contains the specified string. This is case insensitive, so OEL and oel will return the same result.

12.1.0.5 Cloud Service Portal Plug-in (IaaS service family type only)

44.4 Cloud REST API Examples

The following sections provide examples of different interactions in Enterprise Manager Cloud Control 12.1.0.2 with the 12.1.0.5 Cloud Service Portal Plug-in. These examples illustrate the shape of the various resources. In this version, default x-specification-version is assumed at 10001.

44.4.1 Cloud Resource

Use the top level /em/cloud to introspect the Cloud resource. The following table describes the GET method features:

Table 44-13 Cloud Resource GET Method

Feature Description

URL

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

Headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI

=X-specification-Version: 10001

Method

GET

Since

12.1.0.4 Cloud Service Portal Plug-in

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 because "/em/cloud" address uniquely identify the Cloud as the default resource to be returned.

The following table shows the Cloud resource picking up specific attributes

Table 44-14 Cloud Resource GET Method

Feature Description

URL

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

Headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Method

GET

Since

12.1.0.4 Cloud Service Portal Plug-in

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 would be gathered and returned to the client.

44.4.2 Service Family Type Resource

The following table shows the features of the Service Family Type resource:

Table 44-15 Service Family Type Resource

Feature Description

URL

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

Headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Method

GET

Since

12.1.0.4 Cloud Service Portal Plug-in

Here is 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"
          }
      ]
    } ,
  "quota_usages" :     {
      "media_type" : "application/oracle.com.cloud.common.QuotaUsage+json" ,
      "total" : "6" ,
      "elements" : 
      [
          {
            "uri" : "/em/cloud/quota_usage/iaas_3" ,
            "name" : "Local Storage Quota" ,
            "description" : "Local Storage Quota" ,
            "context_id" : "3" ,
            "media_type" : "application/oracle.com.cloud.common.QuotaUsage+json" ,
            "used" : "10240" ,
            "maxAllowed" : "2000" ,
            "unit" : "GB"
          } ,
          {
            "uri" : "/em/cloud/quota_usage/iaas_2" ,
            "name" : "RAM Quota" ,
            "description" : "RAM Quota" ,
            "context_id" : "2" ,
            "media_type" : "application/oracle.com.cloud.common.QuotaUsage+json" ,
            "used" : "512" ,
            "maxAllowed" : "600000" ,
            "unit" : "MB"
          } ,
          {
            "uri" : "/em/cloud/quota_usage/iaas_1" ,
            "name" : "CPU Quota" ,
            "description" : "CPU Quota" ,
            "context_id" : "1" ,
            "media_type" : "application/oracle.com.cloud.common.QuotaUsage+json" ,
            "used" : "1" ,
            "maxAllowed" : "100" ,
            "unit" : "COUNT"
          } ,
          {
            "uri" : "/em/cloud/quota_usage/iaas_6" ,
            "name" : "Servers Quota" ,
            "description" : "Servers Quota" ,
            "context_id" : "6" ,
            "media_type" : "application/oracle.com.cloud.common.QuotaUsage+json" ,
            "used" : "1" ,
            "maxAllowed" : "20" ,
            "unit" : "COUNT"
          } ,
          {
            "uri" : "/em/cloud/quota_usage/iaas_5" ,
            "name" : "SWLIB Storage Quota" ,
            "description" : "SWLIB Storage Quota" ,
            "context_id" : "5" ,
            "media_type" : "application/oracle.com.cloud.common.QuotaUsage+json" ,
            "used" : "0" ,
            "maxAllowed" : "-1" ,
            "unit" : "GB"
          } ,
          {
            "uri" : "/em/cloud/quota_usage/iaas_4" ,
            "name" : "Extra Storage Quota" ,
            "description" : "Extra Storage Quota" ,
            "context_id" : "4" ,
            "media_type" : "application/oracle.com.cloud.common.QuotaUsage+json" ,
            "used" : "0" ,
            "maxAllowed" : "-1" ,
            "unit" : "GB"
          }
      ]
    } ,
  "quota_def" :     {
      "uri" : "/em/cloud/iaas/quota" ,
      "name" : "iaas Quota" ,
      "description" : "iaas Quota" ,
      "media_type" : "application/oracle.com.cloud.iaas.Quota+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 application/oracle.com.cloud.iaas.IaasServiceFamilyType+json media type is returned automatically as the most detailed resource. Similarly, you can interact with the system by accepting the common type:

Table 44-16 Service Family Type Resource

Feature Description

URL

https://example.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 content as shown in the previous interaction.

44.4.3 Quota Resource

The following sdescribes the quota resource that is exposed through the IaaS service family type to introspect the quota definition for IaaS services.

Table 44-17 Service Family Type Resource

Feature Description

URL

https://example.oracle.com/em/cloud/iaas/quota

Headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Method

GET

Since

12.1.0.5 Cloud Service Portal Plug-in

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

X-specification-version: 10001
Content-Type: application/oracle.com.cloud.iaas.Quota+json; charset=ISO-8859-1
{
  "uri" : "/em/cloud/iaas/quota" ,
  "name" : "iaas Quota" ,
  "description" : "iaas Quota" ,
  "resource_state" :     {
      "state" : "READY"
    } ,
  "media_type" : "application/oracle.com.cloud.iaas.Quota+json" ,
  "service_family_type" : "iaas" ,
  "allowedSaveToSwlib" : "1" ,
  "allowedSaveToSwlibOnExpiry" : "0" ,
  "resourceQuotas" :     {
      "total" : "6" ,
      "elements" : 
      [
          {
            "name" : "Local Storage Quota" ,
            "description" : "Local Storage Quota" ,
            "maxAllowed" : "2000" ,
            "unit" : "GB"
          } ,
          {
            "name" : "RAM Quota" ,
            "description" : "RAM Quota" ,
            "maxAllowed" : "600000" ,
            "unit" : "MB"
          } ,
          {
            "name" : "CPU Quota" ,
            "description" : "CPU Quota" ,
            "maxAllowed" : "100" ,
            "unit" : "COUNT"
          } ,
          {
            "name" : "Servers Quota" ,
            "description" : "Servers Quota" ,
            "maxAllowed" : "20" ,
            "unit" : "COUNT"
          } ,
          {
            "name" : "SWLIB Storage Quota" ,
            "description" : "SWLIB Storage Quota" ,
            "maxAllowed" : "-1" ,
            "unit" : "GB"
          } ,
          {
            "name" : "Extra Storage Quota" ,
            "description" : "Extra Storage Quota" ,
            "maxAllowed" : "-1" ,
            "unit" : "GB"
          }
      ]
    }
}

44.4.4 Service Instance Type Resource

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

Table 44-18 Service Instance Type Resource

Feature Description

URL

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

Headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Method

GET

Since

12.1.0.4 Cloud Service Portal Plug-in

The following is 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"
      }
  ]
}

44.4.5 Zone Resource

The following table shows the features of the Zone resource:

Table 44-19 ZoneResource

Feature Description

URL

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

Headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Method

GET

Since

12.1.0.4 Cloud Service Portal Plug-in

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" : 
      [      ]
    }
}

44.4.6 Service Template Resource

As can be seen from the previous examples, the elements in the collection shown all have "media_type" as an attribute to clearly indicate what its resource type is. The following table shows the features of the Service Template resource:

Table 44-20 Service Template Resource

Feature Description

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

Since

12.1.0.4 Cloud Service Portal Plug-in

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"
}

44.4.7 Metric Resource

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

Table 44-21 Service Template Resource

Feature Description

URL

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

Headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Method

GET

Since

12.1.0.4 Cloud Service Portal Plug-in

Here 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:

Table 44-22 Service Template Resource

Feature Description

URL

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

Headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Method

GET

Since

12.1.0.4 Cloud Service Portal Plug-in

The query parameter "time_range_epoch" contains 2 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 a different rollup unit, the following interaction shows the HOURLY rollup for the last 7 hours:

Table 44-23 Service Template Resource

Feature Description

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

Since

12.1.0.4 Cloud Service Portal Plug-in

Here 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"
}

44.5 Service Request REST APIs

This section covers the following REST APIs for rescheduling and deleting DBaaS and MWaaS service requests.

Table 44-24 Supported Methods for Service Request

Method Query Parameters Request Payload Response Payload Canonical Link Description

PUT

NA

{"newdate": "8/23/2013 4:46:12 AM"}

Status Message (json payload)

em/websvcs/restful/extws/cloudservices/ssa/cfw/v1/servicerequests/<id>

Reschedules service request based on the id and attributes.

Date must be specified in the format yyyy-MM-dd'T'HH:mm:ss'Z

DELETE

NA

None

None

em/websvcs/restful/extws/cloudservices/ssa/cfw/v1/servicerequests/<service-request-id>

Cancels GET specified ServiceRequest

GET

NA

NA

List of requests as json payload

em/websvcs/restful/extws/cloudservices/ssa/cfw/v1/servicerequests/

Retrieves a list of all service requests.

44.6 Service Request Collection

ServiceRequestCollection is a collection resource representing a Cloud Administrator's view of all the accessible Service Request resources (which can be canceled or rescheduled). The following table describes the ServiceRequestCollection data model.

Table 44-25 ServiceRequestCollection Data Model

Field Type Occurs Description

name

String

1

Displays the name of this collection resource.

type

String

1

Indicates the type of collection resource.

hasMore

Boolean

1

Indicates whether there are more elements in the collection.

count

Integer

1

Number of elements in the collection resource.

items

Collection <Request>

1

List of ServiceRequest resources. If there are no instance, this list will be blank.

totalCount

Integer

1

Total number of requests.

canonicalLink

URI

1

A GET against this URI refreshes the client representation of this resource.

selfLink

URI

1

Refers to the resource equivalent of the containing elements.