1$id: https://openbmc-project.xyz/sdbusplus/events.schema.yaml
2$schema: https://json-schema.org/draft/2020-12/schema
3title: Event and error definitions
4type: object
5$defs:
6    base-event:
7        type: object
8        properties:
9            name:
10                type: string
11                description:
12                    An identifier for the event in UpperCamelCase; used as the
13                    class and Redfish Message ID.
14            deprecated:
15                type: string
16                pattern: "^[0-9]+\\.[0-9]+\\.[0-9]+$"
17                description:
18                    Indicates that the event is now deprecated and should not be
19                    created by any OpenBMC software, but is required to still
20                    exist for generation in the Redfish Message Registry. The
21                    version listed here should be the first version where the
22                    error is no longer used.
23            metadata:
24                type: array
25                items:
26                    type: object
27                    properties:
28                        name:
29                            type: string
30                            description: The name of the metadata field.
31                        type:
32                            enum:
33                                - string
34                                - size
35                                - int64
36                                - uint64
37                                - double
38                                - object_path
39                            description: The type of the metadata field.
40                        primary:
41                            type: boolean
42                            description:
43                                Set to true when the metadata field is expected
44                                to be part of the Redfish `MessageArgs` (and not
45                                only in the extended `DiagnosticData`).
46                minItems: 1
47        required:
48            - name
49    event:
50        type: object
51        allOf:
52            - $ref: "#/$defs/base-event"
53            - oneOf:
54                  - $ref: "#/$defs/redfish-messages"
55                  - $ref: "#/$defs/redfish-map"
56    error:
57        type: object
58        $ref: "#/$defs/event"
59        properties:
60            severity:
61                enum:
62                    - emergency
63                    - alert
64                    - critical
65                    - error
66                    - warning
67                    - notice
68                    - informational
69                    - debug
70                description:
71                    The `xyz.openbmc_project.Logging.Entry.Level` value for this
72                    error.
73            errno:
74                type: string
75                pattern: "^E[A-Z0-9]+$"
76                description: The errno used for this error.
77        required:
78            - severity
79            - errno
80    redfish-messages:
81        type: object
82        properties:
83            en:
84                $ref: "#/$defs/redfish-lang-message"
85                description: English message details.
86        required:
87            - en
88    redfish-lang-message:
89        type: object
90        description: The message details for any language.
91        properties:
92            description:
93                type: string
94                description:
95                    A developer-applicable description of the error reported.
96                    These form the "description" of the Redfish message.
97            message:
98                type: string
99                description:
100                    The end-user message, including placeholders for arguemnts.
101            resolution:
102                type: string
103                description: The end-user resolution.
104        required:
105            - message
106    redfish-map:
107        type: object
108        properties:
109            redfish-mapping:
110                type: string
111                description:
112                    Used when a `sdbusplus` event should map to a specific
113                    Redfish Message rather than a generated one. This is useful
114                    when an internal error has an analog in a standardized
115                    registry.
116        required:
117            - redfish-mapping
118
119properties:
120    version:
121        type: string
122        pattern: "^[0-9]+\\.[0-9]+\\.[0-9]+$"
123        description:
124            The version of the file, which will be used as the Redfish Message
125            Registry version.
126    errors:
127        type: array
128        items:
129            $ref: "#/$defs/error"
130        minItems: 1
131    events:
132        type: array
133        items:
134            $ref: "#/$defs/event"
135        minItems: 1
136required:
137    - version
138