55 SSA Administration REST APIs

This chapter provides details of the Cloud REST APIs and Service Template REST APIs for SSA Administration functions. REST APIs for PaasZone management, and SoftwarePool management, along with other REST APIs used to fetch the REST API catalog, REST API output, and metadata and expansion of a resource are described in this chapter.

This chapter also provides details on the Enterprise Manager Command Line Interface (EMCLI) verbs for PaaS Infrastructure Zone, Software Pool, and Service Template operations for Enterprise Manager Self Service Applications Admin users. The EMCLI enables you to access Enterprise Manager Cloud Control functionality from text-based consoles (shells and command windows) for a variety of operating systems.

Note:

For the SSA Plug-in release 12.1.0.9, a new framework is introduced for the REST APIs which is referred to as the v2 framework. The new framework consists of a different approach and signatures, as a result of which the REST APIs also differ when compared to the earlier framework. The earlier framework (v1) is deprecated and users are suggested to move to the v2 REST APIs and EM CLI verbs.

Unique EM CLI verbs for v2 are restricted to those actions which do not have an REST API equivalent. For every REST API in the v2 framework, an equivalent EM CLI verb in the form of emcli invoke_ws exists. For details see Section 55.18.2, "EM CLI Verbs for SSA Operations for V2".

In v2, REST APIs for the Self Service Portal application are generally used by the SSA users. These REST APIs are generally in the .../ssa/... format. For example, /em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/services/. REST APIs for administrative functions (i.e., .../admin/... format) are REST APIs that configure the SSA Portal setup, such as creating zones, templates, etc., which are generally performed by Cloud or SSA Administrators. The Admin REST APIs are covered in this chapter.

This chapter covers the following sections:

55.1 Summary of SSA Administration REST APIs for V2

The table below shows a summary of all the User preference and Request scheduling REST APIs covered in this chapter for the v2 framework.

Table 55-1 Summary of SSA Administration REST APIs for V2

Resource Data Model GET POST PUT DELETE

Catalog API

Table 55-3

Not supported

Not supported

Not supported

Resource Provider

Table 55-10

Section 55.4.4.12

Service Templates

Table 55-36

Section 55.5.2.6

Section 55.5.2.7

Section 55.5.2.10

Service Types

Table 55-57

Section 55.6.1.1

Not available

Not available

Not available

Service Requests

Table 55-59

Not supported

Section 55.7.2.3

Service Instances

Table 55-67

Not supported

Not supported

Request Settings

Table 55-77

VM Adapters

Table 55-100

Section 55.10.3.4

Not supported

Not supported


Note:

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

55.2 Summary of SSA Administration REST APIs for V1

The table below shows a summary of all the User preference and Request scheduling REST APIs covered in this chapter for the v2 framework.

Table 55-2 Summary of SSA Administration REST APIs for V1

Resource Data Model GET POST PUT DELETE

Catalog API

Table 55-3

Not supported

Not supported

Not supported

API Entry Point Resource

Table 55-106

Section 55.11.1

Not supported

Not supported

Not supported

PaaS Zones

Table 55-108

Not supported

Not supported

Not supported

PaaS Zone

Table 55-112

Section 55.13.1.1

Section 55.13.1.2

Section 55.13.1.3

Software Pools

Table 55-119

Not supported

Not supported

Not supported

Software Pool

Table 55-123

Section 55.15.1.1

Section 55.15.1.2

Section 55.15.1.3

Software Pool Metadata

Table 55-129

Section 55.15.2.1

Not supported

Not supported

Not supported

Software Pool Filtered Targets

Table 55-131

Section 55.15.3.1

Not supported

Not supported

Not supported

Software Pool Capacity

Table 55-133

Section 55.15.4.1

Not supported

Not supported

Not supported

Composite Resource Attributes

Section 55.16

Not supported

Not supported

Not supported

Not supported

Service Templates

Section 55.17.1

Section 55.17.10.5

Section 55.17.10.6

Not supported

Not supported

Service Template

Section 55.17.2

Section 55.17.10.4

Section 55.17.10.1

Section 55.17.10.2

Section 55.17.10.3


Note:

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

55.3 Catalog APIs for V1 and V2

Catalog APIs provide an overview of all the REST APIs existing in the cfw plugin. All of these are GET REST APIs which contain description and information about each REST API.

The REST APIs have been broadly categorized into v1 and v2 REST APIs. The v1 REST APIs refer to the existing v1 catalog REST API. The v2 REST API provides a summarized overview on both SSA user and Administrator REST APIs.

Table 55-3 Cfw API Catalog Collection Data Model

Field Type Description Occurs

name

String

Display name of this collection resource.

1

type

String

Type of collection resource.

1

hasMore

Boolean

Indicates whether there are more elements in the collection.

1

count

Integer

Number of elements returned.

1

items

Collection <CfwRestAPICatalog>

List of Cfw API catalog resources.In case no instance exist, the items field will be empty.

1

totalResults

Integer

Total number of Cfw API catalog resources.

1

canonicalLink

URI

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

1


55.3.1 CFW API Catalog REST API Examples

This sections describes the REST APIs for the Cfw API catalog resource. The following operations are described in this section:

55.3.1.1 Viewing the High Level Catalog APIs for V1 and V2

The GET request configuration to view the high level catalog APIs is shown below.

Table 55-4 GET Request Configuration for Viewing High Level Catalog APIs

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/cfw/API

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK
{
"items":[
{
"href":"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/cfw/API/v1",
"description":"API Summary for version V1"
},
{
"href":"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/cfw/API/v2",
"description":"API Summary for version V2"
}
],
"totalResults":2
}

55.3.1.2 Viewing the V1 Catalog APIs

The GET request configuration to view the v1 catalog APIs is shown below.

Table 55-5 GET Request Configuration for Viewing V1 Catalog APIs

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/cfw/API/v1

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK
{
"items":[
{
"href":"cloudcompany.com/em/websvcs/restful/extws/cloudservices/ssa/cfw/API",
"description":"APIs for Self Service Application for version V1",
"type":"SSA"
},
{
"href":"cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/API",
"description":"APIs for Administrative functions for version V1",
"type":"Admin"
}
],
"goBack":"cloudcompany.com/em/websvcs/restful/extws/cloudservices/cfw/API",
"totalResults":2
}

55.3.1.3 Viewing the V2 Catalog APIs

The GET request configuration to view the v2 catalog APIs is shown below.

Table 55-6 GET Request Configuration for Viewing V2 Catalog APIs

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/ssa/API/v2

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK
{
"items":[{
"href":"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/API",
"description":"APIs for Self Service Application for version V2",
"type":"SSA"
},
{
"href":"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/API",
"description":"APIs for administrative functions for version V2",
"type":"Admin"
} ],
"goBack":"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/cfw/API",
"totalResults":2
}

55.3.1.4 Viewing the V1 Catalog APIs for SSA Portal

The GET request configuration to view the v1 catalog APIs for SSA portal is shown below.

Table 55-7 GET Request Configuration for Viewing V1 Catalog APIs for SSA Portal

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK
{
"v1":{
"canonicalLink":"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/ssa/cfw/v1",
"serviceRequests":"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/ssa/cfw/v1
/servicerequests",
"userPreferences":"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/ssa/cfw/v1
/mypreferences"
}
}

55.3.1.5 Viewing the V2 Catalog User APIs

The v2 endpoint provides further refined overview of v2 side user REST APIs grouped according to entities. For example, all the Service instance related REST APIs are listed together for entity=serviceinstances.

REST APIs with variable inputs, are marked with attribute ”templated” and curly brackets.

The GET request configuration to view the v2 catalog user APIs is shown below.

Table 55-8 GET Request Configuration for Viewing V2 Catalog User APIs

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/user/ssa/v2/API

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"items": [
{
"totalResults": 5,
"resource": "services",
"APIs": [
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/services",
"method": "GET",
"description": "Get all the service offerings"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/services",
"method": "POST",
"description": "Create a service"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/services/{
id}",
"method": "GET",
"templated": true,
"description": "Get details of a service"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/services/{
id}/metadata",
"method": "GET",
"templated": true,
"description": "Get the metadata for a service"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/services/{
id}/metrics",
"method": "PUT",
"templated": true,
"description": "Get the metrics for a service"
}
]
},
{
"totalResults": 11,
"resource": "userpreferences",
"APIs": [
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/userprefer
ences",
"method": "GET"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/userprefer
ences/general",
"method": "GET",
"description": "Get the general user preferences"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/userprefer
ences/general/metadata",
"method": "GET",
"description": "Get the metadata for general user preferences"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/userprefer
ences/services",
"method": "GET",
"description": "Get the service user preferences"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/userprefer
ences/services/{service-family}",
"method": "GET",
"templated": true,
"description": "Get the user preferences for a service family"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/userprefer
ences/services/{service-family}/metadata",
"method": "GET",
"templated": true,
"description": "Get the metadata for user preference at family level"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/userprefer
ences/services/{service-family}/{service-type}",
"method": "GET",
"templated": true,
"description": "Get the user preferences for a service type"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/userprefer
ences/services/{service-family}/{service-type}/metadata",
"method": "GET",
"templated": true,
"description": "Get the metadata for user preference at service type level"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/userprefer
ences/general",
"method": "PUT",
"description": "Update general user preference"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/userpreferences/services/{service-family}",
"method": "PUT",
"templated": true,
"description": "Update family level user preferences"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/userprefer
ences/services/{service-family}/{service-type}",
"method": "PUT",
"templated": true,
"description": "Update service type level user preferences"
}
]
},
{
"totalResults": 4,
"resource": "servicerequests",
"APIs": [
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/servicereq
uests",
"method": "GET",
"description": "Get service requests"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/servicereq
uests/{id}",
"method": "PUT",
"templated": true,
"description": "Reschedule the request"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/servicereq
uests/{id}",
"method": "GET",
"templated": true,
"description": "Get the details of request"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/servicereq
uests/{id}",
"method": "DELETE",
"templated": true,
"description": "Delete the request"
}
]
},
{
"totalResults": 5,
"resource": "serviceinstances",
"APIs": [
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/serviceins
tances",
"method": "GET",
"description": "Get the service instances"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/serviceins
tances/{id}",
"method": "GET",
"templated": true,
"description": "Get details of a service instance"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/serviceins
tances/{id}/actions",
"method": "GET",
"templated": true,
"description": "Get actions for a service instance"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/serviceins
tances/{id}/actions/{action-id}",
"method": "GET",
"templated": true,
"description": "Get metadata details of action"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/ssa/cfw/v2/serviceins
tances/{id}/actions/{action-id}",
"method": "PUT",
"templated": true,
"description": "Perform the action on the service instance"
}
]
}
],
"goBack": "https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/API",
"totalResults": 4
}

55.3.1.6 Viewing the V2 Catalog Admin APIs

The v2 endpoint provides further refined overview of v2 side admin REST APIs grouped according to entities. For example, all the Service instance related REST APIs are listed together for entity=serviceinstances.

REST APIs with variable inputs, are marked with attribute ”templated” and curly brackets.

The GET request configuration to view the v2 catalog admin APIs is shown below.

Table 55-9 GET Request Configuration for Viewing V2 Catalog Admin APIs

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/API

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"items": [
{
"totalResults": 6,
"resource": "resourceproviders",
"APIs": [
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resource
providers",
"method": "GET",
"description": "Get all the resource providers"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resource
providers",
"method": "POST",
"description": "Create/Add a resource provider"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resource
providers/{id}",
"method": "GET",
"templated": true,
"description": "Get details of a resource provider"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resource
providers/{id}",
"method": "DELETE",
"templated": true,
"description": "Delete/Remove a resource provider"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resource
providers/{id}",
"method": "PUT",
"templated": true,
"description": "Edit a resource provider"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resource
providers/{id}/metrics",
"method": "GET",
"templated": true,
"description": "Get metrics for a resource provider"
}
]
},
{
"totalResults": 3,
"resource": "servicetemplates",
"APIs": [
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicet
emplates",
"method": "GET",
"description": "Get all service templates"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicet
emplates",
"method": "POST",
"description": "Create a service template"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicet
emplates/{id}",
"method": "PUT",
"templated": true,
"description": "Edit a service template"
}
]
},
{
"totalResults": 4,
"resource": "settings",
"APIs": [
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/settings
/general",
"method": "GET",
"description": "Get all general settings"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/settings
/general",
"method": "PUT",
"description": "Update general settings"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/settings
/service/{service-type}",
"method": "GET",
"templated": true,
"description": "Get all settings for a service type"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/settings
/service/{service-type}",
"method": "PUT",
"templated": true,
"description": "Update settings for a service type"
}
]
},
{
"totalResults": 5,
"resource": "instancesizes",
"APIs": [
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/instance
sizes",
"method": "GET",
"description": "Get all instance sizes"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/instance
sizes/service/{service-type}",
"method": "GET",
"templated": true,
"description": "Get all instance sizes for a service type"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/instance
sizes/service/{service-type}/metadata",
"method": "GET",
"templated": true,
"description": "Get metada for instance sizes for a service type"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/instance
sizes/service/{service-type}/{instance-name}",
"method": "GET",
"templated": true,
"description": "Get details of an instance size"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/instance
sizes/service/{service-type}/{instance-name}",
"method": "PUT",
"templated": true
}
]
},
{
"totalResults": 5,
"resource": "servicerequests",
"APIs": [
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicer
equests",
"method": "GET",
"description": "Get all requests"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicer
equests/{id}",
"method": "PUT",
"templated": true,
"description": "Reschedule a request"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicer
equests/{id}",
"method": "GET",
"templated": true,
"description": "Get details of a request"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicer
equests/{id}",
"method": "DELETE",
"templated": true,
"description": "Delete a request"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicer
equests",
"method": "DELETE",
"description": "Delete bulk requests"
}
]
},
{
"totalResults": 12,
"resource": "serviceinstances",
"APIs": [
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicei
nstances",
"method": "GET",
"description": "Get all service instances"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicei
nstances/{id}",
"method": "GET",
"templated": true,
"description": "Get details of a service instance"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicei
nstances/{id}/actions",
"method": "GET",
"templated": true,
"description": "Get all the actions on a service instance"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicei
nstances/{id}/actions/{action-id}",
"method": "GET",
"templated": true,
"description": "Get the details of action"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicei
nstances/{id}/actions/{action-id}",
"method": "PUT",
"templated": true,
"description": "Perform the action on the service instance"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicei
nstances/{id}/start",
"method": "PUT",
"templated": true,
"description": "Start the service instance"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicei
nstances/{id}/stop",
"method": "PUT",
"templated": true,
"description": "Stop the service instance"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicei
nstances/{id}/delete",
"method": "PUT",
"templated": true,
"description": "Delete the service instance"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicei
nstances",
"method": "DELETE",
"description": "Delete service instances"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicei
nstances/start",
"method": "PUT",
"description": "Start multiple service instances"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicei
nstances/stop",
"method": "PUT",
"description": "Stop multiple service instances"
},
{
"href":
"https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicei
nstances/delete",
"method": "PUT",
"description": "Delete multiple service instances"
}
]
}
],
"goBack": "https://xx.idc.example.com:4473/em/websvcs/restful/extws/cloudservices/API",
"totalResults": 6
}

55.4 Resource Provider for V2

A Resource Provider provides the grouping of resources for easier administration and management.

A resource provider is a composite target that represents the type of resources required to provision a service instance of a service type. For example, a Database service type needs oracle_home targets in its resource provider and a schema service type needs oracle_database, and oracle_rac targets in its resource provider.

55.4.1 Resource Providers - Collection Resource for V2

Resource Providers is a collection resource representing a Cloud Administrator's view of all the accessible Resource Provider resources. The following table describes the Resource Providers data model.

Table 55-10 Resource Providers Data Model

Field Type Description Occurs

name

String

Display name of this collection resource.

1

type

String

Type of collection resource.

1

hasMore

Boolean

Indicates whether there are more elements in the collection.

1

count

Integer

Number of elements returned.

1

items

Collection <ResourceProvider>

List of Resource Provider resources.In case no instance exist, the items field will be empty.

1

totalCount

Integer

Total number of Resource Provider resources.

1

canonicalLink

URI

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

1

selfLink

URI

Refers to the resource equivalent to the containing elements.

1


55.4.2 Resource Provider - Singular Resource for V2

A Resource Provider cloud resource represents an instance of a Resource provider. The following table describes the Resource Provider data model.

Table 55-11 Resource Provider Data Model

Field Type Description Occurs

name

String

A human readable name given to the Resource Provider. This field is non-editable.

1

displayName

String

Display name for the Resource Provider.

0..1

guid

String

Unique GUID of the Resource Provider that identifies the resource.

1

description

String

A brief description of the resource.

0..1

targetType

String

Target type of the Resource Provider to be created. Example: ”cfw_samplexaas_rsrc_provider” for sample xaas Resource Provider.

1

Members

 

Members of Resource Provider. These must be added as EM targets in advance.

1

credentials

Collection<ResourceProviderCredential>

Credentials associated with the Resource Provider.

1

placementConstraints

Collection<EntityValueHolder>

Placement constraints for a Resource Provider that allows the cloud administrator to set a maximum ceilings for resource utilization.

0..1

characteristics

Collection<EntityValueHolder>

Characteristics associated with the Resource Provider.

1

canonicalLink

URI

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

1


55.4.3 Supported Methods for Resource Provider Resource

The table below lists the supported methods for the Resource Provider singular resource.

Table 55-12 Supported Methods for Resource Provider

Request Method Canonical Link Description

GET

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders

Returns list of Resource Providers.

GET

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/types

Returns Resource Provider types.

POST

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders

Creates an instance of Resource Provider.

POST

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/filteredtargets

Returns filtered targets.

See,Table 55-13, "Filtered Targets Request Data Model" and Table 55-14, "Filtered Targets Response Data Model".

GET

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/types/{resourceprovidertype}

Returns the Resource Provider type metadata.

See,Table 55-15, "Resource Provider Metadata Data Model"

GET

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceproviderid}

Returns details of the specified Resource Provider.

See,Table 55-16, "Credential Data Model" and Table 55-17, "CFW Simple Value Entity Data Model".

PUT

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceproviderid}

Updates the specified Resource Provider.

DELETE

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceproviderid}

Deletes the specified Resource Provider.

GET

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceprovderid}/configuration

Returns the Resource Provider's saved configuration.

GET

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceproviderid}/metrics

Returns the metric of the specified Resource Provider.

POST

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceproviderid}/members

Provisions resources.

DELETE

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceproviderid}/members

De-provisions resources.

POST

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceproviderid}/members/metadata

Returns the provisioning metadata required to provision resources.


The table below shows the filtered targets request data model supported for the POST request on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/filteredtargets in the v2 framework.

Table 55-13 Filtered Targets Request Data Model

Field Type Description Occur

type

String

Type of resource provider.

1

membertargetType

String

Target type of the member.

0..1

parentResourceProviderId

String

Type of parent resource provider.

0..1


The table below shows the filtered targets response data model supported for the POST request on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/filteredtargets in the v2 framework.

Table 55-14 Filtered Targets Response Data Model

Field Type Description

membertargetType

String

Target type of the member.

List<String>

String

List of targets.


The table below shows the resource provider metadata data model supported for the GET request on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/types/{resourceprovidertype} in the v2 framework.

Table 55-15 Resource Provider Metadata Data Model

Field Type Description

type

String

Type of Resource provider.

memberTargetTypes

List<String>

List of member target types.

parentResourceProviderType

String

Parent resource provider type.

isInfrastructureProvider

Boolean

If infrastructure provider exists.

placementPolicyName

String

Indicates the placement policy.

credentials

List<Credential>

Indicates the credentials.

placementConstraints

List<CfwSimpleValueEntity>

Indicates the placement constraints.

characteristics

List<CfwSimpleValueEntity>

Indicates the characteristics.


The table below shows the credentials data model supported for the GET request on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceproviderid} in the v2 framework.

Table 55-16 Credential Data Model

Field Type Description

name

String

Name of credential.

value

String

Type of credential.


The table below shows the CFW simple value entity data model supported for the GET request on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceproviderid} in the v2 framework.

Table 55-17 CFW Simple Value Entity Data Model

Field Type Description

name

String

Name.

value

List<String>

List of strings.


55.4.4 Resource Provider REST API Examples

This section describes the operations on the Resource Provider. The following operations are covered in this section:

55.4.4.1 Viewing all the Resource Providers

A GET operation is issued to view all the Resource Providers.

Table 55-18 GET Request Configuration for Viewing all the Resource Providers

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"name": "Resource Providers",
"type": "Resource Provider",
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/"
},
"cfwItems": [
{
"id": "1",
"name": "MyPaasZone",
"type": "self_service_zone",
"guid": "AC3D1D12E0A0AB1B28C377ED691E9E98",
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/1"
}
},
{
"id": "2",
"name": "MyXaasProvider",
"type": "cfw_samplexaas_rsrc_provider",
"guid": "20CC7F446482F477BED8336489852A4B",
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/2"
}
},
{
"id": "3",
"name": "MyXaasPool",
"type": "cfw_samplexaas_rsrc_pool",
"guid": "FEF39B5F2A0C518283F7A5E781EE8C8B",
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/3"
}
},
{
"id": "4",
"name": "MyWebLogicProvider",
"type": "mwaas_zone",
"guid": "425AA08582AD7AE95D52C24662867315",
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/4"
}
},
{
"id": "21",
"name": "MySchemaPool",
"type": "schaas_pool",
"guid": "446AD900E64F525149A3B1D79E0037AC",
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/21"
}
}
],
"totalResults": 5
}

55.4.4.2 Viewing all the Types of Resource Providers

A GET operation is issued to view all the Types of Resource Providers.

Table 55-19 GET Request Configuration for Viewing all the Types of Resource Providers

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/types

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"name" : "Resource Provider Types",
"canonicalLink" : {
"href" :
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/type
s"
},
"cfwItems" : [ {
"type" : "cfw_samplexaas_rsrc_pool",
"displayName" : "CFW XaaS Test Rsrc Pool",
"canonicalLink" : {
"href" :
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/type
s/cfw_samplexaas_rsrc_pool"
}
}, {
"type" : "cfw_samplexaas_rsrc_provider",
"displayName" : "CFW XaaS Test Rsrc Provider",
"canonicalLink" : {
"href" :
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/type
s/cfw_samplexaas_rsrc_provider"
}
}, {
"type" : "cfw_samplexaas_rsrcprov_no_member",
"displayName" : "CFW XaaS Test Rsrc With No Member",
"canonicalLink" : {
"href" :
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/type
s/cfw_samplexaas_rsrcprov_no_member"
}
}, {
"type" : "mwaas_zone",
"displayName" : "Middleware Pool",
"canonicalLink" : {
"href" :
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/type
s/mwaas_zone"
}
}, {
"type" : "oracle_cloud_zone",
"displayName" : "Database Pool",
"canonicalLink" : {
"href" :
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/type
s/oracle_cloud_zone"
}
}, {
"type" : "oracle_nimbula_site",
"displayName" : "Oracle Nimbula Site",
"canonicalLink" : {
"href" :
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/type
5.6 67
s/oracle_nimbula_site"
}
}, {
"type" : "pdbaas_pool",
"displayName" : "Pluggable Database Pool",
"canonicalLink" : {
"href" :
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/type
s/pdbaas_pool"
}
}, {
"type" : "schaas_pool",
"displayName" : "Schema Pool",
"canonicalLink" : {
"href" :
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/type
s/schaas_pool"
}
}, {
"type" : "self_service_zone",
"displayName" : "PaaS Infrastructure Zone",
"canonicalLink" : {
"href" :
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/type
s/self_service_zone"
}
} ],
"totalResults" : 0
}

55.4.4.3 Creating a Resource Provider

The table below shows the POST configuration to create a Resource Provider.

Table 55-20 POST Request Configuration for Creating a Resource Provider

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"name": "My Xaas Provider_200",
"characteristics": [
{
"name": "example.sysman.cfw.samplexaas.storagetype",
"value": [
"file",
"db"
]
}
],
"memberTargetType": "cfw_samplexaas_rsrc",
"members": [
"Sample7"
],
"placementConstraints": [
{
"name": "NUMBER_OF_SERVICE_INSTANCES",
"value": "20"
}
],
"type": "cfw_samplexaas_rsrc_provider",
"useExistingTarget": false,
"memberConstraints": [
{
"name": "ORACLE.SYSMAN.CFW.LOCATION",
"values": [
"us-east"
]
},
{
"name": "ORACLE.SYSMAN.SAMPLEXAAS.STORAGETYPE",
"values": [
"file"
]
}
]
}

Request method

POST


A sample of the response received is shown below.

{
"message": "Resource Provider with name \"My Xaas Provider_200\" and type
\"cfw_samplexaas_rsrc_provider\" created successfully.",
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/24"
}
}

55.4.4.4 Creating a PaaS Infrastructure Zone Resource Provider

The table below shows the POST configuration to create a PaaS Infrastructure zone Resource Provider.

Table 55-21 POST Request Configuration for Creating a PaaS Infrastructure Zone Resource Provider

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{ "useExistingTarget" :false,
"name" :"MyPaasZone02",
"type" :"self_service_zone",
"memberTargetType" :"host",
 "members": [ "myhost1.idc.oracle.com" ],
 "credentials": [ { "name": "normal_credential_guid", "value": "VGSINGH" } ],
"placementConstraints": [ { "name": "MAX_CPU_UTILIZATION",
"value": [ "80" ] }, { "name": "MAX_MEMORY_ALLOCATION",
"value": [ "80" ] } ], "memberConstraints": [] }

