xref: /openbmc/bmcweb/features/redfish/include/error_messages.hpp (revision 0442ef92689d7719c89474a4fc81fbdaca7a4a96)
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
17*0442ef92SNan Zhou 
1804e438cbSEd Tanous #include "http_response.hpp"
19*0442ef92SNan Zhou #include "source_location.hpp"
20f12894f8SJason M. Bills 
2102fea7a7SEd Tanous #include <boost/url/url_view.hpp>
221214b7e7SGunnar Mills #include <nlohmann/json.hpp>
231214b7e7SGunnar Mills 
24*0442ef92SNan Zhou #include <cstdint>
259ea15c35SEd Tanous #include <string>
26*0442ef92SNan Zhou #include <string_view>
27*0442ef92SNan Zhou 
28*0442ef92SNan Zhou // IWYU pragma: no_include <cstdint.h>
29*0442ef92SNan 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 /**
41f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceInUse message into JSON
42f4c4dcf4SKowalski, Kamil  * Message body: "The change to the requested resource failed because the
43f4c4dcf4SKowalski, Kamil  * resource is in use or in transition."
44f4c4dcf4SKowalski, Kamil  *
45f4c4dcf4SKowalski, Kamil  *
46f4c4dcf4SKowalski, Kamil  * @returns Message ResourceInUse formatted to JSON */
4765176d39SEd Tanous nlohmann::json resourceInUse();
48b5c07418SJames Feist 
49f12894f8SJason M. Bills void resourceInUse(crow::Response& res);
50f4c4dcf4SKowalski, Kamil 
51f4c4dcf4SKowalski, Kamil /**
52f4c4dcf4SKowalski, Kamil  * @brief Formats MalformedJSON message into JSON
53f4c4dcf4SKowalski, Kamil  * Message body: "The request body submitted was malformed JSON and could not be
54f4c4dcf4SKowalski, Kamil  * parsed by the receiving service."
55f4c4dcf4SKowalski, Kamil  *
56f4c4dcf4SKowalski, Kamil  *
57f4c4dcf4SKowalski, Kamil  * @returns Message MalformedJSON formatted to JSON */
5865176d39SEd Tanous nlohmann::json malformedJSON();
59b5c07418SJames Feist 
60f12894f8SJason M. Bills void malformedJSON(crow::Response& res);
61f4c4dcf4SKowalski, Kamil 
62f4c4dcf4SKowalski, Kamil /**
63f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceMissingAtURI message into JSON
6466ac2b8cSJason M. Bills  * Message body: "The resource at the URI <arg1> was not found."
65f4c4dcf4SKowalski, Kamil  *
66f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
67f4c4dcf4SKowalski, Kamil  *
68f4c4dcf4SKowalski, Kamil  * @returns Message ResourceMissingAtURI formatted to JSON */
69ace85d60SEd Tanous nlohmann::json resourceMissingAtURI(const boost::urls::url_view& arg1);
70b5c07418SJames Feist 
71ace85d60SEd Tanous void resourceMissingAtURI(crow::Response& res,
72ace85d60SEd Tanous                           const boost::urls::url_view& arg1);
73f4c4dcf4SKowalski, Kamil 
74f4c4dcf4SKowalski, Kamil /**
75f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterValueFormatError message into JSON
7666ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the parameter <arg2> in the action <arg3>
77f4c4dcf4SKowalski, Kamil  * is of a different format than the parameter can accept."
78f4c4dcf4SKowalski, Kamil  *
79f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
80f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
81f4c4dcf4SKowalski, Kamil  * @param[in] arg3 Parameter of message that will replace %3 in its body.
82f4c4dcf4SKowalski, Kamil  *
83f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterValueFormatError formatted to JSON */
841668ce6dSEd Tanous nlohmann::json actionParameterValueFormatError(std::string_view arg1,
851668ce6dSEd Tanous                                                std::string_view arg2,
861668ce6dSEd Tanous                                                std::string_view arg3);
87b5c07418SJames Feist 
881668ce6dSEd Tanous void actionParameterValueFormatError(crow::Response& res, std::string_view arg1,
891668ce6dSEd Tanous                                      std::string_view arg2,
901668ce6dSEd Tanous                                      std::string_view arg3);
91f4c4dcf4SKowalski, Kamil 
92f4c4dcf4SKowalski, Kamil /**
93f4c4dcf4SKowalski, Kamil  * @brief Formats InternalError message into JSON
94f4c4dcf4SKowalski, Kamil  * Message body: "The request failed due to an internal service error.  The
95f4c4dcf4SKowalski, Kamil  * service is still operational."
96f4c4dcf4SKowalski, Kamil  *
97f4c4dcf4SKowalski, Kamil  *
98f4c4dcf4SKowalski, Kamil  * @returns Message InternalError formatted to JSON */
9965176d39SEd Tanous nlohmann::json internalError();
100b5c07418SJames Feist 
1019eb808c1SEd Tanous void internalError(crow::Response& res, bmcweb::source_location location =
102df5415fcSEd Tanous                                             bmcweb::source_location::current());
103f12894f8SJason M. Bills 
104f12894f8SJason M. Bills /**
105f4c4dcf4SKowalski, Kamil  * @brief Formats UnrecognizedRequestBody message into JSON
106f4c4dcf4SKowalski, Kamil  * Message body: "The service detected a malformed request body that it was
107f4c4dcf4SKowalski, Kamil  * unable to interpret."
108f4c4dcf4SKowalski, Kamil  *
109f4c4dcf4SKowalski, Kamil  *
110f4c4dcf4SKowalski, Kamil  * @returns Message UnrecognizedRequestBody formatted to JSON */
11165176d39SEd Tanous nlohmann::json unrecognizedRequestBody();
112b5c07418SJames Feist 
113f12894f8SJason M. Bills void unrecognizedRequestBody(crow::Response& res);
114f4c4dcf4SKowalski, Kamil 
115f4c4dcf4SKowalski, Kamil /**
116f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceAtUriUnauthorized message into JSON
11766ac2b8cSJason M. Bills  * Message body: "While accessing the resource at <arg1>, the service received
11866ac2b8cSJason M. Bills  * an authorization error <arg2>."
119f4c4dcf4SKowalski, Kamil  *
120f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
121f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
122f4c4dcf4SKowalski, Kamil  *
123f4c4dcf4SKowalski, Kamil  * @returns Message ResourceAtUriUnauthorized formatted to JSON */
124ace85d60SEd Tanous nlohmann::json resourceAtUriUnauthorized(const boost::urls::url_view& arg1,
1251668ce6dSEd Tanous                                          std::string_view arg2);
126b5c07418SJames Feist 
127ace85d60SEd Tanous void resourceAtUriUnauthorized(crow::Response& res,
128ace85d60SEd Tanous                                const boost::urls::url_view& arg1,
1291668ce6dSEd Tanous                                std::string_view arg2);
130f4c4dcf4SKowalski, Kamil 
131f4c4dcf4SKowalski, Kamil /**
132f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterUnknown message into JSON
13366ac2b8cSJason M. Bills  * Message body: "The action <arg1> was submitted with the invalid parameter
13466ac2b8cSJason M. Bills  * <arg2>."
135f4c4dcf4SKowalski, Kamil  *
136f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
137f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
138f4c4dcf4SKowalski, Kamil  *
139f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterUnknown formatted to JSON */
1401668ce6dSEd Tanous nlohmann::json actionParameterUnknown(std::string_view arg1,
1411668ce6dSEd Tanous                                       std::string_view arg2);
142b5c07418SJames Feist 
1431668ce6dSEd Tanous void actionParameterUnknown(crow::Response& res, std::string_view arg1,
1441668ce6dSEd Tanous                             std::string_view arg2);
145f4c4dcf4SKowalski, Kamil 
146f4c4dcf4SKowalski, Kamil /**
147f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceCannotBeDeleted message into JSON
148f4c4dcf4SKowalski, Kamil  * Message body: "The delete request failed because the resource requested
149f4c4dcf4SKowalski, Kamil  * cannot be deleted."
150f4c4dcf4SKowalski, Kamil  *
151f4c4dcf4SKowalski, Kamil  *
152f4c4dcf4SKowalski, Kamil  * @returns Message ResourceCannotBeDeleted formatted to JSON */
15365176d39SEd Tanous nlohmann::json resourceCannotBeDeleted();
154b5c07418SJames Feist 
155f12894f8SJason M. Bills void resourceCannotBeDeleted(crow::Response& res);
156f4c4dcf4SKowalski, Kamil 
157f4c4dcf4SKowalski, Kamil /**
158f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyDuplicate message into JSON
15966ac2b8cSJason M. Bills  * Message body: "The property <arg1> was duplicated in the request."
160f4c4dcf4SKowalski, Kamil  *
161f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
162f4c4dcf4SKowalski, Kamil  *
163f4c4dcf4SKowalski, Kamil  * @returns Message PropertyDuplicate formatted to JSON */
1641668ce6dSEd Tanous nlohmann::json propertyDuplicate(std::string_view arg1);
165b5c07418SJames Feist 
1661668ce6dSEd Tanous void propertyDuplicate(crow::Response& res, std::string_view arg1);
167f4c4dcf4SKowalski, Kamil 
168f4c4dcf4SKowalski, Kamil /**
169f4c4dcf4SKowalski, Kamil  * @brief Formats ServiceTemporarilyUnavailable message into JSON
17066ac2b8cSJason M. Bills  * Message body: "The service is temporarily unavailable.  Retry in <arg1>
171f4c4dcf4SKowalski, Kamil  * seconds."
172f4c4dcf4SKowalski, Kamil  *
173f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
174f4c4dcf4SKowalski, Kamil  *
175f4c4dcf4SKowalski, Kamil  * @returns Message ServiceTemporarilyUnavailable formatted to JSON */
1761668ce6dSEd Tanous nlohmann::json serviceTemporarilyUnavailable(std::string_view arg1);
177b5c07418SJames Feist 
1781668ce6dSEd Tanous void serviceTemporarilyUnavailable(crow::Response& res, std::string_view arg1);
179f4c4dcf4SKowalski, Kamil 
180f4c4dcf4SKowalski, Kamil /**
181f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceAlreadyExists message into JSON
18266ac2b8cSJason M. Bills  * Message body: "The requested resource of type <arg1> with the property <arg2>
18366ac2b8cSJason M. Bills  * with the value <arg3> already exists."
184f4c4dcf4SKowalski, Kamil  *
185f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
186f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
187f4c4dcf4SKowalski, Kamil  * @param[in] arg3 Parameter of message that will replace %3 in its body.
188f4c4dcf4SKowalski, Kamil  *
189f4c4dcf4SKowalski, Kamil  * @returns Message ResourceAlreadyExists formatted to JSON */
1901668ce6dSEd Tanous nlohmann::json resourceAlreadyExists(std::string_view arg1,
1911668ce6dSEd Tanous                                      std::string_view arg2,
1921668ce6dSEd Tanous                                      std::string_view arg3);
193b5c07418SJames Feist 
1941668ce6dSEd Tanous void resourceAlreadyExists(crow::Response& res, std::string_view arg1,
1951668ce6dSEd Tanous                            std::string_view arg2, std::string_view arg3);
196f4c4dcf4SKowalski, Kamil 
197f4c4dcf4SKowalski, Kamil /**
198f4c4dcf4SKowalski, Kamil  * @brief Formats AccountForSessionNoLongerExists message into JSON
199f4c4dcf4SKowalski, Kamil  * Message body: "The account for the current session has been removed, thus the
200f4c4dcf4SKowalski, Kamil  * current session has been removed as well."
201f4c4dcf4SKowalski, Kamil  *
202f4c4dcf4SKowalski, Kamil  *
203f4c4dcf4SKowalski, Kamil  * @returns Message AccountForSessionNoLongerExists formatted to JSON */
20465176d39SEd Tanous nlohmann::json accountForSessionNoLongerExists();
205b5c07418SJames Feist 
206f12894f8SJason M. Bills void accountForSessionNoLongerExists(crow::Response& res);
207f4c4dcf4SKowalski, Kamil 
208f4c4dcf4SKowalski, Kamil /**
209f4c4dcf4SKowalski, Kamil  * @brief Formats CreateFailedMissingReqProperties message into JSON
210f4c4dcf4SKowalski, Kamil  * Message body: "The create operation failed because the required property
21166ac2b8cSJason M. Bills  * <arg1> was missing from the request."
212f4c4dcf4SKowalski, Kamil  *
213f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
214f4c4dcf4SKowalski, Kamil  *
215f4c4dcf4SKowalski, Kamil  * @returns Message CreateFailedMissingReqProperties formatted to JSON */
2161668ce6dSEd Tanous nlohmann::json createFailedMissingReqProperties(std::string_view arg1);
217b5c07418SJames Feist 
218f12894f8SJason M. Bills void createFailedMissingReqProperties(crow::Response& res,
2191668ce6dSEd Tanous                                       std::string_view arg1);
220f4c4dcf4SKowalski, Kamil 
221f4c4dcf4SKowalski, Kamil /**
222f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyValueFormatError message into JSON
22366ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the property <arg2> is of a different
224f4c4dcf4SKowalski, Kamil  * format than the property can accept."
225f4c4dcf4SKowalski, Kamil  *
226f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
227f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
228f4c4dcf4SKowalski, Kamil  *
229f4c4dcf4SKowalski, Kamil  * @returns Message PropertyValueFormatError formatted to JSON */
2301668ce6dSEd Tanous nlohmann::json propertyValueFormatError(std::string_view arg1,
2311668ce6dSEd Tanous                                         std::string_view arg2);
232b5c07418SJames Feist 
2331668ce6dSEd Tanous void propertyValueFormatError(crow::Response& res, std::string_view arg1,
2341668ce6dSEd Tanous                               std::string_view arg2);
235f4c4dcf4SKowalski, Kamil 
236f4c4dcf4SKowalski, Kamil /**
237f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyValueNotInList message into JSON
23866ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the property <arg2> is not in the list of
239f4c4dcf4SKowalski, Kamil  * acceptable values."
240f4c4dcf4SKowalski, Kamil  *
241f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
242f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
243f4c4dcf4SKowalski, Kamil  *
244f4c4dcf4SKowalski, Kamil  * @returns Message PropertyValueNotInList formatted to JSON */
2451668ce6dSEd Tanous nlohmann::json propertyValueNotInList(std::string_view arg1,
2461668ce6dSEd Tanous                                       std::string_view arg2);
247b5c07418SJames Feist 
2481668ce6dSEd Tanous void propertyValueNotInList(crow::Response& res, std::string_view arg1,
2491668ce6dSEd Tanous                             std::string_view arg2);
250f4c4dcf4SKowalski, Kamil 
251f4c4dcf4SKowalski, Kamil /**
252227a2b0aSJiaqing Zhao  * @brief Formats PropertyValueOutOfRange message into JSON
253227a2b0aSJiaqing Zhao  * Message body: "The value '%1' for the property %2 is not in the supported
254227a2b0aSJiaqing Zhao  * range of acceptable values."
255227a2b0aSJiaqing Zhao  *
256227a2b0aSJiaqing Zhao  * @param[in] arg1 Parameter of message that will replace %1 in its body.
257227a2b0aSJiaqing Zhao  * @param[in] arg2 Parameter of message that will replace %2 in its body.
258227a2b0aSJiaqing Zhao  *
259227a2b0aSJiaqing Zhao  * @returns Message PropertyValueExternalConflict formatted to JSON */
260227a2b0aSJiaqing Zhao nlohmann::json propertyValueOutOfRange(std::string_view arg1,
261227a2b0aSJiaqing Zhao                                        std::string_view arg2);
262227a2b0aSJiaqing Zhao 
263227a2b0aSJiaqing Zhao void propertyValueOutOfRange(crow::Response& res, std::string_view arg1,
264227a2b0aSJiaqing Zhao                              std::string_view arg2);
265227a2b0aSJiaqing Zhao 
266227a2b0aSJiaqing Zhao /**
267f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceAtUriInUnknownFormat message into JSON
26866ac2b8cSJason M. Bills  * Message body: "The resource at <arg1> is in a format not recognized by the
269f4c4dcf4SKowalski, Kamil  * service."
270f4c4dcf4SKowalski, Kamil  *
271f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
272f4c4dcf4SKowalski, Kamil  *
273f4c4dcf4SKowalski, Kamil  * @returns Message ResourceAtUriInUnknownFormat formatted to JSON */
274ace85d60SEd Tanous nlohmann::json resourceAtUriInUnknownFormat(const boost::urls::url_view& arg1);
275b5c07418SJames Feist 
276ace85d60SEd Tanous void resourceAtUriInUnknownFormat(crow::Response& res,
277ace85d60SEd Tanous                                   const boost::urls::url_view& arg1);
278f4c4dcf4SKowalski, Kamil 
279f4c4dcf4SKowalski, Kamil /**
28081856681SAsmitha Karunanithi  * @brief Formats ServiceDisabled message into JSON
28181856681SAsmitha Karunanithi  * Message body: "The operation failed because the service at <arg1> is disabled
28281856681SAsmitha Karunanithi  * and " cannot accept requests."
28381856681SAsmitha Karunanithi  *
28481856681SAsmitha Karunanithi  * @param[in] arg1 Parameter of message that will replace %1 in its body.
28581856681SAsmitha Karunanithi  *
28681856681SAsmitha Karunanithi  * @returns Message ServiceDisabled formatted to JSON */
2871668ce6dSEd Tanous nlohmann::json serviceDisabled(std::string_view arg1);
28881856681SAsmitha Karunanithi 
2891668ce6dSEd Tanous void serviceDisabled(crow::Response& res, std::string_view arg1);
29081856681SAsmitha Karunanithi 
29181856681SAsmitha Karunanithi /**
292f4c4dcf4SKowalski, Kamil  * @brief Formats ServiceInUnknownState message into JSON
293f4c4dcf4SKowalski, Kamil  * Message body: "The operation failed because the service is in an unknown
294f4c4dcf4SKowalski, Kamil  * state and can no longer take incoming requests."
295f4c4dcf4SKowalski, Kamil  *
296f4c4dcf4SKowalski, Kamil  *
297f4c4dcf4SKowalski, Kamil  * @returns Message ServiceInUnknownState formatted to JSON */
29865176d39SEd Tanous nlohmann::json serviceInUnknownState();
299b5c07418SJames Feist 
300f12894f8SJason M. Bills void serviceInUnknownState(crow::Response& res);
301f4c4dcf4SKowalski, Kamil 
302f4c4dcf4SKowalski, Kamil /**
303f4c4dcf4SKowalski, Kamil  * @brief Formats EventSubscriptionLimitExceeded message into JSON
304f4c4dcf4SKowalski, Kamil  * Message body: "The event subscription failed due to the number of
305f4c4dcf4SKowalski, Kamil  * simultaneous subscriptions exceeding the limit of the implementation."
306f4c4dcf4SKowalski, Kamil  *
307f4c4dcf4SKowalski, Kamil  *
308f4c4dcf4SKowalski, Kamil  * @returns Message EventSubscriptionLimitExceeded formatted to JSON */
30965176d39SEd Tanous nlohmann::json eventSubscriptionLimitExceeded();
310b5c07418SJames Feist 
311f12894f8SJason M. Bills void eventSubscriptionLimitExceeded(crow::Response& res);
312f4c4dcf4SKowalski, Kamil 
313f4c4dcf4SKowalski, Kamil /**
314f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterMissing message into JSON
31566ac2b8cSJason M. Bills  * Message body: "The action <arg1> requires the parameter <arg2> to be present
316f4c4dcf4SKowalski, Kamil  * in the request body."
317f4c4dcf4SKowalski, Kamil  *
318f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
319f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
320f4c4dcf4SKowalski, Kamil  *
321f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterMissing formatted to JSON */
3221668ce6dSEd Tanous nlohmann::json actionParameterMissing(std::string_view arg1,
3231668ce6dSEd Tanous                                       std::string_view arg2);
324b5c07418SJames Feist 
3251668ce6dSEd Tanous void actionParameterMissing(crow::Response& res, std::string_view arg1,
3261668ce6dSEd Tanous                             std::string_view arg2);
327f4c4dcf4SKowalski, Kamil 
328f4c4dcf4SKowalski, Kamil /**
329f4c4dcf4SKowalski, Kamil  * @brief Formats StringValueTooLong message into JSON
33066ac2b8cSJason M. Bills  * Message body: "The string <arg1> exceeds the length limit <arg2>."
331f4c4dcf4SKowalski, Kamil  *
332f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
333f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
334f4c4dcf4SKowalski, Kamil  *
335f4c4dcf4SKowalski, Kamil  * @returns Message StringValueTooLong formatted to JSON */
3361668ce6dSEd Tanous nlohmann::json stringValueTooLong(std::string_view arg1, int arg2);
337b5c07418SJames Feist 
3381668ce6dSEd Tanous void stringValueTooLong(crow::Response& res, std::string_view arg1, int arg2);
339f4c4dcf4SKowalski, Kamil 
340f4c4dcf4SKowalski, Kamil /**
341cc9139ecSJason M. Bills  * @brief Formats SessionTerminated message into JSON
342cc9139ecSJason M. Bills  * Message body: "The session was successfully terminated."
343cc9139ecSJason M. Bills  *
344cc9139ecSJason M. Bills  *
345cc9139ecSJason M. Bills  * @returns Message SessionTerminated formatted to JSON */
34665176d39SEd Tanous nlohmann::json sessionTerminated();
347b5c07418SJames Feist 
348cc9139ecSJason M. Bills void sessionTerminated(crow::Response& res);
349cc9139ecSJason M. Bills 
350cc9139ecSJason M. Bills /**
351684bb4b8SJason M. Bills  * @brief Formats SubscriptionTerminated message into JSON
352684bb4b8SJason M. Bills  * Message body: "The event subscription has been terminated."
353684bb4b8SJason M. Bills  *
354684bb4b8SJason M. Bills  *
355684bb4b8SJason M. Bills  * @returns Message SubscriptionTerminated formatted to JSON */
35665176d39SEd Tanous nlohmann::json subscriptionTerminated();
357684bb4b8SJason M. Bills 
358684bb4b8SJason M. Bills void subscriptionTerminated(crow::Response& res);
359684bb4b8SJason M. Bills 
360684bb4b8SJason M. Bills /**
361cc9139ecSJason M. Bills  * @brief Formats ResourceTypeIncompatible message into JSON
362cc9139ecSJason M. Bills  * Message body: "The @odata.type of the request body <arg1> is incompatible
363cc9139ecSJason M. Bills  * with the @odata.type of the resource which is <arg2>."
364cc9139ecSJason M. Bills  *
365cc9139ecSJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
366cc9139ecSJason M. Bills  * @param[in] arg2 Parameter of message that will replace %2 in its body.
367cc9139ecSJason M. Bills  *
368cc9139ecSJason M. Bills  * @returns Message ResourceTypeIncompatible formatted to JSON */
3691668ce6dSEd Tanous nlohmann::json resourceTypeIncompatible(std::string_view arg1,
3701668ce6dSEd Tanous                                         std::string_view arg2);
371b5c07418SJames Feist 
3721668ce6dSEd Tanous void resourceTypeIncompatible(crow::Response& res, std::string_view arg1,
3731668ce6dSEd Tanous                               std::string_view arg2);
374cc9139ecSJason M. Bills 
375cc9139ecSJason M. Bills /**
376684bb4b8SJason M. Bills  * @brief Formats ResetRequired message into JSON
377684bb4b8SJason M. Bills  * Message body: "In order to complete the operation, a component reset is
378684bb4b8SJason M. Bills  * required with the Reset action URI '<arg1>' and ResetType '<arg2>'."
379684bb4b8SJason M. Bills  *
380684bb4b8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
381684bb4b8SJason M. Bills  * @param[in] arg2 Parameter of message that will replace %2 in its body.
382684bb4b8SJason M. Bills  *
383684bb4b8SJason M. Bills  * @returns Message ResetRequired formatted to JSON */
384ace85d60SEd Tanous nlohmann::json resetRequired(const boost::urls::url_view& arg1,
3851668ce6dSEd Tanous                              std::string_view arg2);
386684bb4b8SJason M. Bills 
387ace85d60SEd Tanous void resetRequired(crow::Response& res, const boost::urls::url_view& arg1,
3881668ce6dSEd Tanous                    std::string_view arg2);
389684bb4b8SJason M. Bills 
390684bb4b8SJason M. Bills /**
391684bb4b8SJason M. Bills  * @brief Formats ChassisPowerStateOnRequired message into JSON
392684bb4b8SJason M. Bills  * Message body: "The Chassis with Id '<arg1>' requires to be powered on to
393684bb4b8SJason M. Bills  * perform this request."
394684bb4b8SJason M. Bills  *
395684bb4b8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
396684bb4b8SJason M. Bills  *
397684bb4b8SJason M. Bills  * @returns Message ChassisPowerStateOnRequired formatted to JSON */
3981668ce6dSEd Tanous nlohmann::json chassisPowerStateOnRequired(std::string_view arg1);
399684bb4b8SJason M. Bills 
4001668ce6dSEd Tanous void chassisPowerStateOnRequired(crow::Response& res, std::string_view arg1);
401684bb4b8SJason M. Bills 
402684bb4b8SJason M. Bills /**
403684bb4b8SJason M. Bills  * @brief Formats ChassisPowerStateOffRequired message into JSON
404684bb4b8SJason M. Bills  * Message body: "The Chassis with Id '<arg1>' requires to be powered off to
405684bb4b8SJason M. Bills  * perform this request."
406684bb4b8SJason M. Bills  *
407684bb4b8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
408684bb4b8SJason M. Bills  *
409684bb4b8SJason M. Bills  * @returns Message ChassisPowerStateOffRequired formatted to JSON */
4101668ce6dSEd Tanous nlohmann::json chassisPowerStateOffRequired(std::string_view arg1);
411684bb4b8SJason M. Bills 
4121668ce6dSEd Tanous void chassisPowerStateOffRequired(crow::Response& res, std::string_view arg1);
413684bb4b8SJason M. Bills 
414684bb4b8SJason M. Bills /**
415684bb4b8SJason M. Bills  * @brief Formats PropertyValueConflict message into JSON
416684bb4b8SJason M. Bills  * Message body: "The property '<arg1>' could not be written because its value
417684bb4b8SJason M. Bills  * would conflict with the value of the '<arg2>' property."
418684bb4b8SJason M. Bills  *
419684bb4b8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
420684bb4b8SJason M. Bills  * @param[in] arg2 Parameter of message that will replace %2 in its body.
421684bb4b8SJason M. Bills  *
422684bb4b8SJason M. Bills  * @returns Message PropertyValueConflict formatted to JSON */
4231668ce6dSEd Tanous nlohmann::json propertyValueConflict(std::string_view arg1,
4241668ce6dSEd Tanous                                      std::string_view arg2);
425684bb4b8SJason M. Bills 
4261668ce6dSEd Tanous void propertyValueConflict(crow::Response& res, std::string_view arg1,
4271668ce6dSEd Tanous                            std::string_view arg2);
428684bb4b8SJason M. Bills 
429684bb4b8SJason M. Bills /**
4302a6af81cSRamesh Iyyar  * @brief Formats PropertyValueResourceConflict message into JSON
4312a6af81cSRamesh Iyyar  * Message body: "The property '%1' with the requested value of '%2' could
4322a6af81cSRamesh Iyyar  * not be written because the value conflicts with the state or configuration
4332a6af81cSRamesh Iyyar  * of the resource at '%3'."
4342a6af81cSRamesh Iyyar  *
4352a6af81cSRamesh Iyyar  * @param[in] arg1 Parameter of message that will replace %1 in its body.
4362a6af81cSRamesh Iyyar  * @param[in] arg2 Parameter of message that will replace %2 in its body.
4372a6af81cSRamesh Iyyar  * @param[in] arg3 Parameter of message that will replace %3 in its body.
4382a6af81cSRamesh Iyyar  *
4392a6af81cSRamesh Iyyar  * @returns Message PropertyValueResourceConflict to JSON */
4402a6af81cSRamesh Iyyar nlohmann::json propertyValueResourceConflict(std::string_view arg1,
4412a6af81cSRamesh Iyyar                                              std::string_view arg2,
4422a6af81cSRamesh Iyyar                                              const boost::urls::url_view& arg3);
4432a6af81cSRamesh Iyyar 
4442a6af81cSRamesh Iyyar void propertyValueResourceConflict(crow::Response& res, std::string_view arg1,
4452a6af81cSRamesh Iyyar                                    std::string_view arg2,
4462a6af81cSRamesh Iyyar                                    const boost::urls::url_view& arg3);
4472a6af81cSRamesh Iyyar 
4482a6af81cSRamesh Iyyar /**
44924861a28SRamesh Iyyar  * @brief Formats PropertyValueExternalConflict message into JSON
45024861a28SRamesh Iyyar  * Message body: "The property '%1' with the requested value of '%2' could not
45124861a28SRamesh Iyyar  * be written because the value is not available due to a configuration
45224861a28SRamesh Iyyar  * conflict."
45324861a28SRamesh Iyyar  *
45424861a28SRamesh Iyyar  * @param[in] arg1 Parameter of message that will replace %1 in its body.
45524861a28SRamesh Iyyar  * @param[in] arg2 Parameter of message that will replace %2 in its body.
45624861a28SRamesh Iyyar  *
45724861a28SRamesh Iyyar  * @returns Message PropertyValueExternalConflict formatted to JSON */
45824861a28SRamesh Iyyar nlohmann::json propertyValueExternalConflict(std::string_view arg1,
45924861a28SRamesh Iyyar                                              std::string_view arg2);
46024861a28SRamesh Iyyar 
46124861a28SRamesh Iyyar void propertyValueExternalConflict(crow::Response& res, std::string_view arg1,
46224861a28SRamesh Iyyar                                    std::string_view arg2);
46324861a28SRamesh Iyyar 
46424861a28SRamesh Iyyar /**
465684bb4b8SJason M. Bills  * @brief Formats PropertyValueIncorrect message into JSON
466684bb4b8SJason M. Bills  * Message body: "The property '<arg1>' with the requested value of '<arg2>'
467684bb4b8SJason M. Bills  * could not be written because the value does not meet the constraints of the
468684bb4b8SJason M. Bills  * implementation."
469684bb4b8SJason M. Bills  *
470684bb4b8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
471684bb4b8SJason M. Bills  * @param[in] arg2 Parameter of message that will replace %2 in its body.
472684bb4b8SJason M. Bills  *
473684bb4b8SJason M. Bills  * @returns Message PropertyValueIncorrect formatted to JSON */
4741668ce6dSEd Tanous nlohmann::json propertyValueIncorrect(std::string_view arg1,
4751668ce6dSEd Tanous                                       std::string_view arg2);
476684bb4b8SJason M. Bills 
4771668ce6dSEd Tanous void propertyValueIncorrect(crow::Response& res, std::string_view arg1,
4781668ce6dSEd Tanous                             std::string_view arg2);
479684bb4b8SJason M. Bills 
480684bb4b8SJason M. Bills /**
481684bb4b8SJason M. Bills  * @brief Formats ResourceCreationConflict message into JSON
482684bb4b8SJason M. Bills  * Message body: "The resource could not be created.  The service has a resource
483684bb4b8SJason M. Bills  * at URI '<arg1>' that conflicts with the creation request."
484684bb4b8SJason M. Bills  *
485684bb4b8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
486684bb4b8SJason M. Bills  *
487684bb4b8SJason M. Bills  * @returns Message ResourceCreationConflict formatted to JSON */
488f7725d79SEd Tanous nlohmann::json resourceCreationConflict(const boost::urls::url_view& arg1);
489684bb4b8SJason M. Bills 
490f7725d79SEd Tanous void resourceCreationConflict(crow::Response& res,
491f7725d79SEd Tanous                               const boost::urls::url_view& arg1);
492684bb4b8SJason M. Bills 
493684bb4b8SJason M. Bills /**
494684bb4b8SJason M. Bills  * @brief Formats MaximumErrorsExceeded message into JSON
495684bb4b8SJason M. Bills  * Message body: "Too many errors have occurred to report them all."
496684bb4b8SJason M. Bills  *
497684bb4b8SJason M. Bills  *
498684bb4b8SJason M. Bills  * @returns Message MaximumErrorsExceeded formatted to JSON */
49965176d39SEd Tanous nlohmann::json maximumErrorsExceeded();
500684bb4b8SJason M. Bills 
501684bb4b8SJason M. Bills void maximumErrorsExceeded(crow::Response& res);
502684bb4b8SJason M. Bills 
503684bb4b8SJason M. Bills /**
504684bb4b8SJason M. Bills  * @brief Formats PreconditionFailed message into JSON
505684bb4b8SJason M. Bills  * Message body: "The ETag supplied did not match the ETag required to change
506684bb4b8SJason M. Bills  * this resource."
507684bb4b8SJason M. Bills  *
508684bb4b8SJason M. Bills  *
509684bb4b8SJason M. Bills  * @returns Message PreconditionFailed formatted to JSON */
51065176d39SEd Tanous nlohmann::json preconditionFailed();
511684bb4b8SJason M. Bills 
512684bb4b8SJason M. Bills void preconditionFailed(crow::Response& res);
513684bb4b8SJason M. Bills 
514684bb4b8SJason M. Bills /**
515684bb4b8SJason M. Bills  * @brief Formats PreconditionRequired message into JSON
516684bb4b8SJason M. Bills  * Message body: "A precondition header or annotation is required to change this
517684bb4b8SJason M. Bills  * resource."
518684bb4b8SJason M. Bills  *
519684bb4b8SJason M. Bills  *
520684bb4b8SJason M. Bills  * @returns Message PreconditionRequired formatted to JSON */
52165176d39SEd Tanous nlohmann::json preconditionRequired();
522684bb4b8SJason M. Bills 
523684bb4b8SJason M. Bills void preconditionRequired(crow::Response& res);
524684bb4b8SJason M. Bills 
525684bb4b8SJason M. Bills /**
526684bb4b8SJason M. Bills  * @brief Formats OperationFailed message into JSON
527684bb4b8SJason M. Bills  * Message body: "An error occurred internal to the service as part of the
528684bb4b8SJason M. Bills  * overall request.  Partial results may have been returned."
529684bb4b8SJason M. Bills  *
530684bb4b8SJason M. Bills  *
531684bb4b8SJason M. Bills  * @returns Message OperationFailed formatted to JSON */
53265176d39SEd Tanous nlohmann::json operationFailed();
533684bb4b8SJason M. Bills 
534684bb4b8SJason M. Bills void operationFailed(crow::Response& res);
535684bb4b8SJason M. Bills 
536684bb4b8SJason M. Bills /**
537684bb4b8SJason M. Bills  * @brief Formats OperationTimeout message into JSON
538684bb4b8SJason M. Bills  * Message body: "A timeout internal to the service occured as part of the
539684bb4b8SJason M. Bills  * request.  Partial results may have been returned."
540684bb4b8SJason M. Bills  *
541684bb4b8SJason M. Bills  *
542684bb4b8SJason M. Bills  * @returns Message OperationTimeout formatted to JSON */
54365176d39SEd Tanous nlohmann::json operationTimeout();
544684bb4b8SJason M. Bills 
545684bb4b8SJason M. Bills void operationTimeout(crow::Response& res);
546684bb4b8SJason M. Bills 
547684bb4b8SJason M. Bills /**
548f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyValueTypeError message into JSON
54966ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the property <arg2> is of a different
550f4c4dcf4SKowalski, Kamil  * type than the property can accept."
551f4c4dcf4SKowalski, Kamil  *
552f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
553f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
554f4c4dcf4SKowalski, Kamil  *
555f4c4dcf4SKowalski, Kamil  * @returns Message PropertyValueTypeError formatted to JSON */
5561668ce6dSEd Tanous nlohmann::json propertyValueTypeError(std::string_view arg1,
5571668ce6dSEd Tanous                                       std::string_view arg2);
558b5c07418SJames Feist 
5591668ce6dSEd Tanous void propertyValueTypeError(crow::Response& res, std::string_view arg1,
5601668ce6dSEd Tanous                             std::string_view arg2);
561f4c4dcf4SKowalski, Kamil 
562f4c4dcf4SKowalski, Kamil /**
563f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceNotFound message into JSON
56466ac2b8cSJason M. Bills  * Message body: "The requested resource of type <arg1> named <arg2> was not
565f4c4dcf4SKowalski, Kamil  * found."
566f4c4dcf4SKowalski, Kamil  *
567f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
568f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
569f4c4dcf4SKowalski, Kamil  *
570f4c4dcf4SKowalski, Kamil  * @returns Message ResourceNotFound formatted to JSON */
5711668ce6dSEd Tanous nlohmann::json resourceNotFound(std::string_view arg1, std::string_view arg2);
572b5c07418SJames Feist 
5731668ce6dSEd Tanous void resourceNotFound(crow::Response& res, std::string_view arg1,
5741668ce6dSEd Tanous                       std::string_view arg2);
575f4c4dcf4SKowalski, Kamil 
576f4c4dcf4SKowalski, Kamil /**
577f4c4dcf4SKowalski, Kamil  * @brief Formats CouldNotEstablishConnection message into JSON
57855c7b7a2SEd Tanous  * Message body: "The service failed to establish a Connection with the URI
57966ac2b8cSJason M. Bills  * <arg1>."
580f4c4dcf4SKowalski, Kamil  *
581f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
582f4c4dcf4SKowalski, Kamil  *
583f4c4dcf4SKowalski, Kamil  * @returns Message CouldNotEstablishConnection formatted to JSON */
584ace85d60SEd Tanous nlohmann::json couldNotEstablishConnection(const boost::urls::url_view& arg1);
585b5c07418SJames Feist 
586ace85d60SEd Tanous void couldNotEstablishConnection(crow::Response& res,
587ace85d60SEd Tanous                                  const boost::urls::url_view& arg1);
588f4c4dcf4SKowalski, Kamil 
589f4c4dcf4SKowalski, Kamil /**
590f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyNotWritable message into JSON
59166ac2b8cSJason M. Bills  * Message body: "The property <arg1> is a read only property and cannot be
592f4c4dcf4SKowalski, Kamil  * assigned a value."
593f4c4dcf4SKowalski, Kamil  *
594f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
595f4c4dcf4SKowalski, Kamil  *
596f4c4dcf4SKowalski, Kamil  * @returns Message PropertyNotWritable formatted to JSON */
5971668ce6dSEd Tanous nlohmann::json propertyNotWritable(std::string_view arg1);
598b5c07418SJames Feist 
5991668ce6dSEd Tanous void propertyNotWritable(crow::Response& res, std::string_view arg1);
600f12894f8SJason M. Bills 
601f12894f8SJason M. Bills /**
602f4c4dcf4SKowalski, Kamil  * @brief Formats QueryParameterValueTypeError message into JSON
60366ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the query parameter <arg2> is of a
604f4c4dcf4SKowalski, Kamil  * different type than the parameter can accept."
605f4c4dcf4SKowalski, Kamil  *
606f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
607f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
608f4c4dcf4SKowalski, Kamil  *
609f4c4dcf4SKowalski, Kamil  * @returns Message QueryParameterValueTypeError formatted to JSON */
6101668ce6dSEd Tanous nlohmann::json queryParameterValueTypeError(std::string_view arg1,
6111668ce6dSEd Tanous                                             std::string_view arg2);
612b5c07418SJames Feist 
6131668ce6dSEd Tanous void queryParameterValueTypeError(crow::Response& res, std::string_view arg1,
6141668ce6dSEd Tanous                                   std::string_view arg2);
615f4c4dcf4SKowalski, Kamil 
616f4c4dcf4SKowalski, Kamil /**
617f4c4dcf4SKowalski, Kamil  * @brief Formats ServiceShuttingDown message into JSON
618f4c4dcf4SKowalski, Kamil  * Message body: "The operation failed because the service is shutting down and
619f4c4dcf4SKowalski, Kamil  * can no longer take incoming requests."
620f4c4dcf4SKowalski, Kamil  *
621f4c4dcf4SKowalski, Kamil  *
622f4c4dcf4SKowalski, Kamil  * @returns Message ServiceShuttingDown formatted to JSON */
62365176d39SEd Tanous nlohmann::json serviceShuttingDown();
624b5c07418SJames Feist 
625f12894f8SJason M. Bills void serviceShuttingDown(crow::Response& res);
626f4c4dcf4SKowalski, Kamil 
627f4c4dcf4SKowalski, Kamil /**
628f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterDuplicate message into JSON
62966ac2b8cSJason M. Bills  * Message body: "The action <arg1> was submitted with more than one value for
63066ac2b8cSJason M. Bills  * the parameter <arg2>."
631f4c4dcf4SKowalski, Kamil  *
632f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
633f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
634f4c4dcf4SKowalski, Kamil  *
635f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterDuplicate formatted to JSON */
6361668ce6dSEd Tanous nlohmann::json actionParameterDuplicate(std::string_view arg1,
6371668ce6dSEd Tanous                                         std::string_view arg2);
638b5c07418SJames Feist 
6391668ce6dSEd Tanous void actionParameterDuplicate(crow::Response& res, std::string_view arg1,
6401668ce6dSEd Tanous                               std::string_view arg2);
641f4c4dcf4SKowalski, Kamil 
642f4c4dcf4SKowalski, Kamil /**
643f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterNotSupported message into JSON
64466ac2b8cSJason M. Bills  * Message body: "The parameter <arg1> for the action <arg2> is not supported on
645f4c4dcf4SKowalski, Kamil  * the target resource."
646f4c4dcf4SKowalski, Kamil  *
647f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
648f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
649f4c4dcf4SKowalski, Kamil  *
650f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterNotSupported formatted to JSON */
6511668ce6dSEd Tanous nlohmann::json actionParameterNotSupported(std::string_view arg1,
6521668ce6dSEd Tanous                                            std::string_view arg2);
653b5c07418SJames Feist 
6541668ce6dSEd Tanous void actionParameterNotSupported(crow::Response& res, std::string_view arg1,
6551668ce6dSEd Tanous                                  std::string_view arg2);
656f4c4dcf4SKowalski, Kamil 
657f4c4dcf4SKowalski, Kamil /**
658f4c4dcf4SKowalski, Kamil  * @brief Formats SourceDoesNotSupportProtocol message into JSON
65966ac2b8cSJason M. Bills  * Message body: "The other end of the Connection at <arg1> does not support the
66066ac2b8cSJason M. Bills  * specified protocol <arg2>."
661f4c4dcf4SKowalski, Kamil  *
662f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
663f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
664f4c4dcf4SKowalski, Kamil  *
665f4c4dcf4SKowalski, Kamil  * @returns Message SourceDoesNotSupportProtocol formatted to JSON */
666ace85d60SEd Tanous nlohmann::json sourceDoesNotSupportProtocol(const boost::urls::url_view& arg1,
6671668ce6dSEd Tanous                                             std::string_view arg2);
668b5c07418SJames Feist 
669ace85d60SEd Tanous void sourceDoesNotSupportProtocol(crow::Response& res,
670ace85d60SEd Tanous                                   const boost::urls::url_view& arg1,
6711668ce6dSEd Tanous                                   std::string_view arg2);
672f4c4dcf4SKowalski, Kamil 
673f4c4dcf4SKowalski, Kamil /**
674f4c4dcf4SKowalski, Kamil  * @brief Formats AccountRemoved message into JSON
675f4c4dcf4SKowalski, Kamil  * Message body: "The account was successfully removed."
676f4c4dcf4SKowalski, Kamil  *
677f4c4dcf4SKowalski, Kamil  *
678f4c4dcf4SKowalski, Kamil  * @returns Message AccountRemoved formatted to JSON */
67965176d39SEd Tanous nlohmann::json accountRemoved();
680b5c07418SJames Feist 
681f12894f8SJason M. Bills void accountRemoved(crow::Response& res);
682f4c4dcf4SKowalski, Kamil 
683f4c4dcf4SKowalski, Kamil /**
684f4c4dcf4SKowalski, Kamil  * @brief Formats AccessDenied message into JSON
68566ac2b8cSJason M. Bills  * Message body: "While attempting to establish a Connection to <arg1>, the
686f4c4dcf4SKowalski, Kamil  * service denied access."
687f4c4dcf4SKowalski, Kamil  *
688f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
689f4c4dcf4SKowalski, Kamil  *
690f4c4dcf4SKowalski, Kamil  * @returns Message AccessDenied formatted to JSON */
691f7725d79SEd Tanous nlohmann::json accessDenied(const boost::urls::url_view& arg1);
692b5c07418SJames Feist 
693f7725d79SEd Tanous void accessDenied(crow::Response& res, const boost::urls::url_view& arg1);
694f4c4dcf4SKowalski, Kamil 
695f4c4dcf4SKowalski, Kamil /**
696f4c4dcf4SKowalski, Kamil  * @brief Formats QueryNotSupported message into JSON
697f4c4dcf4SKowalski, Kamil  * Message body: "Querying is not supported by the implementation."
698f4c4dcf4SKowalski, Kamil  *
699f4c4dcf4SKowalski, Kamil  *
700f4c4dcf4SKowalski, Kamil  * @returns Message QueryNotSupported formatted to JSON */
70165176d39SEd Tanous nlohmann::json queryNotSupported();
702b5c07418SJames Feist 
703f12894f8SJason M. Bills void queryNotSupported(crow::Response& res);
704f4c4dcf4SKowalski, Kamil 
705f4c4dcf4SKowalski, Kamil /**
706f4c4dcf4SKowalski, Kamil  * @brief Formats CreateLimitReachedForResource message into JSON
707f4c4dcf4SKowalski, Kamil  * Message body: "The create operation failed because the resource has reached
708f4c4dcf4SKowalski, Kamil  * the limit of possible resources."
709f4c4dcf4SKowalski, Kamil  *
710f4c4dcf4SKowalski, Kamil  *
711f4c4dcf4SKowalski, Kamil  * @returns Message CreateLimitReachedForResource formatted to JSON */
71265176d39SEd Tanous nlohmann::json createLimitReachedForResource();
713b5c07418SJames Feist 
714f12894f8SJason M. Bills void createLimitReachedForResource(crow::Response& res);
715f4c4dcf4SKowalski, Kamil 
716f4c4dcf4SKowalski, Kamil /**
717f4c4dcf4SKowalski, Kamil  * @brief Formats GeneralError message into JSON
718f4c4dcf4SKowalski, Kamil  * Message body: "A general error has occurred. See ExtendedInfo for more
719f4c4dcf4SKowalski, Kamil  * information."
720f4c4dcf4SKowalski, Kamil  *
721f4c4dcf4SKowalski, Kamil  *
722f4c4dcf4SKowalski, Kamil  * @returns Message GeneralError formatted to JSON */
72365176d39SEd Tanous nlohmann::json generalError();
724b5c07418SJames Feist 
725f12894f8SJason M. Bills void generalError(crow::Response& res);
726f4c4dcf4SKowalski, Kamil 
727f4c4dcf4SKowalski, Kamil /**
728f4c4dcf4SKowalski, Kamil  * @brief Formats Success message into JSON
729f4c4dcf4SKowalski, Kamil  * Message body: "Successfully Completed Request"
730f4c4dcf4SKowalski, Kamil  *
731f4c4dcf4SKowalski, Kamil  *
732f4c4dcf4SKowalski, Kamil  * @returns Message Success formatted to JSON */
73365176d39SEd Tanous nlohmann::json success();
734b5c07418SJames Feist 
735f12894f8SJason M. Bills void success(crow::Response& res);
736f12894f8SJason M. Bills 
737f12894f8SJason M. Bills /**
738f4c4dcf4SKowalski, Kamil  * @brief Formats Created message into JSON
739f4c4dcf4SKowalski, Kamil  * Message body: "The resource has been created successfully"
740f4c4dcf4SKowalski, Kamil  *
741f4c4dcf4SKowalski, Kamil  *
742f4c4dcf4SKowalski, Kamil  * @returns Message Created formatted to JSON */
74365176d39SEd Tanous nlohmann::json created();
744b5c07418SJames Feist 
745f12894f8SJason M. Bills void created(crow::Response& res);
746f4c4dcf4SKowalski, Kamil 
747f4c4dcf4SKowalski, Kamil /**
748cc9139ecSJason M. Bills  * @brief Formats NoOperation message into JSON
749cc9139ecSJason M. Bills  * Message body: "The request body submitted contain no data to act upon and
750cc9139ecSJason M. Bills  * no changes to the resource took place."
751cc9139ecSJason M. Bills  *
752cc9139ecSJason M. Bills  *
753cc9139ecSJason M. Bills  * @returns Message NoOperation formatted to JSON */
75465176d39SEd Tanous nlohmann::json noOperation();
755b5c07418SJames Feist 
756cc9139ecSJason M. Bills void noOperation(crow::Response& res);
757cc9139ecSJason M. Bills 
758cc9139ecSJason M. Bills /**
759f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyUnknown message into JSON
76066ac2b8cSJason M. Bills  * Message body: "The property <arg1> is not in the list of valid properties for
761f4c4dcf4SKowalski, Kamil  * the resource."
762f4c4dcf4SKowalski, Kamil  *
763f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
764f4c4dcf4SKowalski, Kamil  *
765f4c4dcf4SKowalski, Kamil  * @returns Message PropertyUnknown formatted to JSON */
7661668ce6dSEd Tanous nlohmann::json propertyUnknown(std::string_view arg1);
767b5c07418SJames Feist 
7681668ce6dSEd Tanous void propertyUnknown(crow::Response& res, std::string_view arg1);
769f12894f8SJason M. Bills 
770f12894f8SJason M. Bills /**
771f4c4dcf4SKowalski, Kamil  * @brief Formats NoValidSession message into JSON
772f4c4dcf4SKowalski, Kamil  * Message body: "There is no valid session established with the
773f4c4dcf4SKowalski, Kamil  * implementation."
774f4c4dcf4SKowalski, Kamil  *
775f4c4dcf4SKowalski, Kamil  *
776f4c4dcf4SKowalski, Kamil  * @returns Message NoValidSession formatted to JSON */
77765176d39SEd Tanous nlohmann::json noValidSession();
778b5c07418SJames Feist 
779f12894f8SJason M. Bills void noValidSession(crow::Response& res);
780f4c4dcf4SKowalski, Kamil 
781f4c4dcf4SKowalski, Kamil /**
782f4c4dcf4SKowalski, Kamil  * @brief Formats InvalidObject message into JSON
78366ac2b8cSJason M. Bills  * Message body: "The object at <arg1> is invalid."
784f4c4dcf4SKowalski, Kamil  *
785f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
786f4c4dcf4SKowalski, Kamil  *
787f4c4dcf4SKowalski, Kamil  * @returns Message InvalidObject formatted to JSON */
788ace85d60SEd Tanous nlohmann::json invalidObject(const boost::urls::url_view& arg1);
789b5c07418SJames Feist 
790ace85d60SEd Tanous void invalidObject(crow::Response& res, const boost::urls::url_view& arg1);
791f4c4dcf4SKowalski, Kamil 
792f4c4dcf4SKowalski, Kamil /**
793f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceInStandby message into JSON
794f4c4dcf4SKowalski, Kamil  * Message body: "The request could not be performed because the resource is in
795f4c4dcf4SKowalski, Kamil  * standby."
796f4c4dcf4SKowalski, Kamil  *
797f4c4dcf4SKowalski, Kamil  *
798f4c4dcf4SKowalski, Kamil  * @returns Message ResourceInStandby formatted to JSON */
79965176d39SEd Tanous nlohmann::json resourceInStandby();
800b5c07418SJames Feist 
801f12894f8SJason M. Bills void resourceInStandby(crow::Response& res);
802f4c4dcf4SKowalski, Kamil 
803f4c4dcf4SKowalski, Kamil /**
804f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterValueTypeError message into JSON
80566ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the parameter <arg2> in the action <arg3>
806f4c4dcf4SKowalski, Kamil  * is of a different type than the parameter can accept."
807f4c4dcf4SKowalski, Kamil  *
808f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
809f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
810f4c4dcf4SKowalski, Kamil  * @param[in] arg3 Parameter of message that will replace %3 in its body.
811f4c4dcf4SKowalski, Kamil  *
812f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterValueTypeError formatted to JSON */
8131668ce6dSEd Tanous nlohmann::json actionParameterValueTypeError(std::string_view arg1,
8141668ce6dSEd Tanous                                              std::string_view arg2,
8151668ce6dSEd Tanous                                              std::string_view arg3);
816b5c07418SJames Feist 
8171668ce6dSEd Tanous void actionParameterValueTypeError(crow::Response& res, std::string_view arg1,
8181668ce6dSEd Tanous                                    std::string_view arg2,
8191668ce6dSEd Tanous                                    std::string_view arg3);
820f4c4dcf4SKowalski, Kamil 
821f4c4dcf4SKowalski, Kamil /**
822f4c4dcf4SKowalski, Kamil  * @brief Formats SessionLimitExceeded message into JSON
823f4c4dcf4SKowalski, Kamil  * Message body: "The session establishment failed due to the number of
824f4c4dcf4SKowalski, Kamil  * simultaneous sessions exceeding the limit of the implementation."
825f4c4dcf4SKowalski, Kamil  *
826f4c4dcf4SKowalski, Kamil  *
827f4c4dcf4SKowalski, Kamil  * @returns Message SessionLimitExceeded formatted to JSON */
82865176d39SEd Tanous nlohmann::json sessionLimitExceeded();
829b5c07418SJames Feist 
830f12894f8SJason M. Bills void sessionLimitExceeded(crow::Response& res);
831f4c4dcf4SKowalski, Kamil 
832f4c4dcf4SKowalski, Kamil /**
833f4c4dcf4SKowalski, Kamil  * @brief Formats ActionNotSupported message into JSON
83466ac2b8cSJason M. Bills  * Message body: "The action <arg1> is not supported by the resource."
835f4c4dcf4SKowalski, Kamil  *
836f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
837f4c4dcf4SKowalski, Kamil  *
838f4c4dcf4SKowalski, Kamil  * @returns Message ActionNotSupported formatted to JSON */
8391668ce6dSEd Tanous nlohmann::json actionNotSupported(std::string_view arg1);
840b5c07418SJames Feist 
8411668ce6dSEd Tanous void actionNotSupported(crow::Response& res, std::string_view arg1);
842f4c4dcf4SKowalski, Kamil 
843f4c4dcf4SKowalski, Kamil /**
844f4c4dcf4SKowalski, Kamil  * @brief Formats InvalidIndex message into JSON
84566ac2b8cSJason M. Bills  * Message body: "The index <arg1> is not a valid offset into the array."
846f4c4dcf4SKowalski, Kamil  *
847f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
848f4c4dcf4SKowalski, Kamil  *
849f4c4dcf4SKowalski, Kamil  * @returns Message InvalidIndex formatted to JSON */
8505187e09bSJosh Lehan nlohmann::json invalidIndex(int64_t arg1);
851b5c07418SJames Feist 
8525187e09bSJosh Lehan void invalidIndex(crow::Response& res, int64_t arg1);
853f4c4dcf4SKowalski, Kamil 
854f4c4dcf4SKowalski, Kamil /**
855f4c4dcf4SKowalski, Kamil  * @brief Formats EmptyJSON message into JSON
856f4c4dcf4SKowalski, Kamil  * Message body: "The request body submitted contained an empty JSON object and
857f4c4dcf4SKowalski, Kamil  * the service is unable to process it."
858f4c4dcf4SKowalski, Kamil  *
859f4c4dcf4SKowalski, Kamil  *
860f4c4dcf4SKowalski, Kamil  * @returns Message EmptyJSON formatted to JSON */
86165176d39SEd Tanous nlohmann::json emptyJSON();
862b5c07418SJames Feist 
863f12894f8SJason M. Bills void emptyJSON(crow::Response& res);
864f4c4dcf4SKowalski, Kamil 
865f4c4dcf4SKowalski, Kamil /**
866f4c4dcf4SKowalski, Kamil  * @brief Formats QueryNotSupportedOnResource message into JSON
867f4c4dcf4SKowalski, Kamil  * Message body: "Querying is not supported on the requested resource."
868f4c4dcf4SKowalski, Kamil  *
869f4c4dcf4SKowalski, Kamil  *
870f4c4dcf4SKowalski, Kamil  * @returns Message QueryNotSupportedOnResource formatted to JSON */
87165176d39SEd Tanous nlohmann::json queryNotSupportedOnResource();
872b5c07418SJames Feist 
873f12894f8SJason M. Bills void queryNotSupportedOnResource(crow::Response& res);
874f4c4dcf4SKowalski, Kamil 
875f4c4dcf4SKowalski, Kamil /**
876684bb4b8SJason M. Bills  * @brief Formats QueryNotSupportedOnOperation message into JSON
877684bb4b8SJason M. Bills  * Message body: "Querying is not supported with the requested operation."
878684bb4b8SJason M. Bills  *
879684bb4b8SJason M. Bills  *
880684bb4b8SJason M. Bills  * @returns Message QueryNotSupportedOnOperation formatted to JSON */
88165176d39SEd Tanous nlohmann::json queryNotSupportedOnOperation();
882684bb4b8SJason M. Bills 
883684bb4b8SJason M. Bills void queryNotSupportedOnOperation(crow::Response& res);
884684bb4b8SJason M. Bills 
885684bb4b8SJason M. Bills /**
886684bb4b8SJason M. Bills  * @brief Formats QueryCombinationInvalid message into JSON
887684bb4b8SJason M. Bills  * Message body: "Two or more query parameters in the request cannot be used
888684bb4b8SJason M. Bills  * together."
889684bb4b8SJason M. Bills  *
890684bb4b8SJason M. Bills  *
891684bb4b8SJason M. Bills  * @returns Message QueryCombinationInvalid formatted to JSON */
89265176d39SEd Tanous nlohmann::json queryCombinationInvalid();
893684bb4b8SJason M. Bills 
894684bb4b8SJason M. Bills void queryCombinationInvalid(crow::Response& res);
895684bb4b8SJason M. Bills 
896684bb4b8SJason M. Bills /**
897f4c4dcf4SKowalski, Kamil  * @brief Formats InsufficientPrivilege message into JSON
898f4c4dcf4SKowalski, Kamil  * Message body: "There are insufficient privileges for the account or
899f4c4dcf4SKowalski, Kamil  * credentials associated with the current session to perform the requested
900f4c4dcf4SKowalski, Kamil  * operation."
901f4c4dcf4SKowalski, Kamil  *
902f4c4dcf4SKowalski, Kamil  *
903f4c4dcf4SKowalski, Kamil  * @returns Message InsufficientPrivilege formatted to JSON */
90465176d39SEd Tanous nlohmann::json insufficientPrivilege();
905b5c07418SJames Feist 
906f12894f8SJason M. Bills void insufficientPrivilege(crow::Response& res);
907f4c4dcf4SKowalski, Kamil 
908f4c4dcf4SKowalski, Kamil /**
909f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyValueModified message into JSON
91066ac2b8cSJason M. Bills  * Message body: "The property <arg1> was assigned the value <arg2> due to
911f4c4dcf4SKowalski, Kamil  * modification by the service."
912f4c4dcf4SKowalski, Kamil  *
913f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
914f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
915f4c4dcf4SKowalski, Kamil  *
916f4c4dcf4SKowalski, Kamil  * @returns Message PropertyValueModified formatted to JSON */
9171668ce6dSEd Tanous nlohmann::json propertyValueModified(std::string_view arg1,
9181668ce6dSEd Tanous                                      std::string_view arg2);
919b5c07418SJames Feist 
9201668ce6dSEd Tanous void propertyValueModified(crow::Response& res, std::string_view arg1,
9211668ce6dSEd Tanous                            std::string_view arg2);
922f4c4dcf4SKowalski, Kamil 
923f4c4dcf4SKowalski, Kamil /**
924f4c4dcf4SKowalski, Kamil  * @brief Formats AccountNotModified message into JSON
925f4c4dcf4SKowalski, Kamil  * Message body: "The account modification request failed."
926f4c4dcf4SKowalski, Kamil  *
927f4c4dcf4SKowalski, Kamil  *
928f4c4dcf4SKowalski, Kamil  * @returns Message AccountNotModified formatted to JSON */
92965176d39SEd Tanous nlohmann::json accountNotModified();
930b5c07418SJames Feist 
931f12894f8SJason M. Bills void accountNotModified(crow::Response& res);
932f4c4dcf4SKowalski, Kamil 
933f4c4dcf4SKowalski, Kamil /**
934f4c4dcf4SKowalski, Kamil  * @brief Formats QueryParameterValueFormatError message into JSON
93566ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the parameter <arg2> is of a different
936f4c4dcf4SKowalski, Kamil  * format than the parameter can accept."
937f4c4dcf4SKowalski, Kamil  *
938f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
939f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
940f4c4dcf4SKowalski, Kamil  *
941f4c4dcf4SKowalski, Kamil  * @returns Message QueryParameterValueFormatError formatted to JSON */
942b5c07418SJames Feist 
9431668ce6dSEd Tanous nlohmann::json queryParameterValueFormatError(std::string_view arg1,
9441668ce6dSEd Tanous                                               std::string_view arg2);
945b5c07418SJames Feist 
9461668ce6dSEd Tanous void queryParameterValueFormatError(crow::Response& res, std::string_view arg1,
9471668ce6dSEd Tanous                                     std::string_view arg2);
948f4c4dcf4SKowalski, Kamil 
949f4c4dcf4SKowalski, Kamil /**
950f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyMissing message into JSON
95166ac2b8cSJason M. Bills  * Message body: "The property <arg1> is a required property and must be
952f4c4dcf4SKowalski, Kamil  * included in the request."
953f4c4dcf4SKowalski, Kamil  *
954f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
955f4c4dcf4SKowalski, Kamil  *
956f4c4dcf4SKowalski, Kamil  * @returns Message PropertyMissing formatted to JSON */
9571668ce6dSEd Tanous nlohmann::json propertyMissing(std::string_view arg1);
958b5c07418SJames Feist 
9591668ce6dSEd Tanous void propertyMissing(crow::Response& res, std::string_view arg1);
960f12894f8SJason M. Bills 
961f12894f8SJason M. Bills /**
962f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceExhaustion message into JSON
96366ac2b8cSJason M. Bills  * Message body: "The resource <arg1> was unable to satisfy the request due to
964f4c4dcf4SKowalski, Kamil  * unavailability of resources."
965f4c4dcf4SKowalski, Kamil  *
966f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
967f4c4dcf4SKowalski, Kamil  *
968f4c4dcf4SKowalski, Kamil  * @returns Message ResourceExhaustion formatted to JSON */
9691668ce6dSEd Tanous nlohmann::json resourceExhaustion(std::string_view arg1);
970b5c07418SJames Feist 
9711668ce6dSEd Tanous void resourceExhaustion(crow::Response& res, std::string_view arg1);
972f4c4dcf4SKowalski, Kamil 
973f4c4dcf4SKowalski, Kamil /**
974f4c4dcf4SKowalski, Kamil  * @brief Formats AccountModified message into JSON
975f4c4dcf4SKowalski, Kamil  * Message body: "The account was successfully modified."
976f4c4dcf4SKowalski, Kamil  *
977f4c4dcf4SKowalski, Kamil  *
978f4c4dcf4SKowalski, Kamil  * @returns Message AccountModified formatted to JSON */
97965176d39SEd Tanous nlohmann::json accountModified();
980b5c07418SJames Feist 
981a08b46ccSJason M. Bills void accountModified(crow::Response& res);
982f4c4dcf4SKowalski, Kamil 
983f4c4dcf4SKowalski, Kamil /**
984f4c4dcf4SKowalski, Kamil  * @brief Formats QueryParameterOutOfRange message into JSON
98566ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the query parameter <arg2> is out of
98666ac2b8cSJason M. Bills  * range <arg3>."
987f4c4dcf4SKowalski, Kamil  *
988f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
989f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
990f4c4dcf4SKowalski, Kamil  * @param[in] arg3 Parameter of message that will replace %3 in its body.
991f4c4dcf4SKowalski, Kamil  *
992f4c4dcf4SKowalski, Kamil  * @returns Message QueryParameterOutOfRange formatted to JSON */
9931668ce6dSEd Tanous nlohmann::json queryParameterOutOfRange(std::string_view arg1,
9941668ce6dSEd Tanous                                         std::string_view arg2,
9951668ce6dSEd Tanous                                         std::string_view arg3);
996b5c07418SJames Feist 
9971668ce6dSEd Tanous void queryParameterOutOfRange(crow::Response& res, std::string_view arg1,
9981668ce6dSEd Tanous                               std::string_view arg2, std::string_view arg3);
999f4c4dcf4SKowalski, Kamil 
10003bf4e632SJoseph Reynolds /**
10013bf4e632SJoseph Reynolds  * @brief Formats PasswordChangeRequired message into JSON
10023bf4e632SJoseph Reynolds  * Message body: The password provided for this account must be changed
10033bf4e632SJoseph Reynolds  * before access is granted.  PATCH the 'Password' property for this
10043bf4e632SJoseph Reynolds  * account located at the target URI '%1' to complete this process.
10053bf4e632SJoseph Reynolds  *
10063bf4e632SJoseph Reynolds  * @param[in] arg1 Parameter of message that will replace %1 in its body.
10073bf4e632SJoseph Reynolds  *
10083bf4e632SJoseph Reynolds  * @returns Message PasswordChangeRequired formatted to JSON */
1009ace85d60SEd Tanous 
1010ace85d60SEd Tanous nlohmann::json passwordChangeRequired(const boost::urls::url_view& arg1);
1011ace85d60SEd Tanous 
1012ace85d60SEd Tanous void passwordChangeRequired(crow::Response& res,
1013ace85d60SEd Tanous                             const boost::urls::url_view& arg1);
10143bf4e632SJoseph Reynolds 
10154cde5d90SJames Feist /**
10164cde5d90SJames Feist  * @brief Formats InvalidUpload message into JSON
10174cde5d90SJames Feist  * Message body: Invalid file uploaded to %1: %2.*
10184cde5d90SJames Feist  * @param[in] arg1 Parameter of message that will replace %1 in its body.
10194cde5d90SJames Feist  * @param[in] arg2 Parameter of message that will replace %2 in its body.
10204cde5d90SJames Feist  *
10214cde5d90SJames Feist  * @returns Message InvalidUpload formatted to JSON */
10221668ce6dSEd Tanous nlohmann::json invalidUpload(std::string_view arg1, std::string_view arg2);
10234cde5d90SJames Feist 
10241668ce6dSEd Tanous void invalidUpload(crow::Response& res, std::string_view arg1,
10251668ce6dSEd Tanous                    std::string_view arg2);
10264cde5d90SJames Feist 
1027ae688313SNan Zhou /**
1028ae688313SNan Zhou  * @brief Formats InsufficientStorage message into JSON
1029ae688313SNan Zhou  * Message body: "Insufficent storage or memory available to complete the
1030ae688313SNan Zhou  *  request."
1031ae688313SNan Zhou  * @returns Message InsufficientStorage formatted to JSON */
1032ae688313SNan Zhou nlohmann::json insufficientStorage();
1033ae688313SNan Zhou 
1034ae688313SNan Zhou void insufficientStorage(crow::Response& res);
1035ae688313SNan Zhou 
1036f4c4dcf4SKowalski, Kamil } // namespace messages
1037f4c4dcf4SKowalski, Kamil 
1038f4c4dcf4SKowalski, Kamil } // namespace redfish
1039