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 aDYNAMIC
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 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
-
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: