CreateWorkflow - HealthOmics API Reference

CreateWorkflow

Creates a private workflow. Before you create a private workflow, you must create and configure these required resources:

  • Workflow definition files: Define your workflow in one or more workflow definition files, written in WDL, Nextflow, or CWL. The workflow definition specifies the inputs and outputs for runs that use the workflow. It also includes specifications for the runs and run tasks for your workflow, including compute and memory requirements. The workflow definition file must be in .zip format.

  • (Optional) Parameter template: You can create a parameter template file that defines the run parameters, or AWS HealthOmics can generate the parameter template for you.

  • ECR container images: Create one or more container images for the workflow. Store the images in a private ECR repository.

  • (Optional) Sentieon licenses: Request a Sentieon license if using the Sentieon software in a private workflow.

For more information, see Creating or updating a private workflow in AWS HealthOmics in the AWS HealthOmics User Guide.

Request Syntax

POST /workflow HTTP/1.1 Content-type: application/json { "accelerators": "string", "definitionRepository": { "connectionArn": "string", "excludeFilePatterns": [ "string" ], "fullRepositoryId": "string", "sourceReference": { "type": "string", "value": "string" } }, "definitionUri": "string", "definitionZip": blob, "description": "string", "engine": "string", "main": "string", "name": "string", "parameterTemplate": { "string" : { "description": "string", "optional": boolean } }, "parameterTemplatePath": "string", "readmeMarkdown": "string", "readmePath": "string", "readmeUri": "string", "requestId": "string", "storageCapacity": number, "storageType": "string", "tags": { "string" : "string" }, "workflowBucketOwnerId": "string" }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

accelerators

The computational accelerator specified to run the workflow.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Valid Values: GPU

Required: No

definitionRepository

The repository information for the workflow definition. This allows you to source your workflow definition directly from a code repository.

Type: DefinitionRepository object

Required: No

definitionUri

The S3 URI of a definition for the workflow. The S3 bucket must be in the same region as the workflow.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

Pattern: [\p{L}||\p{M}||\p{Z}||\p{S}||\p{N}||\p{P}]+

Required: No

definitionZip

A ZIP archive containing the main workflow definition file and dependencies that it imports for the workflow. You can use a file with a ://fileb prefix instead of the Base64 string. For more information, see Workflow definition requirements in the AWS HealthOmics User Guide.

Type: Base64-encoded binary data object

Required: No

description

A description for the workflow.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

Pattern: [\p{L}||\p{M}||\p{Z}||\p{S}||\p{N}||\p{P}]+

Required: No

engine

The workflow engine for the workflow. This is only required if you have workflow definition files from more than one engine in your zip file. Otherwise, the service can detect the engine automatically from your workflow definition.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Valid Values: WDL | NEXTFLOW | CWL

Required: No

main

The path of the main definition file for the workflow. This parameter is not required if the ZIP archive contains only one workflow definition file, or if the main definition file is named “main”. An example path is: workflow-definition/main-file.wdl.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [\p{L}||\p{M}||\p{Z}||\p{S}||\p{N}||\p{P}]+

Required: No

name

Name (optional but highly recommended) for the workflow to locate relevant information in the CloudWatch logs and AWS HealthOmics console.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [\p{L}||\p{M}||\p{Z}||\p{S}||\p{N}||\p{P}]+

Required: No

parameterTemplate

A parameter template for the workflow. If this field is blank, AWS HealthOmics will automatically parse the parameter template values from your workflow definition file. To override these service generated default values, provide a parameter template. To view an example of a parameter template, see Parameter template files in the AWS HealthOmics User Guide.

Type: String to WorkflowParameter object map

Map Entries: Maximum number of 1000 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Key Pattern: [\p{L}||\p{M}||\p{Z}||\p{S}||\p{N}||\p{P}]+

Required: No

parameterTemplatePath

The path to the workflow parameter template JSON file within the repository. This file defines the input parameters for runs that use this workflow. If not specified, the workflow will be created without a parameter template.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [\p{L}||\p{M}||\p{Z}||\p{S}||\p{N}||\p{P}]+

Required: No

readmeMarkdown

The markdown content for the workflow's README file. This provides documentation and usage information for users of the workflow.

Type: String

Required: No

readmePath

The path to the workflow README markdown file within the repository. This file provides documentation and usage information for the workflow. If not specified, the README.md file from the root directory of the repository will be used.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [\p{L}||\p{M}||\p{Z}||\p{S}||\p{N}||\p{P}]+

Required: No

readmeUri

The S3 URI of the README file for the workflow. This file provides documentation and usage information for the workflow. Requirements include:

  • The S3 URI must begin with s3://USER-OWNED-BUCKET/

  • The requester must have access to the S3 bucket and object.

  • The max README content length is 500 KiB.

Type: String

Pattern: s3://([a-z0-9][a-z0-9-.]{1,61}[a-z0-9])/((.{1,1024}))

Required: No

requestId

An idempotency token to ensure that duplicate workflows are not created when AWS HealthOmics submits retry requests.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [\p{L}||\p{M}||\p{Z}||\p{S}||\p{N}||\p{P}]+

Required: Yes

storageCapacity

The default static storage capacity (in gibibytes) for runs that use this workflow or workflow version. The storageCapacity can be overwritten at run time. The storage capacity is not required for runs with a DYNAMIC storage type.

Type: Integer

Valid Range: Minimum value of 0. Maximum value of 100000.

Required: No

storageType

The default storage type for runs that use this workflow. The storageType can be overridden at run time. DYNAMIC storage dynamically scales the storage up or down, based on file system utilization. STATIC storage allocates a fixed amount of storage. For more information about dynamic and static storage types, see Run storage types in the AWS HealthOmics User Guide.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Valid Values: STATIC | DYNAMIC

Required: No

tags

Tags for the workflow. You can define up to 50 tags for the workflow. For more information, see Adding a tag in the AWS HealthOmics User Guide.

Type: String to string map

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Value Length Constraints: Minimum length of 0. Maximum length of 256.

Required: No

workflowBucketOwnerId

The AWS account ID of the expected owner of the S3 bucket that contains the workflow definition. If not specified, the service skips the validation.

Type: String

Pattern: [0-9]{12}

Required: No

Response Syntax

HTTP/1.1 201 Content-type: application/json { "arn": "string", "id": "string", "status": "string", "tags": { "string" : "string" }, "uuid": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 201 response.

The following data is returned in JSON format by the service.

arn

The workflow's ARN.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: arn:.+

id

The workflow's ID.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 18.

Pattern: [0-9]+

status

The workflow's status.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Valid Values: CREATING | ACTIVE | UPDATING | DELETED | FAILED | INACTIVE

tags

The workflow's tags.

Type: String to string map

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Value Length Constraints: Minimum length of 0. Maximum length of 256.

uuid

The universally unique identifier (UUID) value for this workflow.

Type: String

Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

You do not have sufficient access to perform this action.

HTTP Status Code: 403

ConflictException

The request cannot be applied to the target resource in its current state.

HTTP Status Code: 409

InternalServerException

An unexpected error occurred. Try the request again.

HTTP Status Code: 500

RequestTimeoutException

The request timed out.

HTTP Status Code: 408

ResourceNotFoundException

The target resource was not found in the current Region.

HTTP Status Code: 404

ServiceQuotaExceededException

The request exceeds a service quota.

HTTP Status Code: 402

ThrottlingException

The request was denied due to request throttling.

HTTP Status Code: 429

ValidationException

The input fails to satisfy the constraints specified by an AWS service.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: