xref: /openbmc/bmcweb/redfish-core/include/registries/composition_message_registry.hpp (revision 56b81992ba8a8e644f2e75251a94df4f4d0d0880)
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::composition
19 {
20 const Header header = {
21     "Copyright 2019-2023 DMTF. All rights reserved.",
22     "#MessageRegistry.v1_6_2.MessageRegistry",
23     1,
24     1,
25     2,
26     "Composition Message Registry",
27     "en",
28     "This registry defines the messages for composition related events.",
29     "Composition",
30     "DMTF",
31 };
32 constexpr const char* url =
33     "https://redfish.dmtf.org/registries/Composition.1.1.2.json";
34 
35 constexpr std::array registry =
36 {
37     MessageEntry{
38         "ConstrainedResourceAlreadyReserved",
39         {
40             "Indicates that the requested resources are already reserved in response to a constrained composition request.",
41             "The requested resources are reserved under reservation '%1'.",
42             "Critical",
43             1,
44             {
45                 "string",
46             },
47             "Delete the reservation containing the resources and resubmit the request.",
48         }},
49     MessageEntry{
50         "EmptyManifest",
51         {
52             "Indicates that the manifest contains no stanzas or that a stanza in the manifest contains no request.",
53             "The provided manifest is empty or a stanza in the manifest contains no request.",
54             "Warning",
55             0,
56             {},
57             "Provide a request content for the manifest and resubmit.",
58         }},
59     MessageEntry{
60         "IncompatibleZone",
61         {
62             "Indicates that not all referenced resource blocks are in the same resource zone.",
63             "The requested resource blocks span multiple resource zones.",
64             "Critical",
65             0,
66             {},
67             "Request resource blocks from the same resource zone.",
68         }},
69     MessageEntry{
70         "NoResourceMatch",
71         {
72             "Indicates that the service could not find a matching resource based on the given parameters.",
73             "The requested resources of type '%1' are not available for allocation.",
74             "Critical",
75             1,
76             {
77                 "string",
78             },
79             "Change parameters associated with the resource, such as quantity or performance, and resubmit the request.",
80         }},
81     MessageEntry{
82         "ResourceBlockChanged",
83         {
84             "Indicates that a resource block has changed.  This is not used whenever there is another event message for that specific change, such as when only the state has changed.",
85             "Resource block '%1' has changed on the service.",
86             "OK",
87             1,
88             {
89                 "string",
90             },
91             "None.",
92         }},
93     MessageEntry{
94         "ResourceBlockCompositionStateChanged",
95         {
96             "Indicates that the composition state of a resource block has changed, specifically the value of the `CompositionState` property within `CompositionStatus`.",
97             "The composition status of the resource block '%1' has changed.",
98             "OK",
99             1,
100             {
101                 "string",
102             },
103             "None.",
104         }},
105     MessageEntry{
106         "ResourceBlockInUse",
107         {
108             "Indicates that the composition request contains a resource block that is unable to participate in more compositions.",
109             "Resource block '%1' cannot be part of any new compositions.",
110             "Warning",
111             1,
112             {
113                 "string",
114             },
115             "Remove the resource block from the request and resubmit the request.",
116         }},
117     MessageEntry{
118         "ResourceBlockInvalid",
119         {
120             "Indicates that the `Id` of a referenced resource block is no longer valid.",
121             "Resource block '%1' is not valid.",
122             "Critical",
123             1,
124             {
125                 "string",
126             },
127             "Remove the resource block and resubmit the request.",
128         }},
129     MessageEntry{
130         "ResourceBlockNotFound",
131         {
132             "Indicates that the referenced resource block was not found.",
133             "Resource block '%1' was not found.",
134             "Critical",
135             1,
136             {
137                 "string",
138             },
139             "Remove the resource block and resubmit the request.",
140         }},
141     MessageEntry{
142         "ResourceBlockStateChanged",
143         {
144             "Indicates that the state of a resource block has changed, specifically the value of the `State` property within `Status`.",
145             "The state of resource block '%1' has changed.",
146             "OK",
147             1,
148             {
149                 "string",
150             },
151             "None.",
152         }},
153     MessageEntry{
154         "ResourceZoneMembershipChanged",
155         {
156             "Indicates that the membership of a resource zone has changed due to resource blocks being added or removed from the resource zone.",
157             "The membership of resource zone '%1' has been changed.",
158             "OK",
159             1,
160             {
161                 "string",
162             },
163             "None.",
164         }},
165     MessageEntry{
166         "SpecifiedResourceAlreadyReserved",
167         {
168             "Indicates that a resource block is already reserved in response to a specific composition request.",
169             "Resource block '%1' is already reserved under reservation '%2'.",
170             "Critical",
171             2,
172             {
173                 "string",
174                 "string",
175             },
176             "Delete the reservation containing the resource block or select a different resource block and resubmit the request.",
177         }},
178     MessageEntry{
179         "UnableToProcessStanzaRequest",
180         {
181             "Indicates that the manifest provided for the `Compose` action contains a stanza with `Content` that could not be processed.",
182             "The provided manifest for the Compose action of type %1 contains a stanza with Id of value '%2' with a Content parameter that could not be processed.",
183             "Critical",
184             2,
185             {
186                 "string",
187                 "string",
188             },
189             "Add the Content parameter to the stanza or remove the stanza, and resubmit the request.",
190         }},
191 
192 };
193 
194 enum class Index
195 {
196     constrainedResourceAlreadyReserved = 0,
197     emptyManifest = 1,
198     incompatibleZone = 2,
199     noResourceMatch = 3,
200     resourceBlockChanged = 4,
201     resourceBlockCompositionStateChanged = 5,
202     resourceBlockInUse = 6,
203     resourceBlockInvalid = 7,
204     resourceBlockNotFound = 8,
205     resourceBlockStateChanged = 9,
206     resourceZoneMembershipChanged = 10,
207     specifiedResourceAlreadyReserved = 11,
208     unableToProcessStanzaRequest = 12,
209 };
210 } // namespace redfish::registries::composition
211