Amazon HealthOmics · Arazzo Workflow

Amazon HealthOmics Inspect a Run Task

Version 1.0.0

Confirm a run exists, list its tasks, and fetch detail for the first task.

1 workflow 1 source API 1 provider
View Spec View on GitHub BioinformaticsGenomicsHealthcareLife SciencesCloud ComputingArazzoWorkflows

Provider

amazon-healthomics

Workflows

inspect-run-task
Read a run, list its tasks, and get detail for the first task.
Calls GetRun to confirm the run, ListRunTasks to enumerate its tasks, and GetRunTask to retrieve the first task's detail. Branches to end early when the run has no tasks.
3 steps inputs: runId outputs: firstTaskId, runStatus, taskStatus
1
getRun
GetRun
Read the run to confirm it exists and capture its current status.
2
listRunTasks
ListRunTasks
List the tasks that make up the run.
3
getRunTask
GetRunTask
Fetch the detailed record for the first task in the run.

Source API Descriptions

Arazzo Workflow Specification

amazon-healthomics-inspect-run-task-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon HealthOmics Inspect a Run Task
  summary: Confirm a run exists, list its tasks, and fetch detail for the first task.
  description: >-
    A diagnostic flow for an existing HealthOmics run. The workflow reads the run
    to confirm its status, lists the tasks that make up the run, and then fetches
    the detailed record for the first task — including CPU, memory, GPU usage,
    timing, and log stream. Each step spells out its AWS REST-JSON request inline
    so the flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: healthOmicsApi
  url: ../openapi/amazon-healthomics-openapi.yaml
  type: openapi
workflows:
- workflowId: inspect-run-task
  summary: Read a run, list its tasks, and get detail for the first task.
  description: >-
    Calls GetRun to confirm the run, ListRunTasks to enumerate its tasks, and
    GetRunTask to retrieve the first task's detail. Branches to end early when
    the run has no tasks.
  inputs:
    type: object
    required:
    - runId
    properties:
      runId:
        type: string
        description: The run's ID to inspect.
  steps:
  - stepId: getRun
    description: Read the run to confirm it exists and capture its current status.
    operationId: GetRun
    parameters:
    - name: id
      in: path
      value: $inputs.runId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      runStatus: $response.body#/status
  - stepId: listRunTasks
    description: List the tasks that make up the run.
    operationId: ListRunTasks
    parameters:
    - name: id
      in: path
      value: $inputs.runId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      tasks: $response.body#/items
      firstTaskId: $response.body#/items/0/taskId
    onSuccess:
    - name: hasTasks
      type: goto
      stepId: getRunTask
      criteria:
      - context: $response.body
        condition: $.items.length > 0
        type: jsonpath
    - name: noTasks
      type: end
      criteria:
      - context: $response.body
        condition: $.items.length == 0
        type: jsonpath
  - stepId: getRunTask
    description: Fetch the detailed record for the first task in the run.
    operationId: GetRunTask
    parameters:
    - name: id
      in: path
      value: $inputs.runId
    - name: taskId
      in: path
      value: $steps.listRunTasks.outputs.firstTaskId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      taskStatus: $response.body#/status
      taskName: $response.body#/name
      cpus: $response.body#/cpus
      memory: $response.body#/memory
      logStream: $response.body#/logStream
  outputs:
    runStatus: $steps.getRun.outputs.runStatus
    firstTaskId: $steps.listRunTasks.outputs.firstTaskId
    taskStatus: $steps.getRunTask.outputs.taskStatus