xref: /openbmc/bmcweb/features/redfish/include/error_messages.hpp (revision bd79bce8c3f1deb1fb2773868b9ece25233cf27b)
1f4c4dcf4SKowalski, Kamil /*
2f4c4dcf4SKowalski, Kamil // Copyright (c) 2018 Intel Corporation
3f4c4dcf4SKowalski, Kamil //
4f4c4dcf4SKowalski, Kamil // Licensed under the Apache License, Version 2.0 (the "License");
5f4c4dcf4SKowalski, Kamil // you may not use this file except in compliance with the License.
6f4c4dcf4SKowalski, Kamil // You may obtain a copy of the License at
7f4c4dcf4SKowalski, Kamil //
8f4c4dcf4SKowalski, Kamil //      http://www.apache.org/licenses/LICENSE-2.0
9f4c4dcf4SKowalski, Kamil //
10f4c4dcf4SKowalski, Kamil // Unless required by applicable law or agreed to in writing, software
11f4c4dcf4SKowalski, Kamil // distributed under the License is distributed on an "AS IS" BASIS,
12f4c4dcf4SKowalski, Kamil // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f4c4dcf4SKowalski, Kamil // See the License for the specific language governing permissions and
14f4c4dcf4SKowalski, Kamil // limitations under the License.
15f4c4dcf4SKowalski, Kamil */
16f4c4dcf4SKowalski, Kamil #pragma once
170442ef92SNan Zhou 
1804e438cbSEd Tanous #include "http_response.hpp"
19f12894f8SJason M. Bills 
204a7fbefdSEd Tanous #include <boost/url/url_view_base.hpp>
211214b7e7SGunnar Mills #include <nlohmann/json.hpp>
221214b7e7SGunnar Mills 
230442ef92SNan Zhou #include <cstdint>
24d85418e3SPatrick Williams #include <source_location>
259ea15c35SEd Tanous #include <string>
260442ef92SNan Zhou #include <string_view>
270442ef92SNan Zhou 
280442ef92SNan Zhou // IWYU pragma: no_include <cstdint.h>
290442ef92SNan Zhou // IWYU pragma: no_forward_declare crow::Response
309ea15c35SEd Tanous 
311abe55efSEd Tanous namespace redfish
321abe55efSEd Tanous {
33f4c4dcf4SKowalski, Kamil 
341abe55efSEd Tanous namespace messages
351abe55efSEd Tanous {
36f4c4dcf4SKowalski, Kamil 
3781856681SAsmitha Karunanithi constexpr const char* messageVersionPrefix = "Base.1.11.0.";
3855c7b7a2SEd Tanous constexpr const char* messageAnnotation = "@Message.ExtendedInfo";
39f4c4dcf4SKowalski, Kamil 
40f4c4dcf4SKowalski, Kamil /**
413590bd1dSNan Zhou  * @brief Moves all error messages from the |source| JSON to |target|
423590bd1dSNan Zhou  */
433590bd1dSNan Zhou void moveErrorsToErrorJson(nlohmann::json& target, nlohmann::json& source);
443590bd1dSNan Zhou 
453590bd1dSNan Zhou /**
46f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceInUse message into JSON
47f4c4dcf4SKowalski, Kamil  * Message body: "The change to the requested resource failed because the
48f4c4dcf4SKowalski, Kamil  * resource is in use or in transition."
49f4c4dcf4SKowalski, Kamil  *
50f4c4dcf4SKowalski, Kamil  *
51f4c4dcf4SKowalski, Kamil  * @returns Message ResourceInUse formatted to JSON */
5265176d39SEd Tanous nlohmann::json resourceInUse();
53b5c07418SJames Feist 
54f12894f8SJason M. Bills void resourceInUse(crow::Response& res);
55f4c4dcf4SKowalski, Kamil 
56f4c4dcf4SKowalski, Kamil /**
57f4c4dcf4SKowalski, Kamil  * @brief Formats MalformedJSON message into JSON
58f4c4dcf4SKowalski, Kamil  * Message body: "The request body submitted was malformed JSON and could not be
59f4c4dcf4SKowalski, Kamil  * parsed by the receiving service."
60f4c4dcf4SKowalski, Kamil  *
61f4c4dcf4SKowalski, Kamil  *
62f4c4dcf4SKowalski, Kamil  * @returns Message MalformedJSON formatted to JSON */
6365176d39SEd Tanous nlohmann::json malformedJSON();
64b5c07418SJames Feist 
65f12894f8SJason M. Bills void malformedJSON(crow::Response& res);
66f4c4dcf4SKowalski, Kamil 
67f4c4dcf4SKowalski, Kamil /**
68f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceMissingAtURI message into JSON
6966ac2b8cSJason M. Bills  * Message body: "The resource at the URI <arg1> was not found."
70f4c4dcf4SKowalski, Kamil  *
71f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
72f4c4dcf4SKowalski, Kamil  *
73f4c4dcf4SKowalski, Kamil  * @returns Message ResourceMissingAtURI formatted to JSON */
744a7fbefdSEd Tanous nlohmann::json resourceMissingAtURI(const boost::urls::url_view_base& arg1);
75b5c07418SJames Feist 
764a7fbefdSEd Tanous void resourceMissingAtURI(crow::Response& res,
774a7fbefdSEd Tanous                           const boost::urls::url_view_base& arg1);
78f4c4dcf4SKowalski, Kamil 
79f4c4dcf4SKowalski, Kamil /**
80f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterValueFormatError message into JSON
8166ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the parameter <arg2> in the action <arg3>
82f4c4dcf4SKowalski, Kamil  * is of a different format than the parameter can accept."
83f4c4dcf4SKowalski, Kamil  *
84f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
85f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
86f4c4dcf4SKowalski, Kamil  * @param[in] arg3 Parameter of message that will replace %3 in its body.
87f4c4dcf4SKowalski, Kamil  *
88f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterValueFormatError formatted to JSON */
89*bd79bce8SPatrick Williams nlohmann::json actionParameterValueFormatError(
90*bd79bce8SPatrick Williams     const nlohmann::json& arg1, std::string_view arg2, std::string_view arg3);
91b5c07418SJames Feist 
92*bd79bce8SPatrick Williams void actionParameterValueFormatError(
93*bd79bce8SPatrick Williams     crow::Response& res, const nlohmann::json& arg1, std::string_view arg2,
941668ce6dSEd Tanous     std::string_view arg3);
95f4c4dcf4SKowalski, Kamil 
96f4c4dcf4SKowalski, Kamil /**
974ef82a15SAlex Schendel  * @brief Formats ActionParameterValueNotInList message into JSON
984ef82a15SAlex Schendel  * Message body: "The value <arg1> for the parameter <arg2> in the action <arg3>
994ef82a15SAlex Schendel  * is not in the list of acceptable values."
1004ef82a15SAlex Schendel  *
1014ef82a15SAlex Schendel  * @param[in] arg1 Parameter of message that will replace %1 in its body.
1024ef82a15SAlex Schendel  * @param[in] arg2 Parameter of message that will replace %2 in its body.
1034ef82a15SAlex Schendel  * @param[in] arg3 Parameter of message that will replace %3 in its body.
1044ef82a15SAlex Schendel  *
1054ef82a15SAlex Schendel  * @returns Message ActionParameterValueFormatError formatted to JSON */
106*bd79bce8SPatrick Williams nlohmann::json actionParameterValueNotInList(
107*bd79bce8SPatrick Williams     std::string_view arg1, std::string_view arg2, std::string_view arg3);
1084ef82a15SAlex Schendel 
1094ef82a15SAlex Schendel void actionParameterValueNotInList(crow::Response& res, std::string_view arg1,
1104ef82a15SAlex Schendel                                    std::string_view arg2,
1114ef82a15SAlex Schendel                                    std::string_view arg3);
1124ef82a15SAlex Schendel 
1134ef82a15SAlex Schendel /**
114f4c4dcf4SKowalski, Kamil  * @brief Formats InternalError message into JSON
115f4c4dcf4SKowalski, Kamil  * Message body: "The request failed due to an internal service error.  The
116f4c4dcf4SKowalski, Kamil  * service is still operational."
117f4c4dcf4SKowalski, Kamil  *
118f4c4dcf4SKowalski, Kamil  *
119f4c4dcf4SKowalski, Kamil  * @returns Message InternalError formatted to JSON */
12065176d39SEd Tanous nlohmann::json internalError();
121b5c07418SJames Feist 
122d85418e3SPatrick Williams void internalError(crow::Response& res, std::source_location location =
123d85418e3SPatrick Williams                                             std::source_location::current());
124f12894f8SJason M. Bills 
125f12894f8SJason M. Bills /**
126f4c4dcf4SKowalski, Kamil  * @brief Formats UnrecognizedRequestBody message into JSON
127f4c4dcf4SKowalski, Kamil  * Message body: "The service detected a malformed request body that it was
128f4c4dcf4SKowalski, Kamil  * unable to interpret."
129f4c4dcf4SKowalski, Kamil  *
130f4c4dcf4SKowalski, Kamil  *
131f4c4dcf4SKowalski, Kamil  * @returns Message UnrecognizedRequestBody formatted to JSON */
13265176d39SEd Tanous nlohmann::json unrecognizedRequestBody();
133b5c07418SJames Feist 
134f12894f8SJason M. Bills void unrecognizedRequestBody(crow::Response& res);
135f4c4dcf4SKowalski, Kamil 
136f4c4dcf4SKowalski, Kamil /**
137f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceAtUriUnauthorized message into JSON
13866ac2b8cSJason M. Bills  * Message body: "While accessing the resource at <arg1>, the service received
13966ac2b8cSJason M. Bills  * an authorization error <arg2>."
140f4c4dcf4SKowalski, Kamil  *
141f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
142f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
143f4c4dcf4SKowalski, Kamil  *
144f4c4dcf4SKowalski, Kamil  * @returns Message ResourceAtUriUnauthorized formatted to JSON */
1454a7fbefdSEd Tanous nlohmann::json resourceAtUriUnauthorized(const boost::urls::url_view_base& arg1,
1461668ce6dSEd Tanous                                          std::string_view arg2);
147b5c07418SJames Feist 
1484a7fbefdSEd Tanous void resourceAtUriUnauthorized(crow::Response& res,
1494a7fbefdSEd Tanous                                const boost::urls::url_view_base& arg1,
1501668ce6dSEd Tanous                                std::string_view arg2);
151f4c4dcf4SKowalski, Kamil 
152f4c4dcf4SKowalski, Kamil /**
153f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterUnknown message into JSON
15466ac2b8cSJason M. Bills  * Message body: "The action <arg1> was submitted with the invalid parameter
15566ac2b8cSJason M. Bills  * <arg2>."
156f4c4dcf4SKowalski, Kamil  *
157f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
158f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
159f4c4dcf4SKowalski, Kamil  *
160f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterUnknown formatted to JSON */
1611668ce6dSEd Tanous nlohmann::json actionParameterUnknown(std::string_view arg1,
1621668ce6dSEd Tanous                                       std::string_view arg2);
163b5c07418SJames Feist 
1641668ce6dSEd Tanous void actionParameterUnknown(crow::Response& res, std::string_view arg1,
1651668ce6dSEd Tanous                             std::string_view arg2);
166f4c4dcf4SKowalski, Kamil 
167f4c4dcf4SKowalski, Kamil /**
168f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceCannotBeDeleted message into JSON
169f4c4dcf4SKowalski, Kamil  * Message body: "The delete request failed because the resource requested
170f4c4dcf4SKowalski, Kamil  * cannot be deleted."
171f4c4dcf4SKowalski, Kamil  *
172f4c4dcf4SKowalski, Kamil  *
173f4c4dcf4SKowalski, Kamil  * @returns Message ResourceCannotBeDeleted formatted to JSON */
17465176d39SEd Tanous nlohmann::json resourceCannotBeDeleted();
175b5c07418SJames Feist 
176f12894f8SJason M. Bills void resourceCannotBeDeleted(crow::Response& res);
177f4c4dcf4SKowalski, Kamil 
178f4c4dcf4SKowalski, Kamil /**
179f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyDuplicate message into JSON
18066ac2b8cSJason M. Bills  * Message body: "The property <arg1> was duplicated in the request."
181f4c4dcf4SKowalski, Kamil  *
182f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
183f4c4dcf4SKowalski, Kamil  *
184f4c4dcf4SKowalski, Kamil  * @returns Message PropertyDuplicate formatted to JSON */
1851668ce6dSEd Tanous nlohmann::json propertyDuplicate(std::string_view arg1);
186b5c07418SJames Feist 
1871668ce6dSEd Tanous void propertyDuplicate(crow::Response& res, std::string_view arg1);
188f4c4dcf4SKowalski, Kamil 
189f4c4dcf4SKowalski, Kamil /**
190f4c4dcf4SKowalski, Kamil  * @brief Formats ServiceTemporarilyUnavailable message into JSON
19166ac2b8cSJason M. Bills  * Message body: "The service is temporarily unavailable.  Retry in <arg1>
192f4c4dcf4SKowalski, Kamil  * seconds."
193f4c4dcf4SKowalski, Kamil  *
194f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
195f4c4dcf4SKowalski, Kamil  *
196f4c4dcf4SKowalski, Kamil  * @returns Message ServiceTemporarilyUnavailable formatted to JSON */
1971668ce6dSEd Tanous nlohmann::json serviceTemporarilyUnavailable(std::string_view arg1);
198b5c07418SJames Feist 
1991668ce6dSEd Tanous void serviceTemporarilyUnavailable(crow::Response& res, std::string_view arg1);
200f4c4dcf4SKowalski, Kamil 
201f4c4dcf4SKowalski, Kamil /**
202f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceAlreadyExists message into JSON
20366ac2b8cSJason M. Bills  * Message body: "The requested resource of type <arg1> with the property <arg2>
20466ac2b8cSJason M. Bills  * with the value <arg3> already exists."
205f4c4dcf4SKowalski, Kamil  *
206f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
207f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
208f4c4dcf4SKowalski, Kamil  * @param[in] arg3 Parameter of message that will replace %3 in its body.
209f4c4dcf4SKowalski, Kamil  *
210f4c4dcf4SKowalski, Kamil  * @returns Message ResourceAlreadyExists formatted to JSON */
211*bd79bce8SPatrick Williams nlohmann::json resourceAlreadyExists(
212*bd79bce8SPatrick Williams     std::string_view arg1, std::string_view arg2, std::string_view arg3);
213b5c07418SJames Feist 
2141668ce6dSEd Tanous void resourceAlreadyExists(crow::Response& res, std::string_view arg1,
2151668ce6dSEd Tanous                            std::string_view arg2, std::string_view arg3);
216f4c4dcf4SKowalski, Kamil 
217f4c4dcf4SKowalski, Kamil /**
218f4c4dcf4SKowalski, Kamil  * @brief Formats AccountForSessionNoLongerExists message into JSON
219f4c4dcf4SKowalski, Kamil  * Message body: "The account for the current session has been removed, thus the
220f4c4dcf4SKowalski, Kamil  * current session has been removed as well."
221f4c4dcf4SKowalski, Kamil  *
222f4c4dcf4SKowalski, Kamil  *
223f4c4dcf4SKowalski, Kamil  * @returns Message AccountForSessionNoLongerExists formatted to JSON */
22465176d39SEd Tanous nlohmann::json accountForSessionNoLongerExists();
225b5c07418SJames Feist 
226f12894f8SJason M. Bills void accountForSessionNoLongerExists(crow::Response& res);
227f4c4dcf4SKowalski, Kamil 
228f4c4dcf4SKowalski, Kamil /**
229f4c4dcf4SKowalski, Kamil  * @brief Formats CreateFailedMissingReqProperties message into JSON
230f4c4dcf4SKowalski, Kamil  * Message body: "The create operation failed because the required property
23166ac2b8cSJason M. Bills  * <arg1> was missing from the request."
232f4c4dcf4SKowalski, Kamil  *
233f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
234f4c4dcf4SKowalski, Kamil  *
235f4c4dcf4SKowalski, Kamil  * @returns Message CreateFailedMissingReqProperties formatted to JSON */
2361668ce6dSEd Tanous nlohmann::json createFailedMissingReqProperties(std::string_view arg1);
237b5c07418SJames Feist 
238f12894f8SJason M. Bills void createFailedMissingReqProperties(crow::Response& res,
2391668ce6dSEd Tanous                                       std::string_view arg1);
240f4c4dcf4SKowalski, Kamil 
241f4c4dcf4SKowalski, Kamil /**
242f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyValueFormatError message into JSON
24366ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the property <arg2> is of a different
244f4c4dcf4SKowalski, Kamil  * format than the property can accept."
245f4c4dcf4SKowalski, Kamil  *
246f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
247f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
248f4c4dcf4SKowalski, Kamil  *
249f4c4dcf4SKowalski, Kamil  * @returns Message PropertyValueFormatError formatted to JSON */
250f818b04dSEd Tanous nlohmann::json propertyValueFormatError(const nlohmann::json& arg1,
2511668ce6dSEd Tanous                                         std::string_view arg2);
252b5c07418SJames Feist 
253f818b04dSEd Tanous void propertyValueFormatError(crow::Response& res, const nlohmann::json& arg1,
2541668ce6dSEd Tanous                               std::string_view arg2);
255f4c4dcf4SKowalski, Kamil 
256f4c4dcf4SKowalski, Kamil /**
257f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyValueNotInList message into JSON
25866ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the property <arg2> is not in the list of
259f4c4dcf4SKowalski, Kamil  * acceptable values."
260f4c4dcf4SKowalski, Kamil  *
261f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
262f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
263f4c4dcf4SKowalski, Kamil  *
264f4c4dcf4SKowalski, Kamil  * @returns Message PropertyValueNotInList formatted to JSON */
265e2616cc5SEd Tanous nlohmann::json propertyValueNotInList(const nlohmann::json& arg1,
2661668ce6dSEd Tanous                                       std::string_view arg2);
267b5c07418SJames Feist 
268e2616cc5SEd Tanous void propertyValueNotInList(crow::Response& res, const nlohmann::json& arg1,
2691668ce6dSEd Tanous                             std::string_view arg2);
270f4c4dcf4SKowalski, Kamil /**
271227a2b0aSJiaqing Zhao  * @brief Formats PropertyValueOutOfRange message into JSON
272227a2b0aSJiaqing Zhao  * Message body: "The value '%1' for the property %2 is not in the supported
273227a2b0aSJiaqing Zhao  * range of acceptable values."
274227a2b0aSJiaqing Zhao  *
275227a2b0aSJiaqing Zhao  * @param[in] arg1 Parameter of message that will replace %1 in its body.
276227a2b0aSJiaqing Zhao  * @param[in] arg2 Parameter of message that will replace %2 in its body.
277227a2b0aSJiaqing Zhao  *
278227a2b0aSJiaqing Zhao  * @returns Message PropertyValueExternalConflict formatted to JSON */
27995b3ad73SEd Tanous nlohmann::json propertyValueOutOfRange(const nlohmann::json& arg1,
280227a2b0aSJiaqing Zhao                                        std::string_view arg2);
281227a2b0aSJiaqing Zhao 
28295b3ad73SEd Tanous void propertyValueOutOfRange(crow::Response& res, const nlohmann::json& arg1,
283227a2b0aSJiaqing Zhao                              std::string_view arg2);
284227a2b0aSJiaqing Zhao 
285227a2b0aSJiaqing Zhao /**
286f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceAtUriInUnknownFormat message into JSON
28766ac2b8cSJason M. Bills  * Message body: "The resource at <arg1> is in a format not recognized by the
288f4c4dcf4SKowalski, Kamil  * service."
289f4c4dcf4SKowalski, Kamil  *
290f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
291f4c4dcf4SKowalski, Kamil  *
292f4c4dcf4SKowalski, Kamil  * @returns Message ResourceAtUriInUnknownFormat formatted to JSON */
2934a7fbefdSEd Tanous nlohmann::json
2944a7fbefdSEd Tanous     resourceAtUriInUnknownFormat(const boost::urls::url_view_base& arg1);
295b5c07418SJames Feist 
296ace85d60SEd Tanous void resourceAtUriInUnknownFormat(crow::Response& res,
2974a7fbefdSEd Tanous                                   const boost::urls::url_view_base& arg1);
298f4c4dcf4SKowalski, Kamil 
299f4c4dcf4SKowalski, Kamil /**
30081856681SAsmitha Karunanithi  * @brief Formats ServiceDisabled message into JSON
30181856681SAsmitha Karunanithi  * Message body: "The operation failed because the service at <arg1> is disabled
30281856681SAsmitha Karunanithi  * and " cannot accept requests."
30381856681SAsmitha Karunanithi  *
30481856681SAsmitha Karunanithi  * @param[in] arg1 Parameter of message that will replace %1 in its body.
30581856681SAsmitha Karunanithi  *
30681856681SAsmitha Karunanithi  * @returns Message ServiceDisabled formatted to JSON */
3071668ce6dSEd Tanous nlohmann::json serviceDisabled(std::string_view arg1);
30881856681SAsmitha Karunanithi 
3091668ce6dSEd Tanous void serviceDisabled(crow::Response& res, std::string_view arg1);
31081856681SAsmitha Karunanithi 
31181856681SAsmitha Karunanithi /**
312f4c4dcf4SKowalski, Kamil  * @brief Formats ServiceInUnknownState message into JSON
313f4c4dcf4SKowalski, Kamil  * Message body: "The operation failed because the service is in an unknown
314f4c4dcf4SKowalski, Kamil  * state and can no longer take incoming requests."
315f4c4dcf4SKowalski, Kamil  *
316f4c4dcf4SKowalski, Kamil  *
317f4c4dcf4SKowalski, Kamil  * @returns Message ServiceInUnknownState formatted to JSON */
31865176d39SEd Tanous nlohmann::json serviceInUnknownState();
319b5c07418SJames Feist 
320f12894f8SJason M. Bills void serviceInUnknownState(crow::Response& res);
321f4c4dcf4SKowalski, Kamil 
322f4c4dcf4SKowalski, Kamil /**
323f4c4dcf4SKowalski, Kamil  * @brief Formats EventSubscriptionLimitExceeded message into JSON
324f4c4dcf4SKowalski, Kamil  * Message body: "The event subscription failed due to the number of
325f4c4dcf4SKowalski, Kamil  * simultaneous subscriptions exceeding the limit of the implementation."
326f4c4dcf4SKowalski, Kamil  *
327f4c4dcf4SKowalski, Kamil  *
328f4c4dcf4SKowalski, Kamil  * @returns Message EventSubscriptionLimitExceeded formatted to JSON */
32965176d39SEd Tanous nlohmann::json eventSubscriptionLimitExceeded();
330b5c07418SJames Feist 
331f12894f8SJason M. Bills void eventSubscriptionLimitExceeded(crow::Response& res);
332f4c4dcf4SKowalski, Kamil 
333f4c4dcf4SKowalski, Kamil /**
334f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterMissing message into JSON
33566ac2b8cSJason M. Bills  * Message body: "The action <arg1> requires the parameter <arg2> to be present
336f4c4dcf4SKowalski, Kamil  * in the request body."
337f4c4dcf4SKowalski, Kamil  *
338f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
339f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
340f4c4dcf4SKowalski, Kamil  *
341f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterMissing formatted to JSON */
3421668ce6dSEd Tanous nlohmann::json actionParameterMissing(std::string_view arg1,
3431668ce6dSEd Tanous                                       std::string_view arg2);
344b5c07418SJames Feist 
3451668ce6dSEd Tanous void actionParameterMissing(crow::Response& res, std::string_view arg1,
3461668ce6dSEd Tanous                             std::string_view arg2);
347f4c4dcf4SKowalski, Kamil 
348f4c4dcf4SKowalski, Kamil /**
349f4c4dcf4SKowalski, Kamil  * @brief Formats StringValueTooLong message into JSON
35066ac2b8cSJason M. Bills  * Message body: "The string <arg1> exceeds the length limit <arg2>."
351f4c4dcf4SKowalski, Kamil  *
352f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
353f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
354f4c4dcf4SKowalski, Kamil  *
355f4c4dcf4SKowalski, Kamil  * @returns Message StringValueTooLong formatted to JSON */
3561668ce6dSEd Tanous nlohmann::json stringValueTooLong(std::string_view arg1, int arg2);
357b5c07418SJames Feist 
3581668ce6dSEd Tanous void stringValueTooLong(crow::Response& res, std::string_view arg1, int arg2);
359f4c4dcf4SKowalski, Kamil 
360f4c4dcf4SKowalski, Kamil /**
361cc9139ecSJason M. Bills  * @brief Formats SessionTerminated message into JSON
362cc9139ecSJason M. Bills  * Message body: "The session was successfully terminated."
363cc9139ecSJason M. Bills  *
364cc9139ecSJason M. Bills  *
365cc9139ecSJason M. Bills  * @returns Message SessionTerminated formatted to JSON */
36665176d39SEd Tanous nlohmann::json sessionTerminated();
367b5c07418SJames Feist 
368cc9139ecSJason M. Bills void sessionTerminated(crow::Response& res);
369cc9139ecSJason M. Bills 
370cc9139ecSJason M. Bills /**
371684bb4b8SJason M. Bills  * @brief Formats SubscriptionTerminated message into JSON
372684bb4b8SJason M. Bills  * Message body: "The event subscription has been terminated."
373684bb4b8SJason M. Bills  *
374684bb4b8SJason M. Bills  *
375684bb4b8SJason M. Bills  * @returns Message SubscriptionTerminated formatted to JSON */
37665176d39SEd Tanous nlohmann::json subscriptionTerminated();
377684bb4b8SJason M. Bills 
378684bb4b8SJason M. Bills void subscriptionTerminated(crow::Response& res);
379684bb4b8SJason M. Bills 
380684bb4b8SJason M. Bills /**
381cc9139ecSJason M. Bills  * @brief Formats ResourceTypeIncompatible message into JSON
382cc9139ecSJason M. Bills  * Message body: "The @odata.type of the request body <arg1> is incompatible
383cc9139ecSJason M. Bills  * with the @odata.type of the resource which is <arg2>."
384cc9139ecSJason M. Bills  *
385cc9139ecSJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
386cc9139ecSJason M. Bills  * @param[in] arg2 Parameter of message that will replace %2 in its body.
387cc9139ecSJason M. Bills  *
388cc9139ecSJason M. Bills  * @returns Message ResourceTypeIncompatible formatted to JSON */
3891668ce6dSEd Tanous nlohmann::json resourceTypeIncompatible(std::string_view arg1,
3901668ce6dSEd Tanous                                         std::string_view arg2);
391b5c07418SJames Feist 
3921668ce6dSEd Tanous void resourceTypeIncompatible(crow::Response& res, std::string_view arg1,
3931668ce6dSEd Tanous                               std::string_view arg2);
394cc9139ecSJason M. Bills 
395cc9139ecSJason M. Bills /**
396684bb4b8SJason M. Bills  * @brief Formats ResetRequired message into JSON
397684bb4b8SJason M. Bills  * Message body: "In order to complete the operation, a component reset is
398684bb4b8SJason M. Bills  * required with the Reset action URI '<arg1>' and ResetType '<arg2>'."
399684bb4b8SJason M. Bills  *
400684bb4b8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
401684bb4b8SJason M. Bills  * @param[in] arg2 Parameter of message that will replace %2 in its body.
402684bb4b8SJason M. Bills  *
403684bb4b8SJason M. Bills  * @returns Message ResetRequired formatted to JSON */
4044a7fbefdSEd Tanous nlohmann::json resetRequired(const boost::urls::url_view_base& arg1,
4054a7fbefdSEd Tanous                              std::string_view arg2);
406684bb4b8SJason M. Bills 
4074a7fbefdSEd Tanous void resetRequired(crow::Response& res, const boost::urls::url_view_base& arg1,
4081668ce6dSEd Tanous                    std::string_view arg2);
409684bb4b8SJason M. Bills 
410684bb4b8SJason M. Bills /**
411684bb4b8SJason M. Bills  * @brief Formats ChassisPowerStateOnRequired message into JSON
412684bb4b8SJason M. Bills  * Message body: "The Chassis with Id '<arg1>' requires to be powered on to
413684bb4b8SJason M. Bills  * perform this request."
414684bb4b8SJason M. Bills  *
415684bb4b8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
416684bb4b8SJason M. Bills  *
417684bb4b8SJason M. Bills  * @returns Message ChassisPowerStateOnRequired formatted to JSON */
4181668ce6dSEd Tanous nlohmann::json chassisPowerStateOnRequired(std::string_view arg1);
419684bb4b8SJason M. Bills 
4201668ce6dSEd Tanous void chassisPowerStateOnRequired(crow::Response& res, std::string_view arg1);
421684bb4b8SJason M. Bills 
422684bb4b8SJason M. Bills /**
423684bb4b8SJason M. Bills  * @brief Formats ChassisPowerStateOffRequired message into JSON
424684bb4b8SJason M. Bills  * Message body: "The Chassis with Id '<arg1>' requires to be powered off to
425684bb4b8SJason M. Bills  * perform this request."
426684bb4b8SJason M. Bills  *
427684bb4b8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
428684bb4b8SJason M. Bills  *
429684bb4b8SJason M. Bills  * @returns Message ChassisPowerStateOffRequired formatted to JSON */
4301668ce6dSEd Tanous nlohmann::json chassisPowerStateOffRequired(std::string_view arg1);
431684bb4b8SJason M. Bills 
4321668ce6dSEd Tanous void chassisPowerStateOffRequired(crow::Response& res, std::string_view arg1);
433684bb4b8SJason M. Bills 
434684bb4b8SJason M. Bills /**
435684bb4b8SJason M. Bills  * @brief Formats PropertyValueConflict message into JSON
436684bb4b8SJason M. Bills  * Message body: "The property '<arg1>' could not be written because its value
437684bb4b8SJason M. Bills  * would conflict with the value of the '<arg2>' property."
438684bb4b8SJason M. Bills  *
439684bb4b8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
440684bb4b8SJason M. Bills  * @param[in] arg2 Parameter of message that will replace %2 in its body.
441684bb4b8SJason M. Bills  *
442684bb4b8SJason M. Bills  * @returns Message PropertyValueConflict formatted to JSON */
4431668ce6dSEd Tanous nlohmann::json propertyValueConflict(std::string_view arg1,
4441668ce6dSEd Tanous                                      std::string_view arg2);
445684bb4b8SJason M. Bills 
4461668ce6dSEd Tanous void propertyValueConflict(crow::Response& res, std::string_view arg1,
4471668ce6dSEd Tanous                            std::string_view arg2);
448684bb4b8SJason M. Bills 
449684bb4b8SJason M. Bills /**
4502a6af81cSRamesh Iyyar  * @brief Formats PropertyValueResourceConflict message into JSON
4512a6af81cSRamesh Iyyar  * Message body: "The property '%1' with the requested value of '%2' could
4522a6af81cSRamesh Iyyar  * not be written because the value conflicts with the state or configuration
4532a6af81cSRamesh Iyyar  * of the resource at '%3'."
4542a6af81cSRamesh Iyyar  *
4552a6af81cSRamesh Iyyar  * @param[in] arg1 Parameter of message that will replace %1 in its body.
4562a6af81cSRamesh Iyyar  * @param[in] arg2 Parameter of message that will replace %2 in its body.
4572a6af81cSRamesh Iyyar  * @param[in] arg3 Parameter of message that will replace %3 in its body.
4582a6af81cSRamesh Iyyar  *
4592a6af81cSRamesh Iyyar  * @returns Message PropertyValueResourceConflict to JSON */
460*bd79bce8SPatrick Williams nlohmann::json propertyValueResourceConflict(
461*bd79bce8SPatrick Williams     std::string_view arg1, const nlohmann::json& arg2,
4624a7fbefdSEd Tanous     const boost::urls::url_view_base& arg3);
4632a6af81cSRamesh Iyyar 
4642a6af81cSRamesh Iyyar void propertyValueResourceConflict(crow::Response& res, std::string_view arg1,
46595b3ad73SEd Tanous                                    const nlohmann::json& arg2,
4664a7fbefdSEd Tanous                                    const boost::urls::url_view_base& arg3);
4672a6af81cSRamesh Iyyar 
4682a6af81cSRamesh Iyyar /**
46924861a28SRamesh Iyyar  * @brief Formats PropertyValueExternalConflict message into JSON
47024861a28SRamesh Iyyar  * Message body: "The property '%1' with the requested value of '%2' could not
47124861a28SRamesh Iyyar  * be written because the value is not available due to a configuration
47224861a28SRamesh Iyyar  * conflict."
47324861a28SRamesh Iyyar  *
47424861a28SRamesh Iyyar  * @param[in] arg1 Parameter of message that will replace %1 in its body.
47524861a28SRamesh Iyyar  * @param[in] arg2 Parameter of message that will replace %2 in its body.
47624861a28SRamesh Iyyar  *
47724861a28SRamesh Iyyar  * @returns Message PropertyValueExternalConflict formatted to JSON */
47824861a28SRamesh Iyyar nlohmann::json propertyValueExternalConflict(std::string_view arg1,
47995b3ad73SEd Tanous                                              const nlohmann::json& arg2);
48024861a28SRamesh Iyyar 
48124861a28SRamesh Iyyar void propertyValueExternalConflict(crow::Response& res, std::string_view arg1,
48295b3ad73SEd Tanous                                    const nlohmann::json& arg2);
48324861a28SRamesh Iyyar 
48424861a28SRamesh Iyyar /**
485684bb4b8SJason M. Bills  * @brief Formats PropertyValueIncorrect message into JSON
486684bb4b8SJason M. Bills  * Message body: "The property '<arg1>' with the requested value of '<arg2>'
487684bb4b8SJason M. Bills  * could not be written because the value does not meet the constraints of the
488684bb4b8SJason M. Bills  * implementation."
489684bb4b8SJason M. Bills  *
490684bb4b8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
491684bb4b8SJason M. Bills  * @param[in] arg2 Parameter of message that will replace %2 in its body.
492684bb4b8SJason M. Bills  *
493684bb4b8SJason M. Bills  * @returns Message PropertyValueIncorrect formatted to JSON */
494367b3dceSGinu George nlohmann::json propertyValueIncorrect(std::string_view arg1,
495367b3dceSGinu George                                       const nlohmann::json& arg2);
496684bb4b8SJason M. Bills 
497367b3dceSGinu George void propertyValueIncorrect(crow::Response& res, std::string_view arg1,
498367b3dceSGinu George                             const nlohmann::json& arg2);
499684bb4b8SJason M. Bills 
500684bb4b8SJason M. Bills /**
501684bb4b8SJason M. Bills  * @brief Formats ResourceCreationConflict message into JSON
502684bb4b8SJason M. Bills  * Message body: "The resource could not be created.  The service has a resource
503684bb4b8SJason M. Bills  * at URI '<arg1>' that conflicts with the creation request."
504684bb4b8SJason M. Bills  *
505684bb4b8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
506684bb4b8SJason M. Bills  *
507684bb4b8SJason M. Bills  * @returns Message ResourceCreationConflict formatted to JSON */
5084a7fbefdSEd Tanous nlohmann::json resourceCreationConflict(const boost::urls::url_view_base& arg1);
509684bb4b8SJason M. Bills 
5104a7fbefdSEd Tanous void resourceCreationConflict(crow::Response& res,
5114a7fbefdSEd Tanous                               const boost::urls::url_view_base& arg1);
512684bb4b8SJason M. Bills 
513684bb4b8SJason M. Bills /**
514684bb4b8SJason M. Bills  * @brief Formats MaximumErrorsExceeded message into JSON
515684bb4b8SJason M. Bills  * Message body: "Too many errors have occurred to report them all."
516684bb4b8SJason M. Bills  *
517684bb4b8SJason M. Bills  *
518684bb4b8SJason M. Bills  * @returns Message MaximumErrorsExceeded formatted to JSON */
51965176d39SEd Tanous nlohmann::json maximumErrorsExceeded();
520684bb4b8SJason M. Bills 
521684bb4b8SJason M. Bills void maximumErrorsExceeded(crow::Response& res);
522684bb4b8SJason M. Bills 
523684bb4b8SJason M. Bills /**
524684bb4b8SJason M. Bills  * @brief Formats PreconditionFailed message into JSON
525684bb4b8SJason M. Bills  * Message body: "The ETag supplied did not match the ETag required to change
526684bb4b8SJason M. Bills  * this resource."
527684bb4b8SJason M. Bills  *
528684bb4b8SJason M. Bills  *
529684bb4b8SJason M. Bills  * @returns Message PreconditionFailed formatted to JSON */
53065176d39SEd Tanous nlohmann::json preconditionFailed();
531684bb4b8SJason M. Bills 
532684bb4b8SJason M. Bills void preconditionFailed(crow::Response& res);
533684bb4b8SJason M. Bills 
534684bb4b8SJason M. Bills /**
535684bb4b8SJason M. Bills  * @brief Formats PreconditionRequired message into JSON
536684bb4b8SJason M. Bills  * Message body: "A precondition header or annotation is required to change this
537684bb4b8SJason M. Bills  * resource."
538684bb4b8SJason M. Bills  *
539684bb4b8SJason M. Bills  *
540684bb4b8SJason M. Bills  * @returns Message PreconditionRequired formatted to JSON */
54165176d39SEd Tanous nlohmann::json preconditionRequired();
542684bb4b8SJason M. Bills 
543684bb4b8SJason M. Bills void preconditionRequired(crow::Response& res);
544684bb4b8SJason M. Bills 
545684bb4b8SJason M. Bills /**
546684bb4b8SJason M. Bills  * @brief Formats OperationFailed message into JSON
547684bb4b8SJason M. Bills  * Message body: "An error occurred internal to the service as part of the
548684bb4b8SJason M. Bills  * overall request.  Partial results may have been returned."
549684bb4b8SJason M. Bills  *
550684bb4b8SJason M. Bills  *
551684bb4b8SJason M. Bills  * @returns Message OperationFailed formatted to JSON */
55265176d39SEd Tanous nlohmann::json operationFailed();
553684bb4b8SJason M. Bills 
554684bb4b8SJason M. Bills void operationFailed(crow::Response& res);
555684bb4b8SJason M. Bills 
556684bb4b8SJason M. Bills /**
557684bb4b8SJason M. Bills  * @brief Formats OperationTimeout message into JSON
5588ece0e45SEd Tanous  * Message body: "A timeout internal to the service occurred as part of the
559684bb4b8SJason M. Bills  * request.  Partial results may have been returned."
560684bb4b8SJason M. Bills  *
561684bb4b8SJason M. Bills  *
562684bb4b8SJason M. Bills  * @returns Message OperationTimeout formatted to JSON */
56365176d39SEd Tanous nlohmann::json operationTimeout();
564684bb4b8SJason M. Bills 
565684bb4b8SJason M. Bills void operationTimeout(crow::Response& res);
566684bb4b8SJason M. Bills 
567684bb4b8SJason M. Bills /**
568f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyValueTypeError message into JSON
56966ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the property <arg2> is of a different
570f4c4dcf4SKowalski, Kamil  * type than the property can accept."
571f4c4dcf4SKowalski, Kamil  *
572f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
573f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
574f4c4dcf4SKowalski, Kamil  *
575f4c4dcf4SKowalski, Kamil  * @returns Message PropertyValueTypeError formatted to JSON */
5762e8c4bdaSEd Tanous nlohmann::json propertyValueTypeError(const nlohmann::json& arg1,
5771668ce6dSEd Tanous                                       std::string_view arg2);
578b5c07418SJames Feist 
5792e8c4bdaSEd Tanous void propertyValueTypeError(crow::Response& res, const nlohmann::json& arg1,
5801668ce6dSEd Tanous                             std::string_view arg2);
581f4c4dcf4SKowalski, Kamil 
582f4c4dcf4SKowalski, Kamil /**
583f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceNotFound message into JSON
58466ac2b8cSJason M. Bills  * Message body: "The requested resource of type <arg1> named <arg2> was not
585f4c4dcf4SKowalski, Kamil  * found."
586f4c4dcf4SKowalski, Kamil  *
587f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
588f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
589f4c4dcf4SKowalski, Kamil  *
590f4c4dcf4SKowalski, Kamil  * @returns Message ResourceNotFound formatted to JSON */
5911668ce6dSEd Tanous nlohmann::json resourceNotFound(std::string_view arg1, std::string_view arg2);
592b5c07418SJames Feist 
5931668ce6dSEd Tanous void resourceNotFound(crow::Response& res, std::string_view arg1,
5941668ce6dSEd Tanous                       std::string_view arg2);
595f4c4dcf4SKowalski, Kamil 
596f4c4dcf4SKowalski, Kamil /**
597f4c4dcf4SKowalski, Kamil  * @brief Formats CouldNotEstablishConnection message into JSON
59855c7b7a2SEd Tanous  * Message body: "The service failed to establish a Connection with the URI
59966ac2b8cSJason M. Bills  * <arg1>."
600f4c4dcf4SKowalski, Kamil  *
601f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
602f4c4dcf4SKowalski, Kamil  *
603f4c4dcf4SKowalski, Kamil  * @returns Message CouldNotEstablishConnection formatted to JSON */
6044a7fbefdSEd Tanous nlohmann::json
6054a7fbefdSEd Tanous     couldNotEstablishConnection(const boost::urls::url_view_base& arg1);
606b5c07418SJames Feist 
607ace85d60SEd Tanous void couldNotEstablishConnection(crow::Response& res,
6084a7fbefdSEd Tanous                                  const boost::urls::url_view_base& arg1);
609f4c4dcf4SKowalski, Kamil 
610f4c4dcf4SKowalski, Kamil /**
611f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyNotWritable message into JSON
61266ac2b8cSJason M. Bills  * Message body: "The property <arg1> is a read only property and cannot be
613f4c4dcf4SKowalski, Kamil  * assigned a value."
614f4c4dcf4SKowalski, Kamil  *
615f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
616f4c4dcf4SKowalski, Kamil  *
617f4c4dcf4SKowalski, Kamil  * @returns Message PropertyNotWritable formatted to JSON */
6181668ce6dSEd Tanous nlohmann::json propertyNotWritable(std::string_view arg1);
619b5c07418SJames Feist 
6201668ce6dSEd Tanous void propertyNotWritable(crow::Response& res, std::string_view arg1);
621f12894f8SJason M. Bills 
622f12894f8SJason M. Bills /**
623f4c4dcf4SKowalski, Kamil  * @brief Formats QueryParameterValueTypeError message into JSON
62466ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the query parameter <arg2> is of a
625f4c4dcf4SKowalski, Kamil  * different type than the parameter can accept."
626f4c4dcf4SKowalski, Kamil  *
627f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
628f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
629f4c4dcf4SKowalski, Kamil  *
630f4c4dcf4SKowalski, Kamil  * @returns Message QueryParameterValueTypeError formatted to JSON */
63195b3ad73SEd Tanous nlohmann::json queryParameterValueTypeError(const nlohmann::json& arg1,
6321668ce6dSEd Tanous                                             std::string_view arg2);
633b5c07418SJames Feist 
634*bd79bce8SPatrick Williams void queryParameterValueTypeError(
635*bd79bce8SPatrick Williams     crow::Response& res, const nlohmann::json& arg1, std::string_view arg2);
636f4c4dcf4SKowalski, Kamil 
637f4c4dcf4SKowalski, Kamil /**
638f4c4dcf4SKowalski, Kamil  * @brief Formats ServiceShuttingDown message into JSON
639f4c4dcf4SKowalski, Kamil  * Message body: "The operation failed because the service is shutting down and
640f4c4dcf4SKowalski, Kamil  * can no longer take incoming requests."
641f4c4dcf4SKowalski, Kamil  *
642f4c4dcf4SKowalski, Kamil  *
643f4c4dcf4SKowalski, Kamil  * @returns Message ServiceShuttingDown formatted to JSON */
64465176d39SEd Tanous nlohmann::json serviceShuttingDown();
645b5c07418SJames Feist 
646f12894f8SJason M. Bills void serviceShuttingDown(crow::Response& res);
647f4c4dcf4SKowalski, Kamil 
648f4c4dcf4SKowalski, Kamil /**
649f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterDuplicate message into JSON
65066ac2b8cSJason M. Bills  * Message body: "The action <arg1> was submitted with more than one value for
65166ac2b8cSJason M. Bills  * the parameter <arg2>."
652f4c4dcf4SKowalski, Kamil  *
653f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
654f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
655f4c4dcf4SKowalski, Kamil  *
656f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterDuplicate formatted to JSON */
6571668ce6dSEd Tanous nlohmann::json actionParameterDuplicate(std::string_view arg1,
6581668ce6dSEd Tanous                                         std::string_view arg2);
659b5c07418SJames Feist 
6601668ce6dSEd Tanous void actionParameterDuplicate(crow::Response& res, std::string_view arg1,
6611668ce6dSEd Tanous                               std::string_view arg2);
662f4c4dcf4SKowalski, Kamil 
663f4c4dcf4SKowalski, Kamil /**
664f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterNotSupported message into JSON
66566ac2b8cSJason M. Bills  * Message body: "The parameter <arg1> for the action <arg2> is not supported on
666f4c4dcf4SKowalski, Kamil  * the target resource."
667f4c4dcf4SKowalski, Kamil  *
668f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
669f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
670f4c4dcf4SKowalski, Kamil  *
671f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterNotSupported formatted to JSON */
6721668ce6dSEd Tanous nlohmann::json actionParameterNotSupported(std::string_view arg1,
6731668ce6dSEd Tanous                                            std::string_view arg2);
674b5c07418SJames Feist 
6751668ce6dSEd Tanous void actionParameterNotSupported(crow::Response& res, std::string_view arg1,
6761668ce6dSEd Tanous                                  std::string_view arg2);
677f4c4dcf4SKowalski, Kamil 
678f4c4dcf4SKowalski, Kamil /**
679f4c4dcf4SKowalski, Kamil  * @brief Formats SourceDoesNotSupportProtocol message into JSON
68066ac2b8cSJason M. Bills  * Message body: "The other end of the Connection at <arg1> does not support the
68166ac2b8cSJason M. Bills  * specified protocol <arg2>."
682f4c4dcf4SKowalski, Kamil  *
683f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
684f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
685f4c4dcf4SKowalski, Kamil  *
686f4c4dcf4SKowalski, Kamil  * @returns Message SourceDoesNotSupportProtocol formatted to JSON */
687*bd79bce8SPatrick Williams nlohmann::json sourceDoesNotSupportProtocol(
688*bd79bce8SPatrick Williams     const boost::urls::url_view_base& arg1, std::string_view arg2);
689b5c07418SJames Feist 
690ace85d60SEd Tanous void sourceDoesNotSupportProtocol(crow::Response& res,
6914a7fbefdSEd Tanous                                   const boost::urls::url_view_base& arg1,
6921668ce6dSEd Tanous                                   std::string_view arg2);
693f4c4dcf4SKowalski, Kamil 
694f4c4dcf4SKowalski, Kamil /**
695b4ad4c05SShantappa Teekappanavar  * @brief Formats StrictAccountTypes message into JSON
696b4ad4c05SShantappa Teekappanavar  * Message body: Indicates the request failed because a set of `AccountTypes` or
697b4ad4c05SShantappa Teekappanavar  * `OEMAccountTypes` was not accepted while `StrictAccountTypes` is set to `true
698b4ad4c05SShantappa Teekappanavar  * @param[in] arg1 Parameter of message that will replace %1 in its body.
699b4ad4c05SShantappa Teekappanavar  *
700b4ad4c05SShantappa Teekappanavar  * @returns Message StrictAccountTypes formatted to JSON */
701b4ad4c05SShantappa Teekappanavar nlohmann::json strictAccountTypes(std::string_view arg1);
702b4ad4c05SShantappa Teekappanavar 
703b4ad4c05SShantappa Teekappanavar void strictAccountTypes(crow::Response& res, std::string_view arg1);
704b4ad4c05SShantappa Teekappanavar 
705b4ad4c05SShantappa Teekappanavar /**
706f4c4dcf4SKowalski, Kamil  * @brief Formats AccountRemoved message into JSON
707f4c4dcf4SKowalski, Kamil  * Message body: "The account was successfully removed."
708f4c4dcf4SKowalski, Kamil  *
709f4c4dcf4SKowalski, Kamil  *
710f4c4dcf4SKowalski, Kamil  * @returns Message AccountRemoved formatted to JSON */
71165176d39SEd Tanous nlohmann::json accountRemoved();
712b5c07418SJames Feist 
713f12894f8SJason M. Bills void accountRemoved(crow::Response& res);
714f4c4dcf4SKowalski, Kamil 
715f4c4dcf4SKowalski, Kamil /**
716f4c4dcf4SKowalski, Kamil  * @brief Formats AccessDenied message into JSON
71766ac2b8cSJason M. Bills  * Message body: "While attempting to establish a Connection to <arg1>, the
718f4c4dcf4SKowalski, Kamil  * service denied access."
719f4c4dcf4SKowalski, Kamil  *
720f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
721f4c4dcf4SKowalski, Kamil  *
722f4c4dcf4SKowalski, Kamil  * @returns Message AccessDenied formatted to JSON */
7234a7fbefdSEd Tanous nlohmann::json accessDenied(const boost::urls::url_view_base& arg1);
724b5c07418SJames Feist 
7254a7fbefdSEd Tanous void accessDenied(crow::Response& res, const boost::urls::url_view_base& arg1);
726f4c4dcf4SKowalski, Kamil 
727f4c4dcf4SKowalski, Kamil /**
728f4c4dcf4SKowalski, Kamil  * @brief Formats QueryNotSupported message into JSON
729f4c4dcf4SKowalski, Kamil  * Message body: "Querying is not supported by the implementation."
730f4c4dcf4SKowalski, Kamil  *
731f4c4dcf4SKowalski, Kamil  *
732f4c4dcf4SKowalski, Kamil  * @returns Message QueryNotSupported formatted to JSON */
73365176d39SEd Tanous nlohmann::json queryNotSupported();
734b5c07418SJames Feist 
735f12894f8SJason M. Bills void queryNotSupported(crow::Response& res);
736f4c4dcf4SKowalski, Kamil 
737f4c4dcf4SKowalski, Kamil /**
738f4c4dcf4SKowalski, Kamil  * @brief Formats CreateLimitReachedForResource message into JSON
739f4c4dcf4SKowalski, Kamil  * Message body: "The create operation failed because the resource has reached
740f4c4dcf4SKowalski, Kamil  * the limit of possible resources."
741f4c4dcf4SKowalski, Kamil  *
742f4c4dcf4SKowalski, Kamil  *
743f4c4dcf4SKowalski, Kamil  * @returns Message CreateLimitReachedForResource formatted to JSON */
74465176d39SEd Tanous nlohmann::json createLimitReachedForResource();
745b5c07418SJames Feist 
746f12894f8SJason M. Bills void createLimitReachedForResource(crow::Response& res);
747f4c4dcf4SKowalski, Kamil 
748f4c4dcf4SKowalski, Kamil /**
749f4c4dcf4SKowalski, Kamil  * @brief Formats GeneralError message into JSON
750f4c4dcf4SKowalski, Kamil  * Message body: "A general error has occurred. See ExtendedInfo for more
751f4c4dcf4SKowalski, Kamil  * information."
752f4c4dcf4SKowalski, Kamil  *
753f4c4dcf4SKowalski, Kamil  *
754f4c4dcf4SKowalski, Kamil  * @returns Message GeneralError formatted to JSON */
75565176d39SEd Tanous nlohmann::json generalError();
756b5c07418SJames Feist 
757f12894f8SJason M. Bills void generalError(crow::Response& res);
758f4c4dcf4SKowalski, Kamil 
759f4c4dcf4SKowalski, Kamil /**
760f4c4dcf4SKowalski, Kamil  * @brief Formats Success message into JSON
761f4c4dcf4SKowalski, Kamil  * Message body: "Successfully Completed Request"
762f4c4dcf4SKowalski, Kamil  *
763f4c4dcf4SKowalski, Kamil  *
764f4c4dcf4SKowalski, Kamil  * @returns Message Success formatted to JSON */
76565176d39SEd Tanous nlohmann::json success();
766b5c07418SJames Feist 
767f12894f8SJason M. Bills void success(crow::Response& res);
768f12894f8SJason M. Bills 
769f12894f8SJason M. Bills /**
770f4c4dcf4SKowalski, Kamil  * @brief Formats Created message into JSON
771f4c4dcf4SKowalski, Kamil  * Message body: "The resource has been created successfully"
772f4c4dcf4SKowalski, Kamil  *
773f4c4dcf4SKowalski, Kamil  *
774f4c4dcf4SKowalski, Kamil  * @returns Message Created formatted to JSON */
77565176d39SEd Tanous nlohmann::json created();
776b5c07418SJames Feist 
777f12894f8SJason M. Bills void created(crow::Response& res);
778f4c4dcf4SKowalski, Kamil 
779f4c4dcf4SKowalski, Kamil /**
780cc9139ecSJason M. Bills  * @brief Formats NoOperation message into JSON
781cc9139ecSJason M. Bills  * Message body: "The request body submitted contain no data to act upon and
782cc9139ecSJason M. Bills  * no changes to the resource took place."
783cc9139ecSJason M. Bills  *
784cc9139ecSJason M. Bills  *
785cc9139ecSJason M. Bills  * @returns Message NoOperation formatted to JSON */
78665176d39SEd Tanous nlohmann::json noOperation();
787b5c07418SJames Feist 
788cc9139ecSJason M. Bills void noOperation(crow::Response& res);
789cc9139ecSJason M. Bills 
790cc9139ecSJason M. Bills /**
791f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyUnknown message into JSON
79266ac2b8cSJason M. Bills  * Message body: "The property <arg1> is not in the list of valid properties for
793f4c4dcf4SKowalski, Kamil  * the resource."
794f4c4dcf4SKowalski, Kamil  *
795f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
796f4c4dcf4SKowalski, Kamil  *
797f4c4dcf4SKowalski, Kamil  * @returns Message PropertyUnknown formatted to JSON */
7981668ce6dSEd Tanous nlohmann::json propertyUnknown(std::string_view arg1);
799b5c07418SJames Feist 
8001668ce6dSEd Tanous void propertyUnknown(crow::Response& res, std::string_view arg1);
801f12894f8SJason M. Bills 
802f12894f8SJason M. Bills /**
803f4c4dcf4SKowalski, Kamil  * @brief Formats NoValidSession message into JSON
804f4c4dcf4SKowalski, Kamil  * Message body: "There is no valid session established with the
805f4c4dcf4SKowalski, Kamil  * implementation."
806f4c4dcf4SKowalski, Kamil  *
807f4c4dcf4SKowalski, Kamil  *
808f4c4dcf4SKowalski, Kamil  * @returns Message NoValidSession formatted to JSON */
80965176d39SEd Tanous nlohmann::json noValidSession();
810b5c07418SJames Feist 
811f12894f8SJason M. Bills void noValidSession(crow::Response& res);
812f4c4dcf4SKowalski, Kamil 
813f4c4dcf4SKowalski, Kamil /**
814f4c4dcf4SKowalski, Kamil  * @brief Formats InvalidObject message into JSON
81566ac2b8cSJason M. Bills  * Message body: "The object at <arg1> is invalid."
816f4c4dcf4SKowalski, Kamil  *
817f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
818f4c4dcf4SKowalski, Kamil  *
819f4c4dcf4SKowalski, Kamil  * @returns Message InvalidObject formatted to JSON */
8204a7fbefdSEd Tanous nlohmann::json invalidObject(const boost::urls::url_view_base& arg1);
821b5c07418SJames Feist 
8224a7fbefdSEd Tanous void invalidObject(crow::Response& res, const boost::urls::url_view_base& arg1);
823f4c4dcf4SKowalski, Kamil 
824f4c4dcf4SKowalski, Kamil /**
825f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceInStandby message into JSON
826f4c4dcf4SKowalski, Kamil  * Message body: "The request could not be performed because the resource is in
827f4c4dcf4SKowalski, Kamil  * standby."
828f4c4dcf4SKowalski, Kamil  *
829f4c4dcf4SKowalski, Kamil  *
830f4c4dcf4SKowalski, Kamil  * @returns Message ResourceInStandby formatted to JSON */
83165176d39SEd Tanous nlohmann::json resourceInStandby();
832b5c07418SJames Feist 
833f12894f8SJason M. Bills void resourceInStandby(crow::Response& res);
834f4c4dcf4SKowalski, Kamil 
835f4c4dcf4SKowalski, Kamil /**
836f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterValueTypeError message into JSON
83766ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the parameter <arg2> in the action <arg3>
838f4c4dcf4SKowalski, Kamil  * is of a different type than the parameter can accept."
839f4c4dcf4SKowalski, Kamil  *
840f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
841f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
842f4c4dcf4SKowalski, Kamil  * @param[in] arg3 Parameter of message that will replace %3 in its body.
843f4c4dcf4SKowalski, Kamil  *
844f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterValueTypeError formatted to JSON */
845*bd79bce8SPatrick Williams nlohmann::json actionParameterValueTypeError(
846*bd79bce8SPatrick Williams     const nlohmann::json& arg1, std::string_view arg2, std::string_view arg3);
847b5c07418SJames Feist 
848*bd79bce8SPatrick Williams void actionParameterValueTypeError(
849*bd79bce8SPatrick Williams     crow::Response& res, const nlohmann::json& arg1, std::string_view arg2,
8501668ce6dSEd Tanous     std::string_view arg3);
851f4c4dcf4SKowalski, Kamil 
852f4c4dcf4SKowalski, Kamil /**
8531827b4f1SAsmitha Karunanithi  * @brief Formats ActionParameterValueError message into JSON
8541827b4f1SAsmitha Karunanithi  * Message body: "Indicates that a parameter was given an invalid value."
8551827b4f1SAsmitha Karunanithi  *  The value for the parameter %1 in the action %2 is invalid.
8561827b4f1SAsmitha Karunanithi  *
8571827b4f1SAsmitha Karunanithi  * @param[in] arg1 Parameter of message that will replace %1 in its body.
8581827b4f1SAsmitha Karunanithi  * @param[in] arg2 Parameter of message that will replace %2 in its body.
8591827b4f1SAsmitha Karunanithi  *
8601827b4f1SAsmitha Karunanithi  * @returns Message ActionParameterValueError formatted to JSON */
8611827b4f1SAsmitha Karunanithi nlohmann::json actionParameterValueError(const nlohmann::json& arg1,
8621827b4f1SAsmitha Karunanithi                                          std::string_view arg2);
8631827b4f1SAsmitha Karunanithi 
8641827b4f1SAsmitha Karunanithi void actionParameterValueError(crow::Response& res, const nlohmann::json& arg1,
8651827b4f1SAsmitha Karunanithi                                std::string_view arg2);
8661827b4f1SAsmitha Karunanithi 
8671827b4f1SAsmitha Karunanithi /**
868f4c4dcf4SKowalski, Kamil  * @brief Formats SessionLimitExceeded message into JSON
869f4c4dcf4SKowalski, Kamil  * Message body: "The session establishment failed due to the number of
870f4c4dcf4SKowalski, Kamil  * simultaneous sessions exceeding the limit of the implementation."
871f4c4dcf4SKowalski, Kamil  *
872f4c4dcf4SKowalski, Kamil  *
873f4c4dcf4SKowalski, Kamil  * @returns Message SessionLimitExceeded formatted to JSON */
87465176d39SEd Tanous nlohmann::json sessionLimitExceeded();
875b5c07418SJames Feist 
876f12894f8SJason M. Bills void sessionLimitExceeded(crow::Response& res);
877f4c4dcf4SKowalski, Kamil 
878f4c4dcf4SKowalski, Kamil /**
879f4c4dcf4SKowalski, Kamil  * @brief Formats ActionNotSupported message into JSON
88066ac2b8cSJason M. Bills  * Message body: "The action <arg1> is not supported by the resource."
881f4c4dcf4SKowalski, Kamil  *
882f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
883f4c4dcf4SKowalski, Kamil  *
884f4c4dcf4SKowalski, Kamil  * @returns Message ActionNotSupported formatted to JSON */
8851668ce6dSEd Tanous nlohmann::json actionNotSupported(std::string_view arg1);
886b5c07418SJames Feist 
8871668ce6dSEd Tanous void actionNotSupported(crow::Response& res, std::string_view arg1);
888f4c4dcf4SKowalski, Kamil 
889f4c4dcf4SKowalski, Kamil /**
890f4c4dcf4SKowalski, Kamil  * @brief Formats InvalidIndex message into JSON
89166ac2b8cSJason M. Bills  * Message body: "The index <arg1> is not a valid offset into the array."
892f4c4dcf4SKowalski, Kamil  *
893f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
894f4c4dcf4SKowalski, Kamil  *
895f4c4dcf4SKowalski, Kamil  * @returns Message InvalidIndex formatted to JSON */
8965187e09bSJosh Lehan nlohmann::json invalidIndex(int64_t arg1);
897b5c07418SJames Feist 
8985187e09bSJosh Lehan void invalidIndex(crow::Response& res, int64_t arg1);
899f4c4dcf4SKowalski, Kamil 
900f4c4dcf4SKowalski, Kamil /**
901f4c4dcf4SKowalski, Kamil  * @brief Formats EmptyJSON message into JSON
902f4c4dcf4SKowalski, Kamil  * Message body: "The request body submitted contained an empty JSON object and
903f4c4dcf4SKowalski, Kamil  * the service is unable to process it."
904f4c4dcf4SKowalski, Kamil  *
905f4c4dcf4SKowalski, Kamil  *
906f4c4dcf4SKowalski, Kamil  * @returns Message EmptyJSON formatted to JSON */
90765176d39SEd Tanous nlohmann::json emptyJSON();
908b5c07418SJames Feist 
909f12894f8SJason M. Bills void emptyJSON(crow::Response& res);
910f4c4dcf4SKowalski, Kamil 
911f4c4dcf4SKowalski, Kamil /**
912f4c4dcf4SKowalski, Kamil  * @brief Formats QueryNotSupportedOnResource message into JSON
913f4c4dcf4SKowalski, Kamil  * Message body: "Querying is not supported on the requested resource."
914f4c4dcf4SKowalski, Kamil  *
915f4c4dcf4SKowalski, Kamil  *
916f4c4dcf4SKowalski, Kamil  * @returns Message QueryNotSupportedOnResource formatted to JSON */
91765176d39SEd Tanous nlohmann::json queryNotSupportedOnResource();
918b5c07418SJames Feist 
919f12894f8SJason M. Bills void queryNotSupportedOnResource(crow::Response& res);
920f4c4dcf4SKowalski, Kamil 
921f4c4dcf4SKowalski, Kamil /**
922684bb4b8SJason M. Bills  * @brief Formats QueryNotSupportedOnOperation message into JSON
923684bb4b8SJason M. Bills  * Message body: "Querying is not supported with the requested operation."
924684bb4b8SJason M. Bills  *
925684bb4b8SJason M. Bills  *
926684bb4b8SJason M. Bills  * @returns Message QueryNotSupportedOnOperation formatted to JSON */
92765176d39SEd Tanous nlohmann::json queryNotSupportedOnOperation();
928684bb4b8SJason M. Bills 
929684bb4b8SJason M. Bills void queryNotSupportedOnOperation(crow::Response& res);
930684bb4b8SJason M. Bills 
931684bb4b8SJason M. Bills /**
932684bb4b8SJason M. Bills  * @brief Formats QueryCombinationInvalid message into JSON
933684bb4b8SJason M. Bills  * Message body: "Two or more query parameters in the request cannot be used
934684bb4b8SJason M. Bills  * together."
935684bb4b8SJason M. Bills  *
936684bb4b8SJason M. Bills  *
937684bb4b8SJason M. Bills  * @returns Message QueryCombinationInvalid formatted to JSON */
93865176d39SEd Tanous nlohmann::json queryCombinationInvalid();
939684bb4b8SJason M. Bills 
940684bb4b8SJason M. Bills void queryCombinationInvalid(crow::Response& res);
941684bb4b8SJason M. Bills 
942684bb4b8SJason M. Bills /**
943fa345c78SEd Tanous  * @brief Formats EventBufferExceeded message into JSON
944fa345c78SEd Tanous  * Message body: "Indicates undelivered events may have been lost due to a lack
945fa345c78SEd Tanous  * of buffer space in the service."
946fa345c78SEd Tanous  *
947fa345c78SEd Tanous  *
948fa345c78SEd Tanous  * @returns Message QueryCombinationInvalid formatted to JSON */
949fa345c78SEd Tanous nlohmann::json eventBufferExceeded();
950fa345c78SEd Tanous 
951fa345c78SEd Tanous void eventBufferExceeded(crow::Response& res);
952fa345c78SEd Tanous 
953fa345c78SEd Tanous /**
954f4c4dcf4SKowalski, Kamil  * @brief Formats InsufficientPrivilege message into JSON
955f4c4dcf4SKowalski, Kamil  * Message body: "There are insufficient privileges for the account or
956f4c4dcf4SKowalski, Kamil  * credentials associated with the current session to perform the requested
957f4c4dcf4SKowalski, Kamil  * operation."
958f4c4dcf4SKowalski, Kamil  *
959f4c4dcf4SKowalski, Kamil  *
960f4c4dcf4SKowalski, Kamil  * @returns Message InsufficientPrivilege formatted to JSON */
96165176d39SEd Tanous nlohmann::json insufficientPrivilege();
962b5c07418SJames Feist 
963f12894f8SJason M. Bills void insufficientPrivilege(crow::Response& res);
964f4c4dcf4SKowalski, Kamil 
965f4c4dcf4SKowalski, Kamil /**
966f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyValueModified message into JSON
96766ac2b8cSJason M. Bills  * Message body: "The property <arg1> was assigned the value <arg2> due to
968f4c4dcf4SKowalski, Kamil  * modification by the service."
969f4c4dcf4SKowalski, Kamil  *
970f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
971f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
972f4c4dcf4SKowalski, Kamil  *
973f4c4dcf4SKowalski, Kamil  * @returns Message PropertyValueModified formatted to JSON */
9741668ce6dSEd Tanous nlohmann::json propertyValueModified(std::string_view arg1,
97595b3ad73SEd Tanous                                      const nlohmann::json& arg2);
976b5c07418SJames Feist 
9771668ce6dSEd Tanous void propertyValueModified(crow::Response& res, std::string_view arg1,
97895b3ad73SEd Tanous                            const nlohmann::json& arg2);
979f4c4dcf4SKowalski, Kamil 
980f4c4dcf4SKowalski, Kamil /**
981f4c4dcf4SKowalski, Kamil  * @brief Formats AccountNotModified message into JSON
982f4c4dcf4SKowalski, Kamil  * Message body: "The account modification request failed."
983f4c4dcf4SKowalski, Kamil  *
984f4c4dcf4SKowalski, Kamil  *
985f4c4dcf4SKowalski, Kamil  * @returns Message AccountNotModified formatted to JSON */
98665176d39SEd Tanous nlohmann::json accountNotModified();
987b5c07418SJames Feist 
988f12894f8SJason M. Bills void accountNotModified(crow::Response& res);
989f4c4dcf4SKowalski, Kamil 
990f4c4dcf4SKowalski, Kamil /**
991f4c4dcf4SKowalski, Kamil  * @brief Formats QueryParameterValueFormatError message into JSON
99266ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the parameter <arg2> is of a different
993f4c4dcf4SKowalski, Kamil  * format than the parameter can accept."
994f4c4dcf4SKowalski, Kamil  *
995f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
996f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
997f4c4dcf4SKowalski, Kamil  *
998f4c4dcf4SKowalski, Kamil  * @returns Message QueryParameterValueFormatError formatted to JSON */
999b5c07418SJames Feist 
100095b3ad73SEd Tanous nlohmann::json queryParameterValueFormatError(const nlohmann::json& arg1,
10011668ce6dSEd Tanous                                               std::string_view arg2);
1002b5c07418SJames Feist 
1003*bd79bce8SPatrick Williams void queryParameterValueFormatError(
1004*bd79bce8SPatrick Williams     crow::Response& res, const nlohmann::json& arg1, std::string_view arg2);
1005f4c4dcf4SKowalski, Kamil 
1006f4c4dcf4SKowalski, Kamil /**
1007f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyMissing message into JSON
100866ac2b8cSJason M. Bills  * Message body: "The property <arg1> is a required property and must be
1009f4c4dcf4SKowalski, Kamil  * included in the request."
1010f4c4dcf4SKowalski, Kamil  *
1011f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
1012f4c4dcf4SKowalski, Kamil  *
1013f4c4dcf4SKowalski, Kamil  * @returns Message PropertyMissing formatted to JSON */
10141668ce6dSEd Tanous nlohmann::json propertyMissing(std::string_view arg1);
1015b5c07418SJames Feist 
10161668ce6dSEd Tanous void propertyMissing(crow::Response& res, std::string_view arg1);
1017f12894f8SJason M. Bills 
1018f12894f8SJason M. Bills /**
1019f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceExhaustion message into JSON
102066ac2b8cSJason M. Bills  * Message body: "The resource <arg1> was unable to satisfy the request due to
1021f4c4dcf4SKowalski, Kamil  * unavailability of resources."
1022f4c4dcf4SKowalski, Kamil  *
1023f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
1024f4c4dcf4SKowalski, Kamil  *
1025f4c4dcf4SKowalski, Kamil  * @returns Message ResourceExhaustion formatted to JSON */
10261668ce6dSEd Tanous nlohmann::json resourceExhaustion(std::string_view arg1);
1027b5c07418SJames Feist 
10281668ce6dSEd Tanous void resourceExhaustion(crow::Response& res, std::string_view arg1);
1029f4c4dcf4SKowalski, Kamil 
1030f4c4dcf4SKowalski, Kamil /**
1031f4c4dcf4SKowalski, Kamil  * @brief Formats AccountModified message into JSON
1032f4c4dcf4SKowalski, Kamil  * Message body: "The account was successfully modified."
1033f4c4dcf4SKowalski, Kamil  *
1034f4c4dcf4SKowalski, Kamil  *
1035f4c4dcf4SKowalski, Kamil  * @returns Message AccountModified formatted to JSON */
103665176d39SEd Tanous nlohmann::json accountModified();
1037b5c07418SJames Feist 
1038a08b46ccSJason M. Bills void accountModified(crow::Response& res);
1039f4c4dcf4SKowalski, Kamil 
1040f4c4dcf4SKowalski, Kamil /**
1041f4c4dcf4SKowalski, Kamil  * @brief Formats QueryParameterOutOfRange message into JSON
104266ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the query parameter <arg2> is out of
104366ac2b8cSJason M. Bills  * range <arg3>."
1044f4c4dcf4SKowalski, Kamil  *
1045f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
1046f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
1047f4c4dcf4SKowalski, Kamil  * @param[in] arg3 Parameter of message that will replace %3 in its body.
1048f4c4dcf4SKowalski, Kamil  *
1049f4c4dcf4SKowalski, Kamil  * @returns Message QueryParameterOutOfRange formatted to JSON */
1050*bd79bce8SPatrick Williams nlohmann::json queryParameterOutOfRange(
1051*bd79bce8SPatrick Williams     std::string_view arg1, std::string_view arg2, std::string_view arg3);
1052b5c07418SJames Feist 
10531668ce6dSEd Tanous void queryParameterOutOfRange(crow::Response& res, std::string_view arg1,
10541668ce6dSEd Tanous                               std::string_view arg2, std::string_view arg3);
1055f4c4dcf4SKowalski, Kamil 
10563bf4e632SJoseph Reynolds /**
10573bf4e632SJoseph Reynolds  * @brief Formats PasswordChangeRequired message into JSON
10583bf4e632SJoseph Reynolds  * Message body: The password provided for this account must be changed
10593bf4e632SJoseph Reynolds  * before access is granted.  PATCH the 'Password' property for this
10603bf4e632SJoseph Reynolds  * account located at the target URI '%1' to complete this process.
10613bf4e632SJoseph Reynolds  *
10623bf4e632SJoseph Reynolds  * @param[in] arg1 Parameter of message that will replace %1 in its body.
10633bf4e632SJoseph Reynolds  *
10643bf4e632SJoseph Reynolds  * @returns Message PasswordChangeRequired formatted to JSON */
1065ace85d60SEd Tanous 
10664a7fbefdSEd Tanous nlohmann::json passwordChangeRequired(const boost::urls::url_view_base& arg1);
1067ace85d60SEd Tanous 
10684a7fbefdSEd Tanous void passwordChangeRequired(crow::Response& res,
10694a7fbefdSEd Tanous                             const boost::urls::url_view_base& arg1);
10703bf4e632SJoseph Reynolds 
10714cde5d90SJames Feist /**
10724cde5d90SJames Feist  * @brief Formats InvalidUpload message into JSON
10734cde5d90SJames Feist  * Message body: Invalid file uploaded to %1: %2.*
10744cde5d90SJames Feist  * @param[in] arg1 Parameter of message that will replace %1 in its body.
10754cde5d90SJames Feist  * @param[in] arg2 Parameter of message that will replace %2 in its body.
10764cde5d90SJames Feist  *
10774cde5d90SJames Feist  * @returns Message InvalidUpload formatted to JSON */
10781668ce6dSEd Tanous nlohmann::json invalidUpload(std::string_view arg1, std::string_view arg2);
10794cde5d90SJames Feist 
10801668ce6dSEd Tanous void invalidUpload(crow::Response& res, std::string_view arg1,
10811668ce6dSEd Tanous                    std::string_view arg2);
10824cde5d90SJames Feist 
1083ae688313SNan Zhou /**
1084ae688313SNan Zhou  * @brief Formats InsufficientStorage message into JSON
10858ece0e45SEd Tanous  * Message body: "Insufficient storage or memory available to complete the
1086ae688313SNan Zhou  *  request."
1087ae688313SNan Zhou  * @returns Message InsufficientStorage formatted to JSON */
1088ae688313SNan Zhou nlohmann::json insufficientStorage();
1089ae688313SNan Zhou 
1090ae688313SNan Zhou void insufficientStorage(crow::Response& res);
1091ae688313SNan Zhou 
109244c70412SEd Tanous /**
109344c70412SEd Tanous  * @brief Formats OperationNotAllowed message into JSON
109444c70412SEd Tanous  * Message body: "he HTTP method is not allowed on this resource."
109544c70412SEd Tanous  * @returns Message OperationNotAllowed formatted to JSON */
109644c70412SEd Tanous nlohmann::json operationNotAllowed();
109744c70412SEd Tanous 
109844c70412SEd Tanous void operationNotAllowed(crow::Response& res);
109944c70412SEd Tanous 
1100600af5f1SAppaRao Puli /**
1101600af5f1SAppaRao Puli  * @brief Formats ArraySizeTooLong message into JSON
1102600af5f1SAppaRao Puli  * Message body: "Indicates that a string value passed to the given resource
1103600af5f1SAppaRao Puli  * exceeded its length limit."
1104600af5f1SAppaRao Puli  * @returns Message ArraySizeTooLong formatted to JSON */
1105600af5f1SAppaRao Puli nlohmann::json arraySizeTooLong(std::string_view property, uint64_t length);
1106600af5f1SAppaRao Puli 
1107600af5f1SAppaRao Puli void arraySizeTooLong(crow::Response& res, std::string_view property,
1108600af5f1SAppaRao Puli                       uint64_t length);
1109600af5f1SAppaRao Puli 
1110f4c4dcf4SKowalski, Kamil } // namespace messages
1111f4c4dcf4SKowalski, Kamil 
1112f4c4dcf4SKowalski, Kamil } // namespace redfish
1113