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