Skip Headers
Oracle® Enterprise Manager Cloud Administration Guide
12c Release 3 (12.1.0.3)

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

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

31 SSA Administration APIs

This chapter provides details of the Cloud (RESTful) APIs and Service Template APIs for SSA Administration functions. In this release, APIs for PaasZone Management and SoftwarePool Management have been implemented. Other APIs used to fetch the API catalog, API output, and metadata and expansion of a resource are also described.

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.

This chapter has the following sections:

31.1 SSA Admin Resources

The Cloud APIs supported in this release 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 31-1 Common Resource Attributes for Singular Resources

Field Type Occurs Supported Method Description

name

String

1

Any

Name of Resource

type

String

1

Any

Resource Type

description

String

0..1

Any

Description

id

String

0..1

GET

Resource Identifier

createdOn

TimeStamp

0..1

GET

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

createdBy

String

0..1

GET

User who created resource

modifiedOn

TimeStamp

0..1

GET

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

ModifiedBy

Date

0..1

GET

User who last modified resource

owner

String

0..1

GET

User who owns resource

etag

String

0..1

GET

HTTP Entity tag value

lastModified

String

0..1

GET

HTTP Last-Modified value

canonicalLink

URI

1

GET

Preferred Version of Resource

selfLink

URI

1

GET

Refers to resource equivalent to the containing element


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.

31.1.1 GET to get API Entry Point Resources

The following shows a sample GET request and response:

Example Request:

  • URL

    https://example.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/api 
    
  • Headers

    Authorization: basic xxxxxxxxx

  • Method

    GET

Example Response:

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

31.2 PaasZones

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 31-2 PaasZones Data Model

Field Type Occurs Description

name

String

1

Display name of this collection resource

type

String

1

Type of this collection resource

hasMore

Boolean

1

Indicates whether there are more elements in the collection

count

Integer

1

Number of elements returned

items

Collection <PaasZone>

1

List of Paas Zone resources.

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

totalCount

Integer

1

Total number of Paas Zone resources

canonicalLink

URI

1

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

selfLink

URI

1

Refers to the resource equivalent to the containing elements.


The following table describes the Supported Methods for PaaSZones:

Table 31-3 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


31.2.1 PaasZones API Examples

The following sections provide example PaasZones 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 31.8.2, "Using EMCLI Verbs for SSA Operations".

31.2.1.1 Retrieving PaaS Zones Metadata

The GET request with metadata path is issued to fetch Metadata Information.

Example Request:

  • URL

    https://hostname/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/metadata
    
  • Headers

    Authorization: basic xxxxxxxxx

    Content-Type: application/json

  • Method

    GET

Example Response:

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

31.2.1.2 Listing PaaS Zones

The GET request can be issued to get list of PaasZone Instances.

Example Request:

  • URL

    https://example.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/
    
  • Headers

    Authorization: basic xxxxxxxxx

    Content-Type: application/json

  • Method

    GET

Example Response:

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.oracle.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.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/EF3830C71CC54B50B963376F9217AB95"
  }, {
    "name" : "test paas zone",
    "id" : "5D7548C1B879A51CFD894CEA8D5FB19B",
    "type" : "self_service_zone",
    "canonicalLink" : "https://example.oracle.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.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/CACBB07A674F280DF84FC4CBFA76DFA7"
  } ],
  "totalCount" : 4,
  "canonicalLink" : "https://example.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones",
  "selfLink" : "https://example.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones"
}

31.3 PaasZone

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

Table 31-4 PaaSZone Data Model

Field Type Supported Methods Occurs Description

name

String

Any

1

A human readable name given to the PaaS Zone.

It is non editable.

id

String

GET

1

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

description

String

Any

0..1

A brief description given to the zone.

credential

String

Any

1

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

members

Collection<String>

GET

POST

1

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

memberType

String

GET

POST

1

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.

constraints

Collection<EntityValueHolder>

Any

0..1

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

Refer to zone metadata API for more information.

roles

Collection<String>

GET

POST

0..1

SSA roles that can access this PaaS Infrastructure Zone.

pools

Collection<SoftwarePool>

GET

0..1

Software Pools associated with this PaaS Zone

membersToAdd

Collection<String>

PUT

0..1

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

membersToRemove

Collection<String>

PUT

0..1

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

rolesToAdd

Collection<String>

PUT

0..1

SSA roles to be added while editing a PaaS Zone

rolesToRemove

Collection<String>

PUT

0..1

SSA roles to be removed while editing a PaaS Zone.


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 31-5 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


31.3.1 PaaS Zone API Examples

The following sections provide example Paas Zone 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 31.8.2, "Using EMCLI Verbs for SSA Operations".

31.3.1.1 Creating a PaaS Zone

A PaaS Zone is created with a POST request on the paaszones collection resource.

Example Request:

  • URL

    https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/
    
  • Headers

    Authorization: basic xxxxxxxxx

    Content-Type: application/json

  • Method

    POST

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

Example Response:

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

31.3.1.2 Updating a PaaS Zone

The PUT request with payload updates an existing PaaS Infrastructure Zone.

Example Request:

  • URL

    https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/
    
  • Headers

    Authorization: basic xxxxxxxxx

    Content-Type: application/json

  • Method

    PUT

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

Example Response:

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

31.3.1.3 Deleting a PaaS Zone

The DELETE request on the URI of the PAASZONE can be issued to delete a PaasZone Instance.

Example Request:

  • URL

    https://cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67
    
  • Headers

    Authorization: basic xxxxxxxxx

  • Method

    DELETE

Example Response:

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.

31.3.1.4 Retrieving PaasZone details

The GET request on the PaasZone resource can be issued to retrieve its details.

Example Request:

  • URL

    https://example.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/ A3CF2D49CFF3F3E664D073303EA51F8E
    
  • Headers

    Authorization: basic xxxxxxxxx

  • Method

    GET

Example Response:

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.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A3CF2D49CFF3F3E664D073303EA51F8E/members",
    "memberType" : "host",
    "numberOfHostMembers" : "2"
  },
  "constraints" : {
    "canonicalLink" : "https://example.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A3CF2D49CFF3F3E664D073303EA51F8E/constraints",
    "numberOfConstraints" : "2"
  },
  "roles" : {
    "canonicalLink" : "https://example.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A3CF2D49CFF3F3E664D073303EA51F8E/roles",
    "numberOfUserRoles" : "1"
  },
  "pools" : {
    "canonicalLink" : "https://example.oracle.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.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A3CF2D49CFF3F3E664D073303EA51F8E",
  "selfLink" : "https://example.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/A3CF2D49CFF3F3E664D073303EA51F8E"
}

31.3.1.5 Getting a PaasZone (Expanded)

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

URL is of the format

https://example.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/{zomeid}/?expands=<paramname>

Example:

https://hostname/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67/?expands=constraints

Example Response

