@apexops/contracts 0.10.0-next.5 → 0.11.0-next.1

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 (76) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/archetype-source.d.ts +70 -0
  3. package/dist/archetype-source.d.ts.map +1 -0
  4. package/dist/archetype-source.js +58 -0
  5. package/dist/archetype-source.js.map +1 -0
  6. package/dist/artifacts.d.ts +64 -0
  7. package/dist/artifacts.d.ts.map +1 -1
  8. package/dist/artifacts.js +69 -0
  9. package/dist/artifacts.js.map +1 -1
  10. package/dist/common.d.ts +2 -0
  11. package/dist/common.d.ts.map +1 -1
  12. package/dist/common.js +1 -0
  13. package/dist/common.js.map +1 -1
  14. package/dist/evidence.d.ts.map +1 -1
  15. package/dist/evidence.js +2 -0
  16. package/dist/evidence.js.map +1 -1
  17. package/dist/governance-observation.d.ts +15 -0
  18. package/dist/governance-observation.d.ts.map +1 -0
  19. package/dist/governance-observation.js +15 -0
  20. package/dist/governance-observation.js.map +1 -0
  21. package/dist/index.d.ts +616 -3
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +47 -4
  24. package/dist/index.js.map +1 -1
  25. package/dist/native-validation.d.ts +136 -0
  26. package/dist/native-validation.d.ts.map +1 -0
  27. package/dist/native-validation.js +276 -0
  28. package/dist/native-validation.js.map +1 -0
  29. package/dist/onboarding.d.ts +184 -3
  30. package/dist/onboarding.d.ts.map +1 -1
  31. package/dist/onboarding.js +122 -6
  32. package/dist/onboarding.js.map +1 -1
  33. package/dist/policy-validation.d.ts +45 -0
  34. package/dist/policy-validation.d.ts.map +1 -0
  35. package/dist/policy-validation.js +194 -0
  36. package/dist/policy-validation.js.map +1 -0
  37. package/dist/runtime.d.ts +72 -0
  38. package/dist/runtime.d.ts.map +1 -1
  39. package/dist/runtime.js +34 -1
  40. package/dist/runtime.js.map +1 -1
  41. package/dist/targets.d.ts +158 -1
  42. package/dist/targets.d.ts.map +1 -1
  43. package/dist/targets.js +168 -2
  44. package/dist/targets.js.map +1 -1
  45. package/dist/test/contracts.test.js +751 -3
  46. package/dist/test/contracts.test.js.map +1 -1
  47. package/package.json +2 -2
  48. package/schemas/archetype-batch-config-v1.schema.json +51 -0
  49. package/schemas/archetype-batch-plan-v1.schema.json +227 -0
  50. package/schemas/archetype-source-proposal-v1.schema.json +113 -0
  51. package/schemas/architecture-v1.schema.json +278 -0
  52. package/schemas/bootstrap-plan-v1.schema.json +206 -0
  53. package/schemas/contract-metadata.json +85 -0
  54. package/schemas/cost-estimate-v1.schema.json +54 -1
  55. package/schemas/diagnosis-v1.schema.json +323 -0
  56. package/schemas/governance-constraints-v1.schema.json +13 -0
  57. package/schemas/governance-observation-receipt-v1.schema.json +60 -0
  58. package/schemas/governance-provision-plan-v1.schema.json +307 -0
  59. package/schemas/governance-setup-config-v1.schema.json +80 -0
  60. package/schemas/governance-setup-plan-v1.schema.json +217 -0
  61. package/schemas/iac-binding-v1.schema.json +60 -0
  62. package/schemas/input-request-v1.schema.json +190 -0
  63. package/schemas/logical-resource-manifest-v1.schema.json +4 -0
  64. package/schemas/native-validation-receipt-v1.schema.json +862 -0
  65. package/schemas/onboarding-config-v1.schema.json +15 -12
  66. package/schemas/policy-property-map-v1.schema.json +17 -0
  67. package/schemas/policy-validation-v1.schema.json +278 -0
  68. package/schemas/project-config-v1.schema.json +14 -1
  69. package/schemas/repeat-guard-records-v1.schema.json +76 -0
  70. package/schemas/repository-publish-config-v1.schema.json +52 -0
  71. package/schemas/repository-publish-plan-v1.schema.json +265 -0
  72. package/schemas/requirements-amendment-v1.schema.json +213 -0
  73. package/schemas/requirements-change-proposal-v1.schema.json +196 -0
  74. package/schemas/review-capture-v1.schema.json +67 -0
  75. package/schemas/review-findings-v1.schema.json +103 -0
  76. package/schemas/review-request-v1.schema.json +111 -0