Request method

POST


A sample of the response received is shown below.

{ "message" : "ResourceProvider with name \"MyPaasZone02\" and type \"self_service_zone\" created successfully.",
"canonicalLink" : { "href" : "https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/41" }}

55.4.4.5 Creating a Database Schema Pool

The table below shows the POST configuration to create a Database Schema Pool.

Table 55-22 POST Request Configuration for Creating a Database Schema Pool

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{ "name" : "MyDBSchemaPool",
"useExistingTarget" : false,
"type" : "schaas_pool",
"description" : "MyDatabaseSchemaPool", 
"memberTargetType" : "oracle_database",
"members" : [ "Oemrep_Database" ], 
"parentResourceProviderId" : "1",
"credentials" : [ { "name" : "host_credential_guid", "value" : "VGSINGH" } ],
"placementConstraints" :
[ { "name" : "MAX_SERVICES", "value" : [ "100" ] }, { "name" : "MAX_CPU_USAGE", "value" : [ "0" ] }, 
{ "name" : "MAX_MEMORY_USAGE", "value" : [ "0" ] }, { "name" : "USE_WORKLOAD", "value" : [ "false" ] },
{ "name" : "ENFORCE_CPU", "value" : [ "false" ] } ], 
"memberConstraints" : [ { "name" : "ORACLE.SYSMAN.SSA.CONFIGURATION", "value" : [ "oracle_database" ] },
{ "name" : "ORACLE.SYSMAN.CFW.PLATFORM", "value" : [ "226" ] },
{ "name" : "ORACLE.SYSMAN.CFW.VERSION", "value" : [ "11.2.0.3.0" ] } ],
"characteristics" : [ { "name" : "ORACLE.SYSMAN.CFW.ORCL_GTP_CONTACT", "value" : [ "admin@cloudcompany.com" ] },
{ "name" : "ORACLE.SYSMAN.CFW.ORCL_GTP_COST_CENTER", "value" : [ "GTB" ] },
{ "name" : "ORACLE.SYSMAN.CFW.ORCL_GTP_DEPARTMENT", "value" : [ "ST" ] },
{ "name" : "ORACLE.SYSMAN.CFW.ORCL_GTP_LIFECYCLE_STATUS", "value" : [ "Development" ] },
{ "name" : "ORACLE.SYSMAN.CFW.ORCL_GTP_LINE_OF_BUS", "value" : [ "LOB" ] },
{ "name" : "ORACLE.SYSMAN.CFW.ORCL_GTP_LOCATION", "value" : [ "EAST" ] },
{ "name" : "ORACLE.SYSMAN.CFW.ORCL_GTP_SITE", "value" : [ "LOCAL" ] } ]}

Request method

POST


A sample of the response received is shown below.

{ "message" : "ResourceProvider with name \"MyDBSchemaPool\" and type \"schaas_pool\" created successfully.",
"canonicalLink" : { "href" : "https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/61" }}

55.4.4.6 Creating an Adapter Instance

The table below shows the POST configuration to create a sample Adapter Instance.

Table 55-23 POST Request Configuration for Creating an Adapter Instance

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{ name" : "MySmplVMAdapter_0409123048",
"type" : "iaas_adapter",
"placementConstraints" : [ { "name" : "MAX_VM_INSTANCES", "value" : "10" } ],
"vmadapter" : { "name" : "SAMPLEADAPTER", "paaszone" : "MyPaasZone", "connection" : { "endpoints" : [ { "purpose" : "login_url", "url" : "/login_url/example", "username" : "ssa_user", "password" : "ssa_passwd", "domain" : "domain", "custom" : [ { "name" : "CloudType", "value" : "CloudTypeVal" }, { "name" : "custom_param1", "value" : "custom_param1Val" } ] } ],
"virtualizationContainers" : [ { "name" : "Zone" } ] }, "useproxies" : [ "testnm" ], "stagingservers" : { "location" : "script/location", "credentialGuid" : "25D30ADD427484310DBC8CF6211A383B" } }}

Request method

POST


A sample of the response received is shown below.

{ "message" : "ResourceProvider with name \"MySmplVMAdapter_0409123047\" and type \"iaas_adapter\" created successfully.",
"canonicalLink" : { "href" : "https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/63" }}

55.4.4.7 Filtering Resource Provider Targets

A POST operation is issued on Resource Providers collection resource to filter Resource Provider targets in the system.

Table 55-24 POST Request Configuration for Filtering Resource Provider Targets

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/filteredtargets

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"type": "self_service_zone",
"memberTargetType": "cfw_samplexaas_rsrc"
}

Request method

POST


A sample of the response received is shown below.

{
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/filt
eredtargets"
},
"targets": [
"Sample10",
"Sample1",
"Sample3",
"Sample2",
"Sample5",
"Sample4",
"Sample7",
"Sample6",
"Sample9",
"Sample8"
],
"memberTargetType": "cfw_samplexaas_rsrc"
}

55.4.4.8 Viewing the Resource Provider Type Metadata

A GET operation is issued to view the Resource Provider type metadata.

Table 55-25 GET Request Configuration for Viewing the Resource Provider Type Metadata

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/types/{resourceprovidertype}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"type" : "mwaas_zone",
"memberTargetTypes" : [ "host" ],
"parentResourceProviderType" : "self_service_zone",
"placementPolicyName" : "First_Pick",
"placementConstraints" : [ {
"name" : "MAX_INSTANCES",
"displayName" : "Maximum Number of WebLogic Servers (per host)",
"description" : "Maximum Number of WebLogic Servers (per host)",
"valueType" : "INTEGER",
"operator" : "eq"
} ],
"characteristics" : [ {
"name" : "EXAMPLE.SYSMAN.EMAS.MWC.WLAAS.BASEINSTALLDIR",
"displayName" : "Middleware Home Base Directory",
"description" : "All Oracle Homes would be created from this Base Install Directory.",
"isComposite" : false,
"possibleValues" : [ ],
"isMandatory" : false,
"isUnique" : false
}, {
"name" : "EXAMPLE.SYSMAN.CFW.ORCL_GTP_CONTACT",
"displayName" : "Contact",
"description" : null,
"isComposite" : false,
"possibleValues" : [ ],
"isMandatory" : false,
"isUnique" : true
}, {
"name" : "EXAMPLE.SYSMAN.CFW.ORCL_GTP_COST_CENTER",
"displayName" : "Cost Center",
"description" : null,
"isComposite" : false,
"possibleValues" : [ ],
"isMandatory" : false,
"isUnique" : true
}, {
"name" : "EXAMPLE.SYSMAN.CFW.ORCL_GTP_DEPARTMENT",
"displayName" : "Department",
"description" : null,
"isComposite" : false,
"possibleValues" : [ ],
"isMandatory" : false,
"isUnique" : true
}, {
"name" : "EXAMPLE.SYSMAN.CFW.ORCL_GTP_LIFECYCLE_STATUS",
"displayName" : "Lifecycle Status",
"description" : null,
"isComposite" : false,
"possibleValues" : [ "Development", "MissionCritical", "Production", "Stage", "Test" ],
5.15 76
"isMandatory" : false,
"isUnique" : true
}, {
"name" : "EXAMPLE.SYSMAN.CFW.ORCL_GTP_LINE_OF_BUS",
"displayName" : "Line of Business",
"description" : null,
"isComposite" : false,
"possibleValues" : [ ],
"isMandatory" : false,
"isUnique" : true
}, {
"name" : "EXAMPLE.SYSMAN.CFW.ORCL_GTP_LOCATION",
"displayName" : "Location",
"description" : null,
"isComposite" : false,
"possibleValues" : [ ],
"isMandatory" : false,
"isUnique" : true
}, {
"name" : "EXAMPLE.SYSMAN.EMAS.MWC.WLAAS.ASHAREDHOME",
"displayName" : "Shared Oracle Home",
"description" : "When set to Yes, all Hosts in this MW Pool would use this Shared Home even if
other Oracle Homes present on these Hosts. Otherwise, Oracle Home on each Host will be used.",
"isComposite" : false,
"possibleValues" : [ "0", "1" ],
"isMandatory" : false,
"isUnique" : false
}, {
"name" : "EXAMPLE.SYSMAN.EMAS.MWAAS_ZONE",
"displayName" : "oracle.sysman.emas.mwaas_zone",
"description" : null,
"isComposite" : false,
"possibleValues" : [ ],
"isMandatory" : true,
"isUnique" : true
} ],
"memberConstraints" : [ {
"name" : "EXAMPLE.SYSMAN.EMAS.MWC.WLAAS.PLATFORM",
"displayName" : "Operating System and Platform",
"description" : null,
"isComposite" : false,
"possibleValues" : [ "197", "59", "212", "209", "46", "226", "912", "208", "233", "23", "267" ]
} ]
}

55.4.4.9 Viewing the Metadata for Creating a PaaS Infrastructure Zone

A GET operation is issued to view the metadata for creating a PaaS Infrastructure Zone.

Table 55-26 GET Request Configuration for Viewing the Metadata for Creating a PaaS Infrastructure Zone

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/self_service_zone

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{ "type": "self_service_zone",
"memberTargetTypes": [ "host" ], 
"placementConstraints": [
 { "name": "MAX_MEMORY_ALLOCATION",
 "displayName": "MaximumMemoryAllocation(%)",
 "description": "MaximumMemoryAllocation constraint per host in a paas infrastructure zone",
 "valueType": "INTEGER",
 "operator": "eq" },
 { "name": "MAX_CPU_UTILIZATION",
 "displayName": "MaximumCPUUtilization(%)", 
 "description": "MaximumCPU utilization(%) constraint for a physical resource 
provider",
 "valueType": "INTEGER",
 "operator": "eq" } ],
"characteristics": [ { "name": "ORACLE.SYSMAN.CFW.ORCL_GTP_CONTACT",
"displayName": "Contact", 
"description": null,
"isComposite": false,
"possibleValues": [],
"isUnique": true, 
"isMandatory": false },
{ "name": "ORACLE.SYSMAN.CFW.ORCL_GTP_COST_CENTER",
"displayName": "CostCenter",
"description": null,
"isComposite": false, 
"possibleValues": [],
"isUnique": true, 
"isMandatory": false },
 { "name": "ORACLE.SYSMAN.CFW.ORCL_GTP_DEPARTMENT",
 "displayName": "Department", 
"description": null, 
"isComposite": false,
 "possibleValues": [],
 "isUnique": true, 
"isMandatory": false },
 { "name": "ORACLE.SYSMAN.CFW.ORCL_GTP_LIFECYCLE_STATUS", 
"displayName": "LifecycleStatus",
 "description": null,
 "isComposite": false, 
"possibleValues": [ "Development", "MissionCritical",
 "Production", "Stage", "Test" ],
 "isUnique": true,
 "isMandatory": false },
 { "name": "ORACLE.SYSMAN.CFW.ORCL_GTP_LINE_OF_BUS",
 "displayName": "Line ofBusiness", 
"description": null,
 "isComposite": false,
 "possibleValues": [],
 "isUnique": true,
 "isMandatory": false },
 { "name": "ORACLE.SYSMAN.CFW.ORCL_GTP_LOCATION",
 "displayName": "Location",
 "description": null,
 "isComposite": false,
 "possibleValues": [],
 "isUnique": true,
 "isMandatory": false },
 { "name": "ORACLE.SYSMAN.CFW.ORCL_GTP_SITE",
 "displayName": "Site",
 "description": null,
 "isComposite": false,
 "possibleValues": [],
 "isUnique": true,
 "isMandatory": false },
 { "name": "ORACLE.SYSMAN.CFW.SELF_SERVICE_ZONE",
 "displayName": "oracle.sysman.cfw.self_service_zone",
 "description": null,
 "isComposite": false,
 "possibleValues": [],
 "isUnique": true,
 "isMandatory": true } ],
 "credentials": [ { "name": "normal_credential_guid",
 "displayName": "Host credentials", 
"description": "HostCredentials to be used for provisioning in thisPaaSInfrastructureZone.The credentials provided should be of global credential type (valid across the members in the zone) and owned by the current user",
 "authenticatingTargetType":
 "host", "isMandatory": true } ],
 "memberConstraints": []}

55.4.4.10 Viewing the Metadata for Creating a Schema Pool

A GET operation is issued to view the metadata for creating a Schema Pool.

Table 55-27 GET Request Configuration for Viewing the Metadata for Creating a Schema Pool

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/schaas_pool

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{ "type": "schaas_pool",
 "memberTargetTypes": [ "oracle_database", "rac_database" ],
 "parentResourceProviderType": "self_service_zone",
 "placementPolicyName": "First_Pick",
 "placementConstraints": [ { "name": "ENFORCE_CPU", "displayName": "EnableResourceManager forCPU", "description": "Whether to enable resource manager which can be used to createConsumerGroups.", "valueType": "BOOLEAN", "operator": "eq" },
 { "name": "MAX_CPU_USAGE", "displayName": "MaximumCPU allocation (%)", "description": "Defines the maximum limit of theCPU permissible for each database, beyond which a service request can not be placed.", "valueType": "INTEGER", "operator": "eq" },
 { "name": "USE_WORKLOAD", "displayName": "Associate workload with the request", "description": "Whether to associate workload with the request which represents the expectedCPU, memory and storage requirements for each service.", "valueType": "BOOLEAN", "operator": "eq" },
 { "name": "MAX_SERVICES", "displayName": "MaximumNumber of database services", "description": "Maximum number of services per database.", "valueType": "INTEGER", "operator": "eq" },
 { "name": "MAX_MEMORY_USAGE", "displayName": "Maximum memory allocation (%)", "description": "Memory represents the summation ofSystemGlobalArea (SGA) allocated for each database.", "valueType": "INTEGER", "operator": "eq" } ],
 "characteristics": [ { "name": "ORACLE.SYSMAN.CFW.ORCL_GTP_CONTACT", "displayName": "Contact", "description": null, "isComposite": false, "possibleValues": [], "isUnique": true, "isMandatory": false },
 { "name": "ORACLE.SYSMAN.CFW.ORCL_GTP_COST_CENTER", "displayName": "CostCenter", "description": null, "isComposite": false, "possibleValues": [], "isUnique": true, "isMandatory": false },
 { "name": "ORACLE.SYSMAN.CFW.ORCL_GTP_DEPARTMENT", "displayName": "Department", "description": null, "isComposite": false, "possibleValues": [], "isUnique": true, "isMandatory": false },
 { "name": "ORACLE.SYSMAN.CFW.ORCL_GTP_LIFECYCLE_STATUS", "displayName": "LifecycleStatus", "description": null, "isComposite": false, "possibleValues": [ "Development", "MissionCritical", "Production", "Stage", "Test" ], "isUnique": true, "isMandatory": false },
 { "name": "ORACLE.SYSMAN.CFW.ORCL_GTP_LINE_OF_BUS", "displayName": "Line ofBusiness", "description": null, "isComposite": false, "possibleValues": [], "isUnique": true, "isMandatory": false },
 { "name": "ORACLE.SYSMAN.CFW.ORCL_GTP_LOCATION", "displayName": "Location", "description": null, "isComposite": false, "possibleValues": [], "isUnique": true, "isMandatory": false },
 { "name": "ORACLE.SYSMAN.CFW.ORCL_GTP_SITE", "displayName": "Site", "description": null, "isComposite": false, "possibleValues": [], "isUnique": true, "isMandatory": false },
 { "name": "ORACLE.SYSMAN.SSA.SCHAAS_POOL", "displayName": "oracle.sysman.ssa.schaas_pool", "description": null, "isComposite": false, "possibleValues": [], "isUnique": true, "isMandatory": true } ],
 "credentials": [ { "name": "gi_credential_guid", "displayName": "GridInfrastructureCredentials", "description": "GridInfrastructure credentials are optional.", "authenticatingTargetType": "host", "isMandatory": false },
 { "name": "database_credential_guid", "displayName": "DatabaseCredentials", "description": "The database credentials that will be used for performing database operations like schema creation.The database credentials requireSYSDBA privileges.", "authenticatingTargetType": "oracle_database", "isMandatory": false },
 { "name": "host_credential_guid", "displayName": "HostCredentials", "description": "Host credentials to be specified that will be used to perform instance creation operations.", "authenticatingTargetType": "host", "isMandatory": true } ],
 "memberConstraints": [ { "name": "ORACLE.SYSMAN.SSA.CONFIGURATION", "displayName": "DatabaseConfiguration", "description": "DatabaseConfiguration of the resource provider member.", "isComposite": false, "possibleValues": [ "rac_database", "oracle_database" ] },
 { "name": "ORACLE.SYSMAN.CFW.PLATFORM", "displayName": "Platform", "description": "Platform", "isComposite": false, "possibleValues": [ "197", "59", "212", "209", "46", "226", "912", "208", "233", "23", "267" ] },
 { "name": "ORACLE.SYSMAN.CFW.VERSION", "displayName": "Version", "description": "Version", "isComposite": false, "possibleValues": [ "10.2.0.1.0", "10.2.0.2.0", "10.2.0.3.0", "10.2.0.4.0", "10.2.0.5.0", "11.1.0.6.0", "11.1.0.7.0", "11.2.0.1.0", "11.2.0.2.0", "11.2.0.3.0", "11.2.0.4.0", "12.1.0.1.0", "12.1.0.2.0" ] } ]}

55.4.4.11 Viewing Details of the Resource Provider

A GET operation is issued to view details of the Resource Provider.

Table 55-28 GET Request Configuration for Viewing Details of the Resource Provider

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceproviderid}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"name": "My Xaas Provider_001",
"type": "cfw_samplexaas_rsrc_provider",
"memberTargetType": "cfw_samplexaas_rsrc",
"members": [
"Sample2"
],
"credentials": [],
"placementConstraints": [
{
"name": "NUMBER_OF_SERVICE_INSTANCES",
"value": [
"20"
]
},
{
"name": "TEST_CONSTRAINT_WITH_STRING_VALUE",
"value": [
"\"string_value\""
]
}
],
"memberConstraints": [],
"characteristics": [
{
"name": "ORACLE.SYSMAN.SXAAS.CFW_SAMPLEXAAS_RSRC_PROVIDER",
"value": [
"C277DA7F0CB329507172B4C44E0A6DF9"
]
}
],
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/22"
}
}

55.4.4.12 Updating a Resource Provider

A PUT operation is issued on a Resource Provider resource to update an existing instance of Resource Provider in the system.

Table 55-29 PUT Request Configuration for Updating a Resource Provider

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceproviderid}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"placementConstraints": [{"name": " NUMBER_OF_SERVICE_INSTANCES ", "value":
"70"}],
}

Request method

PUT


A sample of the response received is shown below.

Status 200 OK
{
message: "Resource Provider with ID "121" updated successfully."
}

55.4.4.13 Deleting a Resource Provider

The DELETE request configuration is shown in the table below.

Table 55-30 DELETE Request Configuration for Deleting a Resource Provider

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceproviderid}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

DELETE


A sample of the response received is shown below.

Status 200 OK
{
"message":"Resource Provider with ID \"21\" deleted successfully.”
}

55.4.4.14 Viewing Configuration of a Resource Provider

The GET request configuration to view the configuration of a resource provider is shown below.

Table 55-31 GET Request Configuration for Viewing Configuration of a Resource Provider

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/4/configurations

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
  "hosts" : {
    "configurations" : [ {
      "name" : "vm_networks",
      "type" : "VECTOR",
      "description" : "Network.",
      "displayName" : "vm_networks",
      "values" : [ ],
      "required" : false,
      "secret" : false
    }, {
      "name" : "platform",
      "type" : "STRING",
      "value" : "",
      "displayName" : "platform",
      "required" : false,
      "secret" : false
    }, {
      "name" : "hostPrefix",
      "type" : "STRING",
      "description" : "Host Name Prefix.",
      "value" : "rest_",
      "displayName" : "Host Name Prefix",
      "required" : false,
      "secret" : false
    }, {
      "name" : "postInstallScript",
      "type" : "STRING",
      "value" : "",
      "displayName" : "postInstallScript",
      "required" : false,
      "secret" : false
    }, {
      "name" : "cluster_storages",
      "type" : "VECTOR",
      "description" : "Cluster Storage.",
      "displayName" : "cluster_storages",
      "values" : [ ],
      "required" : false,
      "secret" : false
    }, {
      "name" : "agent_base",
      "type" : "STRING",
      "description" : "Agent Install Base Directory Location",
      "value" : "bsl",
      "displayName" : "Installation Base Directory",
      "required" : false,
      "secret" : false
    }, {
      "name" : "cluster_networks",
      "type" : "VECTOR",
      "description" : "Cluster Network",
      "displayName" : "cluster_networks",
      "values" : [ ],
      "required" : false,
      "secret" : false
    }, {
      "name" : "resourceProviderId",
      "type" : "STRING",
      "value" : "1",
      "displayName" : "resourceProviderId",
      "required" : false,
      "secret" : false
    }, {
      "name" : "postInstallScriptOnOMS",
      "type" : "STRING",
      "value" : "",
      "displayName" : "postInstallScriptOnOMS",
      "required" : false,
      "secret" : false
    }, {
      "name" : "agent_install_creds",
      "type" : "STRING",
      "description" : "Agent Port",
      "value" : "15513B9C0C6E4EB9E053CE74B10A171B",
      "displayName" : "Named Credential",
      "required" : false,
      "secret" : false
    }, {
      "name" : "priv_delegation_setting",
      "type" : "STRING",
      "value" : "/usr/bin/sudo -u %RUNAS% %COMMAND%",
      "displayName" : "priv_delegation_setting",
      "required" : false,
      "secret" : false
    }, {
      "name" : "vm_instance_sizes",
      "type" : "VECTOR",
      "description" : "Instance Size.",
      "displayName" : "vm_instance_sizes",
      "values" : [ "EXTRA_LARGE" ],
      "required" : false,
      "secret" : false
    }, {
      "name" : "agent_port",
      "type" : "STRING",
      "description" : "Agent Port",
      "value" : "3872",
      "displayName" : "Port",
      "required" : false,
      "secret" : false
    }, {
      "name" : "preInstallScript",
      "type" : "STRING",
      "value" : "",
      "displayName" : "preInstallScript",
      "required" : false,
      "secret" : false
    }, {
      "name" : "custom_params",
      "type" : "VECTOR",
      "description" : "Custom parameters for VM configuration.",
      "displayName" : "custom_params",
      "values" : [ ],
      "required" : false,
      "secret" : false
    }, {
      "name" : "vm_server_templates",
      "type" : "VECTOR",
      "description" : "Server Template.",
      "displayName" : "vm_server_templates",
      "values" : [ "paas-tmpl" ],
      "required" : false,
      "secret" : false
    }, {
      "name" : "preInstallScriptOnOMS",
      "type" : "STRING",
      "value" : "",
      "displayName" : "preInstallScriptOnOMS",
      "required" : false,
      "secret" : false
    }, {
      "name" : "numberOfHost",
      "type" : "STRING",
      "description" : "Number Of Host",
      "value" : "3",
      "displayName" : "Number Of Host",
      "required" : false,
      "secret" : false
    }, {
      "name" : "vm_storages",
      "type" : "VECTOR",
      "description" : "Storage.",
      "displayName" : "vm_storages",
      "values" : [ ],
      "required" : false,
      "secret" : false
    }, {
      "name" : "runPreInstallScriptAsRoot",
      "type" : "STRING",
      "value" : "",
      "displayName" : "runPreInstallScriptAsRoot",
      "required" : false,
      "secret" : false
    }, {
      "name" : "runPostInstallScriptAsRoot",
      "type" : "STRING",
      "value" : "",
      "displayName" : "runPostInstallScriptAsRoot",
      "required" : false,
      "secret" : false
    } ]
  },
  "swprovisioning" : {
    "configurations" : [ {
      "name" : "resourceProviderId",
      "type" : "STRING",
      "value" : "1",
      "displayName" : "resourceProviderId",
      "required" : false,
      "secret" : false
    } ]
  }
}

55.4.4.15 Viewing Metric of a Resource Provider

The GET request configuration to view the metric of a resource provider is shown below.

Table 55-32 GET Request Configuration for Viewing Metric of a Resource Provider

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/21/metrics

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK
{
count: "0"
hasMore: "false"
limit: "0"
offset: "0"
totalResults: "0"
metricColumns: [6]
0: {
name: "services"
}-
1: {
name: "sample"
}-
2: {
name: "memory"
}-
3: {
name: "storageStatus"
}-
4: {
name: "cpu"
}-
5: {
name: "storage"
}-
}

55.4.4.16 Provisioning a Resource via a Sample Adapter

The table below shows the POST configuration to provision a resource.

Table 55-33 POST Request Configuration for Provisioning a Resource via a Sample Adapter

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceproviderid}/members

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{ "saveOnly" : false,
 "setDefault" : true,
 "hosts" : { "templateGuid" : "13462942A66F0B2DE053CE74B10AFCC2",
 "configurations" : [ { "name" : "hostPrefix", "value" : "rest_" },
 { "name" : "numberOfHost", "value" : "5" },
 { "name" : "agent_install_creds", "value" : "131EFD3114423E7AE053CE74B10A5A76" },
 { "name" : "agent_base", "value" : "bsl" },
 { "name" : "priv_delegation_setting", "value" : "/usr/bin/sudo -u %RUNAS% %COMMAND%" },
 { "name" : "agent_port", "value" : "3872" },
 { "name" : "priv_delegation_setting_template_name", "value" : "" },
 { "name" : "network_purpose_vm", "subvalues" : [ { "name" : "Public", "value" : "192.168.1.0/24" } ] },
 { "name" : "storage_purpose_cluster", "subvalues" : [ { "name" : "Shared", "value" : "smisko_0" } ] },
 { "name" : "storage_purpose_vm", "subvalues" : [ { "name" : "Dedicated", "value" : "smisko_0" } ] },
 { "name" : "network_purpose_cluster", "subvalues" : [ { "name" : "ClusterPrivate", "value" : "192.168.1.0/24" },
 { "name" : "ClusterPublic", "value" : "192.168.1.0/24" } ] },
 { "name" : "vm_instance_sizes", "values" : [ "EXTRA_LARGE" ] },
 { "name" : "vm_server_templates", "values" : [ "paas-tmpl" ] } ] },
 "swprovisioning" : { "configurations" : [ { "name" : "param01", "value" : "param_01_val" }, { "name" : "param01", "value" : "param_02_val" } ] }}