{
  "name" : "My Test Zone",
  "description" : "Description_02",
  "type" : "PaaS Infrastructure Zone",
  "id" : "DDBFEFDAD2AE6490E040F00AA37D4C67",
  "credential" : "C",
  "members" : {
    "canonicalLink" : "https://example.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67/members",
    "memberType" : "host",
    "numberOfHostMembers" : "1"
  },
  "constraints" : {
    "canonicalLink" : "https://example.oracle.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.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67/roles",
    "numberOfUserRoles" : "0"
  },
  "pools" : {
    "canonicalLink" : "https://example.oracle.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.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67",
  "selfLink" : "https://example.oracle.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/paaszones/DDBFEFDAD2AE6490E040F00AA37D4C67"
}

31.4 SoftwarePools

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 31-6 SoftwarePools Data Model

Field Type Occurs Description

name

String

1

Display name of this collection resource

type

String

1

Type of this collection resource

hasMore

Boolean

1

Indicates whether there are more elements in the collection

count

Integer

1

Number of elements returned

items

Collection <SoftwarePools>

1

The elements of this collection

totalCount

Integer

1

Total number of elements in the collection

canonicalLink

URI

1

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

selfLink

URI

1

Refers to the resource equivalent to the containing elements.


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

Table 31-7 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


31.4.1 SoftwarePools API Example

The following provides an example of a SoftwarePools 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 31.8.2, "Using EMCLI Verbs for SSA Operations"

31.4.1.1 Listing Software Pools

A GET request on SoftwarePools resource is issued to list all the accessible Software Pools.

Example Request:

  • URL

    https:// cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools
    
  • Headers

    Authorization: basic xxxxxxxxx

  • Method

    GET

Example Response:

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

31.4.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.

Example Request:

  • URL

    https:// cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools? zonename=IT_MW%&pooltype=mwaas_zone
    
  • Headers

    Authorization: basic xxxxxxxxx

  • Method

    GET

Example Response:

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

31.5 SoftwarePool

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 31-8 SoftwarePool Data Model

Field Type Supported Methods Occurs Description

name

String

Any

1

A human readable name given to the Software Pool.

It is non editable.

id

String

GET

1

Pool GUID that uniquely identifies the resource.

description

String

Any

0..1

A brief description given to the Software Pool.

poolTargetType

String

Any

1

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.

paasZone

String

GET

POST

1

Name of the PaaS Zone associated with this Software Pool.

members

Collection<String>

GET

POST

1

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

constraints

Collection<EntityValueHolder>

Any

0..1

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

filters

Collection < EntityValueHolder >

GET

POST

1

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

properties

Collection< EntityValueHolder >

Any

1

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

membersToAdd

Collection<String>

PUT

0..1

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

membersToRemove

Collection<String>

PUT

0..1

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

canonicalLink

URI

GET

1

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


Note:

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

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

Table 31-9 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


31.5.1 SoftwarePool API Examples

The following sections provide example SoftwarePool 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 31.8.2, "Using EMCLI Verbs for SSA Operations"

31.5.1.1 Creating a Software Pool

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

Example Request:

  • URL

    https:// cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools
    
  • Headers

    Authorization: basic xxxxxxxxx

    Content-Type : application/json

  • Method

    POST

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

Example Response:

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

31.5.1.2 Updating a Software Pool

A PUT operation is issued on Software Pools Collection resource to update an Software Pool.

Example Request:

  • URL

    https:// cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools
    
  • Headers

    Authorization: basic xxxxxxxxx

    Content-Type : application/json

  • Method

    PUT

    { 
    "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"}]},
    }            
    

Example Response:

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

31.5.1.3 Deleting a Software Pool

The following shows an example request and response:

Example Request:

  • URL

    https:// cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD
    
  • Headers

    Authorization: basic xxxxxxxxx

  • Method

    DELETE

Example Response:

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

31.5.1.4 Retrieving Software Pool Details

A GET request on SoftwarePool resource is issued to get a specific Software Pool details.

Example Request:

  • URL

    https:// cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD
    
  • Headers

    Authorization: basic xxxxxxxxx

    Content-Type : application/json

  • Method

    GET

Example Response:

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

31.5.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 URL has the following format:

https://hostname/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.

31.5.2 SoftwarePoolMetadata

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 31-10 SoftwarePoolMetadata Data Model

Field Type Occurs Description

canonicalLink

URI

1

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

poolType

String

1

Target type of the Software Pool

poolTypeDisplayName

String

0..1

Display name of this Software Pool target type.

poolTypeDescription

String

0..1

Description of the Software Pool target type.

serviceFamily

String

1

Represents the service family to which this pool type belongs.

serviceType

String

1

Represents the service type to which this pool type belongs.

constraints

Collection<ValueDescriptor>

0..1

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

filters

Collection< ValueDescriptor >

0..1

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


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.

31.5.2.1 Retrieving Software Pool Metadata 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 31.8.2, "Using EMCLI Verbs for SSA Operations"

Example Request:

  • URL

    https:// cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/metadata
    
  • Headers

    Authorization: basic xxxxxxxxx

  • Method

    DELETE

Example Response:

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

31.5.3 SoftwarePoolFilteredTargets

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 31-11 SoftwarePoolFilteredTargets Data Model

Field Type Occurs Description

canonicalLink

URI

1

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

targetType

String

1

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]

paasZone

String

1

Name of the PaaS Zone representing a filter criteria.

[POST]

targets

Map<String, List<String>>

1

Filtered targets after applying the filter criteria.

filters

Collection<Filters>

1

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]


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.

31.5.3.1 Retrieving Available Filtered Targets 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 31.8.2, "Using EMCLI Verbs for SSA Operations"

Example Request:

  • URL

    https:// cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools
    
  • Headers

    Authorization: basic xxxxxxxxx

    Content-Type : application/json

  • Method

    POST

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

Example Response:

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

31.5.4 SoftwarePoolCapacity

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 31-12 SoftwarePoolCapacity Data Model

Field Type Occurs Description

canonicalLink

URI

1

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

name

String

1

Name of the Software Pool.

[POST]

type

String

1

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

capacity

Collection<Filters>

1

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]


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.

31.5.4.1 Retrieving Software Pool Capacity API Example

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 31.8.2, "Using EMCLI Verbs for SSA Operations"

Example Request:

  • URL

    https:// cloudcompany.com/em/websvcs/restful/extws/cloudservices/admin/cfw/v1/softwarepools/687FE169ED3556CED38D11DC9BDD5CCD/capacity
    
  • Headers

    Authorization: basic xxxxxxxxx

  • Method

    GET

Example Response:

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

31.6 Composite Resource Attributes

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

31.6.1 ValueDescriptor

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 31-13 ValueDescriptor Data Model

Field Type Occurs Description

name

String

1

Name of the datum being described.

description

String

1

Description of the datum being described.

defaultValue

String

1

Default value of the datum being described.

isRequiredValue

Boolean

1

True if the value is required.

possibleValues

Collection<ValueEntity>

0..1

Optional list of valid values of the datum being described.


31.6.2 ValueEntity

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

Table 31-14 ValueEntity Data Model

Field Type Occurs Description

value

String

1

String representation of the actual value of the entity.

description

String

0..1

Caption of the entity that describes it.


31.6.3 EntityValueHolder

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

Table 31-15 EntityValueHolder Data Model

Field Type Occurs Description

name

String

1

Name of the entity

value

String

1

String representation of the actual value of the entity.

description

String

0..1

Caption of the entity that describes it.


31.6.4 PoolEntityCapacity

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

Table 31-16 PoolEntityCapacity Data Model

Field Type Occurs Description

entityName

String

1

Name of the entity

entityType

String

1

Target type of the entity.

entityCapacity

Collection<ResourceTypeCapacity>

1

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


31.6.5 ResourceTypeCapacity

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 31-17 ResourceTypeCapacity Data Model

Field Type Occurs Description

resourceType

String

1

Type of the resource like Storage Utilization.

resourceUsed

String

1

String representation of the used resource.

resourceThreshold

String

0..1

String representation of the resource threshold.

resourceUnit

String

0..1

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


31.7 Service Template Management

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

31.7.1 Service Template Resources

This table lists the common attributes for singular resources.

Table 31-18 Common Resource Attributes for Singular Resources

Field Type Occurs Supported Method Description

name

String

1

Any

Name of the resource.

type

String

1

Any

Resource type

description

String

0.1

Any

Description

id

String

0.1

GET

Resource Identifier

createdOn

TimeStamp

0.1

GET

Date and time (in W3C format) on which the resource was created.

createdBy

String

0.1

GET

The user who created the resource.

modifiedOn

TimeStamp

0.1

GET

Date and time (in W3C format) on which the resource was modified.

modifiedBy

String

0..1

GET

The user who last modified the resource.

owner

String

0..1

GET

The user who owns the resource.

etag

String

0..1

GET

HTTP entity tag value.

lastModified

String

0..1

GET

HTTP last modified value.

canonicalLink

URI

1

GET

Preferred version of resource.

selfLink

URI

1

GET

Refers to resource equivalent to the containing element.


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.

31.7.2 Service Templates

A service template is a collection resource representing a Cloud Administrator's view of all the accessible service template resources. The following table describes the Service Templates [application/oracle.com.cloud.common.ServiceTemplates+json] data model.

Table 31-19 Service Template Data Model

Field Type Occurs

name

String

1

Display name of this collection resource.

type

String

1

Type of collection resource.

hasMore

Boolean

1

Indicates whether there are more elements in this collection resource.

count

Integer

1

The number of elements in the collection resource.

items

Collection <integer>

1

List of service template resources. If there are no service templates present, empty items will be present ** need details **

totalCount

Integer

1

Total number of service template resources.

canonicalLink

URI

1

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

selfLink

URI

1

Refers to the resource equivalent to the containing elements.


31.7.3 Service Methods for Service Templates

The following table describes the supported methods for service templates.

Table 31-20 Supported Methods for Service Templates

Method Query Parameters Request Payload URI Description

GET

servicetype

NA

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

Returns service template collection resource details for all service types.

GET

poolid

zoneid

NA

em/websvcs/restful/extws/cloudservices/admin/cfw/v1/servicetemplates/<service type>