@@ -0,0 +1,862 @@
1
+ {
2
+ "$id": "https://schemas.apexops.dev/native-validation-receipt-v1.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "commands": {
7
+ "items": {
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "commandHash": {
11
+ "pattern": "^[0-9a-f]{64}$",
12
+ "type": "string"
13
+ },
14
+ "exitCode": {
15
+ "const": 0,
16
+ "type": "number"
17
+ },
18
+ "outputTruncated": {
19
+ "const": false,
20
+ "type": "boolean"
21
+ },
22
+ "signal": {
23
+ "type": "null"
24
+ },
25
+ "timedOut": {
26
+ "const": false,
27
+ "type": "boolean"
28
+ },
29
+ "validatorId": {
30
+ "anyOf": [
31
+ {
32
+ "const": "bicep:format",
33
+ "type": "string"
34
+ },
35
+ {
36
+ "const": "bicep:build",
37
+ "type": "string"
38
+ },
39
+ {
40
+ "const": "bicep:lint",
41
+ "type": "string"
42
+ },
43
+ {
44
+ "const": "terraform:init-backend-false",
45
+ "type": "string"
46
+ },
47
+ {
48
+ "const": "terraform:format",
49
+ "type": "string"
50
+ },
51
+ {
52
+ "const": "terraform:validate",
53
+ "type": "string"
54
+ }
55
+ ]
56
+ }
57
+ },
58
+ "required": [
59
+ "validatorId",
60
+ "commandHash",
61
+ "exitCode",
62
+ "signal",
63
+ "timedOut",
64
+ "outputTruncated"
65
+ ],
66
+ "type": "object"
67
+ },
68
+ "maxItems": 3,
69
+ "minItems": 1,
70
+ "type": "array"
71
+ },
72
+ "inputHash": {
73
+ "pattern": "^[0-9a-f]{64}$",
74
+ "type": "string"
75
+ },
76
+ "outcome": {
77
+ "const": "pass",
78
+ "type": "string"
79
+ },
80
+ "policyApplicability": {
81
+ "additionalProperties": false,
82
+ "properties": {
83
+ "policyMapContentHash": {
84
+ "pattern": "^[0-9a-f]{64}$",
85
+ "type": "string"
86
+ },
87
+ "status": {
88
+ "const": "no-actionable-mappings",
89
+ "type": "string"
90
+ }
91
+ },
92
+ "required": [
93
+ "status",
94
+ "policyMapContentHash"
95
+ ],
96
+ "type": "object"
97
+ },
98
+ "policyHash": {
99
+ "pattern": "^[0-9a-f]{64}$",
100
+ "type": "string"
101
+ },
102
+ "policyValidation": {
103
+ "$id": "https://schemas.apexops.dev/policy-validation-v1.json",
104
+ "additionalProperties": false,
105
+ "properties": {
106
+ "inputHash": {
107
+ "pattern": "^[0-9a-f]{64}$",
108
+ "type": "string"
109
+ },
110
+ "logicalResourceManifestHash": {
111
+ "pattern": "^[0-9a-f]{64}$",
112
+ "type": "string"
113
+ },
114
+ "outcome": {
115
+ "anyOf": [
116
+ {
117
+ "const": "pass",
118
+ "type": "string"
119
+ },
120
+ {
121
+ "const": "fail",
122
+ "type": "string"
123
+ },
124
+ {
125
+ "const": "unsupported",
126
+ "type": "string"
127
+ }
128
+ ]
129
+ },
130
+ "policyMapContentHash": {
131
+ "pattern": "^[0-9a-f]{64}$",
132
+ "type": "string"
133
+ },
134
+ "policyMapHash": {
135
+ "pattern": "^[0-9a-f]{64}$",
136
+ "type": "string"
137
+ },
138
+ "projectId": {
139
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
140
+ "type": "string"
141
+ },
142
+ "receiptHash": {
143
+ "pattern": "^[0-9a-f]{64}$",
144
+ "type": "string"
145
+ },
146
+ "results": {
147
+ "items": {
148
+ "additionalProperties": false,
149
+ "properties": {
150
+ "disposition": {
151
+ "anyOf": [
152
+ {
153
+ "const": "satisfied",
154
+ "type": "string"
155
+ },
156
+ {
157
+ "const": "planned",
158
+ "type": "string"
159
+ },
160
+ {
161
+ "const": "exempt",
162
+ "type": "string"
163
+ },
164
+ {
165
+ "const": "blocked",
166
+ "type": "string"
167
+ },
168
+ {
169
+ "const": "not-applicable",
170
+ "type": "string"
171
+ }
172
+ ]
173
+ },
174
+ "effect": {
175
+ "anyOf": [
176
+ {
177
+ "const": "deny",
178
+ "type": "string"
179
+ },
180
+ {
181
+ "const": "modify",
182
+ "type": "string"
183
+ },
184
+ {
185
+ "const": "append",
186
+ "type": "string"
187
+ },
188
+ {
189
+ "const": "audit",
190
+ "type": "string"
191
+ },
192
+ {
193
+ "const": "deployIfNotExists",
194
+ "type": "string"
195
+ },
196
+ {
197
+ "const": "disabled",
198
+ "type": "string"
199
+ }
200
+ ]
201
+ },
202
+ "expectedValueDigest": {
203
+ "pattern": "^[0-9a-f]{64}$",
204
+ "type": "string"
205
+ },
206
+ "logicalResourceId": {
207
+ "minLength": 1,
208
+ "type": "string"
209
+ },
210
+ "mappingHash": {
211
+ "pattern": "^[0-9a-f]{64}$",
212
+ "type": "string"
213
+ },
214
+ "mappingIndex": {
215
+ "minimum": 0,
216
+ "type": "integer"
217
+ },
218
+ "observedValueDigest": {
219
+ "pattern": "^[0-9a-f]{64}$",
220
+ "type": "string"
221
+ },
222
+ "outcome": {
223
+ "anyOf": [
224
+ {
225
+ "const": "pass",
226
+ "type": "string"
227
+ },
228
+ {
229
+ "const": "fail",
230
+ "type": "string"
231
+ },
232
+ {
233
+ "const": "unsupported",
234
+ "type": "string"
235
+ }
236
+ ]
237
+ },
238
+ "policyAssignmentId": {
239
+ "minLength": 1,
240
+ "type": "string"
241
+ },
242
+ "policyDefinitionId": {
243
+ "minLength": 1,
244
+ "type": "string"
245
+ },
246
+ "policyDefinitionReferenceId": {
247
+ "minLength": 1,
248
+ "type": "string"
249
+ },
250
+ "propertyPath": {
251
+ "minLength": 1,
252
+ "type": "string"
253
+ },
254
+ "reason": {
255
+ "anyOf": [
256
+ {
257
+ "const": "matched",
258
+ "type": "string"
259
+ },
260
+ {
261
+ "const": "value-mismatch",
262
+ "type": "string"
263
+ },
264
+ {
265
+ "const": "missing-property",
266
+ "type": "string"
267
+ },
268
+ {
269
+ "const": "blocked",
270
+ "type": "string"
271
+ },
272
+ {
273
+ "const": "missing-expected-value",
274
+ "type": "string"
275
+ },
276
+ {
277
+ "const": "unverified-exemption",
278
+ "type": "string"
279
+ },
280
+ {
281
+ "const": "unsupported-effect",
282
+ "type": "string"
283
+ },
284
+ {
285
+ "const": "unsupported-path",
286
+ "type": "string"
287
+ },
288
+ {
289
+ "const": "unsupported-expression",
290
+ "type": "string"
291
+ },
292
+ {
293
+ "const": "resource-not-bound",
294
+ "type": "string"
295
+ },
296
+ {
297
+ "const": "resource-not-found",
298
+ "type": "string"
299
+ },
300
+ {
301
+ "const": "ambiguous-resource",
302
+ "type": "string"
303
+ },
304
+ {
305
+ "const": "unsupported-resource",
306
+ "type": "string"
307
+ },
308
+ {
309
+ "const": "invalid-source",
310
+ "type": "string"
311
+ },
312
+ {
313
+ "const": "not-applicable",
314
+ "type": "string"
315
+ },
316
+ {
317
+ "const": "platform-remediated",
318
+ "type": "string"
319
+ }
320
+ ]
321
+ }
322
+ },
323
+ "required": [
324
+ "mappingIndex",
325
+ "mappingHash",
326
+ "policyAssignmentId",
327
+ "effect",
328
+ "disposition",
329
+ "logicalResourceId",
330
+ "propertyPath",
331
+ "outcome",
332
+ "reason"
333
+ ],
334
+ "type": "object"
335
+ },
336
+ "type": "array"
337
+ },
338
+ "runId": {
339
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,127}$",
340
+ "type": "string"
341
+ },
342
+ "schemaVersion": {
343
+ "const": "1.0.0",
344
+ "type": "string"
345
+ },
346
+ "sourceHash": {
347
+ "pattern": "^[0-9a-f]{64}$",
348
+ "type": "string"
349
+ },
350
+ "track": {
351
+ "anyOf": [
352
+ {
353
+ "const": "bicep",
354
+ "type": "string"
355
+ },
356
+ {
357
+ "const": "terraform",
358
+ "type": "string"
359
+ }
360
+ ]
361
+ }
362
+ },
363
+ "required": [
364
+ "schemaVersion",
365
+ "projectId",
366
+ "runId",
367
+ "track",
368
+ "sourceHash",
369
+ "policyMapHash",
370
+ "policyMapContentHash",
371
+ "logicalResourceManifestHash",
372
+ "inputHash",
373
+ "outcome",
374
+ "results",
375
+ "receiptHash"
376
+ ],
377
+ "type": "object"
378
+ },
379
+ "projectId": {
380
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
381
+ "type": "string"
382
+ },
383
+ "receiptHash": {
384
+ "pattern": "^[0-9a-f]{64}$",
385
+ "type": "string"
386
+ },
387
+ "resourceParity": {
388
+ "additionalProperties": false,
389
+ "properties": {
390
+ "bindingHash": {
391
+ "pattern": "^[0-9a-f]{64}$",
392
+ "type": "string"
393
+ },
394
+ "coverage": {
395
+ "const": "bicep-symbolic-resource-parity-v1",
396
+ "type": "string"
397
+ },
398
+ "inputHash": {
399
+ "pattern": "^[0-9a-f]{64}$",
400
+ "type": "string"
401
+ },
402
+ "manifestHash": {
403
+ "pattern": "^[0-9a-f]{64}$",
404
+ "type": "string"
405
+ },
406
+ "outcome": {
407
+ "anyOf": [
408
+ {
409
+ "const": "pass",
410
+ "type": "string"
411
+ },
412
+ {
413
+ "const": "fail",
414
+ "type": "string"
415
+ },
416
+ {
417
+ "const": "unsupported",
418
+ "type": "string"
419
+ }
420
+ ]
421
+ },
422
+ "reason": {
423
+ "anyOf": [
424
+ {
425
+ "const": "matched",
426
+ "type": "string"
427
+ },
428
+ {
429
+ "const": "coverage-mismatch",
430
+ "type": "string"
431
+ },
432
+ {
433
+ "const": "type-mismatch",
434
+ "type": "string"
435
+ },
436
+ {
437
+ "const": "dependency-mismatch",
438
+ "type": "string"
439
+ },
440
+ {
441
+ "const": "unsupported-resource",
442
+ "type": "string"
443
+ },
444
+ {
445
+ "const": "invalid-source",
446
+ "type": "string"
447
+ }
448
+ ]
449
+ },
450
+ "sourceHash": {
451
+ "pattern": "^[0-9a-f]{64}$",
452
+ "type": "string"
453
+ }
454
+ },
455
+ "required": [
456
+ "coverage",
457
+ "sourceHash",
458
+ "manifestHash",
459
+ "inputHash",
460
+ "outcome",
461
+ "reason"
462
+ ],
463
+ "type": "object"
464
+ },
465
+ "runId": {
466
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,127}$",
467
+ "type": "string"
468
+ },
469
+ "schemaVersion": {
470
+ "const": "1.0.0",
471
+ "type": "string"
472
+ },
473
+ "securityBaseline": {
474
+ "additionalProperties": false,
475
+ "properties": {
476
+ "bindingHash": {
477
+ "pattern": "^[0-9a-f]{64}$",
478
+ "type": "string"
479
+ },
480
+ "coverage": {
481
+ "const": "bicep-storage-only-baseline-v1",
482
+ "type": "string"
483
+ },
484
+ "inputHash": {
485
+ "pattern": "^[0-9a-f]{64}$",
486
+ "type": "string"
487
+ },
488
+ "manifestHash": {
489
+ "pattern": "^[0-9a-f]{64}$",
490
+ "type": "string"
491
+ },
492
+ "outcome": {
493
+ "anyOf": [
494
+ {
495
+ "const": "pass",
496
+ "type": "string"
497
+ },
498
+ {
499
+ "const": "fail",
500
+ "type": "string"
501
+ },
502
+ {
503
+ "const": "unsupported",
504
+ "type": "string"
505
+ }
506
+ ]
507
+ },
508
+ "reason": {
509
+ "anyOf": [
510
+ {
511
+ "const": "matched",
512
+ "type": "string"
513
+ },
514
+ {
515
+ "const": "resource-parity",
516
+ "type": "string"
517
+ },
518
+ {
519
+ "const": "unsupported-resource",
520
+ "type": "string"
521
+ },
522
+ {
523
+ "const": "credential-content",
524
+ "type": "string"
525
+ },
526
+ {
527
+ "const": "storage-controls",
528
+ "type": "string"
529
+ },
530
+ {
531
+ "const": "diagnostic-routing",
532
+ "type": "string"
533
+ }
534
+ ]
535
+ },
536
+ "sourceHash": {
537
+ "pattern": "^[0-9a-f]{64}$",
538
+ "type": "string"
539
+ }
540
+ },
541
+ "required": [
542
+ "coverage",
543
+ "sourceHash",
544
+ "inputHash",
545
+ "manifestHash",
546
+ "bindingHash",
547
+ "outcome",
548
+ "reason"
549
+ ],
550
+ "type": "object"
551
+ },
552
+ "sourceHash": {
553
+ "pattern": "^[0-9a-f]{64}$",
554
+ "type": "string"
555
+ },
556
+ "storageDiagnostics": {
557
+ "maxProperties": 1000,
558
+ "patternProperties": {
559
+ "^(.*)$": {
560
+ "additionalProperties": false,
561
+ "properties": {
562
+ "bindingHash": {
563
+ "pattern": "^[0-9a-f]{64}$",
564
+ "type": "string"
565
+ },
566
+ "coverage": {
567
+ "const": "bicep-storage-service-diagnostics-v1",
568
+ "type": "string"
569
+ },
570
+ "fullBaselineEvaluated": {
571
+ "const": false,
572
+ "type": "boolean"
573
+ },
574
+ "inputHash": {
575
+ "pattern": "^[0-9a-f]{64}$",
576
+ "type": "string"
577
+ },
578
+ "outcome": {
579
+ "anyOf": [
580
+ {
581
+ "const": "pass",
582
+ "type": "string"
583
+ },
584
+ {
585
+ "const": "fail",
586
+ "type": "string"
587
+ },
588
+ {
589
+ "const": "unsupported",
590
+ "type": "string"
591
+ }
592
+ ]
593
+ },
594
+ "reason": {
595
+ "anyOf": [
596
+ {
597
+ "const": "matched",
598
+ "type": "string"
599
+ },
600
+ {
601
+ "const": "invalid-source",
602
+ "type": "string"
603
+ },
604
+ {
605
+ "const": "ambiguous-or-unbound-account",
606
+ "type": "string"
607
+ },
608
+ {
609
+ "const": "unsupported-account",
610
+ "type": "string"
611
+ },
612
+ {
613
+ "const": "missing-or-ambiguous-service",
614
+ "type": "string"
615
+ },
616
+ {
617
+ "const": "unsupported-service",
618
+ "type": "string"
619
+ },
620
+ {
621
+ "const": "missing-or-ambiguous-diagnostics",
622
+ "type": "string"
623
+ },
624
+ {
625
+ "const": "unsupported-diagnostics",
626
+ "type": "string"
627
+ },
628
+ {
629
+ "const": "workspace-mismatch",
630
+ "type": "string"
631
+ },
632
+ {
633
+ "const": "missing-categories",
634
+ "type": "string"
635
+ },
636
+ {
637
+ "const": "disabled-or-missing-categories",
638
+ "type": "string"
639
+ }
640
+ ]
641
+ },
642
+ "sourceHash": {
643
+ "pattern": "^[0-9a-f]{64}$",
644
+ "type": "string"
645
+ }
646
+ },
647
+ "required": [
648
+ "coverage",
649
+ "fullBaselineEvaluated",
650
+ "sourceHash",
651
+ "inputHash",
652
+ "bindingHash",
653
+ "outcome",
654
+ "reason"
655
+ ],
656
+ "type": "object"
657
+ }
658
+ },
659
+ "type": "object"
660
+ },
661
+ "storageSecurity": {
662
+ "maxProperties": 1000,
663
+ "patternProperties": {
664
+ "^(.*)$": {
665
+ "additionalProperties": false,
666
+ "properties": {
667
+ "bindingHash": {
668
+ "pattern": "^[0-9a-f]{64}$",
669
+ "type": "string"
670
+ },
671
+ "coverage": {
672
+ "const": "storage-account-property-hardening-v1",
673
+ "type": "string"
674
+ },
675
+ "fullBaselineEvaluated": {
676
+ "const": false,
677
+ "type": "boolean"
678
+ },
679
+ "inputHash": {
680
+ "pattern": "^[0-9a-f]{64}$",
681
+ "type": "string"
682
+ },
683
+ "outcome": {
684
+ "anyOf": [
685
+ {
686
+ "const": "pass",
687
+ "type": "string"
688
+ },
689
+ {
690
+ "const": "fail",
691
+ "type": "string"
692
+ },
693
+ {
694
+ "const": "unsupported",
695
+ "type": "string"
696
+ }
697
+ ]
698
+ },
699
+ "results": {
700
+ "items": {
701
+ "additionalProperties": false,
702
+ "properties": {
703
+ "expectedValueDigest": {
704
+ "pattern": "^[0-9a-f]{64}$",
705
+ "type": "string"
706
+ },
707
+ "observedValueDigest": {
708
+ "pattern": "^[0-9a-f]{64}$",
709
+ "type": "string"
710
+ },
711
+ "outcome": {
712
+ "anyOf": [
713
+ {
714
+ "const": "pass",
715
+ "type": "string"
716
+ },
717
+ {
718
+ "const": "fail",
719
+ "type": "string"
720
+ },
721
+ {
722
+ "const": "unsupported",
723
+ "type": "string"
724
+ }
725
+ ]
726
+ },
727
+ "propertyPath": {
728
+ "minLength": 1,
729
+ "type": "string"
730
+ },
731
+ "reason": {
732
+ "anyOf": [
733
+ {
734
+ "const": "matched",
735
+ "type": "string"
736
+ },
737
+ {
738
+ "const": "value-mismatch",
739
+ "type": "string"
740
+ },
741
+ {
742
+ "const": "missing-property",
743
+ "type": "string"
744
+ },
745
+ {
746
+ "const": "blocked",
747
+ "type": "string"
748
+ },
749
+ {
750
+ "const": "missing-expected-value",
751
+ "type": "string"
752
+ },
753
+ {
754
+ "const": "unverified-exemption",
755
+ "type": "string"
756
+ },
757
+ {
758
+ "const": "unsupported-effect",
759
+ "type": "string"
760
+ },
761
+ {
762
+ "const": "unsupported-path",
763
+ "type": "string"
764
+ },
765
+ {
766
+ "const": "unsupported-expression",
767
+ "type": "string"
768
+ },
769
+ {
770
+ "const": "resource-not-bound",
771
+ "type": "string"
772
+ },
773
+ {
774
+ "const": "resource-not-found",
775
+ "type": "string"
776
+ },
777
+ {
778
+ "const": "ambiguous-resource",
779
+ "type": "string"
780
+ },
781
+ {
782
+ "const": "unsupported-resource",
783
+ "type": "string"
784
+ },
785
+ {
786
+ "const": "invalid-source",
787
+ "type": "string"
788
+ },
789
+ {
790
+ "const": "not-applicable",
791
+ "type": "string"
792
+ },
793
+ {
794
+ "const": "platform-remediated",
795
+ "type": "string"
796
+ }
797
+ ]
798
+ }
799
+ },
800
+ "required": [
801
+ "propertyPath",
802
+ "expectedValueDigest",
803
+ "outcome",
804
+ "reason"
805
+ ],
806
+ "type": "object"
807
+ },
808
+ "maxItems": 4,
809
+ "minItems": 4,
810
+ "type": "array"
811
+ },
812
+ "sourceHash": {
813
+ "pattern": "^[0-9a-f]{64}$",
814
+ "type": "string"
815
+ }
816
+ },
817
+ "required": [
818
+ "coverage",
819
+ "fullBaselineEvaluated",
820
+ "sourceHash",
821
+ "inputHash",
822
+ "bindingHash",
823
+ "outcome",
824
+ "results"
825
+ ],
826
+ "type": "object"
827
+ }
828
+ },
829
+ "type": "object"
830
+ },
831
+ "track": {
832
+ "anyOf": [
833
+ {
834
+ "const": "bicep",
835
+ "type": "string"
836
+ },
837
+ {
838
+ "const": "terraform",
839
+ "type": "string"
840
+ }
841
+ ]
842
+ },
843
+ "treeHash": {
844
+ "pattern": "^[0-9a-f]{64}$",
845
+ "type": "string"
846
+ }
847
+ },
848
+ "required": [
849
+ "schemaVersion",
850
+ "projectId",
851
+ "runId",
852
+ "track",
853
+ "sourceHash",
854
+ "treeHash",
855
+ "policyHash",
856
+ "inputHash",
857
+ "outcome",
858
+ "commands",
859
+ "receiptHash"
860
+ ],
861
+ "type": "object"
862
+ }