1 /****************************************************************
2  *                 READ THIS WARNING FIRST
3  * This is an auto-generated header which contains definitions
4  * for Redfish DMTF defined messages.
5  * DO NOT modify this registry outside of running the
6  * parse_registries.py script.  The definitions contained within
7  * this file are owned by DMTF.  Any modifications to these files
8  * should be first pushed to the relevant registry in the DMTF
9  * github organization.
10  ***************************************************************/
11 #pragma once
12 #include <registries.hpp>
13 
14 // clang-format off
15 
16 namespace redfish::registries::base
17 {
18 const Header header = {
19     "Copyright 2014-2022 DMTF. All rights reserved.",
20     "#MessageRegistry.v1_5_0.MessageRegistry",
21     "Base.1.13.0",
22     "Base Message Registry",
23     "en",
24     "This registry defines the base messages for Redfish",
25     "Base",
26     "1.13.0",
27     "DMTF",
28 };
29 constexpr const char* url =
30     "https://redfish.dmtf.org/registries/Base.1.13.0.json";
31 
32 constexpr std::array registry =
33 {
34     MessageEntry{
35         "AccessDenied",
36         {
37             "Indicates that while attempting to access, connect to, or transfer to or from another resource, the service denied access.",
38             "While attempting to establish a connection to '%1', the service denied access.",
39             "Critical",
40             1,
41             {
42                 "string",
43             },
44             "Attempt to ensure that the URI is correct and that the service has the appropriate credentials.",
45         }},
46     MessageEntry{
47         "AccountForSessionNoLongerExists",
48         {
49             "Indicates that the account for the session has been removed, thus the session has been removed as well.",
50             "The account for the current session has been removed, thus the current session has been removed as well.",
51             "OK",
52             0,
53             {},
54             "Attempt to connect with a valid account.",
55         }},
56     MessageEntry{
57         "AccountModified",
58         {
59             "Indicates that the account was successfully modified.",
60             "The account was successfully modified.",
61             "OK",
62             0,
63             {},
64             "No resolution is required.",
65         }},
66     MessageEntry{
67         "AccountNotModified",
68         {
69             "Indicates that the modification requested for the account was not successful.",
70             "The account modification request failed.",
71             "Warning",
72             0,
73             {},
74             "The modification may have failed due to permission issues or issues with the request body.",
75         }},
76     MessageEntry{
77         "AccountRemoved",
78         {
79             "Indicates that the account was successfully removed.",
80             "The account was successfully removed.",
81             "OK",
82             0,
83             {},
84             "No resolution is required.",
85         }},
86     MessageEntry{
87         "ActionDeprecated",
88         {
89             "Indicates the action is deprecated.",
90             "The action %1 is deprecated.",
91             "Warning",
92             1,
93             {
94                 "string",
95             },
96             "Refer to the schema guide for more information.",
97         }},
98     MessageEntry{
99         "ActionNotSupported",
100         {
101             "Indicates that the action supplied with the POST operation is not supported by the resource.",
102             "The action %1 is not supported by the resource.",
103             "Critical",
104             1,
105             {
106                 "string",
107             },
108             "The action supplied cannot be resubmitted to the implementation.  Perhaps the action was invalid, the wrong resource was the target or the implementation documentation may be of assistance.",
109         }},
110     MessageEntry{
111         "ActionParameterDuplicate",
112         {
113             "Indicates that the action was supplied with a duplicated action parameter in the request body.",
114             "The action %1 was submitted with more than one value for the parameter %2.",
115             "Warning",
116             2,
117             {
118                 "string",
119                 "string",
120             },
121             "Resubmit the action with only one instance of the action parameter in the request body if the operation failed.",
122         }},
123     MessageEntry{
124         "ActionParameterMissing",
125         {
126             "Indicates that the action requested was missing an action parameter that is required to process the action.",
127             "The action %1 requires the parameter %2 to be present in the request body.",
128             "Critical",
129             2,
130             {
131                 "string",
132                 "string",
133             },
134             "Supply the action with the required parameter in the request body when the request is resubmitted.",
135         }},
136     MessageEntry{
137         "ActionParameterNotSupported",
138         {
139             "Indicates that the parameter supplied for the action is not supported on the resource.",
140             "The parameter %1 for the action %2 is not supported on the target resource.",
141             "Warning",
142             2,
143             {
144                 "string",
145                 "string",
146             },
147             "Remove the parameter supplied and resubmit the request if the operation failed.",
148         }},
149     MessageEntry{
150         "ActionParameterUnknown",
151         {
152             "Indicates that an action was submitted but an action parameter supplied did not match any of the known parameters.",
153             "The action %1 was submitted with the invalid parameter %2.",
154             "Warning",
155             2,
156             {
157                 "string",
158                 "string",
159             },
160             "Correct the invalid action parameter and resubmit the request if the operation failed.",
161         }},
162     MessageEntry{
163         "ActionParameterValueConflict",
164         {
165             "Indicates that the requested parameter value could not be completed, because of a mismatch with other parameters or properties in the resource.",
166             "The parameter '%1' with the requested value of '%2' does not meet the constraints of the implementation.",
167             "Warning",
168             2,
169             {
170                 "string",
171                 "string",
172             },
173             "No resolution is required.",
174         }},
175     MessageEntry{
176         "ActionParameterValueError",
177         {
178             "Indicates that a parameter was given an invalid value.",
179             "The value for the parameter %1 in the action %2 is invalid.",
180             "Warning",
181             2,
182             {
183                 "string",
184                 "string",
185             },
186             "Correct the value for the parameter in the request body and resubmit the request if the operation failed.",
187         }},
188     MessageEntry{
189         "ActionParameterValueFormatError",
190         {
191             "Indicates that a parameter was given the correct value type but the value of that parameter was not supported.  This includes the value size or length has been exceeded.",
192             "The value '%1' for the parameter %2 in the action %3 is of a different format than the parameter can accept.",
193             "Warning",
194             3,
195             {
196                 "string",
197                 "string",
198                 "string",
199             },
200             "Correct the value for the parameter in the request body and resubmit the request if the operation failed.",
201         }},
202     MessageEntry{
203         "ActionParameterValueNotInList",
204         {
205             "Indicates that a parameter was given the correct value type but the value of that parameter was not supported.  The value is not in an enumeration.",
206             "The value '%1' for the parameter %2 in the action %3 is not in the list of acceptable values.",
207             "Warning",
208             3,
209             {
210                 "string",
211                 "string",
212                 "string",
213             },
214             "Choose a value from the enumeration list that the implementation can support and resubmit the request if the operation failed.",
215         }},
216     MessageEntry{
217         "ActionParameterValueTypeError",
218         {
219             "Indicates that a parameter was given the wrong value type, such as when a number is supplied for a parameter that requires a string.",
220             "The value '%1' for the parameter %2 in the action %3 is of a different type than the parameter can accept.",
221             "Warning",
222             3,
223             {
224                 "string",
225                 "string",
226                 "string",
227             },
228             "Correct the value for the parameter in the request body and resubmit the request if the operation failed.",
229         }},
230     MessageEntry{
231         "ChassisPowerStateOffRequired",
232         {
233             "Indicates that the request requires a specified chassis to be powered off.",
234             "The Chassis with Id '%1' requires to be powered off to perform this request.",
235             "Warning",
236             1,
237             {
238                 "string",
239             },
240             "Power off the specified chassis and resubmit the request.",
241         }},
242     MessageEntry{
243         "ChassisPowerStateOnRequired",
244         {
245             "Indicates that the request requires a specified chassis to be powered on.",
246             "The chassis with Id '%1' requires to be powered on to perform this request.",
247             "Warning",
248             1,
249             {
250                 "string",
251             },
252             "Power on the specified chassis and resubmit the request.",
253         }},
254     MessageEntry{
255         "ConditionInRelatedResource",
256         {
257             "Indicates that one or more fault or error conditions exist in a related resource.",
258             "One or more conditions exist in a related resource.  See the OriginOfCondition property.",
259             "Warning",
260             0,
261             {},
262             "Check the Conditions array in the resource shown in the OriginOfCondition property to determine the conditions that need attention.",
263         }},
264     MessageEntry{
265         "CouldNotEstablishConnection",
266         {
267             "Indicates that the attempt to access the resource, file, or image at the URI was unsuccessful because a session could not be established.",
268             "The service failed to establish a connection with the URI '%1'.",
269             "Critical",
270             1,
271             {
272                 "string",
273             },
274             "Ensure that the URI contains a valid and reachable node name, protocol information and other URI components.",
275         }},
276     MessageEntry{
277         "CreateFailedMissingReqProperties",
278         {
279             "Indicates that a create was attempted on a resource but that properties that are required for the create operation were missing from the request.",
280             "The create operation failed because the required property %1 was missing from the request.",
281             "Critical",
282             1,
283             {
284                 "string",
285             },
286             "Correct the body to include the required property with a valid value and resubmit the request if the operation failed.",
287         }},
288     MessageEntry{
289         "CreateLimitReachedForResource",
290         {
291             "Indicates that no more resources can be created on the resource as it has reached its create limit.",
292             "The create operation failed because the resource has reached the limit of possible resources.",
293             "Critical",
294             0,
295             {},
296             "Either delete resources and resubmit the request if the operation failed or do not resubmit the request.",
297         }},
298     MessageEntry{
299         "Created",
300         {
301             "Indicates that all conditions of a successful create operation have been met.",
302             "The resource has been created successfully.",
303             "OK",
304             0,
305             {},
306             "None.",
307         }},
308     MessageEntry{
309         "EmptyJSON",
310         {
311             "Indicates that the request body contained an empty JSON object when one or more properties are expected in the body.",
312             "The request body submitted contained an empty JSON object and the service is unable to process it.",
313             "Warning",
314             0,
315             {},
316             "Add properties in the JSON object and resubmit the request.",
317         }},
318     MessageEntry{
319         "EventBufferExceeded",
320         {
321             "Indicates undelivered events may have been lost due to a lack of buffer space in the service.",
322             "Undelivered events may have been lost due to exceeding the event buffer.",
323             "Warning",
324             0,
325             {},
326             "None.",
327         }},
328     MessageEntry{
329         "EventSubscriptionLimitExceeded",
330         {
331             "Indicates that a event subscription establishment has been requested but the operation failed due to the number of simultaneous connection exceeding the limit of the implementation.",
332             "The event subscription failed due to the number of simultaneous subscriptions exceeding the limit of the implementation.",
333             "Critical",
334             0,
335             {},
336             "Reduce the number of other subscriptions before trying to establish the event subscription or increase the limit of simultaneous subscriptions, if supported.",
337         }},
338     MessageEntry{
339         "GeneralError",
340         {
341             "Indicates that a general error has occurred.  Use in `@Message.ExtendedInfo` is discouraged.  When used in `@Message.ExtendedInfo`, implementations are expected to include a `Resolution` property with this message and provide a service-defined resolution to indicate how to resolve the error.",
342             "A general error has occurred.  See Resolution for information on how to resolve the error, or @Message.ExtendedInfo if Resolution is not provided.",
343             "Critical",
344             0,
345             {},
346             "None.",
347         }},
348     MessageEntry{
349         "HeaderInvalid",
350         {
351             "Indicates that a request header is invalid.",
352             "Header '%1' is invalid.",
353             "Critical",
354             1,
355             {
356                 "string",
357             },
358             "Resubmit the request with a valid request header.",
359         }},
360     MessageEntry{
361         "HeaderMissing",
362         {
363             "Indicates that a required request header is missing.",
364             "Required header '%1' is missing in the request.",
365             "Critical",
366             1,
367             {
368                 "string",
369             },
370             "Resubmit the request with the required request header.",
371         }},
372     MessageEntry{
373         "InsufficientPrivilege",
374         {
375             "Indicates that the credentials associated with the established session do not have sufficient privileges for the requested operation.",
376             "There are insufficient privileges for the account or credentials associated with the current session to perform the requested operation.",
377             "Critical",
378             0,
379             {},
380             "Either abandon the operation or change the associated access rights and resubmit the request if the operation failed.",
381         }},
382     MessageEntry{
383         "InsufficientStorage",
384         {
385             "Indicates that the operation could not be completed due to a lack of storage or memory avaiable to the service.",
386             "Insufficent storage or memory available to complete the request.",
387             "Critical",
388             0,
389             {},
390             "Increase the free storage space available to the service and resubmit the request.",
391         }},
392     MessageEntry{
393         "InternalError",
394         {
395             "Indicates that the request failed for an unknown internal error but that the service is still operational.",
396             "The request failed due to an internal service error.  The service is still operational.",
397             "Critical",
398             0,
399             {},
400             "Resubmit the request.  If the problem persists, consider resetting the service.",
401         }},
402     MessageEntry{
403         "InvalidIndex",
404         {
405             "The index is not valid.",
406             "The index %1 is not a valid offset into the array.",
407             "Warning",
408             1,
409             {
410                 "number",
411             },
412             "Verify the index value provided is within the bounds of the array.",
413         }},
414     MessageEntry{
415         "InvalidJSON",
416         {
417             "Indicates that the request body contains invalid JSON.",
418             "The request body submitted is invalid JSON starting at line %1 and could not be parsed by the receiving service.",
419             "Critical",
420             1,
421             {
422                 "number",
423             },
424             "Ensure that the request body is valid JSON and resubmit the request.",
425         }},
426     MessageEntry{
427         "InvalidObject",
428         {
429             "Indicates that the object in question is invalid according to the implementation.  Examples include a firmware update malformed URI.",
430             "The object at '%1' is invalid.",
431             "Critical",
432             1,
433             {
434                 "string",
435             },
436             "Either the object is malformed or the URI is not correct.  Correct the condition and resubmit the request if it failed.",
437         }},
438     MessageEntry{
439         "InvalidURI",
440         {
441             "Indicates that the operation encountered a URI that does not correspond to a valid resource.",
442             "The URI %1 was not found.",
443             "Critical",
444             1,
445             {
446                 "string",
447             },
448             "Provide a valid URI and resubmit the request.",
449         }},
450     MessageEntry{
451         "MalformedJSON",
452         {
453             "Indicates that the request body was malformed JSON.",
454             "The request body submitted was malformed JSON and could not be parsed by the receiving service.",
455             "Critical",
456             0,
457             {},
458             "Ensure that the request body is valid JSON and resubmit the request.",
459         }},
460     MessageEntry{
461         "MaximumErrorsExceeded",
462         {
463             "Indicates that sufficient errors have occurred that the reporting service cannot return them all.",
464             "Too many errors have occurred to report them all.",
465             "Critical",
466             0,
467             {},
468             "Resolve other reported errors and retry the current operation.",
469         }},
470     MessageEntry{
471         "MissingOrMalformedPart",
472         {
473             "Indicates that a multipart request is missing a required part or contains malformed parts.",
474             "The multipart request contains malformed parts or is missing required parts.",
475             "Critical",
476             0,
477             {},
478             "Add any missing required parts or correct the malformed parts and resubmit the request.",
479         }},
480     MessageEntry{
481         "NetworkNameResolutionNotConfigured",
482         {
483             "Indicates that network-based name resolution has not been configured on the service.",
484             "Network name resolution has not been configured on this service.",
485             "Warning",
486             0,
487             {},
488             "Configure the network name resolution protocol support on this service, or update any URI values to include an IP address instead of a network name and resubmit the request.",
489         }},
490     MessageEntry{
491         "NetworkNameResolutionNotSupported",
492         {
493             "Indicates the service does not support network-based name resolution.",
494             "Resolution of network-based names is not supported by this service.",
495             "Warning",
496             0,
497             {},
498             "Update any URI values to include an IP address instead of a network name and resubmit the request.",
499         }},
500     MessageEntry{
501         "NoOperation",
502         {
503             "Indicates that the requested operation will not perform any changes on the service.",
504             "The request body submitted contain no data to act upon and no changes to the resource took place.",
505             "Warning",
506             0,
507             {},
508             "Add properties in the JSON object and resubmit the request.",
509         }},
510     MessageEntry{
511         "NoValidSession",
512         {
513             "Indicates that the operation failed because a valid session is required in order to access any resources.",
514             "There is no valid session established with the implementation.",
515             "Critical",
516             0,
517             {},
518             "Establish a session before attempting any operations.",
519         }},
520     MessageEntry{
521         "OperationFailed",
522         {
523             "Indicates that one of the internal operations necessary to complete the request failed.  Examples of this are when an internal service provider is unable to complete the request, such as in aggregation or RDE.",
524             "An error occurred internal to the service as part of the overall request.  Partial results may have been returned.",
525             "Warning",
526             0,
527             {},
528             "Resubmit the request.  If the problem persists, consider resetting the service or provider.",
529         }},
530     MessageEntry{
531         "OperationNotAllowed",
532         {
533             "Indicates that the HTTP method in the request is not allowed on this resource.",
534             "The HTTP method is not allowed on this resource.",
535             "Critical",
536             0,
537             {},
538             "None.",
539         }},
540     MessageEntry{
541         "OperationTimeout",
542         {
543             "Indicates that one of the internal operations necessary to complete the request timed out.  Examples of this are when an internal service provider is unable to complete the request, such as in aggregation or RDE.",
544             "A timeout internal to the service occured as part of the request.  Partial results may have been returned.",
545             "Warning",
546             0,
547             {},
548             "Resubmit the request.  If the problem persists, consider resetting the service or provider.",
549         }},
550     MessageEntry{
551         "PasswordChangeRequired",
552         {
553             "Indicates that the password for the account provided must be changed before accessing the service.  The password can be changed with a PATCH to the `Password` property in the manager account resource instance.  Implementations that provide a default password for an account may require a password change prior to first access to the service.",
554             "The password provided for this account must be changed before access is granted.  PATCH the Password property for this account located at the target URI '%1' to complete this process.",
555             "Critical",
556             1,
557             {
558                 "string",
559             },
560             "Change the password for this account using a PATCH to the Password property at the URI provided.",
561         }},
562     MessageEntry{
563         "PayloadTooLarge",
564         {
565             "Indicates that the supplied payload is too large to be accepted by the service.",
566             "The supplied payload exceeds the maximum size supported by the service.",
567             "Critical",
568             0,
569             {},
570             "Check that the supplied payload is correct and supported by this service.",
571         }},
572     MessageEntry{
573         "PreconditionFailed",
574         {
575             "Indicates that the ETag supplied did not match the current ETag of the resource.",
576             "The ETag supplied did not match the ETag required to change this resource.",
577             "Critical",
578             0,
579             {},
580             "Try the operation again using the appropriate ETag.",
581         }},
582     MessageEntry{
583         "PreconditionRequired",
584         {
585             "Indicates that the request did not provide the required precondition such as an `If-Match` or `If-None-Match` header, or `@odata.etag` annotations.",
586             "A precondition header or annotation is required to change this resource.",
587             "Critical",
588             0,
589             {},
590             "Try the operation again using an If-Match or If-None-Match header and appropriate ETag.",
591         }},
592     MessageEntry{
593         "PropertyDeprecated",
594         {
595             "Indicates the property is deprecated.",
596             "The deprecated property %1 was included in the request body.",
597             "Warning",
598             1,
599             {
600                 "string",
601             },
602             "Refer to the schema guide for more information.",
603         }},
604     MessageEntry{
605         "PropertyDuplicate",
606         {
607             "Indicates that a duplicate property was included in the request body.",
608             "The property %1 was duplicated in the request.",
609             "Warning",
610             1,
611             {
612                 "string",
613             },
614             "Remove the duplicate property from the request body and resubmit the request if the operation failed.",
615         }},
616     MessageEntry{
617         "PropertyMissing",
618         {
619             "Indicates that a required property was not supplied as part of the request.",
620             "The property %1 is a required property and must be included in the request.",
621             "Warning",
622             1,
623             {
624                 "string",
625             },
626             "Ensure that the property is in the request body and has a valid value and resubmit the request if the operation failed.",
627         }},
628     MessageEntry{
629         "PropertyNotUpdated",
630         {
631             "Indicates that a property was not updated due to an internal service error, but the service is still functional.",
632             "The property %1 was not updated due to an internal service error.  The service is still operational.",
633             "Critical",
634             1,
635             {
636                 "string",
637             },
638             "Resubmit the request.  If the problem persists, check for additional messages and consider resetting the service.",
639         }},
640     MessageEntry{
641         "PropertyNotWritable",
642         {
643             "Indicates that a property was given a value in the request body, but the property is a readonly property.",
644             "The property %1 is a read only property and cannot be assigned a value.",
645             "Warning",
646             1,
647             {
648                 "string",
649             },
650             "Remove the property from the request body and resubmit the request if the operation failed.",
651         }},
652     MessageEntry{
653         "PropertyUnknown",
654         {
655             "Indicates that an unknown property was included in the request body.",
656             "The property %1 is not in the list of valid properties for the resource.",
657             "Warning",
658             1,
659             {
660                 "string",
661             },
662             "Remove the unknown property from the request body and resubmit the request if the operation failed.",
663         }},
664     MessageEntry{
665         "PropertyValueConflict",
666         {
667             "Indicates that the requested write of a property value could not be completed, because of a conflict with another property value.",
668             "The property '%1' could not be written because its value would conflict with the value of the '%2' property.",
669             "Warning",
670             2,
671             {
672                 "string",
673                 "string",
674             },
675             "No resolution is required.",
676         }},
677     MessageEntry{
678         "PropertyValueDeprecated",
679         {
680             "Indicates that a property was given a deprecated value.",
681             "The value '%1' for the property %2 is deprecated.",
682             "Warning",
683             2,
684             {
685                 "string",
686                 "string",
687             },
688             "Refer to the schema guide for more information.",
689         }},
690     MessageEntry{
691         "PropertyValueError",
692         {
693             "Indicates that a property was given an invalid value.",
694             "The value provided for the property %1 is not valid.",
695             "Warning",
696             1,
697             {
698                 "string",
699             },
700             "Correct the value for the property in the request body and resubmit the request if the operation failed.",
701         }},
702     MessageEntry{
703         "PropertyValueExternalConflict",
704         {
705             "Indicates that the requested write of a property value could not be completed, due to the current state or configuration of the resource.  This can include configuration conflicts with other resources or parameters that are not exposed by this interface.",
706             "The property '%1' with the requested value of '%2' could not be written because the value is not available due to a configuration conflict.",
707             "Warning",
708             2,
709             {
710                 "string",
711                 "string",
712             },
713             "No resolution is required.",
714         }},
715     MessageEntry{
716         "PropertyValueFormatError",
717         {
718             "Indicates that a property was given the correct value type but the value of that property was not supported.",
719             "The value '%1' for the property %2 is of a different format than the property can accept.",
720             "Warning",
721             2,
722             {
723                 "string",
724                 "string",
725             },
726             "Correct the value for the property in the request body and resubmit the request if the operation failed.",
727         }},
728     MessageEntry{
729         "PropertyValueIncorrect",
730         {
731             "Indicates that the requested write of a property value could not be completed, because of an incorrect value of the property.  Examples include values that do not match a regular expression requirement or passwords that do not match the implementation constraints.",
732             "The property '%1' with the requested value of '%2' could not be written because the value does not meet the constraints of the implementation.",
733             "Warning",
734             2,
735             {
736                 "string",
737                 "string",
738             },
739             "No resolution is required.",
740         }},
741     MessageEntry{
742         "PropertyValueModified",
743         {
744             "Indicates that a property was given the correct value type but the value of that property was modified.  Examples are truncated or rounded values.",
745             "The property %1 was assigned the value '%2' due to modification by the service.",
746             "Warning",
747             2,
748             {
749                 "string",
750                 "string",
751             },
752             "No resolution is required.",
753         }},
754     MessageEntry{
755         "PropertyValueNotInList",
756         {
757             "Indicates that a property was given the correct value type but the value of that property was not supported.  The value is not in an enumeration.",
758             "The value '%1' for the property %2 is not in the list of acceptable values.",
759             "Warning",
760             2,
761             {
762                 "string",
763                 "string",
764             },
765             "Choose a value from the enumeration list that the implementation can support and resubmit the request if the operation failed.",
766         }},
767     MessageEntry{
768         "PropertyValueOutOfRange",
769         {
770             "Indicates that a property was given the correct value type but the value of that property is outside the supported range.",
771             "The value '%1' for the property %2 is not in the supported range of acceptable values.",
772             "Warning",
773             2,
774             {
775                 "string",
776                 "string",
777             },
778             "Correct the value for the property in the request body and resubmit the request if the operation failed.",
779         }},
780     MessageEntry{
781         "PropertyValueResourceConflict",
782         {
783             "Indicates that the requested write of a property value could not be completed, due to the current state or configuration of another resource.",
784             "The property '%1' with the requested value of '%2' could not be written because the value conflicts with the state or configuration of the resource at '%3'.",
785             "Warning",
786             3,
787             {
788                 "string",
789                 "string",
790                 "string",
791             },
792             "No resolution is required.",
793         }},
794     MessageEntry{
795         "PropertyValueTypeError",
796         {
797             "Indicates that a property was given the wrong value type, such as when a number is supplied for a property that requires a string.",
798             "The value '%1' for the property %2 is of a different type than the property can accept.",
799             "Warning",
800             2,
801             {
802                 "string",
803                 "string",
804             },
805             "Correct the value for the property in the request body and resubmit the request if the operation failed.",
806         }},
807     MessageEntry{
808         "QueryCombinationInvalid",
809         {
810             "Indicates the request contains multiple query parameters, and that two or more of them cannot be used together.",
811             "Two or more query parameters in the request cannot be used together.",
812             "Warning",
813             0,
814             {},
815             "Remove one or more of the query parameters and resubmit the request if the operation failed.",
816         }},
817     MessageEntry{
818         "QueryNotSupported",
819         {
820             "Indicates that query is not supported on the implementation.",
821             "Querying is not supported by the implementation.",
822             "Warning",
823             0,
824             {},
825             "Remove the query parameters and resubmit the request if the operation failed.",
826         }},
827     MessageEntry{
828         "QueryNotSupportedOnOperation",
829         {
830             "Indicates that query is not supported with the given operation, such as when the `$expand` query is attempted with a PATCH operation.",
831             "Querying is not supported with the requested operation.",
832             "Warning",
833             0,
834             {},
835             "Remove the query parameters and resubmit the request if the operation failed.",
836         }},
837     MessageEntry{
838         "QueryNotSupportedOnResource",
839         {
840             "Indicates that query is not supported on the given resource, such as when the `$skip` query is attempted on a resource that is not a collection.",
841             "Querying is not supported on the requested resource.",
842             "Warning",
843             0,
844             {},
845             "Remove the query parameters and resubmit the request if the operation failed.",
846         }},
847     MessageEntry{
848         "QueryParameterOutOfRange",
849         {
850             "Indicates that a query parameter was provided that is out of range for the given resource.  This can happen with values that are too low or beyond that possible for the supplied resource, such as when a page is requested that is beyond the last page.",
851             "The value '%1' for the query parameter %2 is out of range %3.",
852             "Warning",
853             3,
854             {
855                 "string",
856                 "string",
857                 "string",
858             },
859             "Reduce the value for the query parameter to a value that is within range, such as a start or count value that is within bounds of the number of resources in a collection or a page that is within the range of valid pages.",
860         }},
861     MessageEntry{
862         "QueryParameterValueError",
863         {
864             "Indicates that a query parameter was given an invalid value.",
865             "The value for the parameter %1 is invalid.",
866             "Warning",
867             1,
868             {
869                 "string",
870             },
871             "Correct the value for the query parameter in the request and resubmit the request if the operation failed.",
872         }},
873     MessageEntry{
874         "QueryParameterValueFormatError",
875         {
876             "Indicates that a query parameter was given the correct value type but the value of that parameter was not supported.  This includes the value size or length has been exceeded.",
877             "The value '%1' for the parameter %2 is of a different format than the parameter can accept.",
878             "Warning",
879             2,
880             {
881                 "string",
882                 "string",
883             },
884             "Correct the value for the query parameter in the request and resubmit the request if the operation failed.",
885         }},
886     MessageEntry{
887         "QueryParameterValueTypeError",
888         {
889             "Indicates that a query parameter was given the wrong value type, such as when a number is supplied for a query parameter that requires a string.",
890             "The value '%1' for the query parameter %2 is of a different type than the parameter can accept.",
891             "Warning",
892             2,
893             {
894                 "string",
895                 "string",
896             },
897             "Correct the value for the query parameter in the request and resubmit the request if the operation failed.",
898         }},
899     MessageEntry{
900         "ResetRecommended",
901         {
902             "Indicates that a component reset is recommended for error recovery while unaffected applications can continue running without any effects on accuracy and performance.",
903             "In order to recover from errors, a component reset is recommended with the Reset action URI '%1' and ResetType '%2'.",
904             "Warning",
905             2,
906             {
907                 "string",
908                 "string",
909             },
910             "Perform the recommended reset action on the specified component.",
911         }},
912     MessageEntry{
913         "ResetRequired",
914         {
915             "Indicates that a component reset is required for changes, error recovery, or operations to complete.",
916             "In order to apply changes, recover from errors, or complete the operation, a component reset is required with the Reset action URI '%1' and ResetType '%2'.",
917             "Warning",
918             2,
919             {
920                 "string",
921                 "string",
922             },
923             "Perform the required reset action on the specified component.",
924         }},
925     MessageEntry{
926         "ResourceAlreadyExists",
927         {
928             "Indicates that a resource change or creation was attempted but that the operation cannot proceed because the resource already exists.",
929             "The requested resource of type %1 with the property %2 with the value '%3' already exists.",
930             "Critical",
931             3,
932             {
933                 "string",
934                 "string",
935                 "string",
936             },
937             "Do not repeat the create operation as the resource has already been created.",
938         }},
939     MessageEntry{
940         "ResourceAtUriInUnknownFormat",
941         {
942             "Indicates that the URI was valid but the resource or image at that URI was in a format not supported by the service.",
943             "The resource at '%1' is in a format not recognized by the service.",
944             "Critical",
945             1,
946             {
947                 "string",
948             },
949             "Place an image or resource or file that is recognized by the service at the URI.",
950         }},
951     MessageEntry{
952         "ResourceAtUriUnauthorized",
953         {
954             "Indicates that the attempt to access the resource, file, or image at the URI was unauthorized.",
955             "While accessing the resource at '%1', the service received an authorization error '%2'.",
956             "Critical",
957             2,
958             {
959                 "string",
960                 "string",
961             },
962             "Ensure that the appropriate access is provided for the service in order for it to access the URI.",
963         }},
964     MessageEntry{
965         "ResourceCannotBeDeleted",
966         {
967             "Indicates that a delete operation was attempted on a resource that cannot be deleted.",
968             "The delete request failed because the resource requested cannot be deleted.",
969             "Critical",
970             0,
971             {},
972             "Do not attempt to delete a non-deletable resource.",
973         }},
974     MessageEntry{
975         "ResourceCreationConflict",
976         {
977             "Indicates that the requested resource creation could not be completed because the service has a resource that conflicts with the request.",
978             "The resource could not be created.  The service has a resource at URI '%1' that conflicts with the creation request.",
979             "Warning",
980             1,
981             {
982                 "string",
983             },
984             "No resolution is required.",
985         }},
986     MessageEntry{
987         "ResourceDeprecated",
988         {
989             "Indicates the resource is deprecated.",
990             "The operation was performed on a deprecated resource '%1'.",
991             "Warning",
992             1,
993             {
994                 "string",
995             },
996             "Refer to the schema guide for more information.",
997         }},
998     MessageEntry{
999         "ResourceExhaustion",
1000         {
1001             "Indicates that a resource could not satisfy the request due to some unavailability of resources.  An example is that available capacity has been allocated.",
1002             "The resource '%1' was unable to satisfy the request due to unavailability of resources.",
1003             "Critical",
1004             1,
1005             {
1006                 "string",
1007             },
1008             "Ensure that the resources are available and resubmit the request.",
1009         }},
1010     MessageEntry{
1011         "ResourceInStandby",
1012         {
1013             "Indicates that the request could not be performed because the resource is in standby.",
1014             "The request could not be performed because the resource is in standby.",
1015             "Critical",
1016             0,
1017             {},
1018             "Ensure that the resource is in the correct power state and resubmit the request.",
1019         }},
1020     MessageEntry{
1021         "ResourceInUse",
1022         {
1023             "Indicates that a change was requested to a resource but the change was rejected due to the resource being in use or transition.",
1024             "The change to the requested resource failed because the resource is in use or in transition.",
1025             "Warning",
1026             0,
1027             {},
1028             "Remove the condition and resubmit the request if the operation failed.",
1029         }},
1030     MessageEntry{
1031         "ResourceMissingAtURI",
1032         {
1033             "Indicates that the operation expected an image or other resource at the provided URI but none was found.  Examples of this are in requests that require URIs like firmware update.",
1034             "The resource at the URI '%1' was not found.",
1035             "Critical",
1036             1,
1037             {
1038                 "string",
1039             },
1040             "Place a valid resource at the URI or correct the URI and resubmit the request.",
1041         }},
1042     MessageEntry{
1043         "ResourceNotFound",
1044         {
1045             "Indicates that the operation expected a resource identifier that corresponds to an existing resource but one was not found.",
1046             "The requested resource of type %1 named '%2' was not found.",
1047             "Critical",
1048             2,
1049             {
1050                 "string",
1051                 "string",
1052             },
1053             "Provide a valid resource identifier and resubmit the request.",
1054         }},
1055     MessageEntry{
1056         "ResourceTypeIncompatible",
1057         {
1058             "Indicates that the resource type of the operation does not match that for the operation destination.  Examples of when this can happen include during a POST to a resource collection using the wrong resource type, an update where the `@odata.type` properties do not match, or on a major version incompatibility.",
1059             "The @odata.type of the request body %1 is incompatible with the @odata.type of the resource, which is %2.",
1060             "Critical",
1061             2,
1062             {
1063                 "string",
1064                 "string",
1065             },
1066             "Resubmit the request with a payload compatible with the resource's schema.",
1067         }},
1068     MessageEntry{
1069         "RestrictedPrivilege",
1070         {
1071             "Indicates that the operation was not successful because a privilege is restricted.",
1072             "The operation was not successful because the privilege '%1' is restricted.",
1073             "Warning",
1074             1,
1075             {
1076                 "string",
1077             },
1078             "Remove restricted privileges from the request body and resubmit the request.",
1079         }},
1080     MessageEntry{
1081         "RestrictedRole",
1082         {
1083             "Indicates that the operation was not successful because the role is restricted.",
1084             "The operation was not successful because the role '%1' is restricted.",
1085             "Warning",
1086             1,
1087             {
1088                 "string",
1089             },
1090             "No resolution is required.  For standard roles, consider using the role specified in the AlternateRoleId property in the Role resource.",
1091         }},
1092     MessageEntry{
1093         "ServiceDisabled",
1094         {
1095             "Indicates that the operation failed because the service, such as the account service, is disabled and cannot accept requests.",
1096             "The operation failed because the service at %1 is disabled and cannot accept requests.",
1097             "Warning",
1098             1,
1099             {
1100                 "string",
1101             },
1102             "Enable the service and resubmit the request if the operation failed.",
1103         }},
1104     MessageEntry{
1105         "ServiceInUnknownState",
1106         {
1107             "Indicates that the operation failed because the service is in an unknown state and cannot accept additional requests.",
1108             "The operation failed because the service is in an unknown state and can no longer take incoming requests.",
1109             "Critical",
1110             0,
1111             {},
1112             "Restart the service and resubmit the request if the operation failed.",
1113         }},
1114     MessageEntry{
1115         "ServiceShuttingDown",
1116         {
1117             "Indicates that the operation failed as the service is shutting down, such as when the service reboots.",
1118             "The operation failed because the service is shutting down and can no longer take incoming requests.",
1119             "Critical",
1120             0,
1121             {},
1122             "When the service becomes available, resubmit the request if the operation failed.",
1123         }},
1124     MessageEntry{
1125         "ServiceTemporarilyUnavailable",
1126         {
1127             "Indicates the service is temporarily unavailable.",
1128             "The service is temporarily unavailable.  Retry in %1 seconds.",
1129             "Critical",
1130             1,
1131             {
1132                 "string",
1133             },
1134             "Wait for the indicated retry duration and retry the operation.",
1135         }},
1136     MessageEntry{
1137         "SessionLimitExceeded",
1138         {
1139             "Indicates that a session establishment has been requested but the operation failed due to the number of simultaneous sessions exceeding the limit of the implementation.",
1140             "The session establishment failed due to the number of simultaneous sessions exceeding the limit of the implementation.",
1141             "Critical",
1142             0,
1143             {},
1144             "Reduce the number of other sessions before trying to establish the session or increase the limit of simultaneous sessions, if supported.",
1145         }},
1146     MessageEntry{
1147         "SessionTerminated",
1148         {
1149             "Indicates that the DELETE operation on the session resource resulted in the successful termination of the session.",
1150             "The session was successfully terminated.",
1151             "OK",
1152             0,
1153             {},
1154             "No resolution is required.",
1155         }},
1156     MessageEntry{
1157         "SourceDoesNotSupportProtocol",
1158         {
1159             "Indicates that while attempting to access, connect to or transfer a resource, file, or image from another location that the other end of the connection did not support the protocol.",
1160             "The other end of the connection at '%1' does not support the specified protocol %2.",
1161             "Critical",
1162             2,
1163             {
1164                 "string",
1165                 "string",
1166             },
1167             "Change protocols or URIs.",
1168         }},
1169     MessageEntry{
1170         "StrictAccountTypes",
1171         {
1172             "Indicates the request failed because a set of `AccountTypes` or `OEMAccountTypes` was not accepted while `StrictAccountTypes` is set to `true`.",
1173             "The request was not possible to fulfill with the account types included in property '%1' and property StrictAccountTypes set to true.",
1174             "Warning",
1175             1,
1176             {
1177                 "string",
1178             },
1179             "Resubmit the request either with an acceptable set of AccountTypes and OEMAccountTypes or with StrictAccountTypes set to false.",
1180         }},
1181     MessageEntry{
1182         "StringValueTooLong",
1183         {
1184             "Indicates that a string value passed to the given resource exceeded its length limit.  An example is when a shorter limit is imposed by an implementation than that allowed by the specification.",
1185             "The string '%1' exceeds the length limit %2.",
1186             "Warning",
1187             2,
1188             {
1189                 "string",
1190                 "number",
1191             },
1192             "Resubmit the request with an appropriate string length.",
1193         }},
1194     MessageEntry{
1195         "SubscriptionTerminated",
1196         {
1197             "An event subscription has been terminated by the service.  No further events will be delivered.",
1198             "The event subscription has been terminated.",
1199             "OK",
1200             0,
1201             {},
1202             "No resolution is required.",
1203         }},
1204     MessageEntry{
1205         "Success",
1206         {
1207             "Indicates that all conditions of a successful operation have been met.",
1208             "The request completed successfully.",
1209             "OK",
1210             0,
1211             {},
1212             "None",
1213         }},
1214     MessageEntry{
1215         "UndeterminedFault",
1216         {
1217             "Indicates that a fault or error condition exists but the source of the fault cannot be determined or is unknown to the service.",
1218             "A undetermined fault condition has been reported by '%1'.",
1219             "Critical",
1220             1,
1221             {
1222                 "string",
1223             },
1224             "None.",
1225         }},
1226     MessageEntry{
1227         "UnrecognizedRequestBody",
1228         {
1229             "Indicates that the service encountered an unrecognizable request body that could not even be interpreted as malformed JSON.",
1230             "The service detected a malformed request body that it was unable to interpret.",
1231             "Warning",
1232             0,
1233             {},
1234             "Correct the request body and resubmit the request if it failed.",
1235         }},
1236 
1237 };
1238 
1239 enum class Index
1240 {
1241     accessDenied = 0,
1242     accountForSessionNoLongerExists = 1,
1243     accountModified = 2,
1244     accountNotModified = 3,
1245     accountRemoved = 4,
1246     actionDeprecated = 5,
1247     actionNotSupported = 6,
1248     actionParameterDuplicate = 7,
1249     actionParameterMissing = 8,
1250     actionParameterNotSupported = 9,
1251     actionParameterUnknown = 10,
1252     actionParameterValueConflict = 11,
1253     actionParameterValueError = 12,
1254     actionParameterValueFormatError = 13,
1255     actionParameterValueNotInList = 14,
1256     actionParameterValueTypeError = 15,
1257     chassisPowerStateOffRequired = 16,
1258     chassisPowerStateOnRequired = 17,
1259     conditionInRelatedResource = 18,
1260     couldNotEstablishConnection = 19,
1261     createFailedMissingReqProperties = 20,
1262     createLimitReachedForResource = 21,
1263     created = 22,
1264     emptyJSON = 23,
1265     eventBufferExceeded = 24,
1266     eventSubscriptionLimitExceeded = 25,
1267     generalError = 26,
1268     headerInvalid = 27,
1269     headerMissing = 28,
1270     insufficientPrivilege = 29,
1271     insufficientStorage = 30,
1272     internalError = 31,
1273     invalidIndex = 32,
1274     invalidJSON = 33,
1275     invalidObject = 34,
1276     invalidURI = 35,
1277     malformedJSON = 36,
1278     maximumErrorsExceeded = 37,
1279     missingOrMalformedPart = 38,
1280     networkNameResolutionNotConfigured = 39,
1281     networkNameResolutionNotSupported = 40,
1282     noOperation = 41,
1283     noValidSession = 42,
1284     operationFailed = 43,
1285     operationNotAllowed = 44,
1286     operationTimeout = 45,
1287     passwordChangeRequired = 46,
1288     payloadTooLarge = 47,
1289     preconditionFailed = 48,
1290     preconditionRequired = 49,
1291     propertyDeprecated = 50,
1292     propertyDuplicate = 51,
1293     propertyMissing = 52,
1294     propertyNotUpdated = 53,
1295     propertyNotWritable = 54,
1296     propertyUnknown = 55,
1297     propertyValueConflict = 56,
1298     propertyValueDeprecated = 57,
1299     propertyValueError = 58,
1300     propertyValueExternalConflict = 59,
1301     propertyValueFormatError = 60,
1302     propertyValueIncorrect = 61,
1303     propertyValueModified = 62,
1304     propertyValueNotInList = 63,
1305     propertyValueOutOfRange = 64,
1306     propertyValueResourceConflict = 65,
1307     propertyValueTypeError = 66,
1308     queryCombinationInvalid = 67,
1309     queryNotSupported = 68,
1310     queryNotSupportedOnOperation = 69,
1311     queryNotSupportedOnResource = 70,
1312     queryParameterOutOfRange = 71,
1313     queryParameterValueError = 72,
1314     queryParameterValueFormatError = 73,
1315     queryParameterValueTypeError = 74,
1316     resetRecommended = 75,
1317     resetRequired = 76,
1318     resourceAlreadyExists = 77,
1319     resourceAtUriInUnknownFormat = 78,
1320     resourceAtUriUnauthorized = 79,
1321     resourceCannotBeDeleted = 80,
1322     resourceCreationConflict = 81,
1323     resourceDeprecated = 82,
1324     resourceExhaustion = 83,
1325     resourceInStandby = 84,
1326     resourceInUse = 85,
1327     resourceMissingAtURI = 86,
1328     resourceNotFound = 87,
1329     resourceTypeIncompatible = 88,
1330     restrictedPrivilege = 89,
1331     restrictedRole = 90,
1332     serviceDisabled = 91,
1333     serviceInUnknownState = 92,
1334     serviceShuttingDown = 93,
1335     serviceTemporarilyUnavailable = 94,
1336     sessionLimitExceeded = 95,
1337     sessionTerminated = 96,
1338     sourceDoesNotSupportProtocol = 97,
1339     strictAccountTypes = 98,
1340     stringValueTooLong = 99,
1341     subscriptionTerminated = 100,
1342     success = 101,
1343     undeterminedFault = 102,
1344     unrecognizedRequestBody = 103,
1345 };
1346 } // namespace redfish::registries::base
1347