Request method

POST


A sample of the response received is shown below.

{ "status" : "SCHEDULED", "details" : "134821EBDA7472BFE053CE74B10A11B8"}

55.4.4.17 De-provisioning a Resource

The DELETE request configuration for de-provisioning a resource is shown in the table below.

Table 55-34 DELETE Request Configuration for De-provisioning a Resource

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/{resourceproviderid}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{"members":["rest_-bf51c965-fff0-400c-a982-2c71b2afb150","rest_-13ce4c70-e1b4-4bd9-8b43-6952d619e674"]}

Request method

DELETE


A sample of the response received is shown below.

{ "details": "133C8EC6EAC86122E053CE74B10A4DEF", "status": "SCHEDULED"}

55.4.4.18 Viewing the Metadata Required to Provision a Resource Provider

The POST request configuration to view the metadata required to provision a resource provider is shown below.

Table 55-35 POST Request Configuration for Viewing the Metadata Required to Provision a Resource Provider

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/4/members/metadata

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{ "hosts" : { "templateGuid" : "1552104D74F47F29E053CE74B10A08D9" }}

Request method

POST


A sample of the response received is shown below.

{
  "hosts" : {
    "templateGuid" : "1552104D74F47F29E053CE74B10A08D9",
    "configurations" : [ {
      "name" : "platform",
      "type" : "STRING",
      "value" : "",
      "displayName" : "platform",
      "required" : false,
      "secret" : false
    }, {
      "name" : "hostPrefix",
      "type" : "STRING",
      "description" : "Host Name Prefix.",
      "value" : "MySmplAdptr0505013358",
      "displayName" : "Host Name Prefix",
      "required" : false,
      "secret" : false
    }, {
      "name" : "network_purpose_vm",
      "type" : "VECTOR",
      "description" : "Purpose Network Instance",
      "displayName" : "network_purpose_vm",
      "required" : false,
      "secret" : false,
      "possibleValues" : [ {
        "value" : "192.168.1.0/25",
        "displayName" : "192.168.1.0/25"
      }, {
        "value" : "192.168.1.0/24",
        "displayName" : "192.168.1.0/24"
      }, {
        "value" : "192.168.1.0/26",
        "displayName" : "192.168.1.0/26"
      }, {
        "value" : "192.168.1.0/27",
        "displayName" : "192.168.1.0/27"
      } ],
      "subvalues" : [ {
        "name" : "Public",
        "type" : "STRING",
        "displayName" : "Public",
        "required" : true,
        "secret" : false
      } ]
    }, {
      "name" : "postInstallScript",
      "type" : "STRING",
      "value" : "",
      "displayName" : "postInstallScript",
      "required" : false,
      "secret" : false
    }, {
      "name" : "storage_purpose_cluster",
      "type" : "VECTOR",
      "description" : "Purpose Storage Cluster",
      "displayName" : "storage_purpose_cluster",
      "required" : false,
      "secret" : false,
      "possibleValues" : [ {
        "value" : "smisko_3",
        "displayName" : "smisko_3"
      }, {
        "value" : "smisko_2",
        "displayName" : "smisko_2"
      }, {
        "value" : "smisko_1",
        "displayName" : "smisko_1"
      }, {
        "value" : "smisko_0",
        "displayName" : "smisko_0"
      } ],
      "subvalues" : [ ]
    }, {
      "name" : "network_purpose_cluster",
      "type" : "VECTOR",
      "description" : "Purpose Network Cluster",
      "displayName" : "network_purpose_cluster",
      "required" : false,
      "secret" : false,
      "possibleValues" : [ {
        "value" : "192.168.1.0/25",
        "displayName" : "192.168.1.0/25"
      }, {
        "value" : "192.168.1.0/24",
        "displayName" : "192.168.1.0/24"
      }, {
        "value" : "192.168.1.0/26",
        "displayName" : "192.168.1.0/26"
      }, {
        "value" : "192.168.1.0/27",
        "displayName" : "192.168.1.0/27"
      } ],
      "subvalues" : [ ]
    }, {
      "name" : "agent_base",
      "type" : "STRING",
      "description" : "Agent Install Base Directory Location",
      "value" : "/scratch/oracle/",
      "displayName" : "Installation Base Directory",
      "required" : false,
      "secret" : false
    }, {
      "name" : "resourceProviderId",
      "type" : "STRING",
      "value" : "1",
      "displayName" : "resourceProviderId",
      "required" : false,
      "secret" : false
    }, {
      "name" : "postInstallScriptOnOMS",
      "type" : "STRING",
      "value" : "",
      "displayName" : "postInstallScriptOnOMS",
      "required" : false,
      "secret" : false
    }, {
      "name" : "agent_install_creds",
      "type" : "STRING",
      "description" : "Agent Port",
      "value" : "15513B9C0C6E4EB9E053CE74B10A171B",
      "displayName" : "Named Credential",
      "required" : false,
      "secret" : false
    }, {
      "name" : "storage_purpose_vm",
      "type" : "VECTOR",
      "description" : "Purpose Storage Instance",
      "displayName" : "storage_purpose_vm",
      "required" : false,
      "secret" : false,
      "possibleValues" : [ {
        "value" : "smisko_3",
        "displayName" : "smisko_3"
      }, {
        "value" : "smisko_2",
        "displayName" : "smisko_2"
      }, {
        "value" : "smisko_1",
        "displayName" : "smisko_1"
      }, {
        "value" : "smisko_0",
        "displayName" : "smisko_0"
      } ],
      "subvalues" : [ {
        "name" : "Dedicated",
        "type" : "STRING",
        "displayName" : "Dedicated",
        "required" : true,
        "secret" : false
      } ]
    }, {
      "name" : "priv_delegation_setting",
      "type" : "STRING",
      "value" : "/usr/bin/sudo -u %RUNAS% %COMMAND%",
      "displayName" : "priv_delegation_setting",
      "required" : false,
      "secret" : false
    }, {
      "name" : "vm_instance_sizes",
      "type" : "VECTOR",
      "description" : "Instance Size.",
      "displayName" : "vm_instance_sizes",
      "values" : [ "EXTRA_LARGE", "TINY", "SMALL" ],
      "required" : false,
      "secret" : false,
      "possibleValues" : [ {
        "value" : "TINY",
        "displayName" : "TINY"
      }, {
        "value" : "EXTRA_LARGE",
        "displayName" : "EXTRA_LARGE"
      }, {
        "value" : "SMALL",
        "displayName" : "SMALL"
      } ]
    }, {
      "name" : "agent_port",
      "type" : "STRING",
      "description" : "Agent Port",
      "value" : "3872",
      "displayName" : "Port",
      "required" : false,
      "secret" : false
    }, {
      "name" : "preInstallScript",
      "type" : "STRING",
      "value" : "",
      "displayName" : "preInstallScript",
      "required" : false,
      "secret" : false
    }, {
      "name" : "vm_server_templates",
      "type" : "VECTOR",
      "description" : "Server Template.",
      "displayName" : "vm_server_templates",
      "values" : [ "paas-tmpl", "paas-tmpl2" ],
      "required" : false,
      "secret" : false,
      "possibleValues" : [ {
        "value" : "paas-tmpl",
        "displayName" : "paas-tmpl"
      }, {
        "value" : "paas-tmpl2",
        "displayName" : "paas-tmpl2"
      } ]
    }, {
      "name" : "preInstallScriptOnOMS",
      "type" : "STRING",
      "value" : "",
      "displayName" : "preInstallScriptOnOMS",
      "required" : false,
      "secret" : false
    }, {
      "name" : "numberOfHost",
      "type" : "STRING",
      "description" : "Number Of Host",
      "value" : "",
      "displayName" : "Number Of Host",
      "required" : false,
      "secret" : false
    }, {
      "name" : "runPreInstallScriptAsRoot",
      "type" : "STRING",
      "value" : "",
      "displayName" : "runPreInstallScriptAsRoot",
      "required" : false,
      "secret" : false
    }, {
      "name" : "runPostInstallScriptAsRoot",
      "type" : "STRING",
      "value" : "",
      "displayName" : "runPostInstallScriptAsRoot",
      "required" : false,
      "secret" : false
    } ]
  },
  "swprovisioning" : {
    "configurations" : [ ]
  }
}

55.5 Service Templates - Collection Resource for V2

Service Templates is a collection resource representing an SSA administrator's view of all the accessible Service Template resources. The following table describes the Service Template data model.

Table 55-36 Service Templates Collection Resource Data Model

Field Type Description Occurs

name

String

Display name of the collection resource.

1

type

String

Indicates the type of the collection resource.

0..1

hasMore

Boolean

Indicates whether there are more elements in the collection.

1

count

Integer

Number of elements returned.

1

items

Collection <ServiceTemplate>

List of Service Template resources In case no instances exist, items field is empty.

1

totalCount

Integer

Total number of Service Template resources.

1

canonicalLink

URI

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

1

selfLink

URI

Refers to the resource equivalent of the containing elements.

1


55.5.1 Supported Operations

The table below shows the supported operations for Service Templates.

Table 55-37 Supported Methods for Service Templates

Request Method Canonical Link Description

GET

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

Returns list of Service Templates.

GET

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/templatetypes

Returns Service Template types.

See Table 55-38, "SRVC Template Type Data Model".

POST

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/metadata

Returns metadata required for creation of a Service Template.

See:

POST

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/resourceproviders

Returns Resource Provider characteristics required for creation of a Service Template.

See Table 55-44, "SrvcTemplateRscPrvdrRequest Data Model" and Table 55-45, "SrvcTemplateRscPrvdr Response Data Model".

POST

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/configurations

Returns configurations required for creation of a Service Template.

See Table 55-46, "SrvcTemplateConfigRequest Data Model".

POST

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

Creates a Service Template.

PUT

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/{servicetemplateid}

Updates the Service Template.

GET

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/{servicetemplateid}

Returns details of specified Service Template.

GET

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/{servicetemplateid}/configurations

Returns configuration details of the specified Service Template.

DELETE

em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/{servicetemplateid}

Deletes the specified Service Template.


The table below shows the SRVC template type data model supported for the GET request on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/templatetypes in the v2 framework.

Table 55-38 SRVC Template Type Data Model

Field Type Description

serviceTemplateTypeId

String

Id of service template type.

serviceType

String

Name of service type.

name

String

Name of service template type.

displayName

String

Display name of service template type


The table below shows the SRVC template metadata request data model supported for the POST request on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/metadata in the v2 framework.

Table 55-39 SRVC Template Metadata Request Data Model

Field Type Description Occurs

serviceTemplateTypeId

String

Id of service template type.

1

serviceType

String

Name of service type.

1


The table below shows the SRVC template metadata response data model supported for the POST request on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/metadata in the v2 framework.

Table 55-40 SRVC Template Metadata Response Data Model

Field Type Description

serviceTemplateTypeId

String

Id of service template type.

rscProvAssocOption

List<String>

Resource provider association.

payloads

List<Payload>

Payloads of service template.

selectedExecutableName

CfwValueDescriptor

Service template type details.

characteristics

List<Characteristic>

List of characteristics of service template.


The table below shows the payload data model supported for the POST request on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/metadata in the v2 framework.

Table 55-41 Payload Data Model

Field Type Description

name

String

Name of payload.

value

List<String>

List of values.

required

Boolean

Is required or not.


The table below shows the characteristic data model supported for the POST request on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/metadata in the v2 framework.

Table 55-42 Characteristic Data Model

Field Type Description

name

String

Name of characteristic.

displayName

String

Display name of characteristic.

values

List<String>

List of values.

required

Boolean

Is required or not.

editable

Boolean

Is editable or not.

visible

Boolean

Is visible or not.

targetType

TargetType

If characteristic is Target Characteristic, this field contains target type details.


The table below shows the target type data model supported for the POST request on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/metadata in the v2 framework.

Table 55-43 Target Type Data Model

Field Type Description

targetType

String

Target Type.

targetTypeName

String

Name of target type.

parentTargetType

String

Parent target type.

parentTargetTypeName

String

Name of parent target type.


The table below shows the SrvcTemplateRscPrvdrRequest data model supported for the POST request on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/resourceproviders in the v2 framework.

Table 55-44 SrvcTemplateRscPrvdrRequest Data Model

Field Type Description Occurs

serviceTemplateTypeId

String

Id of Service template type.

1

serviceType

String

Name of service type.

1

rscProvAssocOption

List<String>

Resource provider association.

1

payloads

List<Payload>>

Payloads of service template.

0..1

characteristics

List<Characteristic>>

Characteristics of service template.

0..1


The table below shows the SrvcTemplateRscPrvdr response data model supported for the POST request on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/resourceproviders in the v2 framework.

Table 55-45 SrvcTemplateRscPrvdr Response Data Model

Field Type Description

lookupCharacteristics

List<SrvcTemplatePurpose>

List of purpose characteritics.


The table below shows the SrvcTemplateConfigRequest data model supported for the POST request on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/configurations in the v2 framework.

Table 55-46 SrvcTemplateConfigRequest Data Model

Field Type Description Occurs

serviceTemplateTypeId

String

Id of Service template type.

1

serviceType

String

Name of service type.

1

rscProvAssocOption

List<String>

Resource provider association.

1

payloads

List<Payload>>

Payloads of service template.

0..1

characteristics

List<Characteristic>>

Characteristics of service template.

0..1

resourceProvider

SrvcTemplateRscprvdr

Resource provider.

1


55.5.2 Service Templates REST API Examples for V2

This section describes the REST API operations supported on the Service Templates resource. The following operations are explained:

55.5.2.1 Viewing all the Service Templates

A GET operation is issued to view all the Service Templates.

Table 55-47 GET Request Configuration for Viewing all the Service Templates

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"name": "Service Templates",
"type": "Service Template",
"totalResults": 3,
"cfwItems": [
{
"id": "1",
"name": "Orchestration",
"guid": "06F28ABA2E0178CBE053CE74B10AAC2D",
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/1"
},
"description": "Create a set of Oracle VM instances with customized configuration for multitier
applications"
},
{
"id": "2",
"name": "Simple Orchestration",
"guid": "06F28ABA2E0478CBE053CE74B10AAC2D",
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/2"
},
"description": "Create one or more Oracle VM instances with default configuration and minimum
inputs"
},
{
"id": "3",
"name": "VM Instance",
"guid": "06F28ABA2E0778CBE053CE74B10AAC2D",
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/3"
},
"description": "Create an Oracle VM Instance"
}
],
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/"
},
"selfLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/"
}
}

55.5.2.2 Viewing all the Service Template Types

A GET operation is issued to view all the Service Template types.

Table 55-48 GET Request Configuration for Viewing all the Service Template Types

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/templatetypes

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

[
{
"name": "SCHEMA",
"displayName": "SchaaS Create Executable",
"serviceType": "SCHEMA",
"serviceTemplateTypeId": "61"
},
{
"name": "MW_SOAAAS_CREATE_INSTANCE",
"displayName": "SOAaaS Orchestration",
"serviceType": "SOA_SERVICE",
"serviceTemplateTypeId": "24"
},
{
"name": "MW_WLAAS_EXECUTABLE_CREATE",
"displayName": "WebLogic Service - Physical",
"serviceType": "WLAAS",
"serviceTemplateTypeId": "28"
},
{
"name": "MW_OSBAAS_CREATE_INSTANCE",
"displayName": "OSBaaS Orchestration",
"serviceType": "OSB_SERVICE",
"serviceTemplateTypeId": "21"
},
{
"name": "DB",
"displayName": "DbaaS Create Executable",
"serviceType": "DB",
"serviceTemplateTypeId": "41"
},
{
"name": "PDB",
"displayName": "PdbaaS Create Executable",
"serviceType": "PDB",
"serviceTemplateTypeId": "54"
},
{
"name": "ORACLE_NIMBULA_CREATE_SIMPLE_ORCHESTRATION_EXECUTABLE",
"displayName": "Simple Orchestration Custom Service Template",
"serviceType": "ORACLE_NIMBULA_ORCHESTRATION_SERVICE",
"serviceTemplateTypeId": "3"
},
{
"name": "ORACLE_NIMBULA_CREATE_ORCHESTRATION_EXECUTABLE",
"displayName": "Orchestration Custom Service Template",
"serviceType": "ORACLE_NIMBULA_ORCHESTRATION_SERVICE",
"serviceTemplateTypeId": "1"
},
{
"name": "ORACLE_NIMBULA_CREATE_VIRTUAL_MACHINE_EXECUTABLE",
"displayName": "ORACLE_NIMBULA_CREATE_VIRTUAL_MACHINE_EXECUTABLE",
"serviceType": "ORACLE_NIMBULA_VIRTUAL_MACHINE_SERVICE",
"serviceTemplateTypeId": "11"
}
]

55.5.2.3 Viewing the Metadata Required for Creating a Service Template

A POST operation is issued to view the metadata required for creating a Service Template.

Table 55-49 POST Request Configuration for Viewing the Metadata Required for Creating a Service Template

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/metadata

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"serviceType": "WLAAS",
"serviceTemplateTypeId": "28"
}

Request method

POST


A sample of the response received is shown below.

{
"serviceType": "WLAAS",
"serviceTemplateTypeId": "28",
"rscProvAssocOption": [
"byRscLookupChars"
],
"selectedExecutableName": {
"name": "MW_WLAAS_EXECUTABLE_CREATE",
"type": "STRING",
"value": "MwaaS_Setup_Domain_Deploy_App",
"defaultValue": "MwaaS_Setup_Domain_Deploy_App",
"required": true,
"secret": false
},
"payloads": [
{
"name": "DEFAULT_PAYLOAD",
"value": "<user_input>",
"required": true
}
],
"characteristics": [
{
"name": "EXAMPLE.SYSMAN.EMAS.MWC.WLAAS.ENABLEHA",
"displayName": "Distribute WebLogic Servers on Available Hosts?",
"values": [
"No",
"Yes"
],
"required": false,
"visible": true,
"editable": true
},
{
"name": "EXAMPLE.SYSMAN.EMAS.MWC.WLAAS.ENABLELBR",
"displayName": "Enable Load Balancer?",
"values": [
"No",
"Yes"
],
"required": false,
"visible": true,
"editable": true
},
{
"name": "EXAMPLE.SYSMAN.EMAS.MWC.WLAAS.EXPOSEADMINURLS",
"displayName": "Expose WebLogic Admin Console and Fusion Middleware Control to SSA
User?",
"values": [
"No",
"Yes"
],
"required": false,
"visible": true,
"editable": true
}
]
}

55.5.2.4 Viewing the Resource Provider Characteristics Required for Creating a Service Template

A POST operation is issued to view the Resource Provider characteristics required for creating a Service Template.

Table 55-50 POST Request Configuration for Viewing the Resource Provider Characteristics Required for Creating a Service Template

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/resourceproviders

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"serviceType": "WLAAS",
"serviceTemplateTypeId": "28",
"rscProvAssocOption": [
"byRscLookupChars"
],
"payloads": [
{
"name": "DEFAULT_PAYLOAD",
"value": "test"
}
],
"characteristics": [
{
"name": "EXAMPLE.SYSMAN.EMAS.MWC.WLAAS.ENABLEHA",
"value":"Yes"
},
{
"name": "EXAMPLE.SYSMAN.EMAS.MWC.WLAAS.ENABLELBR",
"value":"Yes"
},
{
"name": "EXAMPLE.SYSMAN.EMAS.MWC.WLAAS.EXPOSEADMINURLS",
"value": "Yes"
}
]
}

Request method

POST


A sample of the response received is shown below.

{
"lookupCharacteristics": [
{
"characteristics": [
{
"name": "EXAMPLE.SYSMAN.EMAS.MWAAS_ZONE",
"displayName": "example.sysman.emas.mwaas_zone",
"targetType": {
"targetType": "mwaas_zone",
"parentTargetType": "self_service_zone",
"targetTypeName": "Middleware Pool",
"parentTargetTypeName": "PaaS Infrastructure Zone"
}
}
],
"purposeId": 1
}
]
}

55.5.2.5 Viewing Configurations Required for Creating a Service Template

A POST operation is issued to view the configurations required for creating a Service Template.

Table 55-51 POST Request Configuration for Viewing Configurations Required for Creating a Service Template

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/configurations

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"serviceType": "WLAAS",
"serviceTemplateTypeId": "28",
"rscProvAssocOption": [
"byRscLookupChars"
],
"payloads": [
{
"name": "DEFAULT_PAYLOAD",
"value": "test"
}
],
"characteristics": [
{
"name": "ORACLE.SYSMAN.EMAS.MWC.WLAAS.ENABLEHA",
"value": "Yes"
},
{
"name": "ORACLE.SYSMAN.EMAS.MWC.WLAAS.ENABLELBR",
"value": "Yes"
},
{
"name": "ORACLE.SYSMAN.EMAS.MWC.WLAAS.EXPOSEADMINURLS",
"value": "Yes"
}
],
"resourceprovider": {
"lookupCharacteristics": [
{
"characteristics": [
{
"name": "ORACLE.SYSMAN.EMAS.MWAAS_ZONE",
"value": "425AA08582AD7AE95D52C24662867315"
}
],
"purposeId": 1
}
]
}
}

Request method

POST


A sample of the response received is shown below.

[
{
"name": "agentInstallUserPwd",
"type": "STRING",
"description": "Agent Install User Password to override",
"required": false,
"secret": true
},
{
"name": "hostForResourceProvisioningScript",
"type": "STRING",
"description": "Resource management script will be executed on this host.",
"required": false,
"secret": false
},
{
"name": "portRangeStart",
"type": "STRING",
"description": "Lower Bound for choosing Free Ports",
"required": false,
"secret": false
},
{
"name": "wlsUserPassword",
"type": "STRING",
"description": "Password for the WebLogic Server",
"required": false,
"secret": true
},
{
"name": "rootPwd",
"type": "STRING",
"description": "Root Password to override",
"required": false,
"secret": true
},
{
"name": "wlsUserName",
"type": "STRING",
"description": "Username for the WebLogic Server",
"required": false,
"secret": false
},
{
"name": "wlsUserPassword2",
"type": "STRING",
"description": "Re-enter Password for the WebLogic Server",
"required": false,
"secret": true
},
{
"name": "namedHostCredForVirtualFlow",
"type": "STRING",
"description": "Enter name of the host credential to use for provisioning operations",
"required": false,
"secret": false
},
{
"name": "startupArguments",
"type": "STRING",
"description": "Enter memory and java arguments to start the server. Example: -Xms1280m -
Xmx1280m -XX:PermSize=128m -XX:MaxPermSize=256m -
Dweblogic.security.SSL.ignoreHostnameVerification=true",
"required": false,
"secret": false
},
{
"name": "namedCredforHostList",
"type": "STRING",
"description": "This will be used for the above hosts",
"required": false,
"secret": false
},
{
"name": "serviceName",
"type": "STRING",
"description": "Service Instance Name",
"required": true,
"secret": true
},
{
"name": "cpuUsagePerInstance",
"type": "STRING",
"description": "CPU required by each additional instance in percentage",
"required": false,
"secret": false
},
{
"name": "portRangeEnd",
"type": "STRING",
"description": "Upper Bound for choosing Free Ports",
"required": false,
"secret": false
},
{
"name": "memoryUsagePerInstance",
"type": "STRING",
"description": "Memory required by each additional instance in GB",
"required": false,
"secret": false
},
{
"name": "hostListForScripts",
"type": "STRING",
"description": "Use ',' to separate multiple target hosts",
"required": false,
"secret": false
},
{
"name": "topology",
"type": "STRING",
"description": "For physical provisioning it is auto populated based on the profile
selected. For virtual provisioning it is defaulted to 'Single Cluster'. Please change based on the
actual topology of the assembly. ",
"required": false,
"secret": false
},
{
"name": "namedCredforRsrcProvHost",
"type": "STRING",
"description": "Enter the EM Named Credentials to be used for the above host in the \"Host
for Executing Resource Management Script\" field.",
"required": false,
"secret": false
},
{
"name": "isScriptExecuteOnAdminServer",
"type": "STRING",
"description": "Choose 'Yes' to execute scripts on Admin Server host besides the hosts
entered above",
"required": false,
"secret": false
}
]

55.5.2.6 Creating a Service Template

A POST operation is issued to create a Service template.

