WDL Documents
Document structure, versioning, and import statements
A WDL document is a file that contains valid WDL definitions.
A WDL document must contain:
- A version statement on the first non-comment line of the file.
- At least one struct definition, task definition, workflow definition.
A WDL document may contain any combination of the following:
- Any number of import statements.
- Any number of
structdefinitions. - Any number of
taskdefinitions. - A maximum of one
workflowdefinition.
To execute a WDL workflow, the user must provide the execution engine with the location of a "primary" WDL file (which may import additional files as needed) and any input values needed to satisfy all required task and workflow input parameters, using a standard input JSON file or some other execution engine-specific mechanism.
If a workflow appears in the primary WDL file, it is called the "top-level" workflow, and any workflows it calls via imports are "subworkflows". Typically, it is an error for the primary WDL file to not contain a workflow; however, an execution engine may choose to support executing individual tasks.