1f2a8e57eSGunnar Mills{
2f2a8e57eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/MessageRegistry.v1_6_3.json",
3f2a8e57eSGunnar Mills    "$ref": "#/definitions/MessageRegistry",
4f2a8e57eSGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5f2a8e57eSGunnar Mills    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6f2a8e57eSGunnar Mills    "definitions": {
7f2a8e57eSGunnar Mills        "Actions": {
8f2a8e57eSGunnar Mills            "additionalProperties": false,
9f2a8e57eSGunnar Mills            "description": "The available actions for this resource.",
10f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
11f2a8e57eSGunnar Mills            "patternProperties": {
12f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
14f2a8e57eSGunnar Mills                    "type": [
15f2a8e57eSGunnar Mills                        "array",
16f2a8e57eSGunnar Mills                        "boolean",
17f2a8e57eSGunnar Mills                        "integer",
18f2a8e57eSGunnar Mills                        "number",
19f2a8e57eSGunnar Mills                        "null",
20f2a8e57eSGunnar Mills                        "object",
21f2a8e57eSGunnar Mills                        "string"
22f2a8e57eSGunnar Mills                    ]
23f2a8e57eSGunnar Mills                }
24f2a8e57eSGunnar Mills            },
25f2a8e57eSGunnar Mills            "properties": {
26f2a8e57eSGunnar Mills                "Oem": {
27f2a8e57eSGunnar Mills                    "$ref": "#/definitions/OemActions",
28f2a8e57eSGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
29f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource.",
30f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
31f2a8e57eSGunnar Mills                }
32f2a8e57eSGunnar Mills            },
33f2a8e57eSGunnar Mills            "type": "object"
34f2a8e57eSGunnar Mills        },
35f2a8e57eSGunnar Mills        "ClearingLogic": {
36f2a8e57eSGunnar Mills            "additionalProperties": false,
37f2a8e57eSGunnar Mills            "description": "The clearing logic associated with a message.  The properties within indicate the events, specified by message keys for other messages in this registry, that are cleared by a message with optional conditions.",
38f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the clearing logic associated with a message.",
39f2a8e57eSGunnar Mills            "patternProperties": {
40f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
41f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
42f2a8e57eSGunnar Mills                    "type": [
43f2a8e57eSGunnar Mills                        "array",
44f2a8e57eSGunnar Mills                        "boolean",
45f2a8e57eSGunnar Mills                        "integer",
46f2a8e57eSGunnar Mills                        "number",
47f2a8e57eSGunnar Mills                        "null",
48f2a8e57eSGunnar Mills                        "object",
49f2a8e57eSGunnar Mills                        "string"
50f2a8e57eSGunnar Mills                    ]
51f2a8e57eSGunnar Mills                }
52f2a8e57eSGunnar Mills            },
53f2a8e57eSGunnar Mills            "properties": {
54f2a8e57eSGunnar Mills                "ClearsAll": {
55f2a8e57eSGunnar Mills                    "description": "Indicates whether all logged events containing messages from this message registry are cleared when this message is received.  If conditional properties are present, such as the `ClearsIf` property, the specified conditions shall be required to clear the logged events.",
56f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate whether all logged events containing messages from this message registry are cleared when this message is received.  If conditional properties are present, such as the `ClearsIf` property, the specified conditions are required to clear the logged events.",
57f2a8e57eSGunnar Mills                    "readonly": true,
58f2a8e57eSGunnar Mills                    "type": [
59f2a8e57eSGunnar Mills                        "boolean",
60f2a8e57eSGunnar Mills                        "null"
61f2a8e57eSGunnar Mills                    ],
62f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
63f2a8e57eSGunnar Mills                },
64f2a8e57eSGunnar Mills                "ClearsIf": {
65f2a8e57eSGunnar Mills                    "anyOf": [
66f2a8e57eSGunnar Mills                        {
67f2a8e57eSGunnar Mills                            "$ref": "#/definitions/ClearingType"
68f2a8e57eSGunnar Mills                        },
69f2a8e57eSGunnar Mills                        {
70f2a8e57eSGunnar Mills                            "type": "null"
71f2a8e57eSGunnar Mills                        }
72f2a8e57eSGunnar Mills                    ],
73f2a8e57eSGunnar Mills                    "description": "The condition required to clear the logged events specified by other properties in this object when this message is received.",
74f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the condition required to clear the logged events specified by other properties in this object when this message is received.  If not present, no condition is checked prior to clearing logged events when this message is received.",
75f2a8e57eSGunnar Mills                    "readonly": true,
76f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
77f2a8e57eSGunnar Mills                },
78f2a8e57eSGunnar Mills                "ClearsMessage": {
79f2a8e57eSGunnar Mills                    "description": "An array of message keys for logged events that are cleared when this message is received.  If conditional properties are present, such as the `ClearsIf` property, the specified conditions are required to clear the logged events with these message keys.",
80f2a8e57eSGunnar Mills                    "items": {
81f2a8e57eSGunnar Mills                        "type": [
82f2a8e57eSGunnar Mills                            "string",
83f2a8e57eSGunnar Mills                            "null"
84f2a8e57eSGunnar Mills                        ]
85f2a8e57eSGunnar Mills                    },
86f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of message keys for logged events that are cleared when this message is received.  If conditional properties are present, such as the `ClearsIf` property, the specified conditions shall be required to clear the logged events with these message keys.  This property shall contain message keys, without message registry names and versions, as defined in the 'MessageId format' clause of the Redfish Specification.  This property shall not reference message keys in other message registries.",
87f2a8e57eSGunnar Mills                    "readonly": true,
88f2a8e57eSGunnar Mills                    "type": "array",
89f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
90f2a8e57eSGunnar Mills                }
91f2a8e57eSGunnar Mills            },
92f2a8e57eSGunnar Mills            "type": "object"
93f2a8e57eSGunnar Mills        },
94f2a8e57eSGunnar Mills        "ClearingType": {
95f2a8e57eSGunnar Mills            "enum": [
96f2a8e57eSGunnar Mills                "SameOriginOfCondition"
97f2a8e57eSGunnar Mills            ],
98f2a8e57eSGunnar Mills            "enumDescriptions": {
99f2a8e57eSGunnar Mills                "SameOriginOfCondition": "Indicates that a logged event is cleared by a message if the `OriginOfCondition` for both events are the same."
100f2a8e57eSGunnar Mills            },
101f2a8e57eSGunnar Mills            "enumLongDescriptions": {
102f2a8e57eSGunnar Mills                "SameOriginOfCondition": "This value shall indicate that a logged event is cleared by a message if the `OriginOfCondition` for both events are the same."
103f2a8e57eSGunnar Mills            },
104f2a8e57eSGunnar Mills            "type": "string"
105f2a8e57eSGunnar Mills        },
106f2a8e57eSGunnar Mills        "Message": {
107f2a8e57eSGunnar Mills            "additionalProperties": false,
108f2a8e57eSGunnar Mills            "description": "This type represents how a message is defined within the message registry.",
109f2a8e57eSGunnar Mills            "longDescription": "The type shall represent how a message is defined within a message registry.",
110f2a8e57eSGunnar Mills            "patternProperties": {
111f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
112f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
113f2a8e57eSGunnar Mills                    "type": [
114f2a8e57eSGunnar Mills                        "array",
115f2a8e57eSGunnar Mills                        "boolean",
116f2a8e57eSGunnar Mills                        "integer",
117f2a8e57eSGunnar Mills                        "number",
118f2a8e57eSGunnar Mills                        "null",
119f2a8e57eSGunnar Mills                        "object",
120f2a8e57eSGunnar Mills                        "string"
121f2a8e57eSGunnar Mills                    ]
122f2a8e57eSGunnar Mills                }
123f2a8e57eSGunnar Mills            },
124f2a8e57eSGunnar Mills            "properties": {
125f2a8e57eSGunnar Mills                "ArgDescriptions": {
126f2a8e57eSGunnar Mills                    "description": "The `MessageArgs` descriptions, in order, used for this message.",
127f2a8e57eSGunnar Mills                    "items": {
128f2a8e57eSGunnar Mills                        "type": [
129f2a8e57eSGunnar Mills                            "string",
130f2a8e57eSGunnar Mills                            "null"
131f2a8e57eSGunnar Mills                        ]
132f2a8e57eSGunnar Mills                    },
133f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an ordered array of text describing each argument used as substitution in the message.",
134f2a8e57eSGunnar Mills                    "readonly": true,
135f2a8e57eSGunnar Mills                    "type": "array",
136f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
137f2a8e57eSGunnar Mills                },
138f2a8e57eSGunnar Mills                "ArgLongDescriptions": {
139f2a8e57eSGunnar Mills                    "description": "The `MessageArgs` normative descriptions, in order, used for this message.",
140f2a8e57eSGunnar Mills                    "items": {
141f2a8e57eSGunnar Mills                        "type": [
142f2a8e57eSGunnar Mills                            "string",
143f2a8e57eSGunnar Mills                            "null"
144f2a8e57eSGunnar Mills                        ]
145f2a8e57eSGunnar Mills                    },
146f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an ordered array of normative language for each argument used as substitution in the message.",
147f2a8e57eSGunnar Mills                    "readonly": true,
148f2a8e57eSGunnar Mills                    "type": "array",
149f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
150f2a8e57eSGunnar Mills                },
151f2a8e57eSGunnar Mills                "ClearingLogic": {
152f2a8e57eSGunnar Mills                    "$ref": "#/definitions/ClearingLogic",
153f2a8e57eSGunnar Mills                    "description": "The clearing logic associated with this message.  The properties within indicate the events, specified by message keys for other messages in this registry, that are cleared by this message with optional conditions.",
154f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the clearing logic associated with this message.  Clearing in this context deasserts the event rather than removes the event from a log.",
155f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
156f2a8e57eSGunnar Mills                },
157f2a8e57eSGunnar Mills                "Deprecated": {
158f2a8e57eSGunnar Mills                    "description": "The reason the message has been deprecated.",
159f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate that a message is deprecated.  The value of the string should explain the deprecation, including reference to a new message or messages to be used.  The message can be supported in new and existing implementations, but usage in new implementations is discouraged.  Deprecated messages are likely to be removed in a future major version of the message registry.  The `ReplacedBy` property may be used to provide a reference to a replacement message definition.",
160f2a8e57eSGunnar Mills                    "readonly": true,
161f2a8e57eSGunnar Mills                    "type": [
162f2a8e57eSGunnar Mills                        "string",
163f2a8e57eSGunnar Mills                        "null"
164f2a8e57eSGunnar Mills                    ],
165f2a8e57eSGunnar Mills                    "versionAdded": "v1_5_0"
166f2a8e57eSGunnar Mills                },
167f2a8e57eSGunnar Mills                "Description": {
168f2a8e57eSGunnar Mills                    "description": "A short description of how and when to use this message.",
169f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate how and when this message is returned by the Redfish service.",
170f2a8e57eSGunnar Mills                    "readonly": true,
171f2a8e57eSGunnar Mills                    "type": "string"
172f2a8e57eSGunnar Mills                },
173f2a8e57eSGunnar Mills                "LongDescription": {
174f2a8e57eSGunnar Mills                    "description": "The normative language that describes this message's usage.",
175f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the normative language that describes this message's usage in a Redfish implementation.",
176f2a8e57eSGunnar Mills                    "readonly": true,
177f2a8e57eSGunnar Mills                    "type": [
178f2a8e57eSGunnar Mills                        "string",
179f2a8e57eSGunnar Mills                        "null"
180f2a8e57eSGunnar Mills                    ],
181f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
182f2a8e57eSGunnar Mills                },
183f2a8e57eSGunnar Mills                "MapsToGeneralMessages": {
184f2a8e57eSGunnar Mills                    "description": "The general or less-specific messages related to this message.",
185f2a8e57eSGunnar Mills                    "items": {
186f2a8e57eSGunnar Mills                        "type": [
187f2a8e57eSGunnar Mills                            "string",
188f2a8e57eSGunnar Mills                            "null"
189f2a8e57eSGunnar Mills                        ]
190f2a8e57eSGunnar Mills                    },
191f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate that this message maps to general or less-specific messages that duplicates information about the condition that generated this message.  Services may issue the referenced messages along with this message to provide consistency for clients.  The array shall contain `MessageRegistryPrefix.MessageKey` formatted values that describe the message registry and message key used to identify the messages.",
192f2a8e57eSGunnar Mills                    "pattern": "^[A-Z]\\w+\\.[A-Z]\\w+$",
193f2a8e57eSGunnar Mills                    "readonly": true,
194f2a8e57eSGunnar Mills                    "type": "array",
195f2a8e57eSGunnar Mills                    "versionAdded": "v1_6_0"
196f2a8e57eSGunnar Mills                },
197f2a8e57eSGunnar Mills                "Message": {
198f2a8e57eSGunnar Mills                    "description": "The actual message.",
199f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the message to display.  If a %integer is included in part of the string, it shall represent a string substitution for any `MessageArgs` that accompany the message, in order.",
200f2a8e57eSGunnar Mills                    "readonly": true,
201f2a8e57eSGunnar Mills                    "type": "string"
202f2a8e57eSGunnar Mills                },
203f2a8e57eSGunnar Mills                "MessageSeverity": {
204f2a8e57eSGunnar Mills                    "anyOf": [
205f2a8e57eSGunnar Mills                        {
206f2a8e57eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Health"
207f2a8e57eSGunnar Mills                        },
208f2a8e57eSGunnar Mills                        {
209f2a8e57eSGunnar Mills                            "type": "null"
210f2a8e57eSGunnar Mills                        }
211f2a8e57eSGunnar Mills                    ],
212f2a8e57eSGunnar Mills                    "description": "The severity of the message.",
213f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the severity of the message.  Services can replace the severity defined in the message registry with a value more applicable to the implementation in message payloads and event payloads.",
214f2a8e57eSGunnar Mills                    "readonly": true,
215f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
216f2a8e57eSGunnar Mills                },
217f2a8e57eSGunnar Mills                "NumberOfArgs": {
218f2a8e57eSGunnar Mills                    "description": "The number of arguments in the message.",
219f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the number of arguments that are substituted for the locations marked with %<integer> in the message.",
220f2a8e57eSGunnar Mills                    "minimum": 0,
221f2a8e57eSGunnar Mills                    "readonly": true,
222f2a8e57eSGunnar Mills                    "type": "integer"
223f2a8e57eSGunnar Mills                },
224f2a8e57eSGunnar Mills                "Oem": {
225f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
226f2a8e57eSGunnar Mills                    "description": "The OEM extension property.",
227f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
228f2a8e57eSGunnar Mills                },
229f2a8e57eSGunnar Mills                "ParamTypes": {
230f2a8e57eSGunnar Mills                    "description": "The data types of the message arguments, prior to conversion to strings for inclusion in a message.",
231f2a8e57eSGunnar Mills                    "items": {
232f2a8e57eSGunnar Mills                        "$ref": "#/definitions/ParamType"
233f2a8e57eSGunnar Mills                    },
234f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an ordered array of the data types of the values in `MessageArgs`, prior to their conversion to strings for inclusion in a message.",
235f2a8e57eSGunnar Mills                    "readonly": true,
236f2a8e57eSGunnar Mills                    "type": "array"
237f2a8e57eSGunnar Mills                },
238f2a8e57eSGunnar Mills                "ReplacedBy": {
239f2a8e57eSGunnar Mills                    "description": "The message identifier that replaces this message.",
240f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the message registry and message key, in the `MessageRegistryPrefix.MessageKey` format, that identifies the message that replaces this message.  This property may be used to indicate replacement for a deprecated message, including cases where a standardized version replaces an OEM-created message.",
241f2a8e57eSGunnar Mills                    "pattern": "^[A-Z]\\w+\\.[A-Z]\\w+$",
242f2a8e57eSGunnar Mills                    "readonly": true,
243f2a8e57eSGunnar Mills                    "type": [
244f2a8e57eSGunnar Mills                        "string",
245f2a8e57eSGunnar Mills                        "null"
246f2a8e57eSGunnar Mills                    ],
247f2a8e57eSGunnar Mills                    "versionAdded": "v1_6_0"
248f2a8e57eSGunnar Mills                },
249f2a8e57eSGunnar Mills                "Resolution": {
250f2a8e57eSGunnar Mills                    "description": "Used to provide suggestions on how to resolve the situation that caused the error.",
251f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the resolution of the message.  Services can replace the resolution defined in the message registry with a more specific resolution in message payloads.",
252f2a8e57eSGunnar Mills                    "readonly": true,
253f2a8e57eSGunnar Mills                    "type": "string"
254f2a8e57eSGunnar Mills                },
255f2a8e57eSGunnar Mills                "Severity": {
256f2a8e57eSGunnar Mills                    "deprecated": "This property has been deprecated in favor of `MessageSeverity`, which ties the values to the enumerations defined for the `Health` property within `Status`.",
257f2a8e57eSGunnar Mills                    "description": "The severity of the message.",
258f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the severity of the condition resulting in the message, as defined in the 'Status' clause of the Redfish Specification.  Services can replace the severity defined in the message registry with a value more applicable to the implementation in message payloads and event payloads.",
259f2a8e57eSGunnar Mills                    "readonly": true,
260f2a8e57eSGunnar Mills                    "type": "string",
261f2a8e57eSGunnar Mills                    "versionDeprecated": "v1_4_0"
262f2a8e57eSGunnar Mills                },
263f2a8e57eSGunnar Mills                "VersionAdded": {
264f2a8e57eSGunnar Mills                    "description": "The registry version which added this message.",
265f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the version of the message registry when the message was added.  This property shall not appear for messages created at version `1.0.0` of a message registry.",
266f2a8e57eSGunnar Mills                    "pattern": "^\\d+\\.\\d+\\.\\d+$",
267f2a8e57eSGunnar Mills                    "readonly": true,
268f2a8e57eSGunnar Mills                    "type": [
269f2a8e57eSGunnar Mills                        "string",
270f2a8e57eSGunnar Mills                        "null"
271f2a8e57eSGunnar Mills                    ],
272f2a8e57eSGunnar Mills                    "versionAdded": "v1_5_0"
273f2a8e57eSGunnar Mills                },
274f2a8e57eSGunnar Mills                "VersionDeprecated": {
275f2a8e57eSGunnar Mills                    "description": "The registry version when the message was deprecated.",
276f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the version of the registry when the message was deprecated.  This property shall not appear if the message has not been deprecated.",
277f2a8e57eSGunnar Mills                    "pattern": "^\\d+\\.\\d+\\.\\d+$",
278f2a8e57eSGunnar Mills                    "readonly": true,
279f2a8e57eSGunnar Mills                    "type": [
280f2a8e57eSGunnar Mills                        "string",
281f2a8e57eSGunnar Mills                        "null"
282f2a8e57eSGunnar Mills                    ],
283f2a8e57eSGunnar Mills                    "versionAdded": "v1_5_0"
284f2a8e57eSGunnar Mills                }
285f2a8e57eSGunnar Mills            },
286f2a8e57eSGunnar Mills            "required": [
287f2a8e57eSGunnar Mills                "Description",
288f2a8e57eSGunnar Mills                "Message",
289f2a8e57eSGunnar Mills                "Severity",
290f2a8e57eSGunnar Mills                "NumberOfArgs",
291f2a8e57eSGunnar Mills                "Resolution",
292f2a8e57eSGunnar Mills                "MessageSeverity"
293f2a8e57eSGunnar Mills            ],
294f2a8e57eSGunnar Mills            "type": "object"
295f2a8e57eSGunnar Mills        },
296f2a8e57eSGunnar Mills        "MessageProperty": {
297f2a8e57eSGunnar Mills            "additionalProperties": false,
298f2a8e57eSGunnar Mills            "description": "The message keys contained in the message registry.",
299f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the message keys contained in the message registry.  The message keys are the suffix of the `MessageId` and shall be unique within this message registry.",
300f2a8e57eSGunnar Mills            "patternProperties": {
301f2a8e57eSGunnar Mills                "[A-Za-z0-9]+": {
302f2a8e57eSGunnar Mills                    "$ref": "#/definitions/Message"
303f2a8e57eSGunnar Mills                },
304f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
305f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
306f2a8e57eSGunnar Mills                    "type": [
307f2a8e57eSGunnar Mills                        "array",
308f2a8e57eSGunnar Mills                        "boolean",
309f2a8e57eSGunnar Mills                        "integer",
310f2a8e57eSGunnar Mills                        "number",
311f2a8e57eSGunnar Mills                        "null",
312f2a8e57eSGunnar Mills                        "object",
313f2a8e57eSGunnar Mills                        "string"
314f2a8e57eSGunnar Mills                    ]
315f2a8e57eSGunnar Mills                }
316f2a8e57eSGunnar Mills            },
317f2a8e57eSGunnar Mills            "properties": {},
318f2a8e57eSGunnar Mills            "type": "object"
319f2a8e57eSGunnar Mills        },
320f2a8e57eSGunnar Mills        "MessageRegistry": {
321f2a8e57eSGunnar Mills            "additionalProperties": false,
322f2a8e57eSGunnar Mills            "description": "The `MessageRegistry` schema describes all message registries.  It represents the properties for the message registries themselves.",
323f2a8e57eSGunnar Mills            "longDescription": "This resource shall represent a message registry for a Redfish implementation.",
324f2a8e57eSGunnar Mills            "patternProperties": {
325f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
326f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
327f2a8e57eSGunnar Mills                    "type": [
328f2a8e57eSGunnar Mills                        "array",
329f2a8e57eSGunnar Mills                        "boolean",
330f2a8e57eSGunnar Mills                        "integer",
331f2a8e57eSGunnar Mills                        "number",
332f2a8e57eSGunnar Mills                        "null",
333f2a8e57eSGunnar Mills                        "object",
334f2a8e57eSGunnar Mills                        "string"
335f2a8e57eSGunnar Mills                    ]
336f2a8e57eSGunnar Mills                }
337f2a8e57eSGunnar Mills            },
338f2a8e57eSGunnar Mills            "properties": {
339f2a8e57eSGunnar Mills                "@odata.type": {
340f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
341f2a8e57eSGunnar Mills                },
342f2a8e57eSGunnar Mills                "Actions": {
343f2a8e57eSGunnar Mills                    "$ref": "#/definitions/Actions",
344f2a8e57eSGunnar Mills                    "description": "The available actions for this resource.",
345f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource.",
346f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
347f2a8e57eSGunnar Mills                },
348f2a8e57eSGunnar Mills                "Description": {
349f2a8e57eSGunnar Mills                    "anyOf": [
350f2a8e57eSGunnar Mills                        {
351f2a8e57eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
352f2a8e57eSGunnar Mills                        },
353f2a8e57eSGunnar Mills                        {
354f2a8e57eSGunnar Mills                            "type": "null"
355f2a8e57eSGunnar Mills                        }
356f2a8e57eSGunnar Mills                    ],
357f2a8e57eSGunnar Mills                    "readonly": true
358f2a8e57eSGunnar Mills                },
359f2a8e57eSGunnar Mills                "Id": {
360f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
361f2a8e57eSGunnar Mills                    "readonly": true
362f2a8e57eSGunnar Mills                },
363f2a8e57eSGunnar Mills                "Language": {
364f2a8e57eSGunnar Mills                    "description": "The RFC5646-conformant language code for the message registry.",
365f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an RFC5646-conformant language code.",
366f2a8e57eSGunnar Mills                    "readonly": true,
367f2a8e57eSGunnar Mills                    "type": "string"
368f2a8e57eSGunnar Mills                },
369f2a8e57eSGunnar Mills                "Messages": {
370f2a8e57eSGunnar Mills                    "$ref": "#/definitions/MessageProperty",
371f2a8e57eSGunnar Mills                    "description": "The message keys contained in the message registry.",
372f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the message keys contained in the message registry.  The message keys are the suffix of the `MessageId` and shall be unique within this message registry."
373f2a8e57eSGunnar Mills                },
374f2a8e57eSGunnar Mills                "Name": {
375f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
376f2a8e57eSGunnar Mills                    "readonly": true
377f2a8e57eSGunnar Mills                },
378f2a8e57eSGunnar Mills                "Oem": {
379f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
380f2a8e57eSGunnar Mills                    "description": "The OEM extension property.",
381f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
382f2a8e57eSGunnar Mills                },
383f2a8e57eSGunnar Mills                "OwningEntity": {
384f2a8e57eSGunnar Mills                    "description": "The organization or company that publishes this message registry.",
385f2a8e57eSGunnar Mills                    "longDescription": "This property shall represent the publisher of this message registry.",
386f2a8e57eSGunnar Mills                    "readonly": true,
387f2a8e57eSGunnar Mills                    "type": "string"
388f2a8e57eSGunnar Mills                },
389f2a8e57eSGunnar Mills                "RegistryPrefix": {
390f2a8e57eSGunnar Mills                    "description": "The single-word prefix that is used in forming and decoding `MessageId` values.",
391f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the Redfish Specification-defined prefix used in forming and decoding `MessageId` values that uniquely identifies all messages that belong to this message registry.",
392f2a8e57eSGunnar Mills                    "readonly": true,
393f2a8e57eSGunnar Mills                    "type": "string"
394f2a8e57eSGunnar Mills                },
395f2a8e57eSGunnar Mills                "RegistryVersion": {
396f2a8e57eSGunnar Mills                    "description": "The message registry version in the middle portion of a `MessageId`.",
397f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the version of this message registry.",
398f2a8e57eSGunnar Mills                    "pattern": "^\\d+\\.\\d+\\.\\d+$",
399f2a8e57eSGunnar Mills                    "readonly": true,
400f2a8e57eSGunnar Mills                    "type": "string"
401f2a8e57eSGunnar Mills                }
402f2a8e57eSGunnar Mills            },
403f2a8e57eSGunnar Mills            "required": [
404f2a8e57eSGunnar Mills                "Language",
405f2a8e57eSGunnar Mills                "RegistryPrefix",
406f2a8e57eSGunnar Mills                "RegistryVersion",
407f2a8e57eSGunnar Mills                "OwningEntity",
408f2a8e57eSGunnar Mills                "Messages",
409f2a8e57eSGunnar Mills                "@odata.type",
410f2a8e57eSGunnar Mills                "Id",
411f2a8e57eSGunnar Mills                "Name"
412f2a8e57eSGunnar Mills            ],
413f2a8e57eSGunnar Mills            "type": "object"
414f2a8e57eSGunnar Mills        },
415f2a8e57eSGunnar Mills        "OemActions": {
416f2a8e57eSGunnar Mills            "additionalProperties": true,
417f2a8e57eSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
418f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
419f2a8e57eSGunnar Mills            "patternProperties": {
420f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
421f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
422f2a8e57eSGunnar Mills                    "type": [
423f2a8e57eSGunnar Mills                        "array",
424f2a8e57eSGunnar Mills                        "boolean",
425f2a8e57eSGunnar Mills                        "integer",
426f2a8e57eSGunnar Mills                        "number",
427f2a8e57eSGunnar Mills                        "null",
428f2a8e57eSGunnar Mills                        "object",
429f2a8e57eSGunnar Mills                        "string"
430f2a8e57eSGunnar Mills                    ]
431f2a8e57eSGunnar Mills                }
432f2a8e57eSGunnar Mills            },
433f2a8e57eSGunnar Mills            "properties": {},
434f2a8e57eSGunnar Mills            "type": "object"
435f2a8e57eSGunnar Mills        },
436f2a8e57eSGunnar Mills        "ParamType": {
437f2a8e57eSGunnar Mills            "enum": [
438f2a8e57eSGunnar Mills                "string",
439f2a8e57eSGunnar Mills                "number"
440f2a8e57eSGunnar Mills            ],
441f2a8e57eSGunnar Mills            "enumDescriptions": {
442f2a8e57eSGunnar Mills                "number": "The argument is a number converted to a string.",
443f2a8e57eSGunnar Mills                "string": "The argument is a string."
444f2a8e57eSGunnar Mills            },
445f2a8e57eSGunnar Mills            "type": "string"
446f2a8e57eSGunnar Mills        }
447f2a8e57eSGunnar Mills    },
448f2a8e57eSGunnar Mills    "language": "en",
449f2a8e57eSGunnar Mills    "owningEntity": "DMTF",
450f2a8e57eSGunnar Mills    "release": "2022.3",
451f2a8e57eSGunnar Mills    "title": "#MessageRegistry.v1_6_3.MessageRegistry"
452f2a8e57eSGunnar Mills}