-
Notifications
You must be signed in to change notification settings - Fork 3
/
requirements.go
80 lines (63 loc) · 2.02 KB
/
requirements.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package cwl
type UnknownRequirement struct {
Name string
}
type DockerRequirement struct {
Pull string `json:"dockerPull,omitempty"`
Load string `json:"dockerLoad,omitempty"`
File string `json:"dockerFile,omitempty"`
Import string `json:"dockerImport,omitempty"`
ImageID string `json:"dockerImageID,omitempty"`
OutputDirectory string `json:"dockerOutputDirectory,omitempty"`
}
type ResourceRequirement struct {
CoresMin Expression `json:"coresMin,omitempty"`
CoresMax Expression `json:"coresMax,omitempty"`
RAMMin Expression `json:"ramMin,omitempty"`
RAMMax Expression `json:"ramMax,omitempty"`
TmpDirMin Expression `json:"tmpdirMin,omitempty"`
TmpDirMax Expression `json:"tmpdirMax,omitempty"`
OutDirMin Expression `json:"outdirMin,omitempty"`
OutDirMax Expression `json:"outdirMax,omitempty"`
}
type EnvVarRequirement struct {
EnvDef map[string]Expression `json:"envDef,omitempty"`
}
type ShellCommandRequirement struct {
}
type InlineJavascriptRequirement struct {
ExpressionLib []string `json:"expressionLib,omitempty"`
}
type SchemaDefRequirement struct {
Types []SchemaDef `json:"types,omitempty"`
}
type SchemaDef struct {
Name string `json:"name,omitempty"`
Type SchemaType
}
type SoftwareRequirement struct {
Packages []SoftwarePackage `json:"packages,omitempty"`
}
type SoftwarePackage struct {
Package string `json:"package,omitempty"`
Version []string `json:"version,omitempty"`
Specs []string `json:"specs,omitempty"`
}
type InitialWorkDirListing struct{}
type InitialWorkDirRequirement struct {
// TODO the most difficult union type
Listing InitialWorkDirListing `json:"listing,omitempty"`
}
type Dirent struct {
Entry Expression `json:"entry,omitempty"`
Entryname Expression `json:"entryname,omitempty"`
Writable bool `json:"writeable,omitempty"`
}
type SubworkflowFeatureRequirement struct {
}
type ScatterFeatureRequirement struct {
}
type MultipleInputFeatureRequirement struct {
}
type StepInputExpressionRequirement struct {
}