@toolproof-core/schema 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/generated/artifacts/constants.d.ts +4 -3
  2. package/dist/generated/artifacts/constants.js +4 -3
  3. package/dist/generated/normalized/Genesis.json +50 -25
  4. package/dist/generated/resources/Genesis.json +68 -31
  5. package/dist/generated/schemas/Genesis.json +38 -19
  6. package/dist/generated/schemas/standalone/Job.json +7 -8
  7. package/dist/generated/schemas/standalone/ResourceType.json +4 -4
  8. package/dist/generated/schemas/standalone/RunnableStrategy.json +7 -7
  9. package/dist/generated/schemas/standalone/StrategyRun.json +7 -7
  10. package/dist/generated/types/standalone/Resource_Genesis.d.ts +1 -1
  11. package/dist/generated/types/standalone/Resource_Job.d.ts +1 -1
  12. package/dist/generated/types/standalone/Resource_RawStrategy.d.ts +1 -1
  13. package/dist/generated/types/standalone/Resource_ResourceType.d.ts +1 -1
  14. package/dist/generated/types/standalone/Resource_RunnableStrategy.d.ts +1 -1
  15. package/dist/generated/types/types.d.ts +229 -221
  16. package/dist/index.d.ts +1 -1
  17. package/dist/scripts/generateStandaloneType.js +2 -1
  18. package/dist/scripts/generateTypes.js +136 -3
  19. package/package.json +1 -1
  20. package/src/Genesis.json +54 -28
  21. package/src/generated/artifacts/constants.ts +4 -3
  22. package/src/generated/artifacts/dependencyMap.json +10 -6
  23. package/src/generated/artifacts/terminals.json +1 -0
  24. package/src/generated/normalized/Genesis.json +1785 -1760
  25. package/src/generated/resources/Genesis.json +2833 -2796
  26. package/src/generated/schemas/Genesis.json +1348 -1329
  27. package/src/generated/schemas/standalone/Job.json +7 -8
  28. package/src/generated/schemas/standalone/RawStrategy.json +580 -580
  29. package/src/generated/schemas/standalone/ResourceType.json +4 -4
  30. package/src/generated/schemas/standalone/RunnableStrategy.json +645 -645
  31. package/src/generated/schemas/standalone/StrategyRun.json +913 -913
  32. package/src/generated/types/standalone/Resource_Genesis.d.ts +1 -1
  33. package/src/generated/types/standalone/Resource_Job.d.ts +1 -1
  34. package/src/generated/types/standalone/Resource_RawStrategy.d.ts +1 -1
  35. package/src/generated/types/standalone/Resource_ResourceType.d.ts +1 -1
  36. package/src/generated/types/standalone/Resource_RunnableStrategy.d.ts +1 -1
  37. package/src/generated/types/types.d.ts +717 -709
  38. package/src/index.ts +48 -45
  39. package/src/scripts/generateStandaloneType.ts +3 -1
  40. package/src/scripts/generateTypes.ts +151 -5
