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