Amazon Data Pipeline · Arazzo Workflow

Amazon Data Pipeline Validate Then Put Definition

Version 1.0.0

Validate a candidate pipeline definition and only commit it when it is error free.

1 workflow 1 source API 1 provider
View Spec View on GitHub Data ProcessingETLWorkflowsData PipelineAutomationArazzoWorkflows

Provider

amazon-data-pipeline

Workflows

validate-then-put-definition
Validate pipeline objects, then commit them only if validation passes.
Branches on the validation result so an invalid definition never overwrites a working pipeline, while a clean definition is committed immediately.
2 steps inputs: pipelineId, pipelineObjects outputs: committedErrored, validationErrors
1
validateDefinition
Check the candidate pipeline objects for structural and semantic errors before any write occurs.
2
commitDefinition
Commit the validated pipeline objects to the pipeline now that validation reported no errors.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Data Pipeline Validate Then Put Definition
  summary: Validate a candidate pipeline definition and only commit it when it is error free.
  description: >-
    A safe-write pattern for AWS Data Pipeline definitions. The candidate set of
    pipeline objects is first validated with ValidatePipelineDefinition. When the
    validation reports no errors the definition is committed with
    PutPipelineDefinition; when validation reports errors the flow ends without
    mutating the pipeline. 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: pipelineObjectsApi
  url: ../openapi/amazon-data-pipeline-pipeline-objects-api-openapi.yml
  type: openapi
workflows:
- workflowId: validate-then-put-definition
  summary: Validate pipeline objects, then commit them only if validation passes.
  description: >-
    Branches on the validation result so an invalid definition never overwrites
    a working pipeline, while a clean definition is committed immediately.
  inputs:
    type: object
    required:
    - pipelineId
    - pipelineObjects
    properties:
      pipelineId:
        type: string
        description: The id of the pipeline whose definition is being validated and written.
      pipelineObjects:
        type: array
        description: The candidate pipeline objects to validate and, if clean, commit.
        items:
          type: object
  steps:
  - stepId: validateDefinition
    description: >-
      Check the candidate pipeline objects for structural and semantic errors
      before any write occurs.
    operationId: validatePipelineDefinition
    requestBody:
      contentType: application/json
      payload:
        pipelineId: $inputs.pipelineId
        pipelineObjects: $inputs.pipelineObjects
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      errored: $response.body#/errored
      validationErrors: $response.body#/validationErrors
    onSuccess:
    - name: definitionIsClean
      type: goto
      stepId: commitDefinition
      criteria:
      - context: $response.body
        condition: $.errored == false
        type: jsonpath
    - name: definitionHasErrors
      type: end
      criteria:
      - context: $response.body
        condition: $.errored == true
        type: jsonpath
  - stepId: commitDefinition
    description: >-
      Commit the validated pipeline objects to the pipeline now that validation
      reported no errors.
    operationId: putPipelineDefinition
    requestBody:
      contentType: application/json
      payload:
        pipelineId: $inputs.pipelineId
        pipelineObjects: $inputs.pipelineObjects
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      errored: $response.body#/errored
      validationWarnings: $response.body#/validationWarnings
  outputs:
    validationErrors: $steps.validateDefinition.outputs.validationErrors
    committedErrored: $steps.commitDefinition.outputs.errored

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/amazon-data-pipeline-validate-then-put-definition-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.