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