Table 55-52 POST Request Configuration for Creating a Service Template

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"name": "SampleXaas Template",
"description": "Xaas template",
"serviceType": "CFW_SAMPLEXAAS_SERVICE",
"serviceTemplateTypeId": "82",
"rscProvAssocOption": [
"byRscLookupChars"
],
"roles": [
"SSA01",
"SSA02",
"SSA03",
"SSA04",
"SSA05"
],
"characteristics": [
{
"name": "ORACLE.SYSMAN.SAMPLEXAAS.SAMPLEINSTANCETYPE",
"values": [
"Cfw_Xaas_DB_Service"
]
},
{
"name": "ORACLE.SYSMAN.SAMPLEXAAS.STORAGE_OP_BW",
"values": [
"10"
]
}
],
"resourceproviders": {
"lookupCharacteristics": [
{
"characteristics": [
{
"name": "ORACLE.SYSMAN.SAMPLEXAAS.STORAGETYPE",
"displayName": "storage_type",
"value": "db"
}
],
"purposeId": 1
}
]
},
"configurations": [
{
"name": "service_instance_name",
"value": "xaas_inst_name"
},
{
"name": "service_type",
"value": "CFW_SAMPLEXAAS_SERVICE"
},
{
4.22 48
"name": "service_param2",
"value": "p2"
},
{
"name": "service_param1",
"value": "p1"
},
{
"name": "storage_type",
"value": "file"
}
]
}

Request method

POST


A sample of the response received is shown below.

Status 200 OK
{"message": "Service template with id \"0780653DF4C64F83E053CE74B10ABD91\" created successfully."
}

55.5.2.7 Updating a Service Template

A PUT operation is issued to update a Service template.

Table 55-53 PUT Request Configuration for Updating a Service Template

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/{servicetemplateid}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"displayName": "updatedDisplayName",
"description": "updated via API",
"rolesToAdd": [
"SSA04",
"SSA05",
"SSA06",
],
"rolesToRemove": [
"SSA01",
"SSA02",
"SSA03",
],
"configurations": [
{
"name": "service_instance_name",
"value": "inst_name_${tstmp}"
},
{
"name": "service_type",
"value": "CFW_SAMPLEXAAS_SERVICE"
},
{
"name": "service_param2",
"value": "sp2_up"
},
{
"name": "service_param1",
"value": "sp1_up"
},
{
"name": "storage_type",
"value": "file_up"
}
]
}

Request method

PUT


A sample of the response received is shown below.

Status 200 OK
{
"message": " Service template with id "1" updated successfully.”
}

55.5.2.8 Viewing Details of a Specific Service Template

A GET operation is issued to view details of a specific Service Template.

Table 55-54 GET Request Configuration for Viewing Details of a Specific Service Template

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/{servicetemplateid}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"id": "63",
"guid": "0780653DF4C94F83E053CE74B10ABD91",
"name": "SampleXaas Template",
"displayName": "SampleXaas Template",
"description": "Xaas template",
"serviceType": "CFW_SAMPLEXAAS_SERVICE",
"serviceTemplateTypeId": "82",
"createdOn": "2014-11-10T16:52:18Z",
"createdBy": "SYSMAN",
"modifiedOn": "2014-11-10T16:52:18Z",
"owner": "SYSMAN",
"lastModified": "2014-11-10T16:52:18Z",
"characteristics": [
{
"name": "EXAMPLE.SYSMAN.CFW.ORCL_GTP_CONTACT",
"displayName": "Contact",
"values": [],
"required": false,
"visible": false,
"editable": true
},
{
"name": "EXAMPLE.SYSMAN.CFW.ORCL_GTP_COST_CENTER",
"displayName": "Cost Center",
"values": [],
"required": false,
"visible": false,
"editable": true
},
{
"name": "EXAMPLE.SYSMAN.CFW.ORCL_GTP_DEPARTMENT",
"displayName": "Department",
"values": [],
"required": false,
"visible": false,
"editable": true
},
{
"name": "EXAMPLE.SYSMAN.SAMPLEXAAS.SAMPLEINSTANCETYPE",
"displayName": "Instance Type",
"values": [
"Cfw_Xaas_DB_Service"
],
"required": true,
"visible": true,
"editable": false
},
{
"name": "EXAMPLE.SYSMAN.CFW.ORCL_GTP_LIFECYCLE_STATUS",
"displayName": "Lifecycle Status",
"values": [
"Development",
"MissionCritical",
"Production",
"Stage",
"Test"
],
"required": false,
"visible": false,
"editable": true
},
{
"name": "EXAMPLE.SYSMAN.CFW.ORCL_GTP_LINE_OF_BUS",
"displayName": "Line of Business",
"values": [],
"required": false,
"visible": false,
"editable": true
},
{
"name": "EXAMPLE.SYSMAN.CFW.ORCL_GTP_LOCATION",
"displayName": "Location",
"values": [],
"required": false,
"visible": false,
"editable": true
},
{
"name": "EXAMPLE.SYSMAN.SAMPLEXAAS.STORAGE_OP_BW",
"displayName": "Operation Bandwidth",
"values": [
"10"
],
"required": false,
"visible": true,
"editable": true
}
],
"resourceProvider": {
"lookupCharacteristics": [
{
"characteristics": [
{
"name": "EXAMPLE.SYSMAN.SAMPLEXAAS.STORAGETYPE",
"displayName": "storage_type",
"values": [
"db"
]
}
],
"purposeId": 1
}
]
},
"configurations": [
{
"name": "service_instance_name",
"type": "STRING",
"description": "Specify Instance Name",
"value": "xaas_inst_name",
"required": true,
"secret": false
},
{
"name": "service_type",
"type": "STRING",
"description": "Specify Service type",
"value": "CFW_SAMPLEXAAS_SERVICE",
"required": true,
"secret": false
},
{
"name": "service_param2",
"type": "STRING",
"description": "Service param 2",
"value": "p2",
"required": false,
"secret": false
},
{
"name": "service_param1",
"type": "STRING",
"description": "Service param 1",
"value": "p1",
"required": false,
"secret": false
},
{
"name": "storage_type",
"type": "STRING",
"description": "Specify Storage type",
"value": "file",
"required": true,
"secret": false
}
],
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/63"
},
"selfLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/63"
}
}

55.5.2.9 Viewing Configuration Details of a Specific Service Template

A GET operation is issued to view the configuration details of a specific Service Template.

Table 55-55 GET Request Configuration for Viewing Configuration Details of a Specific Service Template

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/{servicetemplateid}/configurations

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

[
{
"name": "service_instance_name",
"type": "STRING",
"description": "Specify Instance Name",
"value": "xaas_inst_name",
"required": true,
"secret": false
},
{
"name": "service_type",
"type": "STRING",
"description": "Specify Service type",
"value": "CFW_SAMPLEXAAS_SERVICE",
"required": true,
"secret": false
},
{
"name": "service_param2",
"type": "STRING",
"description": "Service param 2",
"value": "p2",
"required": false,
"secret": false
},
{
"name": "service_param1",
"type": "STRING",
"description": "Service param 1",
"value": "p1",
"required": false,
"secret": false
},
{
"name": "WorkLoads",
"type": "VECTOR",
"description": "WorkLoad Values",
"required": false,
"secret": false,
"subvalues": [
{
"name": "Small",
"type": "VECTOR",
"description": "Configuration Values for Small WorkLoad",
"required": false,
"secret": false,
"subvalues": [
{
"name": "DEPL_SIZE_IS_DEFAULT_KEY",
"type": "STRING",
"value": "Y",
"required": false,
"secret": false
},
{
"name": "CPU",
"type": "STRING",
"value": "60",
"required": false,
"secret": false
},
{
"name": "MEMORY",
"type": "STRING",
"value": "4048",
"required": false,
"secret": false
},
{
"name": "STORAGE",
"type": "STRING",
"value": "500",
"required": false,
"secret": false
},
{
"name": "XAAS_TEST",
"type": "STRING",
"value": "NONE",
"required": false,
"secret": false
}
]
},
{
"name": "Medium",
"type": "VECTOR",
"description": "Configuration Values for Medium WorkLoad",
"required": false,
"secret": false,
"subvalues": [
{
"name": "DEPL_SIZE_IS_DEFAULT_KEY",
"type": "STRING",
"value": "N",
"required": false,
"secret": false
},
{
"name": "CPU",
"type": "STRING",
"value": "80",
"required": false,
"secret": false
},
{
"name": "MEMORY",
"type": "STRING",
"value": "8088",
"required": false,
"secret": false
},
{
"name": "STORAGE",
"type": "STRING",
"value": "750",
"required": false,
"secret": false
}
]
},
{
"name": "Large",
"type": "VECTOR",
"description": "Configuration Values for Large WorkLoad",
"required": false,
"secret": false,
"subvalues": [
{
"name": "DEPL_SIZE_IS_DEFAULT_KEY",
"type": "STRING",
"value": "Y",
"required": false,
"secret": false
},
{
"name": "CPU",
"type": "STRING",
"value": "60",
"required": false,
"secret": false
},
{
"name": "MEMORY",
"type": "STRING",
"value": "40448",
"required": false,
"secret": false
},
{
"name": "STORAGE",
"type": "STRING",
"value": "500",
"required": false,
"secret": false
}
]
}
]
},
{
"name": "storage_type",
"type": "STRING",
"description": "Specify Storage type",
"value": "file",
"required": true,
"secret": false
}
]

55.5.2.10 Deleting a Service Template

The DELETE request configuration is shown in the table below.

Table 55-56 DELETE Request Configuration for Deleting a Service Template

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/{servicetemplateid}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

DELETE


A sample of the response received is shown below.

{
"message": "Service template with id \"62\" deleted successfully."
}

55.5.3 Creating a Service Template in V2

This section provides the procedure to create a Service Template using REST APIs.

Follow the steps below to create a Service Template:

  1. Identify the Service Template type.

    Perform a GET operation on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/templatetypes/. See, Section 55.5.2.2, "Viewing all the Service Template Types".

    The GET operation returns the list of Service Template types available to the Administrator. Note down the serviceType and serviceTemplateTypeId fields of the required Service Template.

  2. Obtain the metadata for the selected Service Template type.

    Perform a POST operation on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/metadata, using the serviceType and serviceTemplateTypeId fields from the previous step. See, Section 55.5.2.3, "Viewing the Metadata Required for Creating a Service Template".

    The POST operation returns a response containing information regarding service template characteristics and payloads. Note these fields as they are required to be set with values in the next step.

  3. Obtain the resource provider characteristics for the selected Service Template type.

    Perform a POST operation on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/resourceproviders, by providing values for the metadata fields. See, Section 55.5.2.4, "Viewing the Resource Provider Characteristics Required for Creating a Service Template".

    The POST operation returns a response with resourceProvider look up characteristics. Note the details.

  4. Obtain configuration details for the selected Service Template type.

    Perform a POST operation on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates/configurations, by providing a payload with values for all the fields collected so far. See, Section 55.5.2.5, "Viewing Configurations Required for Creating a Service Template".

    The POST operation returns a response with a list of configurations for the Service Template. Note the details.

  5. Create the Service Template.

    Perform a POST operation on the URI - /em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetemplates, by providing a payload with values for all the fields collected so far. See, Section 55.5.2.6, "Creating a Service Template".

    The POST operation creates a Service Template with the configured values.

55.6 Service Types for V2

This section describes the Service Types for the v2 framework.

Table 55-57 Service Types Resource Data Model

Field Type Description Occurs

name

String

Display name of the collection resource.

1

type

String

Type of the collection resource.

1

totalResults

Integer

Total count of items.

1

cfwItems

List<ServiceType>

List of Service type.

 

canonicalLink

URI

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

1

selfLink

URI

Refers to the resource equivalent of the containing elements.

1


55.6.1 Service Types REST API Examples for V2

This sections describes the REST APIs for the Service Types resource.

55.6.1.1 Viewing Details of the Service Types

The GET request configuration to view details of the Service Types resource.

Table 55-58 GET Request Configuration for Viewing Details of the Service Types

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetypes

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"name": "Service Types",
"type": "Service Types Collection",
"totalResults": 3,
"cfwItems": [
{
"name": "CFW_SAMPLEXAAS_REMOTESERVER_SERVICE",
"displayName": "Cfw Sample RemoteServer XaaS",
"serviceFamily": "CFW_SAMPLEXAAS_SERVICEFAMILY",
"targetTypes": [
"Cfw_Xaas_DB_Service"
]
},
{
"name": "CFW_SAMPLEXAAS_SERVICE",
"displayName": "Cfw Sample XaaS",
"serviceFamily": "CFW_SAMPLEXAAS_SERVICEFAMILY",
"targetTypes": [
"Cfw_Xaas_DB_Service",
"cfw_xaas_storage_service"
]
},
{
"name": "CFW_SAMPLEXAAS_SERVICE_FOR_NOMEM",
"displayName": "Cfw Sample XaaS - Other Service",
"serviceFamily": "CFW_SAMPLEXAAS_SERVICEFAMILY",
"targetTypes": [
"Cfw_Xaas_DB_Service_for_nomem"
]
}
],
"canonicalLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetypes"
},
"selfLink": {
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicetypes"
}
}

55.7 Service Requests for V2

This section describes the Service requests for the v2 framework.

Table 55-59 Requests Collection Resource Data Model

Field Type Description Occurs

name

String

Display name of the collection resource.

1

type

String

Type of the collection resource.

1

hasMore

Boolean

Indicates whether there are more elements in the collection.

1

count

Integer

Number of elements returned.

1

cfwItems

Collection <Request>

List of Request resources. In case no requests exist, then items are empty.

1

totalResults

Integer

Total number of Requests.

1

canonicalLink

URI

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

1

selfLink

URI

Refers to the resource equivalent of the containing elements.

1


55.7.1 Supported Operations

The table below provides the operations supported on the Service request resource.

Table 55-60 Supported Methods for Service Request

Request Method Canonical Link Description

GET

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicerequests

Returns list of all Service Requests.

GET

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicerequests/{servicerequestis}

Returns details of a specified Service Request.

PUT

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicerequests/{servicerequestid}

Reschedules the specified Service Request.

PUT

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicerequests

Cleans a collection of requests.

DELETE

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicerequests/{servicerequestid}

Cancels the specified Service Request.

DELETE

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicerequests

Deletes a list of Service Requests.


55.7.2 Service Requests REST API Examples for V2

This sections describes the REST APIs for the Service requests resource. The following operations are explained:

55.7.2.1 Viewing Details of all the Service Requests

A GET operation is issued to view details of all the Service requests.

Table 55-61 GET Request Configuration for Viewing Details of All the Service Requests

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicerequests

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK
{
name: "Service Requests"
type: "Service Request"
hasMore: false
count: 1
cfwItems: [
{
name: "Request1_21-Dec-13 17:37:34"
id: 27
startDate: "2013-12-22T01:37:34'Z'PDT"
status: "SCHEDULED"
canonicalLink:
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicereques
ts/27"
} ]
totalCount: 1
canonicalLink: {
href:
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicereques
ts"
}
selfLink: {
ref:
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicereques
ts"
}}

55.7.2.2 Viewing Details of a Service Request

A GET operation is issued to view details of a Service request.

Table 55-62 GET Request Configuration for Viewing Details of a Service Request

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicerequests/27

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK
{
id: "27"
name: "Request1_21-Dec-13 17:37:34"
startDate: "2013-12-22T01:37:34'Z'PDT"
status: "SUCCESS"
serviceFamily:"CFW_SAMPLEXAAS_SERVICEFAMILY"
canonicalLink:
{
href:
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicereques
ts/27"
}
}

55.7.2.3 Rescheduling a Service Request

A PUT operation is issued to reschedule a Service request.

Table 55-63 PUT Request Configuration for Rescheduling a Service Request

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicerequests/27

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"startDate":"2014-01-19T08:06:39ZPDT"
}

Request method

PUT


A sample of the response received is shown below.

Status 200 OK
{
"message": "Request 27 rescheduled successfully"
}

55.7.2.4 Clearing a Collection of Service Requests

A PUT operation is issued to clear a collection of Service requests.

Table 55-64 PUT Request Configuration for Clearing a Collection of Service Requests

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicerequests/

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
    "action": "cleanup",
    "ids": [
        "22,23"
    ]
}

Request method

PUT


55.7.2.5 Cancelling a Service Request

A DELETE operation is issued to cancel a Service request.

Table 55-65 DELETE Request Configuration for Cancelling a Service Request

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicerequests/27

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

DELETE


A sample of the response received is shown below.

Status 200 OK
{
"message": "Request 27 cancelled successfully"
}

55.7.2.6 Deleting a List of Service Requests

A DELETE operation is issued to clear a list of Service requests.

Table 55-66 DELETE Request Configuration for Clearing Service Requests

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servicerequests

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"ids": [
"2",
"4"
]
}

Request method

DELETE


A sample of the response received is shown below.

{
"message": "[\"Request 32 deleted successfully\",\"Request 31 deleted successfully\",\"Request
30 deleted successfully\"]"
}

55.8 Service Instances for V2

Service instance is a collection resource representing a user's view of all the accessible service instances.

The table below depicts the Service instance data model.

Table 55-67 Service Instances Data Model

Field Type Description Occurs

name

String

Display name of the collection resource.

1

type

String

Type of the collection resource.

1

hasMore

Boolean

Indicates whether there are more elements in the collection.

1

count

Integer

Number of elements returned.

1

cfwItems

Collection <ServiceInstances>

List of Service instance resources. In case no Service instances exists, then the items are empty.

1

totalResults

Integer

Total number of Service instances.

1

canonicalLink

URI

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

1

selfLink

URI

Refers to the resource equivalent of the containing elements.

1


55.8.1 Supported Operations

The table below provides the operations supported on the Service Instance resource.

Table 55-68 Supported Methods for Service Instance

Request Method Canonical Link Description

GET

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances

Returns all the Service Instances.

GET

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/{serviceinstanceid}

Returns details of the specified Service Instance.

PUT

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/{instanceguid}/start

Starts the specified Service Instance.

PUT

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/{instanceguid}/stop

Stops the specified Service Instance.

PUT

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/{instanceguid}/delete

Deletes the specified Service Instance.

PUT

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/start

Starts the list of Service Instances.

PUT

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/stop

Stops the list of Service Instances.

PUT

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/delete

Deletes the list of Service Instances.


55.8.2 Service Instance REST API Examples for V2

This sections describes the REST APIs for the Service instance resource. The following operations are explained:

55.8.2.1 Viewing Details of all the Service Instances

A GET operation is issued to view details of all the Service instances.

Table 55-69 GET Request Configuration for Viewing Details of All the Service Instances

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
selfLink:
{
href: "em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances"
}
CfwItems: [1]
0: {
guid: "92EB43C3F773F3DF3973C1005C54DC43"
status: "SUCCESS"
serviceType: "CFW_SAMPLEXAAS_SERVICE"
serviceFamily: "CFW_SAMPLEXAAS_SERVICEFAMILY"
name: "dfgdfddd"
canonicalLink: {
href:
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/servic
einstances/92EB43C3F773F3DF3973C1005C54DC43"
rel: "Canonical"
templated: false
}
hasMore: false
totalResults: 9
}

55.8.2.2 Viewing Details of a Service Instance

A GET operation is issued to view details of a Service instance.

Table 55-70 GET Request Configuration for Viewing Details of a Service Instance

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/92EB43C3F773F3DF3973C1005C54DC43

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK
{
guid: "92EB43C3F773F3DF3973C1005C54DC43"
serviceType: "CFW_SAMPLEXAAS_SERVICE"
serviceFamily: "CFW_SAMPLEXAAS_SERVICEFAMILY"
name: "dfgdfddd"
canonicalLink: {
href:
"em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/92EB43C3F773
F3DF3973C1005C54DC43"
}
}

55.8.2.3 Starting a Service Instance

A PUT operation is issued to start a Service instance.

Table 55-71 PUT Request Configuration for Starting a Service Instance

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/{instanceguid}/start

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

PUT


A sample of the response received is shown below.

[
"Request submitted with Request ID : 43"
]

55.8.2.4 Stopping a Service Instance

A PUT operation is issued to stop a Service instance.

Table 55-72 PUT Request Configuration for Stopping a Service Instance

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/{instanceguid}/stop

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

PUT


A sample of the response received is shown below.

[
"Request submitted with Request ID : 44"
]

55.8.2.5 Deleting a Service Instance

A PUT operation is issued to delete a Service instance.

Table 55-73 PUT Request Configuration for Deleting a Service Instance

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/{instanceguid}/delete

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

PUT


A sample of the response received is shown below.

[
"Request submitted with Request ID : 45"
]

55.8.2.6 Starting a list of Service Instances

A PUT operation is issued to start a list of Service instances.

Table 55-74 PUT Request Configuration for Starting a list of Service Instances

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/start

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"ids": [
"20E46B615DC70027F76A86FEDAC06D17",
"8EAF6A882337F154A1B6D890AF00999B",
"637B0CE930E36BE5EFFF306BE3E57EFA"
]
}

Request method

PUT


A sample of the response received is shown below.

[
"Request submitted with Request ID : 34",
"Request submitted with Request ID : 35",
"Request submitted with Request ID : 36"
]

55.8.2.7 Stopping a list of Service Instances

A PUT operation is issued to stop a list of Service instances.

Table 55-75 PUT Request Configuration for Stopping a list of Service Instances

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/stop

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"ids": [
"20E46B615DC70027F76A86FEDAC06D17",
"8EAF6A882337F154A1B6D890AF00999B",
"637B0CE930E36BE5EFFF306BE3E57EFA"
]
}

Request method

PUT


A sample of the response received is shown below.

[
"Request submitted with Request ID : 37",
"Request submitted with Request ID : 38",
"Request submitted with Request ID : 39"
]

55.8.2.8 Deleting a list of Service Instances

A PUT operation is issued to delete a list of Service instances.

Table 55-76 PUT Request Configuration for Deleting a Service Instance

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/serviceinstances/delete

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"ids": [
"20E46B615DC70027F76A86FEDAC06D17",
"8EAF6A882337F154A1B6D890AF00999B",
"637B0CE930E36BE5EFFF306BE3E57EFA"
]
}

Request method

PUT


A sample of the response received is shown below.

[
"Request submitted with Request ID : 40",
"Request submitted with Request ID : 41",
"Request submitted with Request ID : 42"
]

55.9 Request Settings for V2

Settings are to be applied by an SSA administrator, and can be used for request processing. Settings are categorized as follows:

  • Global settings - These are the general settings that are applicable across all service types.

  • Service family settings - These settings are specific to a service family.

  • Service type settings - These settings are specific to a service type.

55.9.1 Request Settings Data Model

The table below shows the Request Settings data model.

Table 55-77 Request Settings Data Model

Field Type Description Occurs

requestSettings

RequestSettings

Request settings applicable across all service types.

1

swLibDefaultLocation

String

Default location for the software library.

1

canonicalLink

URI

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

1

selfLink

URI

Refers to the resource equivalent of the containing elements.

1


55.9.2 Request Settings Composite Attribute Data Model

The table below shows the Request settings composite attribute data model.

Table 55-78 Request Settings Composite Attribute Data Model

Field Type Description Occurs

futureReservationPolicy

RequestPolicy

The number of days, when a Self Service user can schedule a request in advance.

1

requestDurationPolicy

RequestPolicy

The maximum duration of time (in days) during which a Self Service user can retain a service instance.

1

RequestArchivePolicy

RequestPolicy

The duration of time (in days) after which the ''Completed'', Self Service create requests will be purged from the repository.

1


55.9.3 Request Settings REST API Examples for V2

This sections describes the REST APIs for the Request settings resource. The following operations are explained:

55.9.3.1 Viewing Details of the Global Request Settings

A GET operation is issued to view details of the Global request settings resource.

Table 55-79 GET Request Configuration for Viewing Details of the Global Request Settings Resource

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/global

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"requestSettings": [
{
"description": "This setting controls how far a user can make a request",
"displayName": "Future Reservation Length",
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "No Restriction"
},
{
"description": "This setting controls the maximum duration for which a user can make a
request",
"displayName": "Request duration Length",
"name": "REQUEST_DURATION_LENGTH",
"restrictionPolicy": "No Restriction"
},
{
"description": "This setting controls the maximum duration after which archived requests
will be automatically deleted by the system",
"displayName": "Request Archive Retention Length",
"name": "REQUEST_ARCHIVE_RETENTION_LENGTH",
"restrictionPolicy": "No Restriction"
},
{
"description": "Sharing enabled/disabled",
"name": "SERVICE_INSTANCE_USER_SHARE_ALLOWED",
"value": "false"
},
{
"description": "Sharing enabled/disabled",
"name": "SERVICE_INSTANCE_ROLE_SHARE_ALLOWED",
"value": "false"
}
]
}

55.9.3.2 Updating the Global Request Settings

A PUT operation is issued to update the Global request settings resource.

Table 55-80 PUT Request Configuration for Updating the Global Request Settings Resource

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/global

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Weeks",
"value": "4"
}

Request method

PUT


A sample of the response received is shown below.

{
"message": "\"Global\" settings updated successfully."
}

55.9.3.3 Viewing Details of the Global Request Settings for a Collection of Roles

A GET operation is issued to view details of the Global request settings for a collection of roles.

Table 55-81 GET Request Configuration for Viewing Details of the Global Request Settings for a Collection of Roles

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/global/roles

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"items": [
{
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/
global/roles/SSA01",
"name": "SSA01"
},
{
"href":
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/
global/roles/SSA05",
"name": "SSA05"
}
],
"totalResults": 2
}

55.9.3.4 Creating Global Request Settings for a Role

A POST operation is issued to create Global request settings for a role.

Table 55-82 POST Request Configuration for Creating Global Request Settings for a Role

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/global/roles

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"SERVICE_INSTANCE_USER_SHARE_ALLOWED": {
"value": "true"
},
"requestSettings": [
{
"name": "REQUEST_DURATION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Weeks",
"value": "4"
},
{
"name": "REQUEST_ARCHIVE_RETENTION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Hours",
"value": "23"
},
{
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Days",
"value": "21"
}
],
"role": "TVMCFW_R1"
}

Request method

POST


