1{
2    "type": "object",
3    "required": ["header", "sectionDescriptors", "sections"],
4    "additionalProperties": false,
5    "properties": {
6        "header": {
7            "$ref": "./cper-json-header.json"
8        },
9        "sectionDescriptors": {
10            "type": "array",
11            "items": {
12                "type": "object",
13                "$ref": "./cper-json-section-descriptor.json"
14            }
15        },
16        "sections": {
17            "type": "array",
18            "items": {
19                "type": "object",
20                "oneOf": [
21                    { "$ref": "./sections/cper-generic-processor.json" },
22                    { "$ref": "./sections/cper-ia32x64-processor.json" },
23                    { "$ref": "./sections/cper-arm-processor.json" },
24                    { "$ref": "./sections/cper-memory.json" },
25                    { "$ref": "./sections/cper-memory2.json" },
26                    { "$ref": "./sections/cper-pcie.json" },
27                    { "$ref": "./sections/cper-pci-bus.json" },
28                    { "$ref": "./sections/cper-pci-component.json" },
29                    { "$ref": "./sections/cper-firmware.json" },
30                    { "$ref": "./sections/cper-generic-dmar.json" },
31                    { "$ref": "./sections/cper-vtd-dmar.json" },
32                    { "$ref": "./sections/cper-iommu-dmar.json" },
33                    { "$ref": "./sections/cper-ccix-per.json" },
34                    { "$ref": "./sections/cper-cxl-protocol.json" },
35                    { "$ref": "./sections/cper-cxl-component.json" },
36                    { "$ref": "./sections/cper-unknown.json" }
37                ]
38            }
39        }
40    }
41}
42