Returns service template collection resource details for selected resource type.

GET/metadata

NA

NA

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

Returns service template metadata for all service types that can be used as payload in POST/PUT requests.

GET/metadata

executabletype

NA

em/websvcs/restful/extws/cloudservices/admin/cfw/v1/servicetemplates/<service type>/metadata

Returns service template metadata for selected service types that can be used as payload in POST/PUT requests.


31.7.4 Service Template

This resource represents a Service Template. The following table describes the Service Template [application/oracle.com.cloud.common.ServiceTemplate+json] data model.

Table 31-21 Service Template Data Model (II)

Field Type Supported Methods Occurs Description

name

String

Any

1

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

type

String

Any

1

Service template type (virtual or physical).

id

String

GET

1

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

description

String

Any

0..1

A brief description given to the service template.

roles

Collection<String>

GET

POST

0..1

SSA roles that can access the template.

pools

Collection <pool>

Any

0..1

Software pools associated with this template.

poolsToAdd

Collection<String>

PUT

0..1

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

poolsToRemove

Collection<String>

PUT

0..1

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

rolesToAdd

Collection<String>

PUT

0..1

SSA roles to be added while a template is being edited.

rolesToRemove

Collection<String>

PUT

0..1

SSA roles to be removed while a template is being edited.

executableEntity

ServiceExecutableMetaDataEntity

Any

1

Service executable to be used for the service template.


31.7.5 Service Methods for Service Template Resources

The following table describes the supported methods for service templates resources.

Table 31-22 Supported Methods on Service Template 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

POST

NA

Service Template (Json payload)

 

em/websvcs/restful/extws/cloudservices/admin/cfw/v1/servicetemplates/<serviceFamily>

Create service template resource.


31.7.6 Config Parameters

The following table lists the configuration parameters.

Table 31-23 Configuration Parameters

Field Type Occurs Description

id

String

1

ID

name

String

1

Name of the configuration key.

value

String

1

Value of the configuration key.

defaultValue

String

0..1

Default value

description

String

0..1

Description of the configuration key.

required

boolean

1

Required status of the configuration key.

secret

boolean

1

Indicates whether configuration key is hidden or not.

possibleValues

Collection<String>

0..1

Set of possible values.


31.7.7 ServiceExecutableMetaDataEntity

This following table ....

Table 31-24 ServiceExecutableMetaDataEntity

Field Type Supported Methods Occurs Description

name

String

Any

1

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

Any

0..1

This can be:

  • Job

  • DP

  • CDP

  • Profile

configurations

Collection<ConfigParam>

Any

1

Executable Configuration Parameters


The following table describes the supported methods on the ServiceExecutableMetaDataEntity resource.

Table 31-25 Supported Executable on ServiceExecutableMetaDataEntity Resources

Method Query Parameters Request Payload Response Payload URI Description

GET

type

NA

Collection of ServiceExecutableMetaDataEntity (Json Payload)

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

Retrieve service template executable metadata.


31.8 EMCLI Verbs for Self Service Applications

The Enterprise Manager Command Line Interface (EMCLI) 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 EMCLI verbs for PaaS Infrastructure Zone and Software Pool operations for Enterprise Manager Self Service Applications Admin users.

31.8.1 Introduction

EMCLI verbs will be supported for the following operations in Enterprise Manager release 12.1.0.5:

  • PaaS Infrastructure Zones and Software Pools – Create, Edit, List, Delete

  • PaaS Infrastructure Zones and Software Pools – Add and Remove members

All PaaS Infrastructure Zone EMCLI 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. EMCLI verbs will obtain user information from the security context and verify only those users authorized to perform these operations.

31.8.2 Using EMCLI Verbs for SSA Operations

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

Table 31-26 Verb Details

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=BBANTHIA
    -hosts=slc03qtn.us.oracle.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.oracle.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=BBANTHIA
    -cred_owner=ORACLE

Sample Output:

Output:
Credential Name:BBANTHIA
Credential Owner:ORACLE
Credential Type:HostCreds
Credential Target Type:host
Credential Username:bbanthia
Credential Scope:global
Credential Guid:DBA449B8967AAF77E040F00A73B11F55
Credential Stripe:TARGETS
Credential Columns:
        HostPassword=******
        HostUserName=bbanthia

emcli get_named_credential -cred_name=<name> -cred_owner=<owner>