A sample of the response received is shown below.

{
"message": "\"Global role \" settings created successfully."
}

55.9.3.5 Viewing Details of Global Request Settings for a Specific Role

A GET operation is issued to view details of Global request settings for a specific role.

Table 55-83 GET Request Configuration for Viewing Details of Global Request Settings for a Specific Role

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/global/roles/{role}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"requestSettings": [
{
"description": "This setting controls how far a user can make a request",
"displayName": "Future Reservation Length",
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "Restricted",
"role": "TVMCFW_R1",
"unitOfMeasurement": "Days",
"value": "21"
},
{
"description": "This setting controls the maximum duration for which a user can make a
request",
"displayName": "Request duration Length",
"name": "REQUEST_DURATION_LENGTH",
"restrictionPolicy": "Restricted",
"role": "TVMCFW_R1",
"unitOfMeasurement": "Weeks",
"value": "4"
},
{
"description": "This setting controls the maximum duration after which archived requests
will be automatically deleted by the system",
"displayName": "Request Archive Retention Length",
"name": "REQUEST_ARCHIVE_RETENTION_LENGTH",
"restrictionPolicy": "Restricted",
"role": "TVMCFW_R1",
"unitOfMeasurement": "Hours",
"value": "23"
},
{
"description": "Sharing enabled/disabled",
"name": "SERVICE_INSTANCE_USER_SHARE_ALLOWED",
"value": "true"
},
{
"description": "Sharing enabled/disabled",
"name": "SERVICE_INSTANCE_ROLE_SHARE_ALLOWED",
"value": "true"
}
]
}

55.9.3.6 Updating Global Request Settings for a Specific Role

A PUT operation is issued to update the Global request settings for a specific role.

Table 55-84 PUT Request Configuration for Updating Global Request Settings for a Specific Role

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/global/roles/{role}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Years",
"value": "75"
}

Request method

PUT


A sample of the response received is shown below.

{
"message": "\"Global role \" settings updated successfully."
}

55.9.3.7 Deleting Global Request Settings for a Specific Role

A DELETE operation is issued to delete Global request settings for a specific role.

Table 55-85 DELETE Request Configuration for Deleting Global Request Settings for a Specific Role

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/global/roles/{role}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

DELETE


A sample of the response received is shown below.

{
"message": "\"Global role \" settings deleted successfully."
}

55.9.3.8 Viewing Details of the Request Settings for a Service Family

A GET operation is issued to view details of the Request Settings for a service family.

Table 55-86 GET Request Configuration for Viewing Details of the Request Settings for a Service Family

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/servicefamily/{servicefamily}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"requestSettings": [
{
"description": "This setting controls how far a user can make a request",
"displayName": "Future Reservation Length",
"family": "cfw_samplexaas_servicefamily",
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Days",
"value": "25"
},
{
"description": "This setting controls if there is a restriction on the maximum duration
for which requests can be made",
"displayName": "Request Duration Restricted",
"family": "cfw_samplexaas_servicefamily",
"name": "REQUEST_DURATION_LENGTH",
"restrictionPolicy": "No Restriction"
},
{
"description": "This setting controls if there is a restriction on the maximum duration
after which archived requests will be automatically deleted by the system",
"displayName": "Request Archive Retention Restricted",
"family": "cfw_samplexaas_servicefamily",
"name": "REQUEST_ARCHIVE_RETENTION_LENGTH",
"restrictionPolicy": "No Restriction"
},
{
"displayName": "Service Instance Sharing With Users Restricted",
"family": "cfw_samplexaas_servicefamily",
"name": "SERVICE_INSTANCE_USER_SHARE_ALLOWED",
"value": "false"
},
{
"displayName": "Service Instance Sharing With Roles Restricted",
"family": "cfw_samplexaas_servicefamily",
"name": "SERVICE_INSTANCE_ROLE_SHARE_ALLOWED",
"value": "false"
}
]
}

55.9.3.9 Updating the Request Settings for a Service Family

A PUT operation is issued to update the Request Settings for a Service family.

Table 55-87 PUT Request Configuration for Updating the Request Settings for a Service Family

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/servicefamily/{servicefamily}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Weeks",
"value": "4"
}

Request method

PUT


A sample of the response received is shown below.

{
"message": "\"Family \" settings updated successfully."
}

55.9.3.10 Viewing Details of the Service Family Settings by Roles

A GET operation is issued to view details of the Service family settings by roles.

Table 55-88 GET Request Configuration for Viewing Details of the Service Family Settings by Roles

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/servicefamily/{servicefamily}/roles

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"items": [
{
"href":
"https://xx.idc.example.com:34518/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/r
equestsettings/servicefamily/cfw_samplexaas_servicefamily/roles/TVMCFW_R2",
"name": "TVMCFW_R2"
}
],
"totalResults": 1
}

55.9.3.11 Creating Service Family Settings for a Role

A POST operation is issued to create Service family settings for a role.

Table 55-89 POST Request Configuration for Creating Service Family Settings for a Role

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/servicefamily/{servicefamily}/roles

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"SERVICE_INSTANCE_USER_SHARE_ALLOWED": {
"value": "true"
},
"requestSettings": [
{
"name": "REQUEST_DURATION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Weeks",
"value": "14"
},
{
"name": "REQUEST_ARCHIVE_RETENTION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Hours",
"value": "123"
},
{
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Days",
"value": "121"
}
],
"role": "TVMCFW_R2"
}

Request method

POST


A sample of the response received is shown below.

{
"message": "\"Family role \" settings created successfully."
}

55.9.3.12 Viewing Details of the Service Family Request Settings for a Specific Role

A GET operation is issued to view details of the Service family request settings for a specific role.

Table 55-90 GET Request Configuration for Viewing Details of the Service Family Request Settings for a Specific Role

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/servicefamily/{servicefamily}/roles/{role}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"requestSettings": [
{
"description": "This setting controls how far a user can make a request",
"displayName": "Future Reservation Length",
"family": "cfw_samplexaas_servicefamily",
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "Restricted",
"role": "TVMCFW_R2",
"unitOfMeasurement": "Days",
"value": "121"
},
{
"description": "This setting controls the maximum duration for which a user can make a
request",
"displayName": "Request duration Length",
"family": "cfw_samplexaas_servicefamily",
"name": "REQUEST_DURATION_LENGTH",
"restrictionPolicy": "Restricted",
"role": "TVMCFW_R2",
"unitOfMeasurement": "Weeks",
"value": "14"
},
{
"description": "This setting controls the maximum duration after which archived requests
will be automatically deleted by the system",
"displayName": "Request Archive Retention Length",
"family": "cfw_samplexaas_servicefamily",
"name": "REQUEST_ARCHIVE_RETENTION_LENGTH",
"restrictionPolicy": "Restricted",
"role": "TVMCFW_R2",
"unitOfMeasurement": "Hours",
"value": "123"
},
{
"description": "Sharing enabled/disabled",
"name": "SERVICE_INSTANCE_USER_SHARE_ALLOWED",
"value": "false"
},
{
"description": "Sharing enabled/disabled",
"name": "SERVICE_INSTANCE_ROLE_SHARE_ALLOWED",
"value": "false"
}
]
}

55.9.3.13 Updating the Service Family Request Settings for a Specific Role

A PUT operation is issued to update the Service family request settings for a specific role.

Table 55-91 PUT Request Configuration for Updating the Service Family Request Settings for a Specific Role

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/servicefamily/{servicefamily}/roles/{role}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Years",
"value": "75"
}

Request method

PUT


A sample of the response received is shown below.

{
"message": "\"Family role\" settings updated successfully."
}

55.9.3.14 Deleting Service Family Request Settings for a Specific Role

A DELETE operation is issued to delete Service family request settings for a specific role.

Table 55-92 DELETE Request Configuration for Deleting Service Family Request Settings for a Specific Role

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/servicefamily/{servicefamily}/roles/{role}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

DELETE


A sample of the response received is shown below.

{
"message": "\"Family role \" settings deleted successfully."
}

55.9.3.15 Viewing Details of the Request Settings for a Service Type

A GET operation is issued to view details of the Request settings for a service type.

Table 55-93 GET Request Configuration for Viewing Details of the Request Settings for a Service Type

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/servicetype/{servicetype}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"requestSettings": [
{
"description": "This setting controls if there is a restriction on how far a user can
make a request",
"displayName": "Future Reservation Restricted",
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "No Restriction",
"serviceType": "cfw_samplexaas_service"
},
{
"description": "This setting controls if there is a restriction on the maximum duration
for which requests can be made",
"displayName": "Request Duration Restricted",
"name": "REQUEST_DURATION_LENGTH",
"restrictionPolicy": "No Restriction",
"serviceType": "cfw_samplexaas_service"
},
{
"description": "This setting controls if there is a restriction on the maximum duration
after which archived requests will be automatically deleted by the system",
"displayName": "Request Archive Retention Restricted",
"name": "REQUEST_ARCHIVE_RETENTION_LENGTH",
"restrictionPolicy": "No Restriction",
"serviceType": "cfw_samplexaas_service"
},
{
"displayName": "Service Instance Sharing With Users Restricted",
"name": "SERVICE_INSTANCE_USER_SHARE_ALLOWED",
"serviceType": "cfw_samplexaas_service",
"value": "false"
},
{
"displayName": "Service Instance Sharing With Roles Restricted",
"name": "SERVICE_INSTANCE_ROLE_SHARE_ALLOWED",
"serviceType": "cfw_samplexaas_service",
"value": "false"
}
]
}

55.9.3.16 Updating the Request Settings for a Service Type

A PUT operation is issued to update the Request settings for a service type.

Table 55-94 PUT Request Configuration for Updating the Request Settings for a Service Type

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/servicetype/{servicetype}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Weeks",
"value": "4"
}

Request method

PUT


A sample of the response received is shown below.

{
"message": "\"Servicetype \" settings updated successfully."
}

55.9.3.17 Viewing Details of the Service Type Settings by Roles

A GET operation is issued to view details of the Service type settings by roles.

Table 55-95 GET Request Configuration for Viewing Details of the Service Type Settings by Roles

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/servicetype/{servicetype}/roles

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"items": [
{
"href":
"https://xx.idc.example.com:34518/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/r
equestsettings/servicetype/cfw_samplexaas_service/roles/TVMCFW_R3",
"name": "TVMCFW_R3"
}
],
"totalResults": 1
}

55.9.3.18 Creating Service Type Settings for Roles

A POST operation is issued to create a Service type settings for roles.

Table 55-96 POST Request Configuration for Creating Service Type Settings for Roles

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/servicetype/{servicetype}/roles

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"SERVICE_INSTANCE_USER_SHARE_ALLOWED": {
"value": "true"
},
"requestSettings": [
{
"name": "REQUEST_DURATION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Weeks",
"value": "14"
},
{
"name": "REQUEST_ARCHIVE_RETENTION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Hours",
"value": "123"
},
{
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Days",
"value": "121"
}
],
"role": "TVMCFW_R3"
}

Request method

POST


A sample of the response received is shown below.

{
"message": "\"Servicetype role \" settings created successfully."
}

55.9.3.19 Viewing Details of the Service Type Request Settings for a Specific Role

A GET operation is issued to view details of the Service type request settings for a specific role.

Table 55-97 GET Request Configuration for Viewing Details of the Service Type Request Settings for a Specific Role

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/servicetype/{servicetype}/roles/{role}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{
"requestSettings": [
{
"description": "This setting controls how far a user can make a request",
"displayName": "Future Reservation Length",
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "Restricted",
"role": "TVMCFW_R3",
"serviceType": "cfw_samplexaas_service",
"unitOfMeasurement": "Days",
"value": "121"
},
{
"description": "This setting controls the maximum duration for which a user can make a
request",
"displayName": "Request duration Length",
"name": "REQUEST_DURATION_LENGTH",
"restrictionPolicy": "Restricted",
"role": "TVMCFW_R3",
"serviceType": "cfw_samplexaas_service",
"unitOfMeasurement": "Weeks",
"value": "14"
},
{
"description": "This setting controls the maximum duration after which archived requests
will be automatically deleted by the system",
"displayName": "Request Archive Retention Length",
"name": "REQUEST_ARCHIVE_RETENTION_LENGTH",
"restrictionPolicy": "Restricted",
"role": "TVMCFW_R3",
"serviceType": "cfw_samplexaas_service",
"unitOfMeasurement": "Hours",
"value": "123"
},
{
"description": "Sharing enabled/disabled",
"name": "SERVICE_INSTANCE_USER_SHARE_ALLOWED",
"value": "false"
},
{
"description": "Sharing enabled/disabled",
"name": "SERVICE_INSTANCE_ROLE_SHARE_ALLOWED",
"value": "false"
}
]
}

55.9.3.20 Updating the Service Type Request Settings for a Specific Role

A PUT operation is issued to update the Service type request settings for a specific role.

Table 55-98 PUT Request Configuration for Updating the Service Type Request Settings for a Specific Role

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/servicetype/{servicetype}/roles/{role}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
"name": "FUTURE_RESERVATION_LENGTH",
"restrictionPolicy": "Restricted",
"unitOfMeasurement": "Years",
"value": "75"
}

Request method

PUT


A sample of the response received is shown below.

{
"message": "\"Servicetype role \" settings updated successfully."
}

55.9.3.21 Deleting Service Type Request Settings for a Specific Role

A DELETE operation is issued to delete Service type request settings for a specific role.

Table 55-99 DELETE Request Configuration for Deleting Service Type Request Settings for a Specific Role

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/setup/requestsettings/servicetype/{servicetype}/roles/{role}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

DELETE


A sample of the response received is shown below.

{
"message": "\"Servicetype role \" settings deleted successfully."
}

55.10 VM Adapters for V2

This section explains the VM Adapters REST APIs.

55.10.1 VM Adapters Data Model

The table below shows the VM Adapters data model.

Table 55-100 VM Adapters Data Model

Field Type Description

name

String

Name of the resource.

type

String

Type of the resource.

totalResults

int

The total results.

items

List<VMAdapter>

The list of VM Adapters

canonicalLink

CfwLink

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

selfLink

CfwLink

Refers to the resource equivalent to the containing elements.


55.10.2 Supported Operations

The table below provides the operations supported on the VM Adapters resource.

Table 55-101 Supported Methods for VM Adapters

Request Method Canonical Link Description

GET

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/vmadapters

Returns all the registered VM Adapters.

GET

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/vmadapters/{name}

Returns the registered VM Adapter's details.

GET

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/vmadapters/stagingservers

Returns the staging servers.

POST

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/vmadapters/stagingservers

Creates a staging server.


55.10.3 VM Adapters REST API Examples for V2

This sections describes the REST APIs for the VM Adapter resource. The following operations are explained:

55.10.3.1 Viewing Details of All the Registered VM Adapters

A GET operation is issued to view details of all the registered VM Adapters.

Table 55-102 GET Request Configuration for Viewing Details of All the Registered VM Adapters

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/vmadapters

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{ "name":"VMAdapters",
"type":"VMAdaptersCollection",
"totalResults":1, 
"items":[ { "id":"1",
"name":"SAMPLEADAPTER", 
"displayName":"SampleAdapter", 
"description":"SampleStand alone adapter",
"instances":{ "count":0, "href":"https://cloudcompany.com/em/websvcs/restful//extws/cloudservices/admin/cfw/v2/resourceproviders/?propertyname=adaptertype&propertyvalue=SAMPLEADAPTER" },
 "canonicalLink":{ "href":"https://cloudcompany.com/em/websvcs/restful//extws/cloudservices/admin/cfw/v2/vmadapters/SAMPLEADAPTER" } } ],
"canonicalLink":{ "href":"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/vmadapters/" }}

55.10.3.2 Viewing Details of a Specific Registered VM Adapter

A GET operation is issued to view details of a registered VM Adapter.

Table 55-103 GET Request Configuration for Viewing Details of a Specific Registered VM Adapter

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/vmadapters/{name}

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{ "name": "SAMPLEADAPTER", 
"connection": { "endpoints": [ { "purpose": "login_url", "custom": [ { "name": "CloudType", "type": "STRING", "description": "CoudType, e.g. openstack, ec2, etc", "displayName": "CoudType", "required": false, "secret": false }, 
{ "name": "custom_param1", "type": "STRING", "description": "Custom parameter", "displayName": "Custom parameter", "required": false, "secret": false } ] } ], "virtualizationContainers": [ { "name": "Zone" } ] }, "proxies": [ {} ]}

55.10.3.3 Viewing Details of the Staging Servers

A GET operation is issued to view details of the staging servers.

Table 55-104 GET Request Configuration for Viewing Details of the Staging Servers

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/vmadapters/stagingservers

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

{ "name" : "StagingServers", "totalResults" : 1, "items" : [ { "location" : "script/location", "targetName" : "blr2223141.idc.oracle.com",
"targetGuid" : "5BC2376B484BC065B6661458DAF1F56D", "credentialGuid" : "25D30ADD427484310DBC8CF6211A383B" } ],
"canonicalLink" : { "href" : "https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/vmadapters/stagingservers" }}

55.10.3.4 Creating a Staging Server

A POST operation is issued to create a staging server.

Table 55-105 POST Request Configuration for Creating a Staging Server

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/vmadapters/stagingservers

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{ "targetName" : "blr2223141.idc.oracle.com",
"location" : "script/location", 
"credentialGuid" : "25D30ADD427484310DBC8CF6211A383B"}

Request method

POST


A sample of the response received is shown below.

{ "message" : "StagingServer created successfully."}

55.11 SSA Admin Resources for V1

The Cloud REST APIs can be categorized as follows:

Every singular resource has its own attributes and methods supported on it, but in general all singular resources have some common attributes, as described in the following table.

Table 55-106 Common Resource Attributes for Singular Resources

Field Type Supported Method Description Occurs

name

String

Any

Name of Resource

1

type

String

Any

Resource Type

1

description

String

Any

Description

0..1

id

String

GET

Resource Identifier

0..1

createdOn

TimeStamp

GET

Date and time, in W3C format when the resource was created.

0..1

createdBy

String

GET

User who created resource

0..1

modifiedOn

TimeStamp

GET

Date and time, in W3C format when the resource was last modified

0..1

ModifiedBy

Date

GET

User who last modified resource

0..1

owner

String

GET

User who owns resource

0..1

etag

String

GET

HTTP Entity tag value

0..1

lastModified

String

GET

HTTP Last-Modified value

0..1

canonicalLink

URI

GET

Preferred Version of Resource

1

selfLink

URI

GET

Refers to resource equivalent to the containing element

1


Where:

  • Supported Method: Indicates in which method type this attribute will be available

  • Supported Method type 'Any': Indicates that it might be available with GET, PUT, or POST methods, but not for DELETE.

  • Occurs: An occurrence of 0..1 indicates it is an optional parameter. An occurrence of 1 means the parameter is mandatory.

55.11.1 Viewing Details of the REST API Entry Point Resources

The table below shows the GET configuration for viewing details of the REST API resources.

Table 55-107 GET Request Configuration for Viewing Details of the REST API Resources

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/API

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

None

Request method

GET


A sample of the response received is shown below.

{
v1: 
{
canonicalLink:   
"https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1"
paasZones: "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones"
softwarePools: "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools"
}
}

55.12 PaasZones for V1

PaasZones is a collection resource representing a Cloud Administrator's view of all the accessible PaasZone resources. The following table describes the PaaSZones [application/oracle.com.cloud.common.PaaSZones+json] data model.

Table 55-108 PaasZones Data Model

Field Type Description Occurs

name

String

Display name of this collection resource

1

type

String

Type of this collection resource

1

hasMore

Boolean

Indicates whether there are more elements in the collection

1

count

Integer

Number of elements returned

1

items

Collection <PaasZone>

List of Paas Zone resources.

In case no instance are there items will be present but empty

1

totalCount

Integer

Total number of Paas Zone resources

1

canonicalLink

URI

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

1

selfLink

URI

Refers to the resource equivalent to the containing elements.

1


The following table describes the Supported Methods for PaaSZones:

Table 55-109 Supported Methods for PaasZones

Method Query Parameters Request Payload URI Description

GET

NA

NA

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

Returns PaasZones collection resource details

GET/metadata

NA

NA

em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/metadata

Returns PaasZone Metadata

PUT

NA

PaasZone (Json Payload)

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

Updates PaasZone resource

POST

NA

PaasZone (Json Payload)

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

Creates PaasZone resource


55.12.1 PaasZones REST API Examples

The following sections provide example PaasZones REST API operations. Note that you can also use EMCLI commands to perform a range of different operations (including, create, update, and delete operations) and these commands are described in Section 55.18.2, "EM CLI Verbs for SSA Operations for V2".

The following operations are covered in this section.

55.12.1.1 Viewing PaaS Zones Metadata

The table below shows the GET configuration for viewing the metadata.

Table 55-110 GET Request Configuration for Viewing the Metadata

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/passzones/metadata

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK 
Content-Type: application/json
{
  "constraints" : [ {
    "name" : "MAX_CPU_UTILIZATION",
    "description" : "Maximum CPU Utilization (%)",
    "value" : "80"
  }, {
    "name" : "MAX_MEMORY_ALLOCATION",
    "description" : "Maximum Memory Allocation (%)",
    "value" : "80"
  } ],
  "memberTargetTypes" : [ "oracle_vm_zone", "host" ],
  "message" : "When creating Paas Infrastructure zone: (1) member_type should be set to one of the values shown in member target types. All Zone members have to be of the same type. (2) Please change the value of the constraints as required."
}

55.12.1.2 Listing PaaS Zones

The table below shows the GET configuration for listing the PaaS zones.

Table 55-111 GET Request Configuration for Viewing the PaaS Zones

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK 
Content-Type: application/json  
{
  "name" : "Paas Zones",
  "type" : "Paas Infrastructure Zone",
  "hasMore" : false,
  "count" : 4,
  "items" : [ {
    "name" : "pzone1",
    "id" : "A3CF2D49CFF3F3E664D073303EA51F8E",
    "type" : "self_service_zone",
    "canonicalLink" : 
"https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A3CF2D49CFF3F3E664D073303EA51F8E"
  }, {
    "name" : "Test Zone 2",
    "id" : "EF3830C71CC54B50B963376F9217AB95",
    "type" : "self_service_zone",
    "description" : "with MAX_CPU_UTILIZATION ",
    "canonicalLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/EF3830C71CC54B50B963376F9217AB95"
  }, {
    "name" : "test paas zone",
    "id" : "5D7548C1B879A51CFD894CEA8D5FB19B",
    "type" : "self_service_zone",
    "canonicalLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/5D7548C1B879A51CFD894CEA8D5FB19B"
  }, {
    "name" : "Test Zone",
    "id" : "CACBB07A674F280DF84FC4CBFA76DFA7",
    "type" : "self_service_zone",
    "description" : "with MAX_CPU_UTILIZATION ",
    "canonicalLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/CACBB07A674F280DF84FC4CBFA76DFA7"
  } ],
  "totalCount" : 4,
  "canonicalLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones",
  "selfLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones"
}

55.13 PaasZone for V1

This resource represents a PaaS Infrastructure Zone. The following table describes the PaaSZone [application/oracle.com.cloud.common.PaaSZone+json] data model.

Table 55-112 PaaSZone Data Model

Field Type Supported Methods Description Occurs

name

String

Any

A human readable name given to the PaaS Zone.

It is non editable.

1

id

String

GET

Zone ID. GET method will have value for this element.

1

description

String

Any

A brief description given to the zone.

0..1

credential

String

Any

Global Named Credentials to be used for provisioning in this PaaS Infrastructure Zone

1

members

Collection<String>

GET

POST

Members of PaaS Zone. They can be either Host members or Oracle VM Zone members.

1

memberType

String

GET

POST

Target type of the members of PaaS Zone. It can be either "host" for Host members or "oracle_vm_zone" for Oracle VM Zone members.

1

constraints

Collection<EntityValueHolder>

Any

Placement Policy Constraints allow the cloud administrator to set maximum thresholds for any host.

Refer to zone metadata REST API for more information.

0..1

roles

Collection<String>

GET

POST

SSA roles that can access this PaaS Infrastructure Zone.

0..1

pools

Collection<SoftwarePool>

GET

Software Pools associated with this PaaS Zone

0..1

membersToAdd

Collection<String>

PUT

Host or Oracle VM Zone targets to be added to an existing PaaS Zone while editing it.

0..1

membersToRemove

Collection<String>

PUT

Host or Oracle VM Zone targets to be removed from an existing PaaS Zone while editing it.

0..1

rolesToAdd

Collection<String>

PUT

SSA roles to be added while editing a PaaS Zone

0..1

rolesToRemove

Collection<String>

PUT

SSA roles to be removed while editing a PaaS Zone.

0..1


Where:

  • Supported Methods: Value 'Any' indicates GET/POST/PUT

    Depending on the Supported Methods column value, the respective attributes need to be specified in the Request Payload or are available in the Response Payload after the operation in complete.

    For example, while executing a PUT operation, the name, description, credential, membersToAdd, membersToRemove, constraints, rolesToAdd, and rolesToRemove attributes can be specified in the Request payload.

  • The constraints attribute is not defined for a PaasZone when its memberType is oracle_vm_zone.

  • The MAX_CPU_UTILIZATION and MAX_MEMORY_ALLOCATION are the two placement constraints supported for a PaaS Zone when the memberType is "host". If they are not provided, then their default value is taken to be 80 percent.

The following table describes the supported methods on the PaaSZone resource:

Table 55-113 Supported Methods on PaaSZone Resources

Method Query Parameters Request Payload Response Payload URI Description

GET

