1079d581eSLawrence Tang{
2079d581eSLawrence Tang    "$id": "cper-json-header",
3079d581eSLawrence Tang    "$schema": "https://json-schema.org/draft/2020-12/schema",
4079d581eSLawrence Tang    "type": "object",
5*044afd01SJohn Chung    "required": [
6*044afd01SJohn Chung        "revision",
7*044afd01SJohn Chung        "sectionCount",
8*044afd01SJohn Chung        "severity",
9*044afd01SJohn Chung        "validationBits",
10*044afd01SJohn Chung        "recordLength",
11*044afd01SJohn Chung        "creatorID",
12*044afd01SJohn Chung        "notificationType",
13*044afd01SJohn Chung        "recordID",
14*044afd01SJohn Chung        "flags",
15*044afd01SJohn Chung        "persistenceInfo"
16*044afd01SJohn Chung    ],
17079d581eSLawrence Tang    "additionalProperties": false,
18079d581eSLawrence Tang    "properties": {
19079d581eSLawrence Tang        "revision": {
20079d581eSLawrence Tang            "type": "object",
21079d581eSLawrence Tang            "required": ["major", "minor"],
22079d581eSLawrence Tang            "properties": {
23079d581eSLawrence Tang                "major": {
24079d581eSLawrence Tang                    "type": "integer",
25079d581eSLawrence Tang                    "minimum": 0
26079d581eSLawrence Tang                },
27079d581eSLawrence Tang                "minor": {
28079d581eSLawrence Tang                    "type": "integer",
29079d581eSLawrence Tang                    "minimum": 0
30079d581eSLawrence Tang                }
31079d581eSLawrence Tang            }
32079d581eSLawrence Tang        },
33079d581eSLawrence Tang        "sectionCount": {
34079d581eSLawrence Tang            "type": "integer",
35079d581eSLawrence Tang            "minimum": 0
36079d581eSLawrence Tang        },
37079d581eSLawrence Tang        "severity": {
38079d581eSLawrence Tang            "type": "object",
39079d581eSLawrence Tang            "required": ["name", "code"],
40079d581eSLawrence Tang            "properties": {
41079d581eSLawrence Tang                "name": {
42079d581eSLawrence Tang                    "type": "string"
43079d581eSLawrence Tang                },
44079d581eSLawrence Tang                "code": {
45079d581eSLawrence Tang                    "type": "integer",
46079d581eSLawrence Tang                    "minimum": 0
47079d581eSLawrence Tang                }
48079d581eSLawrence Tang            }
49079d581eSLawrence Tang        },
50079d581eSLawrence Tang        "validationBits": {
51079d581eSLawrence Tang            "type": "object",
52*044afd01SJohn Chung            "required": [
53*044afd01SJohn Chung                "platformIDValid",
54*044afd01SJohn Chung                "timestampValid",
55*044afd01SJohn Chung                "partitionIDValid"
56*044afd01SJohn Chung            ],
57079d581eSLawrence Tang            "properties": {
58079d581eSLawrence Tang                "platformIDValid": {
59079d581eSLawrence Tang                    "type": "boolean"
60079d581eSLawrence Tang                },
61079d581eSLawrence Tang                "timestampValid": {
62079d581eSLawrence Tang                    "type": "boolean"
63079d581eSLawrence Tang                },
64079d581eSLawrence Tang                "partitionIDValid": {
65079d581eSLawrence Tang                    "type": "boolean"
66079d581eSLawrence Tang                }
67079d581eSLawrence Tang            }
68079d581eSLawrence Tang        },
69079d581eSLawrence Tang        "recordLength": {
70079d581eSLawrence Tang            "type": "integer",
71079d581eSLawrence Tang            "minimum": 0
72079d581eSLawrence Tang        },
73079d581eSLawrence Tang        "timestamp": {
74079d581eSLawrence Tang            "type": "string"
75079d581eSLawrence Tang        },
76079d581eSLawrence Tang        "timestampIsPrecise": {
77079d581eSLawrence Tang            "type": "boolean"
78079d581eSLawrence Tang        },
79079d581eSLawrence Tang        "platformID": {
80079d581eSLawrence Tang            "type": "string"
81079d581eSLawrence Tang        },
82079d581eSLawrence Tang        "partitionID": {
83079d581eSLawrence Tang            "type": "string"
84079d581eSLawrence Tang        },
85079d581eSLawrence Tang        "creatorID": {
86079d581eSLawrence Tang            "type": "string"
87079d581eSLawrence Tang        },
88079d581eSLawrence Tang        "notificationType": {
89079d581eSLawrence Tang            "type": "object",
90079d581eSLawrence Tang            "required": ["guid", "type"],
91079d581eSLawrence Tang            "properties": {
92079d581eSLawrence Tang                "guid": {
93079d581eSLawrence Tang                    "type": "string",
94079d581eSLawrence Tang                    "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{16}$"
95079d581eSLawrence Tang                },
96079d581eSLawrence Tang                "type": {
97079d581eSLawrence Tang                    "type": "string"
98079d581eSLawrence Tang                }
99079d581eSLawrence Tang            }
100079d581eSLawrence Tang        },
101079d581eSLawrence Tang        "recordID": {
102079d581eSLawrence Tang            "type": "integer"
103079d581eSLawrence Tang        },
104079d581eSLawrence Tang        "flags": {
105079d581eSLawrence Tang            "type": "object",
106079d581eSLawrence Tang            "$ref": "./common/cper-json-nvp.json"
107079d581eSLawrence Tang        },
108079d581eSLawrence Tang        "persistenceInfo": {
109079d581eSLawrence Tang            "type": "integer"
110079d581eSLawrence Tang        }
111079d581eSLawrence Tang    }
112079d581eSLawrence Tang}
113