Oracle GoldenGate · Arazzo Workflow

Oracle GoldenGate Stop Replicat Gracefully

Version 1.0.0

Capture a Replicat's status, issue a STOP command, and poll until stopped.

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

Provider

oracle-goldengate

Workflows

stop-replicat-gracefully
Stop a running Replicat and confirm it reaches a stopped state.
Reads current status, issues STOP, and polls until the Replicat is stopped.
3 steps inputs: authorization, replicat outputs: finalStatus
1
getStatus
getReplicatStatus
Capture the current runtime status of the Replicat before stopping it.
2
stopReplicat
issueReplicatCommand
Issue a STOP command to the Replicat process.
3
pollStopped
getReplicatStatus
Poll the Replicat status until it reports stopped, looping while it is still running.

Source API Descriptions

Arazzo Workflow Specification

oracle-goldengate-stop-replicat-gracefully-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Oracle GoldenGate Stop Replicat Gracefully
  summary: Capture a Replicat's status, issue a STOP command, and poll until stopped.
  description: >-
    Brings a Replicat down cleanly. It records the current runtime status,
    issues a STOP command, then polls the status until the process reports
    stopped. 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: stop-replicat-gracefully
  summary: Stop a running Replicat and confirm it reaches a stopped state.
  description: >-
    Reads current status, issues STOP, and polls until the Replicat is stopped.
  inputs:
    type: object
    required:
    - authorization
    - replicat
    properties:
      authorization:
        type: string
        description: HTTP Basic Authorization header value.
      replicat:
        type: string
        description: Name of the Replicat process to stop.
  steps:
  - stepId: getStatus
    description: Capture the current runtime status of the Replicat before stopping it.
    operationId: getReplicatStatus
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: replicat
      in: path
      value: $inputs.replicat
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      startingStatus: $response.body#/status
  - stepId: stopReplicat
    description: Issue a STOP command to the Replicat process.
    operationId: issueReplicatCommand
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: replicat
      in: path
      value: $inputs.replicat
    requestBody:
      contentType: application/json
      payload:
        action: stop
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      commandMessage: $response.body#/response/message
  - stepId: pollStopped
    description: >-
      Poll the Replicat status until it reports stopped, looping while it is
      still running.
    operationId: getReplicatStatus
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: replicat
      in: path
      value: $inputs.replicat
    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
  outputs:
    finalStatus: $steps.pollStopped.outputs.status