Possible values for this optional query parameter:

  • constraints

  • pools

  • members

  • roles

NA

PaasZone (Json Payload)

em/websvcs/restful//extws/cloudservices/admin/cfw/v1/paaszones/{zoneId}

Retrieve PaaS Infrastructure Zone details

DELETE

NA

NA

Status Message (json payload)

em/websvcs/restful//extws/cloudservices/admin/cfw/v1/paaszones/{zoneId}

Deletes a PaaS Infrastructure Zone


55.13.1 PaaS Zone REST API Examples

The following sections provide example Paas Zone REST API operations. Note that you can also use EMCLI commands to perform a range of different operations on a PaaS Zone (including, create, update, and delete) and these commands are described in Section 55.18.2, "EM CLI Verbs for SSA Operations for V2".

The following operations are covered in this section.

55.13.1.1 Creating a PaaS Zone

The table below shows the POST configuration for creating a PaaS zone.

Table 55-114 POST Request Configuration for Creating a PaaS Zone

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
    "name":"My Test Zone",
    "description":"This is a TestZone",
    "credential":"NCAIME",
    "memberType":"host",
    "members":[
        "slc05gvt.us.example.com"
    ],
    "constraints":[
        {
            "name":"MAX_CPU_UTILIZATION",
            "value":"85"
        },
        {
            "name":"MAX_MEMORY_ALLOCATION",
            "value":"95"
        }
    ],
    "roles":[
        "SSACOREROLE1",
        "SSACOREROLE2"
    ],
    
}

Request method

POST


A sample of the response received is shown below.

Status 201 Created 
Content-Type: application/json
{
  "name" : "My Test Zone",
  "description" : "This is a TestZone",
  "type" : "PaaS Infrastructure Zone",
  "id" : "DDBFEFDAD2AE6490E040F00AA37D4C67",
  "credential" : "NCAIME",
  "members" : {
    "canonicalLink" : 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67/members",
    "memberType" : "host",
    "numberOfHostMembers" : "1"
  },
  "constraints" : {
    "canonicalLink" : 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67/constraints",
    "numberOfConstraints" : "2"
  },
  "roles" : {
    "canonicalLink" : 
"https://cloudcompany.com.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67/roles",
    "numberOfUserRoles" : "2"
  },
  "pools" : {
    "canonicalLink" : 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67/pools",
    "numberOfSoftwarePools" : "0"
  },
  "createdOn" : "2013-05-27 20:57:18",
  "createdBy" : null,
  "modifiedOn" : null,
  "modifiedBy" : null,
  "owner" : "SYSMAN",
  "etag" : null,
  "lastModified" : null,
  "canonicalLink" : 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67",
  "selfLink" : 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67"
}

55.13.1.2 Updating a PaaS Zone

The table below shows the PUT configuration for updating a PaaS zone.

Table 55-115 PUT Request Configuration for Updating a PaaS Zone

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
    "name":"My Test Zone",
    "credential":"NCAIME2",
    "description":"Description_01",
    "membersToAdd":[
        "somehost.com",
        "someotherhost.com"
    ],
    "membersToRemove":[
        "removehost.com",
        "removeotherhost2.com"
    ]
    ,
    "rolesToAdd":[
        "ROLE_1",
        "ROLE_2"
    ],
    "rolesToRemove":[
        "ROLE_1_1",
        "ROLE_2_1"
    ],
    "constraints":[
        {
            "name":"MAX_MEMORY_ALLOCATION",
            "value":"80"
        },
         {
            "name":"MAX_CPU_UTILIZATION",
            "value":"80"
        }
    ]
}

Request method

PUT


A sample of the response received is shown below.

Status 200 OK 
Content-Type: application/json
{
  "message" : "PaaS Infrastructure Zone "My Test Zone" updated successfully."
}

55.13.1.3 Deleting a PaaS Zone

The table below shows the DELETE configuration for deleting a PaaS zone.

Table 55-116 DELETE Request Configuration for Deleting a PaaS Zone

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/passzones/DDBFEFDAD2AE6490E040F00AA37D4C67

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

DELETE


A sample of the response received is shown below.

Status 200 OK 
Content-Type: application/json
{
  "message" : "PaaS Infrastructure Zone  "DDBFEFDAD2AE6490E040F00AA37D4C67" deleted    successfully."
}

Note:

A PaaS Infrastructure Zone cannot be deleted if there are Software Pools associated with it.

55.13.1.4 Viewing Details of the PaasZone

The table below shows the GET configuration for viewing details of a PaaS zone.

Table 55-117 GET Request Configuration for Viewing Details of a PaaS Zone

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/passzones/A3CF2D49CFF3F3E664D073303EA51F8E

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK 
Content-Type: application/json
{
  "name" : "pzone1",
  "description" : "This zone contains Host members",
  "type" : "PaaS Infrastructure Zone",
  "id" : "A3CF2D49CFF3F3E664D073303EA51F8E",
  "credential" : "SXAASJUNITHOSTCRED",
  "members" : {
    "canonicalLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A3CF2D49CFF3F3E664D073303EA51F8E/members",
    "memberType" : "host",
    "numberOfHostMembers" : "2"
  },
  "constraints" : {
    "canonicalLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A3CF2D49CFF3F3E664D073303EA51F8E/constraints",
    "numberOfConstraints" : "2"
  },
  "roles" : {
    "canonicalLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A3CF2D49CFF3F3E664D073303EA51F8E/roles",
    "numberOfUserRoles" : "1"
  },
  "pools" : {
    "canonicalLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A3CF2D49CFF3F3E664D073303EA51F8E/pools",
    "numberOfSoftwarePools" : "0"
  },
  "createdOn" : "2013-05-22 01:50:30",
  "createdBy" : null,
  "modifiedOn" : null,
  "modifiedBy" : null,
  "owner" : "SYSMAN",
  "etag" : null,
  "lastModified" : null,
  "canonicalLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A3CF2D49CFF3F3E664D073303EA51F8E",
  "selfLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A3CF2D49CFF3F3E664D073303EA51F8E"
}

55.13.1.5 Viewing the Expanded form of a PaasZone

The get request supports expands query parameter. Based on this query parameter the relevant attribute for a PaasZone is expanded.

The following query parameters are supported:

  • members

  • role

  • constraints

  • pools

The table below shows the GET configuration for expanded view of a PaaS zone.

Table 55-118 GET Request Configuration for an Expanded View of a PaaS Zone

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/passzones/{zone_id}/?expands=<param_name>

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

None

Request method

GET


A sample of the response received is shown below.

{
  "name" : "My Test Zone",
  "description" : "Description_02",
  "type" : "PaaS Infrastructure Zone",
  "id" : "DDBFEFDAD2AE6490E040F00AA37D4C67",
  "credential" : "C",
  "members" : {
    "canonicalLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67/members",
    "memberType" : "host",
    "numberOfHostMembers" : "1"
  },
  "constraints" : {
    "canonicalLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67/constraints",
    "items" : [ {
      "name" : "MAX_MEMORY_ALLOCATION",
      "value" : "25"
    }, {
      "name" : "MAX_CPU_UTILIZATION",
      "value" : "25"
    } ]
  },
  "roles" : {
    "canonicalLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67/roles",
    "numberOfUserRoles" : "0"
  },
  "pools" : {
    "canonicalLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67/pools",
    "numberOfSoftwarePools" : "0"
  },
  "createdOn" : "2013-05-27 20:57:18",
  "createdBy" : null,
  "modifiedOn" : null,
  "modifiedBy" : null,
  "owner" : "SYSMAN",
  "etag" : null,
  "lastModified" : null,
  "canonicalLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67",
  "selfLink" : "https://example.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67"
}

55.14 SoftwarePools for V1

SoftwarePools is a collection resource representing an SSA Administrator's view of all the accessible SoftwarePool resources. The following table describes the SoftwarePools [application/oracle.com.cloud.common.SoftwarePools+json] data model.

Table 55-119 SoftwarePools Data Model

Field Type Description Occurs

name

String

Display name of this collection resource

1

type

String

Type of this collection resource

1

hasMore

Boolean

Indicates whether there are more elements in the collection

1

count

Integer

Number of elements returned

1

items

Collection <SoftwarePools>

The elements of this collection

1

totalCount

Integer

Total number of elements in the collection

1

canonicalLink

URI

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

1

selfLink

URI

Refers to the resource equivalent to the containing elements.

1


The following table describes the supported methods on the SoftwarePools resource:

Table 55-120 Supported Methods on SoftwarePools Resources

Method Query Parameters Request Payload URI Description

GET

zonename pooltype

NA

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

Returns the collection of existing Software Pools

PUT

NA

SoftwarePool(Json Payload)

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

Updates an existing Software Pool resource.

POST

NA

SoftwarePool(Json Payload)

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

Creates a Software Pool


55.14.1 Software Pools REST API Example

The following provides an example of a SoftwarePools REST API operation. Note that you can also use EMCLI commands to perform a range of different operations on Software Pools (including, create, update, and delete) and these commands are described in Section 55.18.2, "EM CLI Verbs for SSA Operations for V2"

The following operations are covered in this seciton.

55.14.1.1 Viewing Details of the Software Pools

The table below shows the GET configuration for viewing details of the Software pools.

Table 55-121 GET Request Configuration for Viewing Details of the Software Pools

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK 
Content-Type: application/json 
{
name: "Software Pools"
type: "Software Pool"
hasMore: false
count: 2
items: [2]
0:  {
name: "IT_MW_Pool_2"
type: "mwaas_zone"
id: "E284FAAA7FBA6A06F7090115A3E07299"
zoneName: "IT_MW_Zone1"
canonicalLink: 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/E284FAAA7FBA6A06F7090115A3E07299"
description: "Middleware Pool of Oracle Homes of Version 10.3.5.0"
}-
1:  {
name: "IT_MW_Pool1"
type: "mwaas_zone"
id: "DD73A46E9E3C9866E040F00AE5235A7F"
zoneName: "IT_MW_Zone1"
canonicalLink:
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/DD73A46E9E3C9866E040F00AE5235A7F"
description: "Middleware Pool of Oracle Homes"
}-
-
totalCount: 2
canonicalLink: 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/"
selfLink: 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/"
}

55.14.1.2 Filtering Output based on Search Query Parameters

Search on the Software Pools is supported on the following by the following query parameters:

  • zonename

  • pooltype

Single or multiple search parameters may be specified at once. Wildcard search is supported using '%' character.

The table below shows the GET configuration for filtering the Software pools.

Table 55-122 GET Request Configuration for Filtering the Software Pools

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools?zonename=IT_MW%&pooltype=mwaas_zone

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK 
Content-Type: application/json 
{
name: "Software Pools"
type: "Software Pool"
hasMore: false
count: 1
items: [1]
0:   {
name: "IT_MW_Pool1"
type: "mwaas_zone"
id: "DD73A46E9E3C9866E040F00AE5235A7F"
zoneName: "IT_MW_Zone1"
canonicalLink: 
"https://cloudcompany/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/DD73A46E9E3C9866E040F00AE5235A7F"
description: "Middleware Pool of Oracle Homes"
}
 
totalCount:1 
canonicalLink: 
"https:// cloudcompany/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/"
selfLink: 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/"
}

55.15 SoftwarePool for V1

A SoftwarePool resource represents a collection of homogeneous servers or clusters that are used to service requests within a PaaS Infrastructure Zone. All members within a SoftwarePool must be of the same type and must belong to the same PaaS Infrastructure Zone.

In addition, to maintain homogeneity, the members must satisfy a set of filter criteria that restrict the addition of members to a SoftwarePool. The following table describes the SoftwarePool [application/oracle.com.cloud.common.SoftwarePool+json] data model.

Table 55-123 SoftwarePool Data Model

Field Type Supported Methods Description Occurs

name

String

Any

A human readable name given to the Software Pool.

It is non editable.

1

id

String

GET

Pool GUID that uniquely identifies the resource.

1

description

String

Any

A brief description given to the Software Pool.

0..1

poolTargetType

String

Any

Target type of the Software Pool to be created.Example : "mwaas_zone" for Middleware Pool, "oracle_cloud_zone" for Database Pool, "schaas_pool" for Schema Pool.

1

paasZone

String

GET

POST

Name of the PaaS Zone associated with this Software Pool.

1

members

Collection<String>

GET

POST

Members of PaaS Zone. They can be either Host members or Oracle VM Zone members.

1

constraints

Collection<EntityValueHolder>

Any

Placement constraints for a Software Pool that allow the self service administrator to set maximum ceilings for resource utilization.

0..1

filters

Collection < EntityValueHolder >

GET

POST

Filters on a Software Pool restrict the addition of member targets to it with a set criteria.

1

properties

Collection< EntityValueHolder >

Any

Additional properties that need to be specified for a specific pool target type.

1

membersToAdd

Collection<String>

PUT

Targets to be added to an existing Software Pool while editing it.

0..1

membersToRemove

Collection<String>

PUT

Targets to be removed from an existing Software Pool while editing it.

0..1

canonicalLink

URI

GET

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

1


Note:

Supported methods value 'Any' indicates GET/POST/PUT .

The following table describes the Supported Methods for Software Pool resources:

Table 55-124 Supported Methods on Software Pool Resources

Method Query Parameters Request Payload Response Payload URI Description

GET

param-name : expandsparam-value : members/ filters/ constraints/all

Expands a particular attribute to show its data.

"all" expands all the attributes.

NA

SoftwarePool (Json Payload)

em/websvcs/restful//extws/cloudservices/admin/cfw/v1/softwarepool/{poolId}

Retrieves the Software Pool details

DELETE

NA

NA

Status Message (json payload)

em/websvcs/restful//extws/cloudservices/admin/cfw/v1/softwarepool/{poolId}

Deletes a Software Pool


55.15.1 SoftwarePool REST API Examples

The following sections provide example SoftwarePool REST API operations. Note that you can also use EMCLI commands to perform a range of different operations on a Software Pool (including, create, update, and delete operations) and these commands are described in Section 55.18.2, "EM CLI Verbs for SSA Operations for V2".

The following operations are covered in this section.

55.15.1.1 Creating a Software Pool

A POST operation is issued on Software Pools Collection resource to create a Software Pool.

The table below shows the POST configuration for creating a Software pool.

Table 55-125 POST Request Configuration for Creating a Software Pool

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{ 
"name": "IT_MW_Pool1", 
"poolTargetType": "mwaas_zone",
"description": "Middleware Pool of Oracle Homes",
"paasZone": "IT_MW_Zone1",
"members": ["WebLogicServer10_3_6_0_slc01afx_6775","WebLogicServer10_3_6_0_adc2201439_4731"],
"constraints": 
            {"items": [{"name": "MAX_INSTANCES", "value": "10"}]},
"filters": 
         {"items": [{"name": "VERSION","value": "10.3.6.0"}]} 
}   

Request method

POST


A sample of the response received is shown below.

Status 201 Created 
Content-Type: application/json
{
name: "IT_MW_Pool1"
description: "Middleware Pool of Oracle Homes"
type: "Middleware Pool"
id: "687FE169ED3556CED38D11DC9BDD5CCD"
zoneName: "IT_MW_Zone1"
members: {
canonicalLink: 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD/members"
numberOfPoolMembers: "2"
}-
constraints: {
canonicalLink:
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD/constraints"
numberOfConstraints: "1"
}-
filters: {
canonicalLink: 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD/filters"
numberOfFilters: "1"
}-
properties: {
canonicalLink:
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD/properties"
numberOfPropertiess: "0"
}-
createdOn: "2013-05-24 00:26:42"
createdBy: null
modifiedOn: null
modifiedBy: null
owner: "CLOUD_ADMIN1"
etag: null
lastModified: null
canonicalLink: 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD"
selfLink:
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD"
}

55.15.1.2 Updating a Software Pool

The table below shows the PUT configuration for updating a Software pool.

Table 55-126 PUT Request Configuration for Updating a Software Pool

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{ 
"name": "IT_MW_Pool1", 
"poolTargetType": "mwaas_zone",
"description": "Middleware Pool of Oracle Homes Updated",
"membersToAdd": ["WebLogicServer10_3_6_0_slc01afx_6776","WebLogicServer10_3_6_0_adc2201439_4732"],
"constraints": 
            {"items": [{"name": "MAX_INSTANCES", "value": "10"}]},
}            

Request method

PUT


A sample of the response received is shown below.

Status 200 OK 
Content-Type: application/json 
{
message: "Software Pool  " IT_MW_Pool1" updated successfully."
}

55.15.1.3 Deleting a Software Pool

The table below shows the DELETE configuration for deleting a Software pool.

Table 55-127 DELETE Request Configuration for Deleting a Software Pool

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

None

Request method

DELETE


A sample of the response received is shown below.

Status 200 OK 
Content-Type: application/json 
{
message: "Software Pool "687FE169ED3556CED38D11DC9BDD5CCD" deleted successfully."
}

Note:

Software Pool cannot be deleted if there are Service Templates associated with the Pool

55.15.1.4 Viewing Details of the Software Pool

The table below shows the GET configuration for viewing details of a Software pool.

Table 55-128 GET Request Configuration for Viewing Details of a Software Pool

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK 
Content-Type: application/json 
{
name: "IT_MW_Pool1"
description: "Middleware Pool of Oracle Homes"
type: "Middleware Pool"
id: "687FE169ED3556CED38D11DC9BDD5CCD"
zoneName: "IT_MW_Zone1"
members: {
canonicalLink:
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD/members"
numberOfPoolMembers: "2"
}-
constraints: {
canonicalLink: 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD/constraints"
numberOfConstraints: "1"
}-
filters: {
canonicalLink:
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD/filters"
numberOfFilters: "1"
}-
properties: {
canonicalLink: https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD/properties"
numberOfPropertiess: "0"
}-
createdOn: "2013-05-24 00:26:42"
createdBy: null
modifiedOn: null
modifiedBy: null
owner: "CLOUD_ADMIN1"
etag: null
lastModified: null
canonicalLink: 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD"
selfLink: 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD"
}

55.15.1.5 Expands Query Parameter

GET operation on SoftwarePool resource supports the expands query parameter to expand the following link resource attributes:

  • members: Expands the members attribute to show all the members of this Software Pool.

  • filters: Expands the filters attribute to show the filter criteria of the members of this Software Pool.

  • constraints: Expands the constraints attribute to show the placement constraints associated with this Software Pool.

  • all : Expands all the attributes of the Software Pool when returning the Software Pool details.

The URI has the following format:

/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/{poolid}/?expands=<paramname>

Example:

https://hostname/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD?expands=members

If no query parameter is specified then software pool details data is returned to the user without any attributes expanded.

55.15.2 SoftwarePoolMetadata for V1

This provides the metadata information for all the software pool target types that is needed while creating a Software Pool. The following table describes the SoftwarePoolMetadata [application/oracle.com.cloud.common.SoftwarePools+json] data model.

Table 55-129 SoftwarePoolMetadata Data Model

Field Type Description Occurs

canonicalLink

URI

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

1

poolType

String

Target type of the Software Pool

1

poolTypeDisplayName

String

Display name of this Software Pool target type.

0..1

poolTypeDescription

String

Description of the Software Pool target type.

0..1

serviceFamily

String

Represents the service family to which this pool type belongs.

1

serviceType

String

Represents the service type to which this pool type belongs.

1

constraints

Collection<ValueDescriptor>

Represents the metadata information about the possible placement constraints for this pool type.

0..1

filters

Collection< ValueDescriptor >

Represents the metadata information about the possible filters (member constraints) for a pool type.

0..1


The GET method for the SupportedPoolMetadata resource has the following characteristics:

  • Response Payload:

    SoftwarePoolMetadata (Json Payload)

  • URI:

    em/websvcs/restful//extws/cloudservices/admin/cfw/v1/softwarepools/metadata

  • Descriptions:

    Retrieves the metadata information for all the software pool types like service type, service family, available constraints, and available filters.

55.15.2.1 Retrieving Software Pool Metadata REST API Example

A GET request is issued to obtain the SoftwarePoolMetadata URI, which is then used to retrieve the metadata information of all the software pool types. Note that you can also use EMCLI commands to retrieve Software Pool information and these commands are described in Section 55.18.2, "EM CLI Verbs for SSA Operations for V2"

The table below shows the GET configuration for viewing metadata of the Software pools.

Table 55-130 GET Request Configuration for Viewing Metadata of the Software Pools

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/metadata

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK 
Content-Type: application/json 
 
{
softwarePoolsMetadata: 
{
items: [1]
0:  
{
poolType: "mwaas_zone"
poolTypeDisplayName: "Middleware Pool"
poolTypeDescription: "Middleware Pool is a set of homogeneous Middleware Oracle Homes."
serviceFamily: "MWAAS"
serviceType: "PhysicalWLS"
constraints: 
{
items: [1]
0:  
{
name: "MAX_INSTANCES"
description: "Maximum Number of Java Servers (per host)"
defaultValue: "1"
isRequiredValue: true
}
}
filters: 
{
items: [1]
0:  
{
name: "VERSION"
description: "Version"
defaultValue: "10.3.5.0"
isRequiredValue: true
possibleValues: [7]
0:  
{value: "12.1.1.0"
description: "12.1.1.0"}
1:  
{
value: "10.3.6.0"
description: "10.3.6.0"
}
2:  
{
value: "10.3.5.0"
description: "10.3.5.0"
}
3:  
{
value: "10.3.4.0"
description: "10.3.4.0"
}
4:  
{
value: "10.3.3.0"
description: "10.3.3.0"
}
5:  
{
value: "10.3.2.0"
description: "10.3.2.0"
}
6:  
{
value: "10.3.1.0"
description: "10.3.1.0"
}
}
}
}
}
canonicalLink: "https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/metadata"
}

55.15.3 SoftwarePoolFilteredTargets for V1

This gives the available targets in a given PaaS Infrastructure Zone based on the filter criteria given, that can be used in POST operation on SoftwarePool resource. The following table describes the SoftwarePoolFilteredTargets [application/oracle.com.cloud.common.SoftwarePoolFilteredTargets+json] data model.

Table 55-131 SoftwarePoolFilteredTargets Data Model

Field Type Description Occurs

canonicalLink

URI

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

1

targetType

String

Target type of the Software Pool . Example : "mwaas_zone" for Middleware Pool, "oracle_cloud_zone" for Database Pool, "schaas_pool" for Schema Pool.Refer SoftwarePoolsMetadata resource to get the available filters for a pool target type.[POST]

1

paasZone

String

Name of the PaaS Zone representing a filter criteria.

[POST]

1

targets

Map<String, List<String>>

Filtered targets after applying the filter criteria.

1

filters

Collection<Filters>

Filter criteria that needs to be applied to get the filtered targets. Refer SoftwarePoolsMetadata resource to get the available filters for a pool target type.[POST]

1


Note that filtered targets satisfy the following:

  • Are part of the given PaaS Infrastructure zone.

  • Satisfy the filter criteria passed.

  • Are not part of any other Software Pool.

The POST method for the SupportedPoolFilteredTargets resource has the following characteristics:

  • Request Payload:

    SoftwarePoolFilteredTargets (Json Payload)

  • Response Payload

    SoftwarePoolFilteredTargets (Json Payload)

  • URI:

    em/websvcs/restful//extws/cloudservices/admin/cfw/v1/softwarepools/filteredtargets

  • Descriptions:

    Retrieves the metadata information for all the software pool types, such as service type, service family, available constraints, and available filters.

55.15.3.1 Retrieving Available Filtered Targets - REST API Example

A POST operation on SoftwarePoolFilteredTargets resource is issued to fetch the filtered targets based on the paas zone and filters given. Note that you can also use EMCLI commands to retrieve Filtered Targets information and these commands are described in Section 55.18.2, "EM CLI Verbs for SSA Operations for V2"

The table below shows the POST configuration for viewing the filtered targets of the Software pools.

Table 55-132 POST Request Configuration for Viewing Metadata of the Software Pools

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: applicaiton/json

Body

{
"targetType": "mwaas_zone",
"paasZone": "IT_MW_Zone1",
"filters": {"items": [{"name": "VERSION", "value": "10.3.6.0"}]}
}

Request method

POST


A sample of the response received is shown below.

Status 201 Created 
Content-Type: application/json 
 
{
targets: {
oracle_home: [2]
0:  "WebLogicServer10_3_6_0_slc01afx_6775"
1:  "WebLogicServer10_3_6_0_adc2201439_4731"
}
canonicalLink: 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/filteredtargets"
}

55.15.4 SoftwarePoolCapacity for V1

This resource retrieves the software pool capacity details like CPU utilization, memory allocation, and number of instances for the pool entities. The following table describes the SoftwarePoolCapacity [application/oracle.com.cloud.common.SoftwarePoolCapacity+json] data model.

Table 55-133 SoftwarePoolCapacity Data Model

Field Type Description Occurs

canonicalLink

URI

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

1

name

String

Name of the Software Pool.

[POST]

1

type

String

Target type of the Software Pool.Example : "mwaas_zone" for Middleware Pool, "oracle_cloud_zone" for Database Pool, "schaas_pool" for Schema Pool.

1

capacity

Collection<Filters>

Filter criteria that needs to be applied to get the filtered targets. Refer SoftwarePoolsMetadata resource to get the available filters for a pool target type.[POST]

1


The GET method for the SupportedPoolCapacity resource has the following characteristics:

  • Response Payload

    SoftwarePoolCapacity (Json Payload)

  • URI:

    em/websvcs/restful//extws/cloudservices/admin/cfw/v1/softwarepools/{poolId}/capacity

  • Descriptions:

    Retrieves the software pool capacity details.

55.15.4.1 Retrieving Software Pool Capacity

