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