1- $schema : " http ://json-schema.org/draft-07 /schema# "
1+ $schema : https ://json-schema.org/draft/2020-12 /schema
22$author : " Francis Charette-Migneault <francis.charette.migneault@gmail.com>"
33$id : " https://raw.githubusercontent.com/common-workflow-language/cwl-v1.2/1.2.1_proposed/json-schema/cwl.yaml"
4-
4+ $ref : ' #/$defs/CWL '
55$defs :
66 CWL :
77 oneOf :
3939 title : UUID
4040 description : Unique identifier.
4141 format : uuid
42- pattern : ' ^[a-f0-9]{8}(?:-?[a-f0-9]{4}){3}-?[a-f0-9]{12}$'
4342 - $ref : ' #/$defs/CWLTextPatternID'
4443 title : CWLIdentifier
4544 description : Reference to the process identifier.
5251 description : |
5352 Identifier URL to a concept for the type of computational operation accomplished by this process
5453 (see example operations: http://edamontology.org/operation_0004).
55- format : url
56- pattern : ' ^((?:http|ftp)s?://)?(?!.*//.*$)(?:(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+(?:[A-Za-z]{2,6}\.?|[A-Za-z0-9-]{2,}\.?)|localhost|\[[a-f0-9:]+\]|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?::\d+)?(?:/?|[/?]\S+)$'
54+ format : uri
5755 CWLImport :
5856 description : |
5957 Represents an '$import' directive that should point toward another compatible CWL file to import where specified.
@@ -126,8 +124,7 @@ $defs:
126124 properties :
127125 class :
128126 type : string
129- enum :
130- - DockerRequirement
127+ const : DockerRequirement
131128 dockerPull :
132129 type : string
133130 title : Docker pull reference
@@ -157,7 +154,7 @@ $defs:
157154 title : InitialWorkDirListingItems
158155 items :
159156 oneOf :
160- - type : ' null'
157+ - type : null
161158 - $ref : ' #/$defs/CWLExpression'
162159 - $ref : ' #/$defs/DirectoryListingDirent'
163160 - $ref : ' #/$defs/DirectoryListingFileOrDirectory'
@@ -203,8 +200,7 @@ $defs:
203200 properties :
204201 class :
205202 type : string
206- enum :
207- - InitialWorkDirRequirement
203+ const : InitialWorkDirRequirement
208204 listing :
209205 $ref : ' #/$defs/InitialWorkDirListing'
210206 required :
@@ -242,12 +238,11 @@ $defs:
242238 properties :
243239 class :
244240 type : string
245- enum :
246- - InlineJavascriptRequirement
241+ const : InlineJavascriptRequirement
247242 expressionLib :
248243 $ref : ' #/$defs/InlineJavascriptLibraries'
249- required :
250- - expressionLib
244+ required :
245+ - expressionLib
251246 additionalProperties : false
252247 InplaceUpdateRequirement :
253248 type : object
@@ -260,8 +255,7 @@ $defs:
260255 properties :
261256 class :
262257 type : string
263- enum :
264- - InplaceUpdateRequirement
258+ const : InplaceUpdateRequirement
265259 inplaceUpdate :
266260 type : boolean
267261 title : inplaceUpdate
@@ -284,8 +278,7 @@ $defs:
284278 properties :
285279 class :
286280 type : string
287- enum :
288- - LoadListingRequirement
281+ const : LoadListingRequirement
289282 loadListing :
290283 $ref : ' #/$defs/LoadListingEnum'
291284 required :
@@ -305,8 +298,7 @@ $defs:
305298 class :
306299 type : string
307300 $comment : Not 'NetworkAccessRequirement'
308- enum :
309- - NetworkAccess
301+ const : NetworkAccess
310302 networkAccess :
311303 $ref : ' #/$defs/NetworkAccess'
312304 required :
@@ -454,8 +446,7 @@ $defs:
454446 properties :
455447 class :
456448 type : string
457- enum :
458- - ResourceRequirement
449+ const : ResourceRequirement
459450 coresMin :
460451 $ref : ' #/$defs/ResourceCoresMinimum'
461452 coresMax :
@@ -509,8 +500,7 @@ $defs:
509500 class :
510501 type : string
511502 description : CWL requirement class specification.
512- enum :
513- - ScatterFeatureRequirement
503+ const : ScatterFeatureRequirement
514504 additionalProperties : false
515505 MultipleInputFeatureRequirement :
516506 type : object
@@ -522,8 +512,7 @@ $defs:
522512 class :
523513 type : string
524514 description : CWL requirement class specification.
525- enum :
526- - MultipleInputFeatureRequirement
515+ const : MultipleInputFeatureRequirement
527516 additionalProperties : false
528517 StepInputExpressionRequirement :
529518 type : object
@@ -533,8 +522,7 @@ $defs:
533522 class :
534523 type : string
535524 description : CWL requirement class specification.
536- enum :
537- - StepInputExpressionRequirement
525+ const : StepInputExpressionRequirement
538526 additionalProperties : false
539527 SubworkflowFeatureRequirement :
540528 type : object
@@ -544,8 +532,7 @@ $defs:
544532 class :
545533 type : string
546534 description : CWL requirement class specification.
547- enum :
548- - SubworkflowFeatureRequirement
535+ const : SubworkflowFeatureRequirement
549536 additionalProperties : false
550537 CWLFileOnlyParameters :
551538 type : object
@@ -727,8 +714,7 @@ $defs:
727714 properties :
728715 class :
729716 type : string
730- enum :
731- - SchemaDefRequirement
717+ const : SchemaDefRequirement
732718 types :
733719 type : array
734720 items :
@@ -765,8 +751,7 @@ $defs:
765751 properties :
766752 class :
767753 type : string
768- enum :
769- - SoftwareRequirement
754+ const : SoftwareRequirement
770755 packages :
771756 oneOf :
772757 - type : array
@@ -786,8 +771,7 @@ $defs:
786771 properties :
787772 class :
788773 type : string
789- enum :
790- - ShellCommandRequirement
774+ const : ShellCommandRequirement
791775 additionalProperties : false
792776 EnvironmentDef :
793777 type : object
@@ -796,8 +780,7 @@ $defs:
796780 type : string
797781 minLength : 1
798782 envValue :
799- type :
800- $ref : ' #/$defs/CWLExpression'
783+ $ref : ' #/$defs/CWLExpression'
801784 required :
802785 - envName
803786 - envValue
@@ -807,8 +790,7 @@ $defs:
807790 properties :
808791 class :
809792 type : string
810- enum :
811- - EnvVarRequirement
793+ const : EnvVarRequirement
812794 envDef :
813795 oneOf :
814796 - type : array
@@ -850,8 +832,7 @@ $defs:
850832 class :
851833 type : string
852834 $comment : not 'ToolTimeLimitRequirement'
853- enum :
854- - ToolTimeLimit
835+ const : ToolTimeLimit
855836 timelimit :
856837 $ref : ' #/$defs/TimeLimitValue'
857838 required :
@@ -883,8 +864,7 @@ $defs:
883864 class :
884865 type : string
885866 $comment : Not 'WorkReuseRequirement'.
886- enum :
887- - WorkReuse
867+ const : WorkReuse
888868 enableReuse :
889869 $ref : ' #/$defs/EnableReuseValue'
890870 required :
@@ -1018,8 +998,7 @@ $defs:
1018998 properties :
1019999 class :
10201000 type : string
1021- enum :
1022- - BuiltinRequirement
1001+ const : BuiltinRequirement
10231002 process :
10241003 $comment : Builtin process identifier.
10251004 $ref : ' #/$defs/CWLTextPatternID'
@@ -1060,8 +1039,7 @@ $defs:
10601039 properties :
10611040 class :
10621041 type : string
1063- enum :
1064- - cwltool:CUDARequirement
1042+ const : cwltool:CUDARequirement
10651043 cudaVersionMin :
10661044 type : string
10671045 title : CUDA version minimum
@@ -1105,8 +1083,7 @@ $defs:
11051083 properties :
11061084 class :
11071085 type : string
1108- enum :
1109- - OGCAPIRequirement
1086+ const : OGCAPIRequirement
11101087 process :
11111088 description : Process location.
11121089 $ref : ' #/$defs/ReferenceURL'
@@ -1123,8 +1100,7 @@ $defs:
11231100 properties :
11241101 class :
11251102 type : string
1126- enum :
1127- - WPS1Requirement
1103+ const : WPS1Requirement
11281104 process :
11291105 $comment : Process identifier of the remote WPS provider.
11301106 $ref : ' #/$defs/CWLTextPatternID'
@@ -1282,7 +1258,7 @@ $defs:
12821258 Note that 'Any' is equivalent to any of the non-null types.
12831259 Therefore, a nullable 'Any' explicitly specified by 'Any?' or its array-nullable form 'Any[]?' are not equivalent.
12841260 enum :
1285- - ' null'
1261+ - null
12861262 - Any
12871263 - Any?
12881264 - Any[]
@@ -1398,8 +1374,7 @@ $defs:
13981374 - $ref : ' #/$defs/CWLTypeRecordRefPattern'
13991375 CWLTypeRecordRefPattern :
14001376 type : string
1401- format : url
1402- pattern : ' ^(((?:http|ftp)s?:\/\/)?(?!.*\/\/.*$)(?:(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+(?:[A-Za-z]{2,6}\.?|[A-Za-z0-9-]{2,}\.?)|localhost|\[[a-f0-9:]+\]|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?::\d+)?(?:\/?|[\/?]\S+))?(?:[A-Za-z0-9\w\-.\/]+)?\#?[A-Za-z0-9\w\-.]+$'
1377+ format : uri
14031378 CWLTypeList :
14041379 type : array
14051380 title : CWLTypeList
@@ -1437,11 +1412,11 @@ $defs:
14371412 if :
14381413 properties :
14391414 type :
1440- const : ' null'
1415+ const : null
14411416 then :
14421417 properties :
14431418 default :
1444- type : ' null'
1419+ type : null
14451420 - $comment : Required string.
14461421 if :
14471422 properties :
@@ -1461,7 +1436,7 @@ $defs:
14611436 default :
14621437 type :
14631438 - string
1464- - ' null'
1439+ - null
14651440 - $comment : Required boolean.
14661441 if :
14671442 properties :
@@ -1486,7 +1461,7 @@ $defs:
14861461 default :
14871462 type :
14881463 - number
1489- - ' null'
1464+ - null
14901465 - $comment : Required numeric.
14911466 if :
14921467 properties :
@@ -1516,7 +1491,7 @@ $defs:
15161491 default :
15171492 type :
15181493 - number
1519- - ' null'
1494+ - null
15201495 - $comment : Required enum.
15211496 if :
15221497 properties :
@@ -1541,7 +1516,7 @@ $defs:
15411516 default :
15421517 oneOf :
15431518 - $ref : ' #/$defs/CWLTypeSymbolValues'
1544- - type : ' null'
1519+ - type : null
15451520 - $comment : Required File or Directory.
15461521 if :
15471522 properties :
@@ -1565,7 +1540,7 @@ $defs:
15651540 default :
15661541 oneOf :
15671542 - $ref : ' #/$defs/CWLDefaultLocation'
1568- - type : ' null'
1543+ - type : null
15691544 - $comment : Required array of string.
15701545 if :
15711546 oneOf :
@@ -1674,8 +1649,7 @@ $defs:
16741649 pattern : ' ^[a-z0-9\-]+\$[\w\-.]+$'
16751650 ReferenceURL :
16761651 type : string
1677- format : url
1678- pattern : ' ^((?:http|ftp)s?:\/\/)?(?!.*\/\/.*$)(?:(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+(?:[A-Za-z]{2,6}\.?|[A-Za-z0-9-]{2,}\.?)|localhost|\[[a-f0-9:]+\]|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?::\d+)?(?:\/?|[/?]\S+)$'
1652+ format : uri
16791653 CWLDefaultLocation :
16801654 type : object
16811655 properties :
@@ -2037,8 +2011,7 @@ $defs:
20372011 properties :
20382012 class :
20392013 type : string
2040- enum :
2041- - Workflow
2014+ const : Workflow
20422015 CWLWorkflowSteps :
20432016 oneOf :
20442017 - $ref : ' #/$defs/CWLWorkflowStepMap'
0 commit comments