A GET on SoftwarePoolCapacity resource is issued to get the Software Pool capacity details. Note that you can also use EMCLI commands to retrieve Software Pool Capacity information and these commands are described in Section 55.18.2, "EM CLI Verbs for SSA Operations for V2"

The table below shows the GET configuration for viewing the Software pool capacity.

Table 55-134 GET Request Configuration for Viewing the Software Pool Capacity

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD/capacity

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK 
Content-Type: application/json
{
name: "mySchemaPool"
type: "schaas_pool"
capacity: {
items: [1]
0:  {
entityName: "Oemrep_Database"
entityType: "oracle_database"
entityCapacity: {
items: [4]
0:  {
resourceType: "Storage Utilization"
resourceUsed: "64.74"
resourceThreshold: "100.0"
resourceUnit: "%"
}-
1:  {
resourceType: "CPU Utilization"
resourceUsed: "0.0"
resourceThreshold: "0.0"
resourceUnit: "%"
}-
2:  {
resourceType: "Memory Utilization"
resourceUsed: "0.0"
resourceThreshold: "0.0"
resourceUnit: "%"
}-
3:  {
resourceType: "Instances"
resourceUsed: "0"
resourceThreshold: "100"
}-
-
}-
}-
-
}-
canonicalLink: 
"https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/2E7C9C632B18C3FEB4FEA5A614E51BE7/capacity"
}

55.16 Composite Resource Attributes for V1

Some of the resource entities in this specification contain the following composite resource attributes:

55.16.1 ValueDescriptor for V1

This describes the metadata regarding the type of value that can be set upon an associated object. The following table describes the data model:

Table 55-135 ValueDescriptor Data Model

Field Type Description Occurs

name

String

Name of the datum being described.

1

description

String

Description of the datum being described.

1

defaultValue

String

Default value of the datum being described.

1

isRequiredValue

Boolean

True if the value is required.

1

possibleValues

Collection<ValueEntity>

Optional list of valid values of the datum being described.

0..1


55.16.2 ValueEntity for V1

This represents a value (string representation) and their description (caption). The following table describes the data model:

Table 55-136 ValueEntity Data Model

Field Type Description Occurs

value

String

String representation of the actual value of the entity.

1

description

String

Caption of the entity that describes it.

0..1


55.16.3 EntityValueHolder for V1

This represents a simple entity having a name, value and description. The following table describes the data model:

Table 55-137 EntityValueHolder Data Model

Field Type Description Occurs

name

String

Name of the entity

1

value

String

String representation of the actual value of the entity.

1

description

String

Caption of the entity that describes it.

0..1


55.16.4 PoolEntityCapacity for V1

This represents the capacity details of individual entities of the Software Pool. The following table describes the data model:

Table 55-138 PoolEntityCapacity Data Model

Field Type Description Occurs

entityName

String

Name of the entity

1

entityType

String

Target type of the entity.

1

entityCapacity

Collection<ResourceTypeCapacity>

Collection of capacity details of a particular resource type like Storage Utilization, CPU Utilization.

1


55.16.5 ResourceTypeCapacity for V1

This represents the capacity details of a particular resource type, such as Storage Utilization and CPU Utilization. The following table describes the data model:

Table 55-139 ResourceTypeCapacity Data Model

Field Type Description Occurs

resourceType

String

Type of the resource like Storage Utilization.

1

resourceUsed

String

String representation of the used resource.

1

resourceThreshold

String

String representation of the resource threshold.

0..1

resourceUnit

String

String representation of the unit in which the utilization of the resource is measured.

0..1


55.17 Service Template Management for V1

This section describes the resources and REST APIs that can be used to manage service templates.

55.17.1 Service Templates for V1

Service templates is a collection resource representing a Cloud Administrator's view of all the accessible service template resources. The following table describes the Service Templates data model.

Table 55-140 Service Templates Data Model

Field Type Description Occurs

name

String

Display name of this collection resource.

1

type

String

Type of collection resource.

1

hasMore

Boolean

Indicates whether there are more elements in this collection resource.

1

count

Integer

The number of elements in the collection resource.

1

items

Collection <integer>

List of service template resources. If there are no service templates present, this field will be blank.

1

totalCount

Integer

Total number of service template resources.

1

canonicalLink

URI

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

1

selfLink

URI

Refers to the resource equivalent to the containing elements.

1


55.17.1.1 Supported Methods on ServiceTemplates Resources

The following table describes the supported methods on the ServiceTemplates resources.

Table 55-141 Supported Methods on ServiceTemplates Resources

Method Query Parameters Request Payload URI Description

GET

NA

NA

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

Returns service template collection resource details for all service types.

POST

NA

Service Template (Json Payload)

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

Creates an instance of service template.


55.17.1.2 ServiceTemplates REST API Example

An example of ServiceTemplates REST API operation is given below.

Listing Service Templates

A GET request on ServiceTemplates resource is issued to list all the Service Templates.

The table below shows the GET configuration for viewing the Software pool capacity.

Table 55-142 GET Request Configuration for Viewing All the Service Templates

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK
Content-Type: application/json
{
 
    "name":"Service Templates",
    "type":"Service Template",
    "hasMore":false,
    "items":[
        {
            "id":"E821074692058B5DE040F00AA37D75AB",
            "name":"ST_DB_SCH_01",
            "serviceFamily":"DBAAS",
            "description":"Database Schema Service Template",
            "canonicalLink":"https://cloudcompany.com/em/websvcs/restful/extws
    /cloudservices/admin/cfw/v1/servicetemplates/E821074692058B5DE040F00AA37D75AB"
        }
    ],
    "totalCount":1,
    "canonicalLink":"https://cloudcompany.com/em/websvcs/restful/extws
    /cloudservices/admin/cfw/v1/servicetemplates"
}

55.17.2 Service Template for V1

A service template is a standardized service definition that can be used by self service users to provision a service instance. The following table describes the Service Template.

Table 55-143 ServiceTemplate Data Model

Field Type Supported Methods Description Occurs

name

String

Any

A human readable name given to the service template. This field cannot be edited.

1

serviceFamily

String

Any

Service Family.

1

serviceType

String

Any

Service type

1

id

String

GET

Service template ID. The GET method contains the value for this element.

1

description

String

Any

A brief description given to the service template.

0..1

roles

Collection<Role>

GET

POST

SSA roles that can access the template.

0..1

poolIds

Collection <String>

POST

Software Pool IDs associated with this template.

1

serviceExecutableMeta

ServiceExecutableMetaDataEntity

Any

Service executable to be used for the service template.

0..1

createdOn

String (Date / Time)

GET

Date and time on which the resource was created.

0..1

createdBy

String

GET

User who created the resource.

1

modifiedOn

String (Date / Time)

GET

Date and time on which the resource was modified.

0..1

modifiedBy

String

GET

User who modified the resource.

1

owner

String

GET

User who owns the resource.

1

etag

String

GET

HTTP entity value tag.

0..1

lastModified

String

GET

HTTP last modified value

0..1

canonicalLink

URI

GET

Preferred version of resource.

1


where:

  • Supported Method:

    • Indicates the method type where this attribute will be available.

    • The method type Any indicates that this resource is available for GET, PUT, or POST methods.

  • Occurs: An occurrence is 0..1 indicates that this is an optional parameter. An occurrence of 1 indicates that this parameter is mandatory.

55.17.2.1 Supported Methods on ServiceTemplate Resources

The following table describes the supported methods for servicetemplates resources.

Table 55-144 Supported Methods on ServiceTemplate Resources

Method Query Parameters Request Payload Response Payload URI Description

GET

 

NA

Service Template (Json Payload)

em/websvcs/restful//extws/cloudservices/admin/cfw/v1/servicetemplates/{serviceFamily}/{template id}

Retrieve service template details.

DELETE

NA

NA

Status Message (Json payload)

em/websvcs/restful//extws/cloudservices/admin/cfw/v1/servicetemplates/<serviceFamily>/{template id}

Delete a service template

PUT

NA

Service Template (Json payload)

 

em/websvcs/restful/extws/cloudservices/admin/cfw/v1/servicetemplates/<serviceFamily>/{template id}

Updates service template resource


55.17.3 ServiceTemplateUpdate for V1

This table describes the ServiceTemplateUpdate data model.

Table 55-145 ServiceTemplateUpdate Data Model

Field Type Supported Methods Description Occurs

description

String

PUT

A brief description given to the service template.

0..1

rolesAdded

Collection<Role>

PUT

SSA roles to be added that can access this service template.

0..1

rolesRemoved

Collection<Role>

PUT

SSA roles to be removed that have access to this service template.

0..1

poolsIdsAdded

Collection<String>

PUT

Software pool IDs to be added to an existing template while it is being edited.

0..1

poolsIdsRemoved

Collection<String>

PUT

Software pool IDs to be removed from an existing template while it is being edited.

0..1

executableEntity

ServiceExecutableMetaDataEntity

PUT

Service executable to be used for the service template.

0..1


55.17.4 ServiceExecutableMetaEntity for V1

This table describes the ServiceExecutableMetaEntity data model.

Table 55-146 ServiceExecutableMetaDataEntity

Field Type Description

name

String

Name of the executable that is used to save the actual executable in Enterprise Manager. This can be the name of a job, configured deployment procedure, deployment procedure, or a profile. This field cannot be edited.

type

String

This can be:

  • Job

  • DP

  • CDP

  • Profile

serviceFamily

String

Service Family.

serviceType

String

Service Type

configurations

Collection<TemplateConfigParam>

Executable Parameters

payloads

Collection<PayloadDescriptor>

Collection of payload descriptor.


55.17.5 Template Configuration Parameters for V1

The following table lists the TemplateConfigParam data model.

Table 55-147 Configuration Parameters

Field Type Description

id

String

ID of the configuration paramater.

name

String

Name of the configuration parameter

value

String

Value of the configuration parameter.

values

Collection<String>

List of configuration parameter values.

description

String

Description of the configuration parameter.

required

boolean

Boolean if parameter is required.

secret

boolean

Boolean if parameter is secret.

subconfigurations

Collection<TemplateConfigParam>

Set of possible values.


55.17.6 PayloadDescriptor for V1

The following table describes the PayloadDescriptor data model

Table 55-148 PaylodDescriptor data model

Field Type Description

name

String

Name of the payload entity.

id

String

Id of the payload entity.


55.17.7 ServiceTemplate Metadata for V1

The ServiceTemplate Metadata is used to generate JSON Payloads that are required to create the service template instance.The following table describes ServiceTemplate Metadata Data Model.

Table 55-149 ServiceTemplate Metadata Data Model

Field Type Description

serviceFamily

String

Name of the service family.

serviceType

String

Name of service type.

type

String

Can be one of:

JOB

DP

CDP

PROFILE

description

String

Description

payload

Boolean

Is true if payload is expected.

payloads

Collection<PayloadMetaData>

Boolean if parameter is required.


55.17.8 PayloadMetaData for V1

The following table describes the PayloadMetadata.

Table 55-150 PayloadMetaData

Field Type Description

id

String

Payload Id.

name

String

Name of payload

defaultValue

String

Default value


55.17.9 ServiceTemplate MetaData for V1

The following table describes the supported methods on the ServiceTemplateMetaData.

Table 55-151 Supported Methods on ServiceTemplateMetaData

Method Query Parameters Request Payload Response Payload URI Description

GET

 

NA

Collection<ServiceTemplateMetaData> (Json Payload)

em/websvcs/restful//extws/cloudservices/admin/cfw/v1/servicetemplates/{serviceFamily}/executable/metadata

Retrieve metadata for given service family and service type for CDP, DP, and so on.

POST

 

Service Template MetaData (Json Payload)

ServiceExecutableMetaEntity (Json Payload)

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

Retrieve configurations for posted service family and service type.


55.17.10 ServiceTemplates REST API Example

This section covers examples of ServiceTemplates REST API operations.

55.17.10.1 Creating Service Templates

The table below shows the POST configuration for creating a Service template.

