Amazon Elastic Transcoder · Arazzo Workflow

Amazon Elastic Transcoder List Jobs by Pipeline and Read the First Job

Version 1.0.0

List the jobs currently in a pipeline, then read detailed information about the first job returned.

1 workflow 1 source API 1 provider
View Spec View on GitHub Amazon Web ServicesMediaTranscodingVideoArazzoWorkflows

Provider

amazon-elastic-transcoder

Workflows

list-jobs-by-pipeline-read
List jobs in a pipeline and read the first one in detail.
Reads the pipeline to confirm it exists, lists the jobs currently in it, and branches to read the first returned job when the list is non-empty.
3 steps inputs: ascending, pipelineId outputs: firstJobId, jobStatus
1
readPipeline
ReadPipeline
Read the pipeline to confirm it exists and is reachable before listing its jobs.
2
listJobs
ListJobsByPipeline
List the jobs currently in the pipeline, ordered by submission time, and branch on whether any jobs were returned.
3
readFirstJob
ReadJob
Read the first job returned by the pipeline listing to retrieve its full status and details.

Source API Descriptions

Arazzo Workflow Specification

amazon-elastic-transcoder-list-jobs-by-pipeline-read-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Elastic Transcoder List Jobs by Pipeline and Read the First Job
  summary: List the jobs currently in a pipeline, then read detailed information about the first job returned.
  description: >-
    A read-oriented inspection flow. The workflow confirms a pipeline exists,
    lists the jobs currently in that pipeline in chronological order, and then
    reads the first job in the list to retrieve its full status and details.
    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: elasticTranscoderApi
  url: ../openapi/amazon-elastic-transcoder-openapi.yml
  type: openapi
workflows:
- workflowId: list-jobs-by-pipeline-read
  summary: List jobs in a pipeline and read the first one in detail.
  description: >-
    Reads the pipeline to confirm it exists, lists the jobs currently in it, and
    branches to read the first returned job when the list is non-empty.
  inputs:
    type: object
    required:
    - pipelineId
    properties:
      pipelineId:
        type: string
        description: The Id of the pipeline whose jobs you want to list.
      ascending:
        type: string
        description: "true to list jobs oldest-first, false for newest-first."
  steps:
  - stepId: readPipeline
    description: >-
      Read the pipeline to confirm it exists and is reachable before listing its
      jobs.
    operationId: ReadPipeline
    parameters:
    - name: Id
      in: path
      value: $inputs.pipelineId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      pipelineStatus: $response.body#/Pipeline/Status
  - stepId: listJobs
    description: >-
      List the jobs currently in the pipeline, ordered by submission time, and
      branch on whether any jobs were returned.
    operationId: ListJobsByPipeline
    parameters:
    - name: PipelineId
      in: path
      value: $inputs.pipelineId
    - name: Ascending
      in: query
      value: $inputs.ascending
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstJobId: $response.body#/Jobs/0/Id
      nextPageToken: $response.body#/NextPageToken
    onSuccess:
    - name: hasJobs
      type: goto
      stepId: readFirstJob
      criteria:
      - context: $response.body
        condition: $.Jobs.length > 0
        type: jsonpath
    - name: noJobs
      type: end
      criteria:
      - context: $response.body
        condition: $.Jobs.length == 0
        type: jsonpath
  - stepId: readFirstJob
    description: >-
      Read the first job returned by the pipeline listing to retrieve its full
      status and details.
    operationId: ReadJob
    parameters:
    - name: Id
      in: path
      value: $steps.listJobs.outputs.firstJobId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      jobId: $response.body#/Job/Id
      jobStatus: $response.body#/Job/Status
  outputs:
    firstJobId: $steps.listJobs.outputs.firstJobId
    jobStatus: $steps.readFirstJob.outputs.jobStatus