Oracle Integration · Arazzo Workflow

Oracle Integration Clone and Activate an Integration

Version 1.0.0

Clone an existing integration to a new code, then activate the clone.

1 workflow 1 source API 1 provider
View Spec View on GitHub API ManagementAutomationB2B IntegrationCloud IntegrationEnterprise IntegrationIntegrationiPaaSProcess AutomationArazzoWorkflows

Provider

oracle-integration

Workflows

clone-and-activate-integration
Clone a source integration and activate the resulting copy.
Reads the source integration, clones it to a new code and name, activates the clone, and polls activation status until it completes.
4 steps inputs: cloneCode, cloneName, sourceIntegrationId outputs: clonedId, finalStatus
1
getSource
getIntegration
Retrieve the source integration to confirm it exists before cloning it.
2
clone
cloneIntegration
Clone the source integration into a new code and name. Returns the cloned integration representation.
3
activateClone
updateIntegrationStatus
Activate the cloned integration by posting an ACTIVATED status to its identifier.
4
confirmActivation
getIntegrationActivationStatus
Poll the activation status of the cloned integration until it reports it is fully ACTIVATED.

Source API Descriptions

Arazzo Workflow Specification

oracle-integration-clone-and-activate-integration-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Oracle Integration Clone and Activate an Integration
  summary: Clone an existing integration to a new code, then activate the clone.
  description: >-
    A safe promotion pattern that creates an independent copy of a proven
    integration and brings it online. The workflow retrieves the source
    integration, clones it into a new code and name, requests activation of the
    newly cloned integration, and polls until the clone reports it is fully
    ACTIVATED. Every step spells out its request inline so the flow can be read
    and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: developerApi
  url: ../openapi/oracle-integration-developer-api.yaml
  type: openapi
workflows:
- workflowId: clone-and-activate-integration
  summary: Clone a source integration and activate the resulting copy.
  description: >-
    Reads the source integration, clones it to a new code and name, activates
    the clone, and polls activation status until it completes.
  inputs:
    type: object
    required:
    - sourceIntegrationId
    - cloneCode
    - cloneName
    properties:
      sourceIntegrationId:
        type: string
        description: Identifier of the source integration to clone (e.g. HELLO_WORLD|01.00.0000).
      cloneCode:
        type: string
        description: New code for the cloned integration (e.g. HELLO_WORLD_CLONE).
      cloneName:
        type: string
        description: New display name for the cloned integration.
  steps:
  - stepId: getSource
    description: >-
      Retrieve the source integration to confirm it exists before cloning it.
    operationId: getIntegration
    parameters:
    - name: id
      in: path
      value: $inputs.sourceIntegrationId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      sourceName: $response.body#/name
      sourceVersion: $response.body#/version
  - stepId: clone
    description: >-
      Clone the source integration into a new code and name. Returns the cloned
      integration representation.
    operationId: cloneIntegration
    parameters:
    - name: id
      in: path
      value: $inputs.sourceIntegrationId
    requestBody:
      contentType: application/json
      payload:
        code: $inputs.cloneCode
        name: $inputs.cloneName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      clonedId: $response.body#/id
      clonedStatus: $response.body#/status
  - stepId: activateClone
    description: >-
      Activate the cloned integration by posting an ACTIVATED status to its
      identifier.
    operationId: updateIntegrationStatus
    parameters:
    - name: id
      in: path
      value: $steps.clone.outputs.clonedId
    requestBody:
      contentType: application/json
      payload:
        status: ACTIVATED
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      updatedStatus: $response.body#/status
  - stepId: confirmActivation
    description: >-
      Poll the activation status of the cloned integration until it reports it
      is fully ACTIVATED.
    operationId: getIntegrationActivationStatus
    parameters:
    - name: id
      in: path
      value: $steps.clone.outputs.clonedId
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.status == "ACTIVATED"
      type: jsonpath
    outputs:
      finalStatus: $response.body#/status
  outputs:
    clonedId: $steps.clone.outputs.clonedId
    finalStatus: $steps.confirmActivation.outputs.finalStatus