Table 55-152 POST Request Configuration for Creating a Service Template

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
 
    "name":"TestSchaasTemplate3",
    "serviceType":"SCHEMA",
    "serviceFamily":"DBAAS",
    "description":"This is a test schaas service template 1",
    "poolIds":[
        "FC129EEFFD67CD948B3147D2BAE0BA89"
    ],
 
    "roles":[
        {
            "name":"SSA01"
        }
    ],
   "serviceExecutableMeta":{
        "type":"CDP",
        "configurations":[
            {
 
                "name":"ROLE_NAME", "value":"SampleRole"
            },
            {
                "name":"MAX_NUMBER_OF_SCHEMAS","value":"2"
            },
            {
                "name":"ENFORCE_STORAGE_CONSTRAINT","value":"NO_LIMIT"
            },
            {
                "name":"AUTO_EXTEND_BLOCK_SIZE","value":"1024"
            },
            {
                "name":"REF_ZONE","value":"blr zone"
            },
            {
                "name":"REF_POOL","value":"schpool"
            },
            {
               "name":"REF_HOST","value":"mycompanyhost.com"
            },
            {
                "name":"REF_DB","value":"Database"
            },
            {
                "name":"CREATE_SCHEMA_OPTION","value":"EMPTY_SCHEMAS"
            },
           {
                "name":"WORKLOADS",
                "subconfigurations":[
                    {
                        "name":"WORK_LOADS:1",
                        "subconfigurations":[
                            {
                                "name":"name",
                                "value":"Small"
                            },
                            {
                                "name":"description",
                                "value":"small workload"
                            },
                            {
                                "name":"default",
                                "value":"Y"
                            },
                            {
                                "name":"CPU",
                                "value":"2"
                            },
                            {
                                "name":"Memory",
                                "value":"2048"
                            },
                            {
                                "name":"Storage",
                                "value":"1024"
                            }
                        ]
                    },
                    {
                        "name":"WORK_LOADS:2",
                        "subconfigurations":[
                            {
                                "name":"name",
                                "value":"large "
                            },
                            {
                                "name":"description",
                                "value":"large workload"
                            },
                            {
                                "name":"default",
                                "value":"Y"
                            },
                            {
                                "name":"CPU",
                                "value":"6"
                            },
                            {
                                "name":"Memory",
                                "value":"4048"
                            },
                            {
                                "name":"Storage",
                                "value":"2024"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

Request method

POST


55.17.10.2 Updating a Service Template

The table below shows the PUT configuration for updating a Service template.

Table 55-153 PUT Request Configuration for Updating a Service Template

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

{
    "description":"Service Template",
    "rolesAdded":[
     {
            "name": "SSA02"
        }
    ],
    "rolesRemoved":[
     {
            "name": "SSA01"
        }
    ],
    "serviceExecutableMeta":{
    "type":"CDP",
    "configurations":[
        {
                "name":"REF_ZONE",
                "value":"blr zone"
            },
            {
                "name":"REF_POOL",
                "value":"schpool"
            },
            {
                "name":"REF_HOST",
                "value":"mycompanyhost.com"
            }
    ]
}
}

Request method

PUT


55.17.10.3 Deleting a Service Template

The table below shows the DELETE configuration for deleting a Service template.

Table 55-154 DELETE Request Configuration for Deleting a Service Template

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Body

None

Request method

DELETE


55.17.10.4 Viewing Details of a Service Template

The table below shows the GET configuration for viewing details of a Service template.

Table 55-155 DEELTE Request Configuration for Deleting a Service Template

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK
 
Content-Type: application/json
{
  "name" : "ST_DB_SCH_01",
  "serviceFamily" : "DBAAS",
  "serviceType" : "SCHEMA",
  "type" : "Service Template",
  "description" : "Database Schema Service Template",
  "id" : "E821074692058B5DE040F00AA37D75AB",
  "pools" : [ {
    "name" : "SP_DB_SCH_01",
    "id" : "EBECE6B8F0144BEFAB2F1991B4AFCC65",
    "type" : "schaas_pool",
    "zone" : {
      "id" : "E82022FF954B98CFE040F00AA37D447B",
      "name" : "PZ01"
    }
  } ],
  "serviceExecutableMeta" : {
    "type" : "CDP",
    "configurations" : [ {
      "id" : "targets",
      "name" : "targets",
      "value" : ""
    }, {
      "id" : "ssaRequestId",
      "name" : "ssaRequestId",
      "value" : ""
    }, {
      "id" : "ssaUser",
      "name" : "ssaUser",
      "value" : ""
    }, {
      "id" : "ssaTargetName",
      "name" : "ssaTargetName",
      "value" : ""
    }, {
      "id" : "ssaTargetType",
      "name" : "ssaTargetType",
      "value" : ""
    }, {
      "id" : "zoneTargetName",
      "name" : "zoneTargetName",
      "value" : ""
    }, {
      "id" : "zoneTargetType",
      "name" : "zoneTargetType",
      "value" : ""
    }, {
      "id" : "REQUEST_NAME",
      "name" : "REQUEST_NAME",
      "value" : ""
    }, {
      "id" : "SERV_TEMPLATE_GUID",
      "name" : "SERV_TEMPLATE_GUID",
      "value" : ""
    }, {
      "id" : "CREATE_SCHEMA_OPTION",
      "name" : "Option for creating user schemas",
      "value" : "EMPTY_SCHEMAS"
    }, {
      "id" : "MAX_NUMBER_OF_SCHEMAS",
      "name" : "Maximum number of schemas permissible",
     "value" : "4"
    }, {
      "id" : "DB_PROFILE_URN",
      "name" : "Database Profile Component's URN",
      "value" : ""
    }, {
      "id" : "REMAP_SCHEMA_LIST",
      "name" : "Schema list.",
      "value" : "",
      "values" : [ ]
    }, {
      "id" : "MASTER_ACCOUNT",
      "name" : "Master Account",
      "value" : ""
    }, {
      "id" : "ROLE_NAME",
      "name" : "Database Role Name",
      "value" : "ST_DB_SCH_01_Oct_06_2013_22"
    }, {
      "id" : "SCHEMA_PRIVILEGES",
      "name" : "Schema Privileges",
      "value" : "",
      "values" : [ "CREATE TABLE", "CREATE SEQUENCE", "CREATE OPERATOR", "CREATE DIMENSION", "CREATE VIEW", "CREATE INDEXTYPE", "CREATE TYPE", "CREATE TRIGGER", "CREATE SESSION", "CREATE SYNONYM", "CREATE PROCEDURE" ]
    }, {
      "id" : "ENFORCE_STORAGE_CONSTRAINT",
      "name" : "Enforces Storage Constraint",
      "value" : "false"
    }, {
      "id" : "INITIAL_BLOCK_SIZE",
      "name" : "Initial Storage Size",
      "value" : ""
    }, {
      "id" : "AUTO_EXTEND_BLOCK_SIZE",
      "name" : "Auto extend block size",
      "value" : ""
    }, {
      "id" : "TABLESPACE_ENCRYPTION_ALGORITHM",
      "name" : "Tablespace Encryption",
      "value" : ""
    }, {
      "id" : "SHARED_STAGE_LOCATION",
      "name" : "Staging Location",
      "value" : ""
    }, {
      "id" : "WORKING_DIRECTORY",
      "name" : "Working Directory",
      "value" : ""
    }, {
      "id" : "SCHAAS_CUSTOM_PRE_SCRIPTS_URN",
      "name" : "Pre-script",
      "value" : ""
    }, {
      "id" : "SCHAAS_CUSTOM_POST_SCRIPTS_URN",
      "name" : "Post-script",
      "value" : ""
    }, {
      "id" : "SCHEMA_PASSWORD_LIST",
      "name" : "Schema password list",
      "value" : "",
      "values" : [ ]
    }, {
      "id" : "CUSTOM_USER_SELECTED_SCRIPT_URN",
      "name" : "Custom Script URN",
      "value" : "",
      "values" : [ ]
    }, {
      "id" : "DBSERVICE_NAME",
      "name" : "Database Service Name",
      "value" : ""
    } ]
  },
  "createdOn" : null,
  "createdBy" : null,
  "modifiedOn" : null,
  "modifiedBy" : null,
  "owner" : "SYSMAN",
  "etag" : null,
  "lastModified" : null,
  "canonicalLink" : "https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/servicetemplates/E821074692058B5DE040F00AA37D75AB",
  "selfLink" : "https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/servicetemplates/E821074692058B5DE040F00AA37D75AB"
}

55.17.10.5 Viewing Metadata of a Service Template

The table below shows the GET configuration for viewing metadata of a Service template.

Table 55-156 GET Request Configuration for Viewing Metadata a Service Template

Feature Specification

URI

/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/servicetemplates/metadata/DBAAS/DB

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

None

Request method

GET


A sample of the response received is shown below.

Status 200 OK
Content-Type: application/json
"metadata" : {
    "serviceFamily:DBAAS" : {
       "serviceType:DB" : {
        "options" : [ {
          "serviceFamily" : "DBAAS",
          "serviceType" : "DB",
          "type" : "CDP",
          "description" : "Create a Service Template based on Configured Deployment Procedure.",
          "name" : "<user_input>",
          "payload" : false
        }, {
          "serviceFamily" : "DBAAS",
          "serviceType" : "DB",
          "type" : "CDP",
          "description" : "Create a Service Template based on Configured Deployment Procedure and its Payload.",
          "name" : "<user_input>",
          "payload" : true,
          "payloads" : [ {
            "id" : "DBDELETE_PRESCRIPT",
            "defaultValue" : "DBDELETE_PRESCRIPT",
            "name" : "<user_input>"
          } ]
        }, {
          "serviceFamily" : "DBAAS",
         "serviceType" : "DB",
          "type" : "DP",
          "description" : "Create a Service Template based on Deployment Procedure.",
          "name" : "<user_input>",
          "payload" : false
        }, {
          "serviceFamily" : "DBAAS",
         "serviceType" : "DB",
          "type" : "DP",
          "description" : "Create a Service Template based on Deployment Procedure and its Payload.",
          "name" : "<user_input>",
          "payload" : true,
          "payloads" : [ {
            "id" : "DBDELETE_PRESCRIPT",
            "defaultValue" : "DBDELETE_PRESCRIPT",
            "name" : "<user_input>"
          } ]
        } ]
      }
      ,
      "message" : "This gives the metadata information of the different types of service templates that can be created, the executable options supported and the allowed configuration parameters.",
      "canonicalLink" : "/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/servicetemplates/metadata/DBAAS/DB"
    }
  }
}

55.17.10.6 Creating Configuration Values for Service Templates

To get configuration values that are required for creation of service template, perform a POST operation on the metadata.

Table 55-157 POST Request Configuration for Creating Configuration Values for a Service Template

Feature Specification

URI

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

Request headers

Authorization: basic ZGVtb3VzZXI6ZGVtb3VzZXI=

Content-Type: application/json

Body

{
    "type":"CDP",
    "serviceFamily":"MWAAS",
    "serviceType":"PhysicalWLS",
    "name":"Provision Middleware_SYSMAN_Jul-18-2013 00-52AM"
}

Request method

POST


Note:

  • This payload is the one that we get via GET call of metadata.

  • User fills <user_input> appropriately to get ServiceExecutableMetaDataEntity as response.

  • User uses this ServiceExecutableMetaDataEntity in his/her create Payload with values set accordingly to create Service Template MetaData.

A sample of the response received is shown below.

{
  "configurations" : [ {
    "description" : "Username for the WebLogic Server",
    "id" : "wlsUserName",
    "name" : "WebLogic Username *",
    "required" : "false",
    "secret" : "false"
  }, {
    "description" : "Password for the WebLogic Server",
    "id" : "wlsUserPassword",
    "name" : "WebLogic Password *",
    "required" : "false",
    "secret" : "true"
  }, {
    "description" : "Re-enter Password for the WebLogic Server",
    "id" : "wlsUserPassword2",
    "name" : "Re-enter WebLogic Password *",
    "required" : "false",
    "secret" : "true"
  }, {
    "description" : "Enter 1 for single cluster, 0 for no cluster. For physical provisioning it is auto populated based on the profile selected.  For virtual provisioning it is defaulted to 1.  Please change based on the actual topology of the assembly. ",
    "id" : "topology",
    "name" : "Topology *",
    "required" : "false",
    "secret" : "false"
  }, {
    "description" : "Enter 1 for 'Yes', 0 for 'No'",
    "id" : "exposeAdminURLs",
    "name" : "Expose WebLogic and FMW Console URLs to SSA User",
    "required" : "false",
    "secret" : "false"
  }, {
    "description" : "Enter 1 to enable, 0 to disable Load Balancer",
    "id" : "enableLoadBalancer",
    "name" : "Enable Load Balancer",
    "required" : "false",
    "secret" : "false"
  }, {
    "description" : "Use ',' to separate multiple target hosts",
    "id" : "hostListForScripts",
    "name" : "Hosts for Executing Scripts",
    "required" : "false",
    "secret" : "false"
  }, {
    "description" : "This will be used for the above hosts",
    "id" : "namedCredforHostList",
    "name" : "Named Credential for execution of scripts",
    "required" : "false",
    "secret" : "false"
  }, {
    "description" : "To execute scripts on Admin Server besides the hosts entered above, enter 1 for 'Yes', 0 for 'No'",
    "id" : "isScriptExecuteOnAdminServer",
    "name" : "Execution of Scripts on Admin Server Host",
    "required" : "false",
    "secret" : "false"
  }, {
    "description" : "Lower Bound for choosing Free Ports",
    "id" : "portRangeStart",
    "name" : "Port Range Start",
    "required" : "false",
    "secret" : "false"
  }, {
    "description" : "Upper Bound for choosing Free Ports",
    "id" : "portRangeEnd",
    "name" : "Port Range End",
    "required" : "false",
    "secret" : "false"
  }, {
    "description" : "Memory required by each additonal instance in GB",
    "id" : "memoryUsagePerInstance",
    "name" : "Expected Memory Consumption (For Use By Placement Logic)",
    "required" : "false",
    "secret" : "false"
  }, {
    "description" : "CPU required by each additonal instance in percemtage",
    "id" : "cpuUsagePerInstance",
    "name" : "Expected CPU Utilization (For Use By Placement Logic)",
    "required" : "false",
    "secret" : "false"
  }, {
    "description" : "Enter memory and java arguments to start the server. Example: -Xms1280m -Xmx1280m -XX:PermSize=128m -XX:MaxPermSize=256m -Dweblogic.security.SSL.ignoreHostnameVerification=true (Physical Only)",
    "id" : "startupArguments",
    "name" : "Managed Server Startup Arguments",
    "required" : "false",
    "secret" : "false"
  }, {
    "description" : "Enter 1 for distributing Java Servers uniformly on available hosts for high availability or 0 for placing maximum number of Java Servers possible on a host first before provisioning on other available host (Physical Only)",
    "id" : "requireHighAvailability",
    "name" : "Distribute Java Servers on Available Hosts",
    "required" : "false",
    "secret" : "false"
  }, {
    "description" : "Root Password to override (Virtual Only)",
    "id" : "rootPwd",
    "name" : "Root Password",
    "required" : "false",
    "secret" : "true"
  }, {
    "description" : "Agent Install User Password to override (Virtual Only)",
    "id" : "agentInstallUserPwd",
    "name" : "Agent Install User Password",
    "required" : "false",
    "secret" : "true"
  }, {
    "description" : "Enter name of the host credential to use for provisioning operations (Virtual Only)",
    "id" : "namedHostCredForVirtualFlow",
    "name" : "Host credential name for virtual flow",
    "required" : "false",
    "secret" : "false"
  } ],
  "name" : "Provision Middleware_SYSMAN_Oct-02-2013 10-31AM",
  "serviceFamily" : "MWAAS",
  "serviceType" : "PhysicalWLS",
  "type" : "CDP"

55.18 EM CLI Verbs for Self Service Applications

The Enterprise Manager Command Line Interface (EM CLI) enables you to access Enterprise Manager Cloud Control functionality from text-based consoles (shells and command windows) for a variety of operating systems. You can call Enterprise Manager functionality using custom scripts, such as SQL*Plus, OS shell, Perl, or Tcl, thus easily integrating Enterprise Manager functionality with a company's business process.

This section provides details on the EM CLI verbs for Enterprise Manager Self Service Applications (SSA) Admin users.

55.18.1 Introduction

A new framework is introduced for the release 12.1.0.9, along with which new EM CLI verbs are introduced. The EM CLI verbs associated with the previous version of the framework are deprecated and users are suggested to move to the supported EM CLI verbs. The EM CLI verbs for the deprecated version are listed as v1 and the supported EM CLI verbs are listed as v2:

All PaaS Infrastructure Zone EM CLI operations are available only to users with a EM_CLOUD_ADMINISTRATOR role and Software Pool operations can be performed only by users with a EM_SSA_ADMINISTRATOR role. EM CLI verbs will obtain user information from the security context and verify only those users authorized to perform these operations.

55.18.2 EM CLI Verbs for SSA Operations for V2

The following table provides details of the supported verbs (v2). Note that these verbs are available to SSA Administrator users only and cannot be used with an EM_SSA_ USER role.

Table 55-158 EM CLI Verbs Supported for V2

Verb Description Format

emcli invoke_ws

Invokes the Enterprise Manager Web service.

Options:

  • -wsname - Indicates the URI of the resource.

  • -method - Type of the REST method.

  • -payload - Indicates the json/xml input payload.

  • -accept - Payload type. These are standard jersey values.

  • -type - Standard jersey response types.

  • -param - Use this option to pass in form/query parameter value. For example, -param="name:value". More than one parameter can be specified. For example, -param="name:value" -param="zip:12345".

    The parameter can be provided through a file. To read from file, specify as shown in the example: -param="name:tag" -input_file="tag:file.txt". In this example, the name parameter will be read from file file.txt.

  • -input_file - Use this option to pass in payload or param value from file.

Examples:

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

    Invokes list resource and sources all administrators

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

    Invokes list resource and sources all administrators. The name parameter is read from file.txt.

emcli invoke_ws

-wsname=<WebService Name>

-method=<method name>

[-payload=<Payload>]

[-accept=<accept type>

[-type=response type]

[-param=Query Parameters]

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

emcli invoke_ws -method="post" -wsname="/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/" -type="application/json" -accept="application/json" -payload= 'xxxxxx'

Creates a new PaaS Infrastructure zone with the provided payload.

Example:

emcli invoke_ws -method="post" -wsname="/em/websvcs/restful/extws/cloudservices/admin/cfw/v2/resourceproviders/" -type="application/json" -accept="application/json" -payload='{"useExistingTarget":false, "name":"CLI_ZONE", "type":"self_service_zone", "credentials": [ {"name":"normal_credential_guid", "value": "AKM"} ], "memberTargetType": "host", "members": ["myhost2.idc.example.com"], "placementConstraints": [{"name":"MAX_CPU_UTILIZATION","value":["75"]}, {"name":"MAX_MEMORY_ALLOCATION","value":["75"]}], "characteristics": [ {"name":"EXAMPLE.SYSMAN.CFW.ORCL_GTP_CONTACT","value":["123456789"]}, {"name":"EXAMPLE.SYSMAN.CFW.ORCL_GTP_COST_CENTER","value":["IDC.NOIDA"]}, {"name":"EXAMPLE.SYSMAN.CFW.ORCL_GTP_DEPARTMENT","value":["CFW"]}, {"name":"EXAMPLE.SYSMAN.CFW.ORCL_GTP_LIFECYCLE_STATUS","value":["Test"]}, {"name":"EXAMPLE.SYSMAN.CFW.ORCL_GTP_LINE_OF_BUS","value":["ST"]}, {"name":"EXAMPLE.SYSMAN.CFW.ORCL_GTP_LOCATION","value":["IDC"]} ], "roles": ["SSA_USER"]}'

Same as above.

emcli get_targets

Obtain status and alert information for targets.

Options:

  • -targets=name:type - Name or type can be either a full value or a pattern match using "%". Also, name is optional, so the type alone may be specified.

  • -limit_rows="Maximum number of targets to be retrieved" - Defaults to 2000 rows, if not specified.

  • -config_search="Configuration Search UI Name" - Search UI name should be the display name of the configuration search.

  • -alerts - Displays the count of critical and warning alerts for each target.

  • -noheader - Displays tabular output without column headers.

  • -unmanaged - Displays unmanaged targets (no status or alert information).

  • -properties - Displays unmanaged targets with properties.

  • -separator_properties="separator_properties" - Displays unmanaged target properties with separator_properties.

  • -subseparator_properties="subseparator_properties" - Displays unmanaged target properties with subseparator_properties.

  • -script - This option is equivalent to -format="name:script".

  • -format - Format specification (default is -format="name:pretty").

    • -format="name:pretty" prints the output table in a readable format but is not intended to be parsed by scripts.

    • -format="name:script" sets the default column separator to a tab and the default row separator to a new line. The column and row separator strings may be specified to change these defaults.

    • -format="name:csv" sets the column separator to a comma and the row separator to a newline.

Examples:

  • emcli get_targets

    Displays a maximum of 2000 targets. Critical and Warning columns are not shown.

  • emcli get_targets -limit_rows=20

    Displays a maximum of 20 targets. Critical and Warning columns are not shown.

  • emcli get_targets -alerts

    Displays a maximum of 2000 targets. Critical and Warning columns are shown.

  • emcli get_targets -targets="oracle_database"

    Displays all "oracle_database" targets.

  • emcli get_targets -targets="%oracle%"

    Displays all targets whose type contains the string "oracle".

  • emcli get_targets -targets="database%:%oracle%"

    Displays all targets whose name starts with "database" and type contains "oracle".

  • emcli get_targets -targets="database3:oracle_database" -alerts

    Displays status and alert information on the Oracle database named "database3".

  • emcli get_targets -config_search="Search File Systems on Hosts" -targets="oracle%:host" -alerts

    Displays status and alert information of the resulting targets from configuration search named "Search File Systems on Hosts" and targets whose name starts with "oracle" and of type "host".

  • emcli get_targets -targets="host" -unmanaged

    Displays name and type information for unmanaged host targets.

  • emcli get_targets -unmanaged -properties -separator_properties=, -subseparator_properties==

    Displays name, type, and properties for unmanaged host targets with the specified separators. By default the separator_properties is ";" and the subseparator_properties is ":".

emcli get_targets

[-targets="[name1:]type1;[name2:]type2;..."]

[-alerts]

[-noheader]

[-script | -format=

[name:<pretty|script|csv>];

[column_separator:"column_sep_string"];

[row_separator:"row_sep_string"];

]

[-limit_rows="Maximum number of targets to be retrieved"]

[-config_search="Configuration Search UI Name"]

[-unmanaged]

[-properties]

[-separator_properties="properties_sep_string"]

[-subseparator_properties="properties_subsep_string"]

cancel_cloud_service_requests

Cancels cloud service requests.Either user or names option should be provided. Both cannot be used simultaneously.

  • user: The user name to be used to filter delete requests.

  • family: The Service Family Name to be used to filter cloud requests.

  • ids: List of request ids to be used to filter cloud requests separated by a semicolon(";"). Only scheduled requests can be canceled.

Example

emcli cancel_cloud_service_requests -user="user1"

Cancels all Scheduled cloud requests whose owner is specified user.

emcli cancel_cloud_service_requests -user="user1" -family="family1"

Cancels all Scheduled cloud requests owned by "user1" and service family="family1"".

emcli cancel_cloud_service_requests -user="user1" -ids="1;2"

Cancels all Scheduled cloud requests owned by "user1" and with ids 1" and "2".

emcli cancel_cloud_service_requests -user="username" [-family="family"] [-ids="id1;id2..."]

delete_cloud_service_instances

Deletes the cloud service instances based on a specified filter. This option cleans up all objects owned by a self service user when the instance is deleted.

  • user: The user name to be used to filter service instances to be deleted.

  • family: The service family name to be used to filter service instances to be deleted.

  • type: The service type to be used to filter service instances to be deleted.

Examples:

emcli delete_cloud_service_instances -user="user1"

Deletes all cloud instances whose owner is the specified user.

emcli delete_cloud_service_instances -user="user1" -family="family1"

Deletes all cloud instances owned by "user1" that belong to service family="family1".

emcli delete_cloud_service_instances -user="user1" -type="type1"

Deletes all cloud instances owned by "user1" that belong to service type="type".

emcli delete_cloud_service_instances -user="user1" -family="family1" -type="type1"

Deletes all cloud instances owned by "user1", that belong to service family="family1" and service type="type1".

emcli delete_cloud_service_instances -user="username" [-family="family"] [-type="type"]

delete_cloud_user_objects

Deletes cloud user objects including cloud service instances and requests.

  • user: The user name to be used to filter user objects.

  • purge: Purges the completed requests. Default is false

  • force: Tries to cancel In Progress requests. Depending on the Job Status, some resources may require manual cleanup. This option should be used with caution as you cannot stop or undo the operation once it has been started.

Note: If you use the purge option when some service instances are running, you must wait till the request is fully completed before you use the purge option again.

Examples:

emcli delete_cloud_user_objects -user="user1"

Deletes all cloud objects whose owner is "user1". All scheduled requests will be canceled.

emcli delete_cloud_user_objects -user="user1" -purge

Deletes all cloud objects whose owner is "user1". All scheduled requests will be canceled. All Complete Requests will be purged.

emcli delete_cloud_user_objects -user="user1" -force

Deletes all cloud objects whose owner is "user1". All scheduled requests will be canceled. All In Progress Requests will be aborted.

emcli delete_cloud_user_objects -user="username" [-purge] [-force]

get_cloud_service_instances

Retrieves the list of cloud service instances. All instances will be printed if no option is specified.

  • user: The user name to be used to filter service instances.

  • family: The service family name to be used to filter service instances.

  • type: The service family type to be used to filter service instances.

Examples:

emcli get_cloud_service_instances

Displays all the cloud instances.

emcli get_cloud_service_instances -user="user1"

Displays all cloud instances whose owner is "user1"

emcli get_cloud_service_instances -family="family1"

Displays all cloud instances that belong to service family "family1"

emcli get_cloud_service_instances -type="type1"

Displays all cloud instances that belong to service type "type1"

emcli get_cloud_service_instances [-user="username"] [-family="family"] [-type="type"]

get_cloud_service_requests

Retrieves the list of cloud requests. All requests will be printed if no filter is applied. Both options cannot be used simultaneously.

  • user: The user name to be used to filter cloud requests.

  • family: The service family name to be used to filter cloud requests.

  • ids: The list of request ids to be used to filter cloud requests separated by a semicolon.

Examples:

emcli get_cloud_service_requests

Displays all cloud requests.

emcli get_cloud_service_requests -user="user1"

Displays all cloud requests created by "user1"

emcli get_cloud_service_requests -family="family1"

Displays all cloud requests that belong to service family "family1"

emcli get_cloud_service_requests -ids="1;2"

Displays all cloud with RequestIds "1" and "2"

emcli get_cloud_service_requests [-user="username"] [-family="family"] [-ids="id1;id2..."]

get_cloud_user_objects

Retrieves the list of cloud user objects including cloud service instances and requests. All objects will be printed if the user option is not used.

- user: The user name to be used to filter user objects.

Examples:

emcli get_cloud_user_objects

Displays all cloud objects, cloud instances, requests, and other objects.

emcli get_cloud_user_objects -user="user1"

Displays cloud objects whose owner is "user1", cloud instances, requests, and other objects.

emcli get_cloud_user_objects [-user="username"]


55.18.3 EM CLI Verbs for SSA Operations for V1

The following table provides details of the deprecated verbs (v1). Users are suggested to avoid using these verbs. These verbs are available to SSA Administrator users only and cannot be used with an EM_SSA_ USER role.

Table 55-159 EM CLI Verbs for V1

Verb Description Format

create_paas_zone

Creates a PaaS Infrastructure Zone.

  • name - Name of the PaaS Infrastructure Zone to be created

  • credential - Global Named Credentials to be used for provisioning in this PaaS Infrastructure Zone.

  • hosts - Comma separated list of the Host targets to be added as members of this Paas Infrastructure Zone. PaaS Infrastructure Zone can contain either hosts or Oracle VM Zones as members.

  • ovm_zones - Comma separated list of the Oracle VM Zone targets to be added as members of this Paas Infrastructure Zone.

  • roles - Comma separated list of SSA roles that can access this PaaS Infrastructure Zone.

  • description - Description of the PaaS Infrastructure Zone.

  • cpu_utilization - Placement Policy Constraints allow the cloud administrator to set maximum thresholds for any host. Value entered must be between 1 and 100. If not provided, default value is taken to be 80 percent. Parameter is not needed if Oracle VM Zone targets are added as members.

  • memory_utilization - Another Placement Policy Constraint for PaaS Infrastructure Zone. Value entered must be between 1 and 100. If not provided, default value is taken to be 80 percent. Parameter is not needed if Oracle VM Zone targets are added as members.

Example:

emcli  create_paas_zone
    -name=MyPaaSZone
    -credential=ABCDEF
    -hosts=slc03qtn.us.example.com
    -roles="SSA_USER_ROLE1,SSA_USER_ROLE2"
    -description="Test PaaS zone"
    -cpu_utilization=40
    -memory_utilization=70

Sample Output:

PaaS Infrastructure Zone "MyPaaSZone" created successfully.

emcli create_paas_zone-name=<Name of PaaS Zone>

-credential=<Global Named Credential>

[-hosts=<Host1,Host2,Host3...>]

[-ovm_zones=<OVMZone1,OVMZone2,OVMZone3...>]

[-roles=<SsaRole1,SsaRole2,..>]

[-description=<Description of PaaS Zone>]

[-cpu_utilization=<Value between 1 and 100>]

[-memory_utilization=<Value between 1 and 100>]

update_paas_zone

Updates a PaaS Infrastructure Zone.

  • name - Name of the existing PaaS Infrastructure Zone.

  • credential - Global Named Credentials to be updated.

  • add_hosts - Comma separated list of the Host targets to be added as members of this Paas Infrastructure Zone. The hosts to be added must not be already added to other existing PaaS Zones.

  • remove_hosts - Comma separated list of the Host targets to be removed as members from this Paas Infrastructure Zone.

  • add_ovm_zones - Comma separated list of the Oracle VM Zone targets to be added as members of this Paas Infrastructure Zone. The Oracle VM Zones to be added must not be already added to other existing PaaS Zones.

  • remove_ovm_zones - Comma separated list of the Oracle VM Zone targets to be removed as members from this Paas Infrastructure Zone.

  • add_roles - Comma separated list of SSA roles to be added that can access this PaaS Infrastructure Zone.

  • remove_roles - Comma separated list of SSA roles to be removed from this PaaS Infrastructure Zone.

  • description - Updated description of the PaaS Infrastructure Zone.

  • cpu_utilization - Placement Policy Constraints allow the cloud administrator to set maximum thresholds for any host. Value entered must be between 1 and 100.

  • memory_utilization - Another Placement Policy Constraint for PaaS Infrastructure Zone. Value entered must be between 1 and 100.

emcli update_paas_zone-name=<Name of PaaS Zone>

[-description=<Description of PaaS Zone>]

[-credential=<Global Named Credential>]

[-add_hosts=<Host1,Host2,Host3...>]

[-remove_hosts=<Host4,Host5...>]

[-add_ovm_zones=<OVMZone1,OVMZone2,OVMZone3...>]

[-remove_ovm_zones=<OVMZone4,OVMZone5...>]

[-add_roles=<SsaRole1,SsaRole2,..>]

[-remove_roles=<SsaRole3,SsaRole4,..>]

[-cpu_utilization=<Value between 1 and 100>]

[-memory_utilization=<Value between 1 and 100>]

delete_paas_zone

Deletes a PaaS Infrastructure Zone. PaaS Infrastructure Zone cannot be deleted if there is an existing Software Pool associated with it.

name - Name of the existing PaaS Infrastructure Zone to be deleted.

emcli delete_paas_zone -name=<Name of PaaS Zone>

get_paas_zone_detail

Retrieves the PaaS Infrastructure Zone details.

name - Details of the existing PaaS Infrastructure Zone, such as Name, Description, Named Credentials, Number of Hosts, Roles, Maximum Memory Allocation (%), and Maximum CPU Utilization (%).

emcli get_paas_zone_detail -name=<Name of PaaS Zone>

create_pool

Creates a Software Pool.

  • name - Name of the Software Pool to be created

  • target_type - Target type of the Software Pool to be created.

  • paas_zone - Name of PaaS Infrastructure Zone in which the Software Pool is to be created.

  • members - Comma separated list of targets to be added as members of the Software Pool.

  • description - Description of the Software Pool.

  • placement_constraints - Comma separated key value pairs of the placement constraints that allow the self service administrator to set maximum ceilings for resource utilization. This provides protection for the members of the Software Pool in terms of resource consumption. Refer to the get_pool_allowed_placement_constraints verb to get the available placement constraints for a pool target type.

  • member_constraints - Comma separated key value pairs that restricts the addition of member targets to a Software Pool with a set criteria. Refer to the get_pool_allowed_member_constraints verb to get the available member constraints and their possible values for a pool target type.

  • properties - Comma separated key value pairs for additional properties that need to be specified based on the Software Pool target type.

Example:

emcli  create_pool
    -name=MyDbPool
    -target_type=oracle_cloud_zone
    -paas_zone=MyPaaSZone
    -members=OraDb11g_home1_1_slc03qtn
    -description="Test Database Pool"
    -member_constraints="CONFIGURATION=oracle_database,VERSION=11.2.0.3.0,PLATFORM=226"
    -placement_constraints="MAX_INSTANCES=7"
    -properties="host_credential_guid=DBA449B8967AAF77E040F00A73B11F55,
root_credential_guid=DBA449B8967AAF77E040F00A73B11F55"

Sample Output:

Software Pool "MyDbPool" created successfully.

Note:

  • This verb is for DB Pool. The target_type for Schema Pool is schaas_pool.

  • Though the properties are not mandated by the verb (because SSA framework owns it), they are needed and without them the pools will not work.

  • Valid property names for Schema Pool are host_credential_guid, database_credential_guid, and gi_credential_guid.

emcli create_pool -name=<Name of Software Pool>

-target_type=<Target type of Software Pool>

-paas_zone=<Paas Infrastructure Zone of Software Pool>

-members=<Member1, Member2...>

[-description=<Description of Software Pool>]

[-placement_constraints=<constraint1=value1, constraint2=value2...>]

[-member_constraints=<constraint1=value1, constraint2=value2>]

[-properties=<property1=value1, property2=value2>]

update_pool

Updates a Software Pool.

  • name - Name of the existing Software Pool.

  • target_type - Target type of the existing Software Pool. For example: "mwaas_zone" for Middleware Pool, "oracle_cloud_zone" for Database Pool, and "schaas_pool" for Schema Pool.

  • description - Description of the Software Pool.

  • add_members - Comma separated list of targets to be added as members of the Software Pool. The targets to be added must satisfy the member constraints of the Software Pool.

  • remove_members - Member targets to be removed from the Software Pool.

  • placement_constraints - Comma separated key value pairs of the placement constraints that allow the self service administrator to set maximum ceilings for resource utilization. This provides protection for the members of the Software Pool in terms of resource consumption.

  • properties - Comma separated key value pairs for properties that need to be updated based on the Software Pool target type.

emcli update_pool -name=<Name of Software Pool>

-target_type=<Target type of Software Pool>

[-description=<Description of Software Pool>]

[-add_members=<Member1, Member2...>]

[-remove_members=<Member4, Member5...>]

[-placement_constraints=<constraint1=value1,constraint2=value2...>]

[-properties=<property1=value1, property2=value2>]

delete_pool

Deletes a Software Pool. Software Pool cannot be deleted if there is an existing Service Template associated with it.

  • name - Name of an existing Software Pool.

  • target - Target type of the Software Pool.

emcli delete_pool -name=<Name of Software Pool>

-target_type=<Target type of Software Pool>

get_pool_detail

Retrieves the Software Pool details, such as name, target type, description, PaaS Infrastructure Zone, number of members, placement constraints, and member constraints.

  • name - Name of the Software Pool.

  • target - Target type of the Software Pool

emcli get_pool_detail -name=<Name of Software Pool>

-target_type=mwaas_zone

get_pool_capacity

Retrieves the software pool capacity details like CPU utilization, memory allocation, and number of instances per host for the pool entities.

  • name - Name of Software Pool

  • target_type - Target type of Software Pool

Example:

emcli  get_pool_capacity
    -name=MyDbPool
    -target_type=oracle_cloud_zone

Sample Output:

Details of Software Pool "MyDbPool" : 
Capacity information for Software Pool "MyDbPool" :
Capacity information for Entity "slc03qtn.us.example.com" of type "host" :
        Storage Utilization : 29.0 : 100.0
        CPU Utilization : 2.96 : 40.0
        Memory Utilization : 27.68 : 70.0
        Instances : 2 : 7

emcli get_pool_capacity -name=<Name of Software Pool> -target_type=<Target type of Software Pool>

get_pool_allowed_placement_constraints

Retrieves the list of placement constraints for a given pool target type.

target_type - Target type of the Software Pool

Example:

emcli  get_pool_allowed_placement_constraints
 -target_type=oracle_cloud_zone

Sample Output:

Name                   Description                                       
MAX_INSTANCES   Maximum Number of Instances

emcli get_pool_allowed_placement_constraints -target_type=<mwaas_zone>

get_pool_filtered_targets

Retrieves the filtered targets available for Software Pool creation based on the criteria passed.

  • target_type - Target type of the Software Pool

  • paas_zone - Name of PaaS Infrastructure Zone within which the filtered targets are to be retrieved

  • member_constraints - Comma separated key value pairs that restricts the addition of member targets to a Software Pool with a set criteria

Example:

emcli  get_pool_filtered_targets
    -target_type=oracle_cloud_zone
    -paas_zone=MyPaaSZone
    -member_constraints="CONFIGURATION=oracle_database,VERSION=11.2.0.3.0,PLATFORM=226"

Sample Output:

Target Type        Target Name                                       
oracle_home            OraDb11g_home1                         

emcli get_pool_filtered_targets -target_type=<Target type of Software Pool> -paas_zone=<Paas Infrastructure Zone of Software Pool> -member_constraints=<constraint1=value1, constraint2=value2>

get_pool_allowed_member_constraints

Retrieves the list of allowed Software Pool member constraint values for creation of Software Pool.

target_type - Target type of the Software Pool.

Example:

emcli  get_pool_allowed_member_constraints
 -target_type=oracle_cloud_zone

emcli get_pool_allowed_member_constraints -target_type=<Target type of Software Pool>

get_named_credential

Retrieves credential information used to create DBaaS and SchaaS Pools.

  • cred_name - The credential name

  • cred_owner - Owner of the credential

Example:

emcli  get_named_credential
    -cred_name=ABCDEF
    -cred_owner=ORACLE

Sample Output:

Output:
Credential Name:test12
Credential Owner:ORACLE
Credential Type:HostCreds
Credential Target Type:host
Credential Username:test123
Credential Scope:global
Credential Guid:DBA449B8967AAF77E040F00A73B11F55
Credential Stripe:TARGETS
Credential Columns:
        HostPassword=******
        HostUserName=test12