Oracle GoldenGate · Arazzo Workflow

Oracle GoldenGate Tear Down Extract

Version 1.0.0

Stop an Extract, wait until it is stopped, then delete it.

1 workflow 1 source API 1 provider
View Spec View on GitHub CDCData IntegrationData SynchronizationDatabaseEnterpriseReal-Time ReplicationArazzoWorkflows

Provider

oracle-goldengate

Workflows

teardown-extract
Stop and confirm an Extract is stopped before deleting it.
Issues STOP, polls until the Extract is stopped, then deletes the process.
3 steps inputs: authorization, extract outputs: deletedExtract
1
stopExtract
issueExtractCommand
Issue a STOP command to the Extract before deletion.
2
pollStopped
getExtractStatus
Poll the Extract status until it reports stopped, looping while it is still running.
3
deleteExtract
deleteExtract
Delete the Extract process now that it is confirmed stopped.

Source API Descriptions

Arazzo Workflow Specification

oracle-goldengate-teardown-extract-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Oracle GoldenGate Tear Down Extract
  summary: Stop an Extract, wait until it is stopped, then delete it.
  description: >-
    Decommissions an Extract safely. It issues a STOP command, polls the runtime
    status until the process reports stopped, and only then deletes the Extract
    so it is never removed while still running. 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: goldengateApi
  url: ../openapi/oracle-goldengate-rest-api-openapi.yml
  type: openapi
workflows:
- workflowId: teardown-extract
  summary: Stop and confirm an Extract is stopped before deleting it.
  description: >-
    Issues STOP, polls until the Extract is stopped, then deletes the process.
  inputs:
    type: object
    required:
    - authorization
    - extract
    properties:
      authorization:
        type: string
        description: HTTP Basic Authorization header value.
      extract:
        type: string
        description: Name of the Extract process to tear down.
  steps:
  - stepId: stopExtract
    description: Issue a STOP command to the Extract before deletion.
    operationId: issueExtractCommand
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: extract
      in: path
      value: $inputs.extract
    requestBody:
      contentType: application/json
      payload:
        action: stop
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      commandMessage: $response.body#/response/message
  - stepId: pollStopped
    description: >-
      Poll the Extract status until it reports stopped, looping while it is
      still running.
    operationId: getExtractStatus
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: extract
      in: path
      value: $inputs.extract
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/status
    onSuccess:
    - name: stillRunning
      type: goto
      stepId: pollStopped
      criteria:
      - context: $response.body
        condition: $.status == "running"
        type: jsonpath
    - name: stopped
      type: goto
      stepId: deleteExtract
      criteria:
      - context: $response.body
        condition: $.status == "stopped"
        type: jsonpath
  - stepId: deleteExtract
    description: Delete the Extract process now that it is confirmed stopped.
    operationId: deleteExtract
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: extract
      in: path
      value: $inputs.extract
    successCriteria:
    - condition: $statusCode == 204
    outputs:
      deletedExtract: $inputs.extract
  outputs:
    deletedExtract: $steps.deleteExtract.outputs.deletedExtract