AWS omics documentation change
Summary
Restructured parameter template documentation with detailed parsing logic tables for CWL/WDL workflows, clarified parameter detection behavior
Security assessment
The changes improve documentation clarity about workflow parameter handling but do not introduce security features or address security vulnerabilities. The updates focus on developer guidance for workflow configuration without modifying security controls or revealing security risks.
Diff
diff --git a/omics/latest/dev/parameter-templates.md b/omics/latest/dev/parameter-templates.md index fde3fb6f6..9cca8b598 100644 --- a//omics/latest/dev/parameter-templates.md +++ b//omics/latest/dev/parameter-templates.md @@ -5 +5 @@ -Parsing logic for WDL and CWL workflow engines +Parameter detection for CWL and WDL workflows @@ -39 +39 @@ The following example parameter template shows how to specify the input paramete -Parameter templates are optional for WDL and CWL workflows. HealthOmics inspects the “main” workflow definition to detect the input parameters to use. If you provide a parameter template for a WDL or CWL workflow, the template overrides the parameters detected in the workflow definition. +## Parameter detection for CWL and WDL workflows @@ -41 +41 @@ Parameter templates are optional for WDL and CWL workflows. HealthOmics inspects -## Parsing logic for WDL and CWL workflow engines +Parameter templates are optional for CWL and WDL workflows. HealthOmics parses the `main` workflow definition to detect the input parameters to use. If you provide a parameter template for a CWL or WDL workflow, the template overrides the parameters detected in the workflow definition. @@ -43 +43 @@ Parameter templates are optional for WDL and CWL workflows. HealthOmics inspects -There are slight differences between the parsing logic of the CWL and WDL engines. The parsing logic makes the following assumptions: +There are slight differences between the parsing logic of the CWL and WDL engines, as described in the following sections. @@ -45 +45,3 @@ There are slight differences between the parsing logic of the CWL and WDL engine - * For the CWL engine +### Parsing logic for the CWL workflow engine + +In the CWL workflow engine, the parsing logic makes the following assumptions: @@ -53 +55,72 @@ There are slight differences between the parsing logic of the CWL and WDL engine - * For the WDL engine + + + +The following tables show CWL interpolation examples. For each example, the parameter name is `x`. If the parameter is required, you must provide a value for the parameter. If the parameter is optional, you don't need to provide a value. + +This table shows CWL interpolation examples for primitive types. + +Input | Example input/output | Required +---|---|--- + + + x: + type: int + +| 1 or 2 or ... | Yes + + + x: + type: int + default: 2 + +| Default value is 2. Valid input is 1 or 2 or ... | Yes + + + x: + type: int? + +| Valid input is None or 1 or 2 or ... | No + + + x: + type: int? + default: 2 + +| Default value is 2. Valid input is None or 1 or 2 or ... | No + +The following table shows CWL interpolation examples for complex types. A complex type is a collection of primitive types. + +Input | Example input/output | Required +---|---|--- + + + x: + type: array + items: int + +| [] or [1,2,3] | Yes + + + x: + type: array? + items: int + +| None or [] or [1,2,3] | No + + + x: + type: array + items: int? + +| [] or [None, 3, None] | Yes + + + x: + type: array? + items: int? + +| [None] or None or [1,2,3] or [None, 3] but not [] | No + +### Parsing logic for the WDL workflow engine + +In the WDL workflow engine, the parsing logic makes the following assumptions: @@ -66,3 +139 @@ There are slight differences between the parsing logic of the CWL and WDL engine - * Descriptions are extracted from the `parameter_meta section` in the `main` workflow definition. If `parameter_meta section` is not specified, the description will be blank (an empty string). - - * Descriptions are extracted from the parameter_meta section from the “main” workflow definition + * Descriptions are extracted from `parameter_meta` in the `main` workflow definition. If `parameter_meta` is not specified, the description will be blank (an empty string). For more information, see the WDL specification for [Parameter metadata](https://github.com/openwdl/wdl/blob/wdl-1.2/SPEC.md#metadata-sections). @@ -77 +148 @@ This table shows WDL interpolation examples for primitive types. -Input | Example or output | Required +Input | Example input/output | Required @@ -90 +161 @@ The following table shows WDL interpolation examples for complex types. A comple -Input | Example or output | Required +Input | Example input/output | Required