CEMLI Execution API Specifications
Use the CEMLI Execution APIs to create, schedule, retrieve, list CEMLI patch executions for all applicable instances (for CEMLI enabled support identifiers). It also provides the functionality to check for execution conflicts and view the execution logs.
Create Execution
Use this API to create a CEMLI execution.
API
/cemli/v1/customers/{supportIdentifier}/{serviceType}/products/patch/instances/{instanceId}/executions
Scope and AuthZ
- You must have
mcs:oci:api:PrivilegedUser
scope to access this API. - You can create CEMLI execution only for your customer instances.
- You can use CEMLI execution API only if your customer has opted-in for CEMLI functionality.
Headers
- Authorization: Bearer <Token>
Where <Token> is the OAUTH token returned by the Authorization Server (JWT Token).
- Identifier: <JWKS Identifier>
Where <JWKS Identifier> is the GUID generated when JWKS URI is set by customer admin in self-service platform.
Dependency
Base Path
/cemli/v1/
Functionality
- This API allows the user to create a CEMLI patch execution for a customer instance.
- Request fields that require explanation:
selfService
is the type of patch execution. The supported value is CEMLI_PATCH.autoSkip
value decides whether the execution must continue with the subsequent patches if failures occur while applying any of the selected patches.autoStop
value decides whether the execution must stop if failures occur while applying any of the selected patches.nonProdRfc
is the corresponding NonProduction ticket for which the patch execution was done with the same patch list.duration
is the time needed for applying the patch.bounceOptions
specifies the components that need to be bounced. Applicable bounce options can be fetched using Get Bounce Options for an instance.primaryContact
is the contact to be used while creating the ticket. This parameter must be the valid contact for Customer Support Identifier (CSI).
- Response field that requires an explanation:
id
is the unique identifier for the execution.
Verb
POST
Parameters
Name | Type | Description | Mandatory |
---|---|---|---|
supportIdentifier |
Path parameter | Customer Support Identifier (CSI) | Yes |
serviceType |
Path parameter | Service type (For example, EBSO, EBSZ, or EBSI) | Yes |
instanceId |
Path parameter | Instance name or target name | Yes |
Sample request
{
"selfService": "CEMLI_PATCH",
"patchNumbers": [
10000001992,
10000001991
],
"summary": "Apply 2 cemli patches",
"nonProdRfc": "3-B3RSD2H",
"duration": {
"unit": "hours",
"value": 4
},
"bounceOptions": {
"options": [
{
"name": "bounceAddOnCACHE",
"value": true
}
],
"hosts": [
{
"name": "vserv1282.us.oracle.com",
"tier": "MT",
"options": [
{
"name": "APACHE",
"value": true
},
{
"name": "OPMN",
"value": true
}
]
},
{
"name": "vserv1283.us.oracle.com",
"tier": "MT",
"options": [
{
"name": "APACHE",
"value": true
},
{
"name": "OPMN",
"value": true
}
]
}
]
},
"autoSkip": true,
"autoStop": false,
"ticketingDetails": {
"primaryContact": "<email ID>",
"customerNote": "Action Plan"
}
}
Sample Response
{
"id": "3-7JZXAMZ",
"rfcNumber": "3-7JZXAMZ"
}
Schedule Execution
Use this API to schedule or reschedule a CEMLI execution.
API
/cemli/v1/customers/{supportIdentifier}/{serviceType}/products/patch/instances/{instanceId}/executions/{executionId}
Scope and AuthZ
- You must have
mcs:oci:api:Approver
scope to access this API. - You can schedule CEMLI execution only for your customer instances.
- You can use CEMLI execution API only if your customer has opted-in for CEMLI functionality.
Headers
- Authorization: Bearer <Token>
Where <Token> is the OAUTH token returned by the Authorization Server (JWT Token).
- Identifier: <JWKS Identifier>
Where <JWKS Identifier> is the GUID generated when JWKS URI is set by customer admin in self-service platform.
Base Path
/cemli/v1/
Dependency
Functionality
- This API allows you to schedule or reschedule a CEMLI patch execution for a customer instance.
- Request field that requires an explanation:
scheduledTime
is the time in UTC when the execution has to be scheduled. ScheduleTime must be at least 16 minutes from the current time.
Verb
PUT
Parameters
Name | Type | Description | Mandatory |
---|---|---|---|
supportIdentifier |
Path parameter | Customer Support Identifier (CSI) | Yes |
serviceType |
Path parameter | Service type (For example, EBSO, EBSZ, or EBSI) | Yes |
instanceId |
Path parameter | Instance name or target name on which patches have to be applied | Yes |
executionId |
Path parameter | Unique execution ID for the patch execution | Yes |
Sample request
{
"scheduledTime": "2020-08-26T8:53:51-07:00",
"action": "schedule"
}
Sample response (success)
{
"scheduledStart": "2020-08-26T8:53:51-07:00",
"scheduledEnd": "2020-08-26T10:53:51-07:00",
"status": "Open",
"subStatus": "Ready For Execution",
"custStatus": "Review Update"
}
Sample response (conflicts)
Following is the response, if conflicting tickets exist for an instance and cannot proceed with scheduling.
{
"conflicts": [
{
"rfcNumber": "3-7JZXAMZ",
"rfcType": "CODE_PROMO",
"rfcSubType": "CEMLI_PATCH",
"status": "Open",
"subStatus": "Ready For Execution",
"scheduledStart": "2020-08-26T8:53:51-07:00",
"scheduledEnd": "2020-08-26T10:53:51-07:00",
"duration": {
"unit": "hours",
"value": 2
}
},
{
"rfcNumber": "3-7JZXAGH",
"rfcType": "OCIEBS_Prod_SelfService",
"rfcSubType": "SelfService_Bounce",
"status": "Open",
"subStatus": "Ready For Execution",
"scheduledStart": "2020-08-26T8:53:51-07:00",
"scheduledEnd": "2020-08-26T10:53:51-07:00",
"duration": {
"unit": "hours",
"value": 3
}
},
{
"rfcNumber": "3-6JZXAMH",
"rfcType": "Configuration - EBSO",
"rfcSubType": "Autoexec-Config",
"status": "Open",
"subStatus": "Ready For Scheduling/Approval",
"scheduledStart": "2020-08-26T8:53:51-07:00",
"scheduledEnd": "2020-08-26T10:53:51-07:00",
"duration": {
"unit": "hours",
"value": 4
}
}
]
}
Cancel Schedule
Use this API to cancel the schedule for a CEMLI execution.
API
/cemli/v1/customers/{supportIdentifier}/{serviceType}/products/patch/instances/{instanceId}/executions/{executionId}
Scope and AuthZ
- You must have
mcs:oci:api:Approver
scope to access this API. - You can cancel CEMLI execution only for your customer instances.
- You can use CEMLI execution API only if the customer has opted-in for CEMLI functionality.
Headers
- Authorization: Bearer <Token>
Where <Token> is the OAUTH token returned by the Authorization Server (JWT Token).
- Identifier: <JWKS Identifier>
Where <JWKS Identifier> is the GUID generated when JWKS URI is set by customer admin in self-service platform.
Base Path
/cemli/v1/
Dependency
Functionality
- This API allows you to cancel the schedule for a CEMLI patch execution.
Verb
PUT
Parameters
Name | Type | Description | Mandatory |
---|---|---|---|
supportIdentifier |
Path parameter | Customer Support Identifier (CSI) | Yes |
serviceType |
Path parameter | Service type (For example, EBSO, EBSZ, or EBSI) | Yes |
instanceId |
Path parameter | Instance name or target name on which patches have to be applied | Yes |
executionId |
Path parameter | Unique execution ID for the patch execution | Yes |
Sample request
{
"action": "cancel"
}
Sample response (success)
{
"status": "Open",
"subStatus": "Ready For Scheduling/Approval",
"custStatus": "Review Update"
}
Get Execution Details
Use this API get details for a CEMLI patch execution.
API
/cemli/v1/customers/{supportIdentifier}/{serviceType}/products/patch/instances/{instanceId}/executions/{executionId}
Scope and AuthZ
- You must have
mcs:oci:api:User
scope to access this API. - You can get execution details for your customer.
- You can use CEMLI execution API only if your customer has opted-in for CEMLI functionality.
Headers
- Authorization: Bearer <Token>
Where <Token> is the OAUTH token returned by the Authorization Server (JWT Token).
- Identifier: <JWKS Identifier>
Where <JWKS Identifier> is the GUID generated when JWKS URI is set by customer admin in self-service platform.
Base Path
/cemli/v1/
Dependency
Functionality
- This API allows you to get details for a CEMLI patch execution.
- Response fields that require an explanation:
selfService
is the type of patch execution. The supported value is CEMLI_PATCH.autoSkip
value decides whether the execution must continue with the subsequent patches if failures occur while applying any of the selected patches.autoStop
value decides whether the execution must stop if failures occur while applying any of the selected patches.nonProdRfc
is the corresponding NonProduction ticket for which the patch execution was done with the same patch list.duration
is the time needed for applying the patchbounceOptions
specifies the components that need to be bounced if required. Applicable bounce options can be fetched using Get Bounce Options for an Instance.primaryContact
is the contact to be used while creating the ticket. This parameter must be the valid contact for Customer Support Identifier (CSI).
Verb
GET
Parameters
Name | Type | Description | Mandatory |
---|---|---|---|
supportIdentifier |
Path parameter | Customer Support Identifier (CSI) | Yes |
serviceType |
Path parameter | Service type (For example, EBSO, EBSZ, or EBSI) | Yes |
instanceId |
Path parameter | Instance name or target name on which the patches have to be applied | Yes |
executionId |
Path parameter | Unique execution ID for the patch execution | Yes |
Sample response
{
"autoSkip": true,
"autoStop": false,
"bounceOptions": {
"hosts": [
{
"name": "adc42setest043.oracleoutsourcing.com",
"options": [
{
"label": "Apache",
"name": "APACHE",
"value": true
},
{
"label": "Concurrent Manager",
"name": "CONCURRENT_MANAGER",
"value": false
}
],
"tier": "MT"
}
],
"options": [
{
"label": "Managed Server",
"name": "managed_servers",
"value": false
},
{
"label": "Clear Apache Cache",
"name": "bounceAddOnCACHE",
"value": true
}
],
"specialInstructionsExist": false
},
"createdBy": "<email ID>",
"createdOn": "2021-12-21T14:34:39Z",
"duration": {
"unit": "Hours",
"value": 2
},
"hotBackup": false,
"id": "3-CDNJILA",
"patchListOption": "10000001923-CEMLI#US",
"patchNumbers": [
"10000001923"
],
"patchStaged": false,
"scheduledBy": "<user's email ID>",
"scheduledEnd": "2021-12-21T17:04:43Z",
"scheduledStart": "2021-12-21T15:04:43Z",
"summary": "Apply 1 cemli patches; Auto RFC - AutoSkip",
"target": "TCMATI",
"ticketingDetails": {
"customerNote": "Action Plan",
"customerStatus": "Review Update",
"primaryContact": "<primary contact's email ID>",
"rfcNumber": "3-CDNJILA",
"rfcSubType": "CEMLI_PATCH",
"rfcType": "OCIEBS_CEMLI_PATCH",
"status": "Open",
"subStatus": "Ready For Execution"
},
"updatedBy": "<user's email ID>",
"updatedOn": "2021-12-21T14:34:44Z"
}
List of Executions
Use this API to list CEMLI patch executions.
API
/cemli/v1/customers/{supportIdentifier}/{serviceType}/products/patch/instances/executions
Scope and AuthZ
- You must have
mcs:oci:api:User
scope to access this API. - You can list executions that belong to your customer.
- You can use CEMLI execution API only if your customer has opted-in for CEMLI functionality.
Headers
- Authorization: Bearer <Token>
Where <Token> is the OAUTH token returned by the Authorization Server (JWT Token).
- Identifier: <JWKS Identifier>
Where <JWKS Identifier> is the GUID generated when JWKS URI is set by customer admin in self-service platform.
Base Path
/cemli/v1/
Dependency
Functionality
- This API allows you to list CEMLI patch executions.
- Response field that requires an explanation:
id
is the unique identifier for the ticket.
Verb
GET
Parameters
Name | Type | Description | Mandatory |
---|---|---|---|
supportIdentifier |
Path parameter | Customer Support Identifier (CSI) | Yes |
serviceType |
Path parameter | Service type (For Example, EBSO, EBSZ, or EBSI) | Yes |
target |
Query parameter | Instance name or target name | No |
patchNumber |
Query parameter | Patch number | No |
status |
Query parameter | Status | No |
subStatus |
Query parameter | Sub status | No |
customerStatus |
Query parameter | Customer status | No |
Sample response (success)
[
{
"createdBy": "<email ID>",
"createdOn": "2021-12-21T14:34:39Z",
"id": "3-CDNJILA",
"patchNumbers": [
"10000001923"
],
"scheduledBy": "<user's email ID>",
"scheduledEnd": "2021-12-21T17:04:43Z",
"scheduledStart": "2021-12-21T15:04:43Z",
"target": "TCMATI",
"ticketingDetails": {
"customerNote": "Action Plan",
"customerStatus": "Review Update",
"primaryContact": "<Primary contact's email ID>",
"rfcNumber": "3-CDNJILA",
"rfcSubType": "CEMLI_PATCH",
"rfcType": "OCIEBS_CEMLI_PATCH",
"status": "Open",
"subStatus": "Ready For Execution"
}
},
{
"createdBy": "<user's email ID>",
"createdOn": "2021-12-21T14:28:30Z",
"id": "3-CDN0AVI",
"patchNumbers": [
"10000001923"
],
"target": "TCMATI",
"ticketingDetails": {
"customerNote": "Action Plan",
"customerStatus": "Review Update",
"primaryContact": "<Primary contact's email ID>",
"rfcNumber": "3-CDN0AVI",
"rfcSubType": "CEMLI_PATCH",
"rfcType": "OCIEBS_CEMLI_PATCH",
"status": "Open",
"subStatus": "Ready for Scheduling/Approval"
}
}
]
Get Execution Conflict
Use this API to get execution conflicts.
API
/cemli/v1/customers/{supportIdentifier}/{serviceType}/products/patch/instances/{instanceId}/executions
Scope and AuthZ
- You must have
mcs:oci:api:Approver
scope to access this API. - You can get conflict details for the executions that belong to your customer instances.
- You can use CEMLI execution API only if your customer has opted-in for CEMLI functionality.
Headers
- Authorization: Bearer <Token>
Where <Token> is the OAUTH token returned by the Authorization Server (JWT Token).
- Identifier: <JWKS Identifier>
Where <JWKS Identifier> is the GUID generated when JWKS URI is set by customer admin in self-service platform.
Base Path
/cemli/v1/
Dependency
Functionality
This API allows you to get execution conflicts.
Verb
GET
Parameters
Name | Type | Description | Mandatory |
---|---|---|---|
supportIdentifier |
Path parameter | Customer Support Identifier (CSI) | Yes |
serviceType |
Path parameter | Service type (For example, EBSO, EBSZ, or EBSI) | Yes |
instanceId |
Path parameter | Instance name or target name | Yes |
scheduledStart |
Query parameter | Scheduled start (start date for conflict check) | No |
scheduledEnd |
Query parameter | Scheduled end (end date for conflict check) | No |
Sample response
[
{
"rfcNumber": "3-7JZXAMZ",
"rfcType": "CODE_PROMO",
"rfcSubType": "CEMLI_PATCH",
"status": "Open",
"subStatus": "Ready For Execution",
"scheduledStart": "2020-08-26T8:53:51-07:00",
"scheduledEnd": "2020-08-26T10:53:51-07:00",
"duration": {
"unit": "hours",
"value": 2
}
},
{
"rfcNumber": "3-7JZXAGH",
"rfcType": "OCIEBS_Prod_SelfService",
"rfcSubType": "SelfService_Bounce",
"status": "Open",
"subStatus": "Ready For Execution",
"scheduledStart": "2020-08-26T8:53:51-07:00",
"scheduledEnd": "2020-08-26T10:53:51-07:00",
"duration": {
"unit": "hours",
"value": 3
}
},
{
"rfcNumber": "3-6JZXAMH",
"rfcType": "Configuration - EBSO",
"rfcSubType": "Autoexec-Config",
"status": "Open",
"subStatus": "Ready For Scheduling/Approval",
"scheduledStart": "2020-08-26T8:53:51-07:00",
"scheduledEnd": "2020-08-26T10:53:51-07:00",
"duration": {
"unit": "hours",
"value": 4
}
}
]
List Logs Files for an Execution
Use this API to list log files for a CEMLI patch execution.
API
/cemli/v1/customers/{supportIdentifier}/{serviceType}/products/patch/instances/{instanceId}/executions/{executionId}/logs/
Scope and AuthZ
- You must have
mcs:oci:api:User
scope to access this API. - You can list log files that belong to your customer instances.
- You can use CEMLI execution API only if your customer has opted-in for CEMLI functionality.
Headers
- Authorization: Bearer <Token>
Where <Token> is the OAUTH token returned by the Authorization Server (JWT Token).
- Identifier: <JWKS Identifier>
Where <JWKS Identifier> is the GUID generated when JWKS URI is set by customer admin in self-service platform.
Base Path
/cemli/v1/
Dependency
Functionality
This API allows you to list log files for a CEMLI patch execution.
Verb
GET
Parameters
Name | Type | Description | Mandatory |
---|---|---|---|
supportIdentifier |
Path parameter | Customer Support Identifier (CSI) | Yes |
serviceType |
Path parameter | Service type (For example, EBSO, EBSZ, or EBSI) | Yes |
instanceId |
Path parameter | Instance name or target name | Yes |
executionId |
Path parameter | Unique execution ID for the patch execution | Yes |
Sample response
[
"3-7JZXAMZ_log1.zip","3-7JZXAMZ_log2.zip","3-7JZXAMZ_log3.log"
]
Get Execution Log Details
Use this API to get an execution log.
API
/cemli/v1/customers/{supportIdentifier}/{serviceType}/products/patch/instances/{instanceId}/executions/{executionId}/logs/{logName}
Scope and AuthZ
- You must have
mcs:oci:api:User
scope to access this API. - You can view logs for assigned services or instances only.
- You can use CEMLI execution API only if your customer has opted-in for CEMLI functionality.
Headers
- Authorization: Bearer <Token>
Where <Token> is the OAUTH token returned by the Authorization Server (JWT Token).
- Identifier: <JWKS Identifier>
Where <JWKS Identifier> is the GUID generated when JWKS URI is set by customer admin in self-service platform.
Base Path
/cemli/v1/
Dependency
Functionality
- This API allows you to get an execution log. The content is base64 encoded.
- Response field that requires an explanation:
content
is Base64 encoded content.
Verb
GET
Parameters
Name | Type | Description | Mandatory |
---|---|---|---|
supportIdentifier |
Path parameter | Customer Support Identifier (CSI) | Yes |
serviceType |
Path parameter | Service type (For example, EBSO, EBSZ, or EBSI) | Yes |
instanceId |
Path parameter | Instance name or target name | Yes |
executionId |
Path parameter | Unique identifier of the execution | Yes |
logName |
Path parameter | Name of the log file retrieved using list log files API | Yes |
Sample response
{
"fileName": "3-7JZXAMZ_log1.zip",
"content": "QUNFIHRlc3QgUGF0Y2g=120"
}
Get Bounce Options for an Instance
Use this API to get bounce options for an instance.
API
/cemli/v1/customers/{supportIdentifier}/{serviceType}/products/patch/instances/{instanceId}/options
Scope and AuthZ
- You must have
mcs:oci:api:User
scope to access this API. - You can get bounce options for your customer instances.
- You can use CEMLI execution API only if your customer has opted-in for CEMLI functionality.
Headers
- Authorization: Bearer <Token>
Where <Token> is the OAUTH token returned by the Authorization Server (JWT Token).
- Identifier: <JWKS Identifier>
Where <JWKS Identifier> is the GUID generated when JWKS URI is set by customer admin in self-service platform.
Base Path
/cemli/v1/
Dependency
Functionality
This API allows you to get bounce options for an instance.
Verb
GET
Parameters
Name | Type | Description | Mandatory |
---|---|---|---|
supportIdentifier |
Path parameter | Customer Support Identifier (CSI) | Yes |
serviceType |
Path parameter | Service type (For example, EBSO, EBSZ, or EBSI) | Yes |
instanceId |
Path parameter | Instance name or target name | Yes |
Sample response
{
"hosts": [
{
"name": "adc42setest034.oracleoutsourcing.com",
"options": [
{
"label": "OPMN services",
"name": "OPMN",
"value": false
},
{
"label": "Apache",
"name": "APACHE",
"value": false
},
{
"label": "Concurrent Manager",
"name": "CONCURRENT_MANAGER",
"value": false
},
{
"label": "Workflow Mailer",
"name": "WORKFLOW_MAILER",
"value": false
}
],
"tier": "MT"
}
],
"options": [
{
"label": "Clear Apache Cache",
"name": "bounceAddOnCACHE",
"value": false
}
],
"specialInstructionsExist": false
}