@@ -1,580 +1,580 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "type": "object",
4
- "allOf": [
5
- {
6
- "$ref": "#/$defs/StepsFacet"
7
- },
8
- {
9
- "$ref": "#/$defs/StrategyStateFacet"
10
- }
11
- ],
12
- "unevaluatedProperties": false,
13
- "$defs": {
14
- "StepsFacet": {
15
- "$schema": "https://json-schema.org/draft/2020-12/schema",
16
- "type": "object",
17
- "required": [
18
- "steps"
19
- ],
20
- "properties": {
21
- "steps": {
22
- "$ref": "#/$defs/StepArray"
23
- }
24
- }
25
- },
26
- "StrategyStateFacet": {
27
- "$schema": "https://json-schema.org/draft/2020-12/schema",
28
- "type": "object",
29
- "required": [
30
- "strategyState"
31
- ],
32
- "properties": {
33
- "strategyState": {
34
- "$ref": "#/$defs/StrategyState"
35
- }
36
- }
37
- },
38
- "StepArray": {
39
- "$schema": "https://json-schema.org/draft/2020-12/schema",
40
- "type": "array",
41
- "items": {
42
- "$ref": "#/$defs/Step"
43
- },
44
- "uniqueItems": true
45
- },
46
- "StrategyState": {
47
- "$schema": "https://json-schema.org/draft/2020-12/schema",
48
- "type": "object",
49
- "propertyNames": {
50
- "$ref": "#/$defs/JobStepIdentity"
51
- },
52
- "additionalProperties": {
53
- "$ref": "#/$defs/JobStepSocket"
54
- }
55
- },
56
- "Step": {
57
- "$schema": "https://json-schema.org/draft/2020-12/schema",
58
- "type": "object",
59
- "oneOf": [
60
- {
61
- "$ref": "#/$defs/JobStep"
62
- },
63
- {
64
- "$ref": "#/$defs/BranchStep"
65
- },
66
- {
67
- "$ref": "#/$defs/WhileStep"
68
- },
69
- {
70
- "$ref": "#/$defs/ForStep"
71
- }
72
- ],
73
- "unevaluatedProperties": false
74
- },
75
- "JobStepIdentity": {
76
- "$schema": "https://json-schema.org/draft/2020-12/schema",
77
- "type": "string",
78
- "pattern": "^JOB_STEP-.+$"
79
- },
80
- "JobStepSocket": {
81
- "$schema": "https://json-schema.org/draft/2020-12/schema",
82
- "type": "object",
83
- "propertyNames": {
84
- "$ref": "#/$defs/ResourceRoleIdentity"
85
- },
86
- "additionalProperties": {
87
- "oneOf": [
88
- {
89
- "$ref": "#/$defs/ResourcePotential"
90
- },
91
- {
92
- "$ref": "#/$defs/Resource"
93
- }
94
- ]
95
- }
96
- },
97
- "JobStep": {
98
- "$schema": "https://json-schema.org/draft/2020-12/schema",
99
- "type": "object",
100
- "required": [
101
- "identity",
102
- "stepKind",
103
- "jobHandle"
104
- ],
105
- "properties": {
106
- "identity": {
107
- "$ref": "#/$defs/JobStepIdentity"
108
- },
109
- "stepKind": {
110
- "const": "job"
111
- },
112
- "jobHandle": {
113
- "$ref": "#/$defs/JobIdentity"
114
- }
115
- },
116
- "allOf": [
117
- {
118
- "$ref": "#/$defs/StepKindFacet"
119
- },
120
- {
121
- "$comment": "This will be overlayed dynamically to specify roleBindings corresponding to the roles of the underlying job.",
122
- "$ref": "#/$defs/RoleBindingsFacet"
123
- }
124
- ]
125
- },
126
- "BranchStep": {
127
- "$schema": "https://json-schema.org/draft/2020-12/schema",
128
- "type": "object",
129
- "required": [
130
- "identity",
131
- "stepKind",
132
- "cases"
133
- ],
134
- "properties": {
135
- "identity": {
136
- "$ref": "#/$defs/BranchStepIdentity"
137
- },
138
- "stepKind": {
139
- "const": "branch"
140
- },
141
- "cases": {
142
- "type": "array",
143
- "items": {
144
- "$ref": "#/$defs/Conditional"
145
- },
146
- "minItems": 1,
147
- "uniqueItems": true
148
- }
149
- },
150
- "allOf": [
151
- {
152
- "$ref": "#/$defs/StepKindFacet"
153
- }
154
- ]
155
- },
156
- "WhileStep": {
157
- "$schema": "https://json-schema.org/draft/2020-12/schema",
158
- "type": "object",
159
- "required": [
160
- "identity",
161
- "stepKind",
162
- "case"
163
- ],
164
- "properties": {
165
- "identity": {
166
- "$ref": "#/$defs/WhileStepIdentity"
167
- },
168
- "stepKind": {
169
- "const": "while"
170
- },
171
- "case": {
172
- "$ref": "#/$defs/Conditional"
173
- }
174
- },
175
- "allOf": [
176
- {
177
- "$ref": "#/$defs/StepKindFacet"
178
- }
179
- ]
180
- },
181
- "ForStep": {
182
- "$schema": "https://json-schema.org/draft/2020-12/schema",
183
- "type": "object",
184
- "required": [
185
- "identity",
186
- "stepKind",
187
- "case"
188
- ],
189
- "properties": {
190
- "identity": {
191
- "$ref": "#/$defs/ForStepIdentity"
192
- },
193
- "stepKind": {
194
- "const": "for"
195
- },
196
- "case": {
197
- "$ref": "#/$defs/Conditional"
198
- }
199
- },
200
- "allOf": [
201
- {
202
- "$ref": "#/$defs/StepKindFacet"
203
- }
204
- ]
205
- },
206
- "ResourceRoleIdentity": {
207
- "$schema": "https://json-schema.org/draft/2020-12/schema",
208
- "type": "string",
209
- "pattern": "^ROLE-.+$"
210
- },
211
- "ResourcePotential": {
212
- "$schema": "https://json-schema.org/draft/2020-12/schema",
213
- "type": "object",
214
- "oneOf": [
215
- {
216
- "$ref": "#/$defs/ResourceMissing"
217
- },
218
- {
219
- "$ref": "#/$defs/ResourceInputPotential"
220
- },
221
- {
222
- "$ref": "#/$defs/ResourceOutputPotential"
223
- }
224
- ],
225
- "unevaluatedProperties": false
226
- },
227
- "Resource": {
228
- "$schema": "https://json-schema.org/draft/2020-12/schema",
229
- "type": "object",
230
- "allOf": [
231
- {
232
- "$ref": "#/$defs/ShellMaterializedBase"
233
- },
234
- {
235
- "$comment": "This will be overlayed dynamically to match the data structure of the underlying ResourceType's nucleusSchema.",
236
- "$ref": "#/$defs/NucleusFacet"
237
- }
238
- ],
239
- "unevaluatedProperties": false
240
- },
241
- "JobIdentity": {
242
- "$schema": "https://json-schema.org/draft/2020-12/schema",
243
- "type": "string",
244
- "pattern": "^JOB-.+$"
245
- },
246
- "StepKindFacet": {
247
- "$schema": "https://json-schema.org/draft/2020-12/schema",
248
- "type": "object",
249
- "required": [
250
- "stepKind"
251
- ],
252
- "properties": {
253
- "stepKind": {
254
- "$ref": "#/$defs/StepKind"
255
- }
256
- }
257
- },
258
- "RoleBindingsFacet": {
259
- "$schema": "https://json-schema.org/draft/2020-12/schema",
260
- "type": "object",
261
- "required": [
262
- "roleBindings"
263
- ],
264
- "properties": {
265
- "roleBindings": {
266
- "$ref": "#/$defs/RoleBindings"
267
- }
268
- }
269
- },
270
- "BranchStepIdentity": {
271
- "$schema": "https://json-schema.org/draft/2020-12/schema",
272
- "type": "string",
273
- "pattern": "^BRANCH_STEP-.+$"
274
- },
275
- "Conditional": {
276
- "$schema": "https://json-schema.org/draft/2020-12/schema",
277
- "type": "object",
278
- "required": [
279
- "when",
280
- "what"
281
- ],
282
- "properties": {
283
- "when": {
284
- "$ref": "#/$defs/JobStep"
285
- },
286
- "what": {
287
- "$ref": "#/$defs/JobStep"
288
- }
289
- },
290
- "unevaluatedProperties": false
291
- },
292
- "WhileStepIdentity": {
293
- "$schema": "https://json-schema.org/draft/2020-12/schema",
294
- "type": "string",
295
- "pattern": "^WHILE_STEP-.+$"
296
- },
297
- "ForStepIdentity": {
298
- "$schema": "https://json-schema.org/draft/2020-12/schema",
299
- "type": "string",
300
- "pattern": "^FOR_STEP-.+$"
301
- },
302
- "ResourceMissing": {
303
- "$schema": "https://json-schema.org/draft/2020-12/schema",
304
- "type": "object",
305
- "$ref": "#/$defs/ShellMissing",
306
- "unevaluatedProperties": false
307
- },
308
- "ResourceInputPotential": {
309
- "$schema": "https://json-schema.org/draft/2020-12/schema",
310
- "type": "object",
311
- "$ref": "#/$defs/ShellInputPotential",
312
- "unevaluatedProperties": false
313
- },
314
- "ResourceOutputPotential": {
315
- "$schema": "https://json-schema.org/draft/2020-12/schema",
316
- "type": "object",
317
- "$ref": "#/$defs/ShellOutputPotential",
318
- "unevaluatedProperties": false
319
- },
320
- "ShellMaterializedBase": {
321
- "$schema": "https://json-schema.org/draft/2020-12/schema",
322
- "type": "object",
323
- "required": [
324
- "version",
325
- "resourceShellKind"
326
- ],
327
- "properties": {
328
- "version": {
329
- "const": 1
330
- },
331
- "resourceShellKind": {
332
- "const": "materialized"
333
- }
334
- },
335
- "allOf": [
336
- {
337
- "$ref": "#/$defs/ResourceShellBase"
338
- },
339
- {
340
- "$ref": "#/$defs/CreationContextFacet"
341
- },
342
- {
343
- "$ref": "#/$defs/ResourceShellKindFacet"
344
- },
345
- {
346
- "$ref": "#/$defs/TimestampFacet"
347
- },
348
- {
349
- "$ref": "#/$defs/PathFacet"
350
- }
351
- ]
352
- },
353
- "NucleusFacet": {
354
- "$schema": "https://json-schema.org/draft/2020-12/schema",
355
- "type": "object",
356
- "required": [
357
- "nucleus"
358
- ],
359
- "properties": {
360
- "nucleus": true
361
- }
362
- },
363
- "StepKind": {
364
- "$schema": "https://json-schema.org/draft/2020-12/schema",
365
- "type": "string",
366
- "enum": [
367
- "job",
368
- "branch",
369
- "while",
370
- "for"
371
- ]
372
- },
373
- "RoleBindings": {
374
- "$schema": "https://json-schema.org/draft/2020-12/schema",
375
- "type": "object",
376
- "required": [
377
- "inputBindings",
378
- "outputBindings"
379
- ],
380
- "properties": {
381
- "inputBindings": {
382
- "$ref": "#/$defs/RoleBindingArray"
383
- },
384
- "outputBindings": {
385
- "$ref": "#/$defs/RoleBindingArray"
386
- }
387
- }
388
- },
389
- "ShellMissing": {
390
- "$schema": "https://json-schema.org/draft/2020-12/schema",
391
- "type": "object",
392
- "required": [
393
- "resourceShellKind"
394
- ],
395
- "properties": {
396
- "resourceShellKind": {
397
- "const": "missing"
398
- }
399
- },
400
- "allOf": [
401
- {
402
- "$ref": "#/$defs/ResourceShellBase"
403
- },
404
- {
405
- "$ref": "#/$defs/ResourceShellKindFacet"
406
- }
407
- ],
408
- "unevaluatedProperties": false
409
- },
410
- "ShellInputPotential": {
411
- "$schema": "https://json-schema.org/draft/2020-12/schema",
412
- "type": "object",
413
- "required": [
414
- "resourceShellKind"
415
- ],
416
- "properties": {
417
- "resourceShellKind": {
418
- "const": "inputPotential"
419
- }
420
- },
421
- "allOf": [
422
- {
423
- "$ref": "#/$defs/ResourceShellBase"
424
- },
425
- {
426
- "$ref": "#/$defs/CreationContextFacet"
427
- },
428
- {
429
- "$ref": "#/$defs/ResourceShellKindFacet"
430
- }
431
- ],
432
- "unevaluatedProperties": false
433
- },
434
- "ShellOutputPotential": {
435
- "$schema": "https://json-schema.org/draft/2020-12/schema",
436
- "type": "object",
437
- "required": [
438
- "resourceShellKind"
439
- ],
440
- "properties": {
441
- "resourceShellKind": {
442
- "const": "outputPotential"
443
- }
444
- },
445
- "allOf": [
446
- {
447
- "$ref": "#/$defs/ResourceShellBase"
448
- },
449
- {
450
- "$ref": "#/$defs/CreationContextFacet"
451
- },
452
- {
453
- "$ref": "#/$defs/ResourceShellKindFacet"
454
- }
455
- ],
456
- "unevaluatedProperties": false
457
- },
458
- "ResourceShellBase": {
459
- "$schema": "https://json-schema.org/draft/2020-12/schema",
460
- "type": "object",
461
- "required": [
462
- "identity",
463
- "resourceTypeHandle",
464
- "resourceShellKind"
465
- ],
466
- "properties": {
467
- "identity": {
468
- "$ref": "#/$defs/ResourceIdentity"
469
- },
470
- "resourceTypeHandle": {
471
- "$ref": "#/$defs/ResourceTypeIdentity"
472
- },
473
- "resourceShellKind": {
474
- "$ref": "#/$defs/ResourceShellKind"
475
- }
476
- }
477
- },
478
- "CreationContextFacet": {
479
- "$schema": "https://json-schema.org/draft/2020-12/schema",
480
- "type": "object",
481
- "required": [
482
- "creationContext"
483
- ],
484
- "properties": {
485
- "creationContext": {
486
- "$ref": "#/$defs/CreationContext"
487
- }
488
- }
489
- },
490
- "ResourceShellKindFacet": {
491
- "$schema": "https://json-schema.org/draft/2020-12/schema",
492
- "type": "object",
493
- "required": [
494
- "resourceShellKind"
495
- ],
496
- "properties": {
497
- "resourceShellKind": {
498
- "$ref": "#/$defs/ResourceShellKind"
499
- }
500
- }
501
- },
502
- "TimestampFacet": {
503
- "$schema": "https://json-schema.org/draft/2020-12/schema",
504
- "type": "object",
505
- "required": [
506
- "timestamp"
507
- ],
508
- "properties": {
509
- "timestamp": {
510
- "$ref": "#/$defs/Timestamp"
511
- }
512
- }
513
- },
514
- "PathFacet": {
515
- "$schema": "https://json-schema.org/draft/2020-12/schema",
516
- "type": "object",
517
- "required": [
518
- "path"
519
- ],
520
- "properties": {
521
- "path": {
522
- "$ref": "#/$defs/Path"
523
- }
524
- }
525
- },
526
- "RoleBindingArray": {
527
- "$schema": "https://json-schema.org/draft/2020-12/schema",
528
- "type": "array",
529
- "items": {
530
- "$ref": "#/$defs/ResourceRoleIdentity"
531
- }
532
- },
533
- "ResourceIdentity": {
534
- "$schema": "https://json-schema.org/draft/2020-12/schema",
535
- "type": "string",
536
- "pattern": "^RESOURCE-.+$"
537
- },
538
- "ResourceTypeIdentity": {
539
- "$schema": "https://json-schema.org/draft/2020-12/schema",
540
- "type": "string",
541
- "pattern": "^TYPE-.+$"
542
- },
543
- "ResourceShellKind": {
544
- "$schema": "https://json-schema.org/draft/2020-12/schema",
545
- "type": "string",
546
- "enum": [
547
- "missing",
548
- "inputPotential",
549
- "outputPotential",
550
- "materialized"
551
- ]
552
- },
553
- "CreationContext": {
554
- "$schema": "https://json-schema.org/draft/2020-12/schema",
555
- "type": "object",
556
- "required": [
557
- "resourceRoleHandle",
558
- "jobStepHandle"
559
- ],
560
- "properties": {
561
- "resourceRoleHandle": {
562
- "$ref": "#/$defs/ResourceRoleIdentity"
563
- },
564
- "jobStepHandle": {
565
- "$ref": "#/$defs/JobStepIdentity"
566
- }
567
- }
568
- },
569
- "Timestamp": {
570
- "$schema": "https://json-schema.org/draft/2020-12/schema",
571
- "type": "string",
572
- "format": "date-time"
573
- },
574
- "Path": {
575
- "$schema": "https://json-schema.org/draft/2020-12/schema",
576
- "type": "string",
577
- "format": "uri-reference"
578
- }
579
- }
580
- }
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "allOf": [
5
+ {
6
+ "$ref": "#/$defs/StepsFacet"
7
+ },
8
+ {
9
+ "$ref": "#/$defs/StrategyStateFacet"
10
+ }
11
+ ],
12
+ "unevaluatedProperties": false,
13
+ "$defs": {
14
+ "StepsFacet": {
15
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
16
+ "type": "object",
17
+ "required": [
18
+ "steps"
19
+ ],
20
+ "properties": {
21
+ "steps": {
22
+ "$ref": "#/$defs/StepArray"
23
+ }
24
+ }
25
+ },
26
+ "StrategyStateFacet": {
27
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
28
+ "type": "object",
29
+ "required": [
30
+ "strategyState"
31
+ ],
32
+ "properties": {
33
+ "strategyState": {
34
+ "$ref": "#/$defs/StrategyState"
35
+ }
36
+ }
37
+ },
38
+ "StepArray": {
39
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
40
+ "type": "array",
41
+ "items": {
42
+ "$ref": "#/$defs/Step"
43
+ },
44
+ "uniqueItems": true
45
+ },
46
+ "StrategyState": {
47
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
48
+ "type": "object",
49
+ "propertyNames": {
50
+ "$ref": "#/$defs/JobStepIdentity"
51
+ },
52
+ "additionalProperties": {
53
+ "$ref": "#/$defs/JobStepSocket"
54
+ }
55
+ },
56
+ "Step": {
57
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
58
+ "type": "object",
59
+ "oneOf": [
60
+ {
61
+ "$ref": "#/$defs/JobStep"
62
+ },
63
+ {
64
+ "$ref": "#/$defs/BranchStep"
65
+ },
66
+ {
67
+ "$ref": "#/$defs/WhileStep"
68
+ },
69
+ {
70
+ "$ref": "#/$defs/ForStep"
71
+ }
72
+ ],
73
+ "unevaluatedProperties": false
74
+ },
75
+ "JobStepIdentity": {
76
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
77
+ "type": "string",
78
+ "pattern": "^JOB_STEP-.+$"
79
+ },
80
+ "JobStepSocket": {
81
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
82
+ "type": "object",
83
+ "propertyNames": {
84
+ "$ref": "#/$defs/ResourceRoleIdentity"
85
+ },
86
+ "additionalProperties": {
87
+ "oneOf": [
88
+ {
89
+ "$ref": "#/$defs/ResourcePotential"
90
+ },
91
+ {
92
+ "$ref": "#/$defs/Resource"
93
+ }
94
+ ]
95
+ }
96
+ },
97
+ "JobStep": {
98
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
99
+ "type": "object",
100
+ "required": [
101
+ "identity",
102
+ "stepKind",
103
+ "jobHandle"
104
+ ],
105
+ "properties": {
106
+ "identity": {
107
+ "$ref": "#/$defs/JobStepIdentity"
108
+ },
109
+ "stepKind": {
110
+ "const": "job"
111
+ },
112
+ "jobHandle": {
113
+ "$ref": "#/$defs/JobIdentity"
114
+ }
115
+ },
116
+ "allOf": [
117
+ {
118
+ "$ref": "#/$defs/StepKindFacet"
119
+ },
120
+ {
121
+ "$comment": "This will be overlayed dynamically to specify roleBindings corresponding to the roles of the underlying job.",
122
+ "$ref": "#/$defs/RoleBindingsFacet"
123
+ }
124
+ ]
125
+ },
126
+ "BranchStep": {
127
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
128
+ "type": "object",
129
+ "required": [
130
+ "identity",
131
+ "stepKind",
132
+ "cases"
133
+ ],
134
+ "properties": {
135
+ "identity": {
136
+ "$ref": "#/$defs/BranchStepIdentity"
137
+ },
138
+ "stepKind": {
139
+ "const": "branch"
140
+ },
141
+ "cases": {
142
+ "type": "array",
143
+ "items": {
144
+ "$ref": "#/$defs/Conditional"
145
+ },
146
+ "minItems": 1,
147
+ "uniqueItems": true
148
+ }
149
+ },
150
+ "allOf": [
151
+ {
152
+ "$ref": "#/$defs/StepKindFacet"
153
+ }
154
+ ]
155
+ },
156
+ "WhileStep": {
157
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
158
+ "type": "object",
159
+ "required": [
160
+ "identity",
161
+ "stepKind",
162
+ "case"
163
+ ],
164
+ "properties": {
165
+ "identity": {
166
+ "$ref": "#/$defs/WhileStepIdentity"
167
+ },
168
+ "stepKind": {
169
+ "const": "while"
170
+ },
171
+ "case": {
172
+ "$ref": "#/$defs/Conditional"
173
+ }
174
+ },
175
+ "allOf": [
176
+ {
177
+ "$ref": "#/$defs/StepKindFacet"
178
+ }
179
+ ]
180
+ },
181
+ "ForStep": {
182
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
183
+ "type": "object",
184
+ "required": [
185
+ "identity",
186
+ "stepKind",
187
+ "case"
188
+ ],
189
+ "properties": {
190
+ "identity": {
191
+ "$ref": "#/$defs/ForStepIdentity"
192
+ },
193
+ "stepKind": {
194
+ "const": "for"
195
+ },
196
+ "case": {
197
+ "$ref": "#/$defs/Conditional"
198
+ }
199
+ },
200
+ "allOf": [
201
+ {
202
+ "$ref": "#/$defs/StepKindFacet"
203
+ }
204
+ ]
205
+ },
206
+ "ResourceRoleIdentity": {
207
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
208
+ "type": "string",
209
+ "pattern": "^ROLE-.+$"
210
+ },
211
+ "ResourcePotential": {
212
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
213
+ "type": "object",
214
+ "oneOf": [
215
+ {
216
+ "$ref": "#/$defs/ResourceMissing"
217
+ },
218
+ {
219
+ "$ref": "#/$defs/ResourceInputPotential"
220
+ },
221
+ {
222
+ "$ref": "#/$defs/ResourceOutputPotential"
223
+ }
224
+ ],
225
+ "unevaluatedProperties": false
226
+ },
227
+ "Resource": {
228
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
229
+ "type": "object",
230
+ "allOf": [
231
+ {
232
+ "$ref": "#/$defs/ShellMaterializedBase"
233
+ },
234
+ {
235
+ "$comment": "This will be overlayed dynamically to match the data structure of the underlying ResourceType's nucleusSchema.",
236
+ "$ref": "#/$defs/NucleusFacet"
237
+ }
238
+ ],
239
+ "unevaluatedProperties": false
240
+ },
241
+ "JobIdentity": {
242
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
243
+ "type": "string",
244
+ "pattern": "^JOB-.+$"
245
+ },
246
+ "StepKindFacet": {
247
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
248
+ "type": "object",
249
+ "required": [
250
+ "stepKind"
251
+ ],
252
+ "properties": {
253
+ "stepKind": {
254
+ "$ref": "#/$defs/StepKind"
255
+ }
256
+ }
257
+ },
258
+ "RoleBindingsFacet": {
259
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
260
+ "type": "object",
261
+ "required": [
262
+ "roleBindings"
263
+ ],
264
+ "properties": {
265
+ "roleBindings": {
266
+ "$ref": "#/$defs/RoleBindings"
267
+ }
268
+ }
269
+ },
270
+ "BranchStepIdentity": {
271
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
272
+ "type": "string",
273
+ "pattern": "^BRANCH_STEP-.+$"
274
+ },
275
+ "Conditional": {
276
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
277
+ "type": "object",
278
+ "required": [
279
+ "when",
280
+ "what"
281
+ ],
282
+ "properties": {
283
+ "when": {
284
+ "$ref": "#/$defs/JobStep"
285
+ },
286
+ "what": {
287
+ "$ref": "#/$defs/JobStep"
288
+ }
289
+ },
290
+ "unevaluatedProperties": false
291
+ },
292
+ "WhileStepIdentity": {
293
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
294
+ "type": "string",
295
+ "pattern": "^WHILE_STEP-.+$"
296
+ },
297
+ "ForStepIdentity": {
298
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
299
+ "type": "string",
300
+ "pattern": "^FOR_STEP-.+$"
301
+ },
302
+ "ResourceMissing": {
303
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
304
+ "type": "object",
305
+ "$ref": "#/$defs/ShellMissing",
306
+ "unevaluatedProperties": false
307
+ },
308
+ "ResourceInputPotential": {
309
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
310
+ "type": "object",
311
+ "$ref": "#/$defs/ShellInputPotential",
312
+ "unevaluatedProperties": false
313
+ },
314
+ "ResourceOutputPotential": {
315
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
316
+ "type": "object",
317
+ "$ref": "#/$defs/ShellOutputPotential",
318
+ "unevaluatedProperties": false
319
+ },
320
+ "ShellMaterializedBase": {
321
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
322
+ "type": "object",
323
+ "required": [
324
+ "version",
325
+ "resourceShellKind"
326
+ ],
327
+ "properties": {
328
+ "version": {
329
+ "const": 1
330
+ },
331
+ "resourceShellKind": {
332
+ "const": "materialized"
333
+ }
334
+ },
335
+ "allOf": [
336
+ {
337
+ "$ref": "#/$defs/ResourceShellBase"
338
+ },
339
+ {
340
+ "$ref": "#/$defs/CreationContextFacet"
341
+ },
342
+ {
343
+ "$ref": "#/$defs/ResourceShellKindFacet"
344
+ },
345
+ {
346
+ "$ref": "#/$defs/TimestampFacet"
347
+ },
348
+ {
349
+ "$ref": "#/$defs/PathFacet"
350
+ }
351
+ ]
352
+ },
353
+ "NucleusFacet": {
354
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
355
+ "type": "object",
356
+ "required": [
357
+ "nucleus"
358
+ ],
359
+ "properties": {
360
+ "nucleus": true
361
+ }
362
+ },
363
+ "StepKind": {
364
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
365
+ "type": "string",
366
+ "enum": [
367
+ "job",
368
+ "branch",
369
+ "while",
370
+ "for"
371
+ ]
372
+ },
373
+ "RoleBindings": {
374
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
375
+ "type": "object",
376
+ "required": [
377
+ "inputBindings",
378
+ "outputBindings"
379
+ ],
380
+ "properties": {
381
+ "inputBindings": {
382
+ "$ref": "#/$defs/RoleBindingArray"
383
+ },
384
+ "outputBindings": {
385
+ "$ref": "#/$defs/RoleBindingArray"
386
+ }
387
+ }
388
+ },
389
+ "ShellMissing": {
390
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
391
+ "type": "object",
392
+ "required": [
393
+ "resourceShellKind"
394
+ ],
395
+ "properties": {
396
+ "resourceShellKind": {
397
+ "const": "missing"
398
+ }
399
+ },
400
+ "allOf": [
401
+ {
402
+ "$ref": "#/$defs/ResourceShellBase"
403
+ },
404
+ {
405
+ "$ref": "#/$defs/ResourceShellKindFacet"
406
+ }
407
+ ],
408
+ "unevaluatedProperties": false
409
+ },
410
+ "ShellInputPotential": {
411
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
412
+ "type": "object",
413
+ "required": [
414
+ "resourceShellKind"
415
+ ],
416
+ "properties": {
417
+ "resourceShellKind": {
418
+ "const": "inputPotential"
419
+ }
420
+ },
421
+ "allOf": [
422
+ {
423
+ "$ref": "#/$defs/ResourceShellBase"
424
+ },
425
+ {
426
+ "$ref": "#/$defs/CreationContextFacet"
427
+ },
428
+ {
429
+ "$ref": "#/$defs/ResourceShellKindFacet"
430
+ }
431
+ ],
432
+ "unevaluatedProperties": false
433
+ },
434
+ "ShellOutputPotential": {
435
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
436
+ "type": "object",
437
+ "required": [
438
+ "resourceShellKind"
439
+ ],
440
+ "properties": {
441
+ "resourceShellKind": {
442
+ "const": "outputPotential"
443
+ }
444
+ },
445
+ "allOf": [
446
+ {
447
+ "$ref": "#/$defs/ResourceShellBase"
448
+ },
449
+ {
450
+ "$ref": "#/$defs/CreationContextFacet"
451
+ },
452
+ {
453
+ "$ref": "#/$defs/ResourceShellKindFacet"
454
+ }
455
+ ],
456
+ "unevaluatedProperties": false
457
+ },
458
+ "ResourceShellBase": {
459
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
460
+ "type": "object",
461
+ "required": [
462
+ "identity",
463
+ "resourceTypeHandle",
464
+ "resourceShellKind"
465
+ ],
466
+ "properties": {
467
+ "identity": {
468
+ "$ref": "#/$defs/ResourceIdentity"
469
+ },
470
+ "resourceTypeHandle": {
471
+ "$ref": "#/$defs/ResourceTypeIdentity"
472
+ },
473
+ "resourceShellKind": {
474
+ "$ref": "#/$defs/ResourceShellKind"
475
+ }
476
+ }
477
+ },
478
+ "CreationContextFacet": {
479
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
480
+ "type": "object",
481
+ "required": [
482
+ "creationContext"
483
+ ],
484
+ "properties": {
485
+ "creationContext": {
486
+ "$ref": "#/$defs/CreationContext"
487
+ }
488
+ }
489
+ },
490
+ "ResourceShellKindFacet": {
491
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
492
+ "type": "object",
493
+ "required": [
494
+ "resourceShellKind"
495
+ ],
496
+ "properties": {
497
+ "resourceShellKind": {
498
+ "$ref": "#/$defs/ResourceShellKind"
499
+ }
500
+ }
501
+ },
502
+ "TimestampFacet": {
503
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
504
+ "type": "object",
505
+ "required": [
506
+ "timestamp"
507
+ ],
508
+ "properties": {
509
+ "timestamp": {
510
+ "$ref": "#/$defs/Timestamp"
511
+ }
512
+ }
513
+ },
514
+ "PathFacet": {
515
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
516
+ "type": "object",
517
+ "required": [
518
+ "path"
519
+ ],
520
+ "properties": {
521
+ "path": {
522
+ "$ref": "#/$defs/Path"
523
+ }
524
+ }
525
+ },
526
+ "RoleBindingArray": {
527
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
528
+ "type": "array",
529
+ "items": {
530
+ "$ref": "#/$defs/ResourceRoleIdentity"
531
+ }
532
+ },
533
+ "ResourceIdentity": {
534
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
535
+ "type": "string",
536
+ "pattern": "^RESOURCE-.+$"
537
+ },
538
+ "ResourceTypeIdentity": {
539
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
540
+ "type": "string",
541
+ "pattern": "^TYPE-.+$"
542
+ },
543
+ "ResourceShellKind": {
544
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
545
+ "type": "string",
546
+ "enum": [
547
+ "missing",
548
+ "inputPotential",
549
+ "outputPotential",
550
+ "materialized"
551
+ ]
552
+ },
553
+ "CreationContext": {
554
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
555
+ "type": "object",
556
+ "required": [
557
+ "resourceRoleHandle",
558
+ "jobStepHandle"
559
+ ],
560
+ "properties": {
561
+ "resourceRoleHandle": {
562
+ "$ref": "#/$defs/ResourceRoleIdentity"
563
+ },
564
+ "jobStepHandle": {
565
+ "$ref": "#/$defs/JobStepIdentity"
566
+ }
567
+ }
568
+ },
569
+ "Timestamp": {
570
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
571
+ "type": "string",
572
+ "format": "date-time"
573
+ },
574
+ "Path": {
575
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
576
+ "type": "string",
577
+ "format": "uri-reference"
578
+ }
579
+ }
580
+ }