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 patch
    • bounceOptions 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
}