Oracle GoldenGate · Arazzo Workflow

Oracle GoldenGate Validate Credential Then Create Extract

Version 1.0.0

Create a credential alias, validate it can connect, and create an Extract that uses it.

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

Provider

oracle-goldengate

Workflows

validate-credential-then-extract
Create and validate a credential alias before creating an Extract that references it.
Creates a credential alias, validates it, and only creates the Extract when the alias is confirmed valid.
3 steps inputs: alias, authorization, config, domain, extract, password, trail, userid outputs: credentialValid, extractName
1
createCredential
createCredentialAlias
Create the credential alias in the supplied domain.
2
validateCredential
validateCredentialAlias
Validate the credential alias can connect, branching to create the Extract only when the result is valid.
3
createExtract
createExtract
Create a CDC Extract bound to the validated credential alias.

Source API Descriptions

Arazzo Workflow Specification

oracle-goldengate-credential-validate-then-extract-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Oracle GoldenGate Validate Credential Then Create Extract
  summary: Create a credential alias, validate it can connect, and create an Extract that uses it.
  description: >-
    Ensures an Extract is only created against a credential that actually works.
    It registers a credential alias, validates that the alias can connect to its
    target, and branches: when valid it creates an Extract bound to the alias,
    and when invalid it ends without creating the process. 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: validate-credential-then-extract
  summary: Create and validate a credential alias before creating an Extract that references it.
  description: >-
    Creates a credential alias, validates it, and only creates the Extract when
    the alias is confirmed valid.
  inputs:
    type: object
    required:
    - authorization
    - domain
    - alias
    - userid
    - password
    - extract
    - trail
    - config
    properties:
      authorization:
        type: string
        description: HTTP Basic Authorization header value.
      domain:
        type: string
        description: Credential store domain name.
      alias:
        type: string
        description: Credential alias to create and validate.
      userid:
        type: string
        description: Database user ID including connect string.
      password:
        type: string
        description: Password for the database user.
      extract:
        type: string
        description: Name of the Extract process to create.
      trail:
        type: string
        description: Trail file prefix the Extract writes to.
      config:
        type: array
        items:
          type: string
        description: Extract parameter file content lines.
  steps:
  - stepId: createCredential
    description: Create the credential alias in the supplied domain.
    operationId: createCredentialAlias
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: domain
      in: path
      value: $inputs.domain
    - name: alias
      in: path
      value: $inputs.alias
    requestBody:
      contentType: application/json
      payload:
        userid: $inputs.userid
        password: $inputs.password
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      credentialAlias: $response.body#/alias
  - stepId: validateCredential
    description: >-
      Validate the credential alias can connect, branching to create the Extract
      only when the result is valid.
    operationId: validateCredentialAlias
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: domain
      in: path
      value: $inputs.domain
    - name: alias
      in: path
      value: $inputs.alias
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      valid: $response.body#/valid
      message: $response.body#/message
    onSuccess:
    - name: credentialValid
      type: goto
      stepId: createExtract
      criteria:
      - context: $response.body
        condition: $.valid == true
        type: jsonpath
    - name: credentialInvalid
      type: end
      criteria:
      - context: $response.body
        condition: $.valid == false
        type: jsonpath
  - stepId: createExtract
    description: Create a CDC Extract bound to the validated credential alias.
    operationId: createExtract
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: extract
      in: path
      value: $inputs.extract
    requestBody:
      contentType: application/json
      payload:
        type: cdc
        trail: $inputs.trail
        config: $inputs.config
        credentials:
          domain: $inputs.domain
          alias: $inputs.alias
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      extractName: $response.body#/name
      extractStatus: $response.body#/status
  outputs:
    credentialValid: $steps.validateCredential.outputs.valid
    extractName: $steps.createExtract.outputs.extractName