xref: /openbmc/bmcweb/features/redfish/include/error_messages.hpp (revision cc9139ec3fe5e354d046d5e00f33a5e97426924e)
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 /****************************************************************
17f4c4dcf4SKowalski, Kamil  * This is an auto-generated header which contains definitions
18f4c4dcf4SKowalski, Kamil  * to use Redfish DMTF defined messages.
19f4c4dcf4SKowalski, Kamil  *
20f4c4dcf4SKowalski, Kamil  * This header contains preprocessor defines which wrap
21f4c4dcf4SKowalski, Kamil  * preparation functions for message with given id. The message
22f4c4dcf4SKowalski, Kamil  * ids can be retrieved from Base.__ver__.json file.
23f4c4dcf4SKowalski, Kamil  ***************************************************************/
24f4c4dcf4SKowalski, Kamil #pragma once
25f4c4dcf4SKowalski, Kamil #include <nlohmann/json.hpp>
26f4c4dcf4SKowalski, Kamil 
27f12894f8SJason M. Bills #include "crow/http_response.h"
28f12894f8SJason M. Bills 
291abe55efSEd Tanous namespace redfish
301abe55efSEd Tanous {
31f4c4dcf4SKowalski, Kamil 
321abe55efSEd Tanous namespace messages
331abe55efSEd Tanous {
34f4c4dcf4SKowalski, Kamil 
3555c7b7a2SEd Tanous constexpr const char* messageVersionPrefix = "Base.1.2.0.";
3655c7b7a2SEd Tanous constexpr const char* messageAnnotation = "@Message.ExtendedInfo";
37f4c4dcf4SKowalski, Kamil 
38f4c4dcf4SKowalski, Kamil /**
39f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceInUse message into JSON
40f4c4dcf4SKowalski, Kamil  * Message body: "The change to the requested resource failed because the
41f4c4dcf4SKowalski, Kamil  * resource is in use or in transition."
42f4c4dcf4SKowalski, Kamil  *
43f4c4dcf4SKowalski, Kamil  *
44f4c4dcf4SKowalski, Kamil  * @returns Message ResourceInUse formatted to JSON */
45f12894f8SJason M. Bills void resourceInUse(crow::Response& res);
46f4c4dcf4SKowalski, Kamil 
47f4c4dcf4SKowalski, Kamil /**
48f4c4dcf4SKowalski, Kamil  * @brief Formats MalformedJSON message into JSON
49f4c4dcf4SKowalski, Kamil  * Message body: "The request body submitted was malformed JSON and could not be
50f4c4dcf4SKowalski, Kamil  * parsed by the receiving service."
51f4c4dcf4SKowalski, Kamil  *
52f4c4dcf4SKowalski, Kamil  *
53f4c4dcf4SKowalski, Kamil  * @returns Message MalformedJSON formatted to JSON */
54f12894f8SJason M. Bills void malformedJSON(crow::Response& res);
55f4c4dcf4SKowalski, Kamil 
56f4c4dcf4SKowalski, Kamil /**
57f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceMissingAtURI message into JSON
5866ac2b8cSJason M. Bills  * Message body: "The resource at the URI <arg1> was not found."
59f4c4dcf4SKowalski, Kamil  *
60f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
61f4c4dcf4SKowalski, Kamil  *
62f4c4dcf4SKowalski, Kamil  * @returns Message ResourceMissingAtURI formatted to JSON */
63f12894f8SJason M. Bills void resourceMissingAtURI(crow::Response& res, const std::string& arg1);
64f4c4dcf4SKowalski, Kamil 
65f4c4dcf4SKowalski, Kamil /**
66f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterValueFormatError message into JSON
6766ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the parameter <arg2> in the action <arg3>
68f4c4dcf4SKowalski, Kamil  * is of a different format than the parameter can accept."
69f4c4dcf4SKowalski, Kamil  *
70f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
71f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
72f4c4dcf4SKowalski, Kamil  * @param[in] arg3 Parameter of message that will replace %3 in its body.
73f4c4dcf4SKowalski, Kamil  *
74f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterValueFormatError formatted to JSON */
75f12894f8SJason M. Bills void actionParameterValueFormatError(crow::Response& res,
76f12894f8SJason M. Bills                                      const std::string& arg1,
77f4c4dcf4SKowalski, Kamil                                      const std::string& arg2,
78f4c4dcf4SKowalski, Kamil                                      const std::string& arg3);
79f4c4dcf4SKowalski, Kamil 
80f4c4dcf4SKowalski, Kamil /**
81f4c4dcf4SKowalski, Kamil  * @brief Formats InternalError message into JSON
82f4c4dcf4SKowalski, Kamil  * Message body: "The request failed due to an internal service error.  The
83f4c4dcf4SKowalski, Kamil  * service is still operational."
84f4c4dcf4SKowalski, Kamil  *
85f4c4dcf4SKowalski, Kamil  *
86f4c4dcf4SKowalski, Kamil  * @returns Message InternalError formatted to JSON */
87f12894f8SJason M. Bills void internalError(crow::Response& res);
88f12894f8SJason M. Bills 
89f12894f8SJason M. Bills /**
90f12894f8SJason M. Bills  * @brief Formats InternalError message into JSON for the specified field
91f12894f8SJason M. Bills  * Message body: "The request failed due to an internal service error.  The
92f12894f8SJason M. Bills  * service is still operational."
93f12894f8SJason M. Bills  *
94f12894f8SJason M. Bills  *
95f12894f8SJason M. Bills  * @returns Message InternalError formatted to JSON */
96f12894f8SJason M. Bills void internalError(crow::Response& res, const std::string& fieldPath);
97f4c4dcf4SKowalski, Kamil 
98f4c4dcf4SKowalski, Kamil /**
99f4c4dcf4SKowalski, Kamil  * @brief Formats UnrecognizedRequestBody message into JSON
100f4c4dcf4SKowalski, Kamil  * Message body: "The service detected a malformed request body that it was
101f4c4dcf4SKowalski, Kamil  * unable to interpret."
102f4c4dcf4SKowalski, Kamil  *
103f4c4dcf4SKowalski, Kamil  *
104f4c4dcf4SKowalski, Kamil  * @returns Message UnrecognizedRequestBody formatted to JSON */
105f12894f8SJason M. Bills void unrecognizedRequestBody(crow::Response& res);
106f4c4dcf4SKowalski, Kamil 
107f4c4dcf4SKowalski, Kamil /**
108f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceAtUriUnauthorized message into JSON
10966ac2b8cSJason M. Bills  * Message body: "While accessing the resource at <arg1>, the service received
11066ac2b8cSJason M. Bills  * an authorization error <arg2>."
111f4c4dcf4SKowalski, Kamil  *
112f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
113f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
114f4c4dcf4SKowalski, Kamil  *
115f4c4dcf4SKowalski, Kamil  * @returns Message ResourceAtUriUnauthorized formatted to JSON */
116f12894f8SJason M. Bills void resourceAtUriUnauthorized(crow::Response& res, const std::string& arg1,
117f4c4dcf4SKowalski, Kamil                                const std::string& arg2);
118f4c4dcf4SKowalski, Kamil 
119f4c4dcf4SKowalski, Kamil /**
120f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterUnknown message into JSON
12166ac2b8cSJason M. Bills  * Message body: "The action <arg1> was submitted with the invalid parameter
12266ac2b8cSJason M. Bills  * <arg2>."
123f4c4dcf4SKowalski, Kamil  *
124f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
125f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
126f4c4dcf4SKowalski, Kamil  *
127f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterUnknown formatted to JSON */
128f12894f8SJason M. Bills void actionParameterUnknown(crow::Response& res, const std::string& arg1,
129f4c4dcf4SKowalski, Kamil                             const std::string& arg2);
130f4c4dcf4SKowalski, Kamil 
131f4c4dcf4SKowalski, Kamil /**
132f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceCannotBeDeleted message into JSON
133f4c4dcf4SKowalski, Kamil  * Message body: "The delete request failed because the resource requested
134f4c4dcf4SKowalski, Kamil  * cannot be deleted."
135f4c4dcf4SKowalski, Kamil  *
136f4c4dcf4SKowalski, Kamil  *
137f4c4dcf4SKowalski, Kamil  * @returns Message ResourceCannotBeDeleted formatted to JSON */
138f12894f8SJason M. Bills void resourceCannotBeDeleted(crow::Response& res);
139f4c4dcf4SKowalski, Kamil 
140f4c4dcf4SKowalski, Kamil /**
141f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyDuplicate message into JSON
14266ac2b8cSJason M. Bills  * Message body: "The property <arg1> was duplicated in the request."
143f4c4dcf4SKowalski, Kamil  *
144f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
145f4c4dcf4SKowalski, Kamil  *
146f4c4dcf4SKowalski, Kamil  * @returns Message PropertyDuplicate formatted to JSON */
147f12894f8SJason M. Bills void propertyDuplicate(crow::Response& res, const std::string& arg1);
148f4c4dcf4SKowalski, Kamil 
149f4c4dcf4SKowalski, Kamil /**
150f4c4dcf4SKowalski, Kamil  * @brief Formats ServiceTemporarilyUnavailable message into JSON
15166ac2b8cSJason M. Bills  * Message body: "The service is temporarily unavailable.  Retry in <arg1>
152f4c4dcf4SKowalski, Kamil  * seconds."
153f4c4dcf4SKowalski, Kamil  *
154f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
155f4c4dcf4SKowalski, Kamil  *
156f4c4dcf4SKowalski, Kamil  * @returns Message ServiceTemporarilyUnavailable formatted to JSON */
157f12894f8SJason M. Bills void serviceTemporarilyUnavailable(crow::Response& res,
158f12894f8SJason M. Bills                                    const std::string& arg1);
159f4c4dcf4SKowalski, Kamil 
160f4c4dcf4SKowalski, Kamil /**
161f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceAlreadyExists message into JSON
16266ac2b8cSJason M. Bills  * Message body: "The requested resource of type <arg1> with the property <arg2>
16366ac2b8cSJason M. Bills  * with the value <arg3> already exists."
164f4c4dcf4SKowalski, Kamil  *
165f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
166f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
167f4c4dcf4SKowalski, Kamil  * @param[in] arg3 Parameter of message that will replace %3 in its body.
168f4c4dcf4SKowalski, Kamil  *
169f4c4dcf4SKowalski, Kamil  * @returns Message ResourceAlreadyExists formatted to JSON */
170f12894f8SJason M. Bills void resourceAlreadyExists(crow::Response& res, const std::string& arg1,
171f12894f8SJason M. Bills                            const std::string& arg2, const std::string& arg3);
172f4c4dcf4SKowalski, Kamil 
173f4c4dcf4SKowalski, Kamil /**
174f4c4dcf4SKowalski, Kamil  * @brief Formats AccountForSessionNoLongerExists message into JSON
175f4c4dcf4SKowalski, Kamil  * Message body: "The account for the current session has been removed, thus the
176f4c4dcf4SKowalski, Kamil  * current session has been removed as well."
177f4c4dcf4SKowalski, Kamil  *
178f4c4dcf4SKowalski, Kamil  *
179f4c4dcf4SKowalski, Kamil  * @returns Message AccountForSessionNoLongerExists formatted to JSON */
180f12894f8SJason M. Bills void accountForSessionNoLongerExists(crow::Response& res);
181f4c4dcf4SKowalski, Kamil 
182f4c4dcf4SKowalski, Kamil /**
183f4c4dcf4SKowalski, Kamil  * @brief Formats CreateFailedMissingReqProperties message into JSON
184f4c4dcf4SKowalski, Kamil  * Message body: "The create operation failed because the required property
18566ac2b8cSJason M. Bills  * <arg1> was missing from the request."
186f4c4dcf4SKowalski, Kamil  *
187f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
188f4c4dcf4SKowalski, Kamil  *
189f4c4dcf4SKowalski, Kamil  * @returns Message CreateFailedMissingReqProperties formatted to JSON */
190f12894f8SJason M. Bills void createFailedMissingReqProperties(crow::Response& res,
191f12894f8SJason M. Bills                                       const std::string& arg1);
192f4c4dcf4SKowalski, Kamil 
193f4c4dcf4SKowalski, Kamil /**
194f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyValueFormatError message into JSON
19566ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the property <arg2> is of a different
196f4c4dcf4SKowalski, Kamil  * format than the property can accept."
197f4c4dcf4SKowalski, Kamil  *
198f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
199f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
200f4c4dcf4SKowalski, Kamil  *
201f4c4dcf4SKowalski, Kamil  * @returns Message PropertyValueFormatError formatted to JSON */
202f12894f8SJason M. Bills void propertyValueFormatError(crow::Response& res, const std::string& arg1,
203f4c4dcf4SKowalski, Kamil                               const std::string& arg2);
204f4c4dcf4SKowalski, Kamil 
205f4c4dcf4SKowalski, Kamil /**
206f12894f8SJason M. Bills  * @brief Formats PropertyValueFormatError message into JSON for the specified
207f12894f8SJason M. Bills  * property
20866ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the property <arg2> is of a different
209f12894f8SJason M. Bills  * format than the property can accept."
210f12894f8SJason M. Bills  *
211f12894f8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
212f12894f8SJason M. Bills  * @param[in] arg2 Parameter of message that will replace %2 in its body.
213f12894f8SJason M. Bills  *
214f12894f8SJason M. Bills  * @returns Message PropertyValueFormatError formatted to JSON */
215f12894f8SJason M. Bills void propertyValueFormatError(crow::Response& res, const std::string& arg1,
216f12894f8SJason M. Bills                               const std::string& arg2,
217f12894f8SJason M. Bills                               const std::string property);
218f12894f8SJason M. Bills 
219f12894f8SJason M. Bills /**
220f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyValueNotInList message into JSON
22166ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the property <arg2> is not in the list of
222f4c4dcf4SKowalski, Kamil  * acceptable values."
223f4c4dcf4SKowalski, Kamil  *
224f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
225f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
226f4c4dcf4SKowalski, Kamil  *
227f4c4dcf4SKowalski, Kamil  * @returns Message PropertyValueNotInList formatted to JSON */
228f12894f8SJason M. Bills void propertyValueNotInList(crow::Response& res, const std::string& arg1,
229f4c4dcf4SKowalski, Kamil                             const std::string& arg2);
230f4c4dcf4SKowalski, Kamil 
231f4c4dcf4SKowalski, Kamil /**
232f12894f8SJason M. Bills  * @brief Formats PropertyValueNotInList message into JSON for the specified
233f12894f8SJason M. Bills  * property
23466ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the property <arg2> is not in
235f12894f8SJason M. Bills  * the list of acceptable values."
236f12894f8SJason M. Bills  *
237f12894f8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
238f12894f8SJason M. Bills  * @param[in] arg2 Parameter of message that will replace %2 in its body.
239f12894f8SJason M. Bills  *
240f12894f8SJason M. Bills  * @returns Message PropertyValueNotInList formatted to JSON */
241f12894f8SJason M. Bills void propertyValueNotInList(crow::Response& res, const std::string& arg1,
242f12894f8SJason M. Bills                             const std::string& arg2,
243f12894f8SJason M. Bills                             const std::string property);
244f12894f8SJason M. Bills 
245f12894f8SJason M. Bills /**
246f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceAtUriInUnknownFormat message into JSON
24766ac2b8cSJason M. Bills  * Message body: "The resource at <arg1> is in a format not recognized by the
248f4c4dcf4SKowalski, Kamil  * service."
249f4c4dcf4SKowalski, Kamil  *
250f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
251f4c4dcf4SKowalski, Kamil  *
252f4c4dcf4SKowalski, Kamil  * @returns Message ResourceAtUriInUnknownFormat formatted to JSON */
253f12894f8SJason M. Bills void resourceAtUriInUnknownFormat(crow::Response& res, const std::string& arg1);
254f4c4dcf4SKowalski, Kamil 
255f4c4dcf4SKowalski, Kamil /**
256f4c4dcf4SKowalski, Kamil  * @brief Formats ServiceInUnknownState message into JSON
257f4c4dcf4SKowalski, Kamil  * Message body: "The operation failed because the service is in an unknown
258f4c4dcf4SKowalski, Kamil  * state and can no longer take incoming requests."
259f4c4dcf4SKowalski, Kamil  *
260f4c4dcf4SKowalski, Kamil  *
261f4c4dcf4SKowalski, Kamil  * @returns Message ServiceInUnknownState formatted to JSON */
262f12894f8SJason M. Bills void serviceInUnknownState(crow::Response& res);
263f4c4dcf4SKowalski, Kamil 
264f4c4dcf4SKowalski, Kamil /**
265f4c4dcf4SKowalski, Kamil  * @brief Formats EventSubscriptionLimitExceeded message into JSON
266f4c4dcf4SKowalski, Kamil  * Message body: "The event subscription failed due to the number of
267f4c4dcf4SKowalski, Kamil  * simultaneous subscriptions exceeding the limit of the implementation."
268f4c4dcf4SKowalski, Kamil  *
269f4c4dcf4SKowalski, Kamil  *
270f4c4dcf4SKowalski, Kamil  * @returns Message EventSubscriptionLimitExceeded formatted to JSON */
271f12894f8SJason M. Bills void eventSubscriptionLimitExceeded(crow::Response& res);
272f4c4dcf4SKowalski, Kamil 
273f4c4dcf4SKowalski, Kamil /**
274f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterMissing message into JSON
27566ac2b8cSJason M. Bills  * Message body: "The action <arg1> requires the parameter <arg2> to be present
276f4c4dcf4SKowalski, Kamil  * in the request body."
277f4c4dcf4SKowalski, Kamil  *
278f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
279f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
280f4c4dcf4SKowalski, Kamil  *
281f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterMissing formatted to JSON */
282f12894f8SJason M. Bills void actionParameterMissing(crow::Response& res, const std::string& arg1,
283f4c4dcf4SKowalski, Kamil                             const std::string& arg2);
284f4c4dcf4SKowalski, Kamil 
285f4c4dcf4SKowalski, Kamil /**
286f4c4dcf4SKowalski, Kamil  * @brief Formats StringValueTooLong message into JSON
28766ac2b8cSJason M. Bills  * Message body: "The string <arg1> exceeds the length limit <arg2>."
288f4c4dcf4SKowalski, Kamil  *
289f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
290f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
291f4c4dcf4SKowalski, Kamil  *
292f4c4dcf4SKowalski, Kamil  * @returns Message StringValueTooLong formatted to JSON */
293f12894f8SJason M. Bills void stringValueTooLong(crow::Response& res, const std::string& arg1,
294f12894f8SJason M. Bills                         const int& arg2);
295f4c4dcf4SKowalski, Kamil 
296f4c4dcf4SKowalski, Kamil /**
297*cc9139ecSJason M. Bills  * @brief Formats SessionTerminated message into JSON
298*cc9139ecSJason M. Bills  * Message body: "The session was successfully terminated."
299*cc9139ecSJason M. Bills  *
300*cc9139ecSJason M. Bills  *
301*cc9139ecSJason M. Bills  * @returns Message SessionTerminated formatted to JSON */
302*cc9139ecSJason M. Bills void sessionTerminated(crow::Response& res);
303*cc9139ecSJason M. Bills 
304*cc9139ecSJason M. Bills /**
305*cc9139ecSJason M. Bills  * @brief Formats ResourceTypeIncompatible message into JSON
306*cc9139ecSJason M. Bills  * Message body: "The @odata.type of the request body <arg1> is incompatible
307*cc9139ecSJason M. Bills  * with the @odata.type of the resource which is <arg2>."
308*cc9139ecSJason M. Bills  *
309*cc9139ecSJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
310*cc9139ecSJason M. Bills  * @param[in] arg2 Parameter of message that will replace %2 in its body.
311*cc9139ecSJason M. Bills  *
312*cc9139ecSJason M. Bills  * @returns Message ResourceTypeIncompatible formatted to JSON */
313*cc9139ecSJason M. Bills void resourceTypeIncompatible(crow::Response& res, const std::string& arg1,
314*cc9139ecSJason M. Bills                               const std::string& arg2);
315*cc9139ecSJason M. Bills 
316*cc9139ecSJason M. Bills /**
317f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyValueTypeError message into JSON
31866ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the property <arg2> is of a different
319f4c4dcf4SKowalski, Kamil  * type than the property can accept."
320f4c4dcf4SKowalski, Kamil  *
321f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
322f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
323f4c4dcf4SKowalski, Kamil  *
324f4c4dcf4SKowalski, Kamil  * @returns Message PropertyValueTypeError formatted to JSON */
325f12894f8SJason M. Bills void propertyValueTypeError(crow::Response& res, const std::string& arg1,
326f4c4dcf4SKowalski, Kamil                             const std::string& arg2);
327f4c4dcf4SKowalski, Kamil 
328f4c4dcf4SKowalski, Kamil /**
329f12894f8SJason M. Bills  * @brief Formats PropertyValueTypeError message into JSON for the specified
330f12894f8SJason M. Bills  * property
33166ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the property <arg2> is of a
332f12894f8SJason M. Bills  * different type than the property can accept."
333f12894f8SJason M. Bills  *
334f12894f8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
335f12894f8SJason M. Bills  * @param[in] arg2 Parameter of message that will replace %2 in its body.
336f12894f8SJason M. Bills  *
337f12894f8SJason M. Bills  * @returns Message PropertyValueTypeError formatted to JSON */
338f12894f8SJason M. Bills void propertyValueTypeError(crow::Response& res, const std::string& arg1,
339f12894f8SJason M. Bills                             const std::string& arg2,
340f12894f8SJason M. Bills                             const std::string& property);
341f12894f8SJason M. Bills 
342f12894f8SJason M. Bills /**
343f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceNotFound message into JSON
34466ac2b8cSJason M. Bills  * Message body: "The requested resource of type <arg1> named <arg2> was not
345f4c4dcf4SKowalski, Kamil  * found."
346f4c4dcf4SKowalski, Kamil  *
347f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
348f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
349f4c4dcf4SKowalski, Kamil  *
350f4c4dcf4SKowalski, Kamil  * @returns Message ResourceNotFound formatted to JSON */
351f12894f8SJason M. Bills void resourceNotFound(crow::Response& res, const std::string& arg1,
352f4c4dcf4SKowalski, Kamil                       const std::string& arg2);
353f4c4dcf4SKowalski, Kamil 
354f4c4dcf4SKowalski, Kamil /**
355f4c4dcf4SKowalski, Kamil  * @brief Formats CouldNotEstablishConnection message into JSON
35655c7b7a2SEd Tanous  * Message body: "The service failed to establish a Connection with the URI
35766ac2b8cSJason M. Bills  * <arg1>."
358f4c4dcf4SKowalski, Kamil  *
359f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
360f4c4dcf4SKowalski, Kamil  *
361f4c4dcf4SKowalski, Kamil  * @returns Message CouldNotEstablishConnection formatted to JSON */
362f12894f8SJason M. Bills void couldNotEstablishConnection(crow::Response& res, const std::string& arg1);
363f4c4dcf4SKowalski, Kamil 
364f4c4dcf4SKowalski, Kamil /**
365f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyNotWritable message into JSON
36666ac2b8cSJason M. Bills  * Message body: "The property <arg1> is a read only property and cannot be
367f4c4dcf4SKowalski, Kamil  * assigned a value."
368f4c4dcf4SKowalski, Kamil  *
369f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
370f4c4dcf4SKowalski, Kamil  *
371f4c4dcf4SKowalski, Kamil  * @returns Message PropertyNotWritable formatted to JSON */
372f12894f8SJason M. Bills void propertyNotWritable(crow::Response& res, const std::string& arg1);
373f12894f8SJason M. Bills 
374f12894f8SJason M. Bills /**
375f12894f8SJason M. Bills  * @brief Formats PropertyNotWritable message into JSON for the specified
376f12894f8SJason M. Bills  * property
37766ac2b8cSJason M. Bills  * Message body: "The property <arg1> is a read only property and
378f12894f8SJason M. Bills  * cannot be assigned a value."
379f12894f8SJason M. Bills  *
380f12894f8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
381f12894f8SJason M. Bills  *
382f12894f8SJason M. Bills  * @returns Message PropertyNotWritable formatted to JSON */
383f12894f8SJason M. Bills void propertyNotWritable(crow::Response& res, const std::string& arg1,
384f12894f8SJason M. Bills                          const std::string& property);
385f4c4dcf4SKowalski, Kamil 
386f4c4dcf4SKowalski, Kamil /**
387f4c4dcf4SKowalski, Kamil  * @brief Formats QueryParameterValueTypeError message into JSON
38866ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the query parameter <arg2> is of a
389f4c4dcf4SKowalski, Kamil  * different type than the parameter can accept."
390f4c4dcf4SKowalski, Kamil  *
391f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
392f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
393f4c4dcf4SKowalski, Kamil  *
394f4c4dcf4SKowalski, Kamil  * @returns Message QueryParameterValueTypeError formatted to JSON */
395f12894f8SJason M. Bills void queryParameterValueTypeError(crow::Response& res, const std::string& arg1,
396f4c4dcf4SKowalski, Kamil                                   const std::string& arg2);
397f4c4dcf4SKowalski, Kamil 
398f4c4dcf4SKowalski, Kamil /**
399f4c4dcf4SKowalski, Kamil  * @brief Formats ServiceShuttingDown message into JSON
400f4c4dcf4SKowalski, Kamil  * Message body: "The operation failed because the service is shutting down and
401f4c4dcf4SKowalski, Kamil  * can no longer take incoming requests."
402f4c4dcf4SKowalski, Kamil  *
403f4c4dcf4SKowalski, Kamil  *
404f4c4dcf4SKowalski, Kamil  * @returns Message ServiceShuttingDown formatted to JSON */
405f12894f8SJason M. Bills void serviceShuttingDown(crow::Response& res);
406f4c4dcf4SKowalski, Kamil 
407f4c4dcf4SKowalski, Kamil /**
408f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterDuplicate message into JSON
40966ac2b8cSJason M. Bills  * Message body: "The action <arg1> was submitted with more than one value for
41066ac2b8cSJason M. Bills  * the parameter <arg2>."
411f4c4dcf4SKowalski, Kamil  *
412f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
413f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
414f4c4dcf4SKowalski, Kamil  *
415f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterDuplicate formatted to JSON */
416f12894f8SJason M. Bills void actionParameterDuplicate(crow::Response& res, const std::string& arg1,
417f4c4dcf4SKowalski, Kamil                               const std::string& arg2);
418f4c4dcf4SKowalski, Kamil 
419f4c4dcf4SKowalski, Kamil /**
420f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterNotSupported message into JSON
42166ac2b8cSJason M. Bills  * Message body: "The parameter <arg1> for the action <arg2> is not supported on
422f4c4dcf4SKowalski, Kamil  * the target resource."
423f4c4dcf4SKowalski, Kamil  *
424f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
425f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
426f4c4dcf4SKowalski, Kamil  *
427f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterNotSupported formatted to JSON */
428f12894f8SJason M. Bills void actionParameterNotSupported(crow::Response& res, const std::string& arg1,
429f4c4dcf4SKowalski, Kamil                                  const std::string& arg2);
430f4c4dcf4SKowalski, Kamil 
431f4c4dcf4SKowalski, Kamil /**
432f4c4dcf4SKowalski, Kamil  * @brief Formats SourceDoesNotSupportProtocol message into JSON
43366ac2b8cSJason M. Bills  * Message body: "The other end of the Connection at <arg1> does not support the
43466ac2b8cSJason M. Bills  * specified protocol <arg2>."
435f4c4dcf4SKowalski, Kamil  *
436f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
437f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
438f4c4dcf4SKowalski, Kamil  *
439f4c4dcf4SKowalski, Kamil  * @returns Message SourceDoesNotSupportProtocol formatted to JSON */
440f12894f8SJason M. Bills void sourceDoesNotSupportProtocol(crow::Response& res, const std::string& arg1,
441f4c4dcf4SKowalski, Kamil                                   const std::string& arg2);
442f4c4dcf4SKowalski, Kamil 
443f4c4dcf4SKowalski, Kamil /**
444f4c4dcf4SKowalski, Kamil  * @brief Formats AccountRemoved message into JSON
445f4c4dcf4SKowalski, Kamil  * Message body: "The account was successfully removed."
446f4c4dcf4SKowalski, Kamil  *
447f4c4dcf4SKowalski, Kamil  *
448f4c4dcf4SKowalski, Kamil  * @returns Message AccountRemoved formatted to JSON */
449f12894f8SJason M. Bills void accountRemoved(crow::Response& res);
450f4c4dcf4SKowalski, Kamil 
451f4c4dcf4SKowalski, Kamil /**
452f4c4dcf4SKowalski, Kamil  * @brief Formats AccessDenied message into JSON
45366ac2b8cSJason M. Bills  * Message body: "While attempting to establish a Connection to <arg1>, the
454f4c4dcf4SKowalski, Kamil  * service denied access."
455f4c4dcf4SKowalski, Kamil  *
456f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
457f4c4dcf4SKowalski, Kamil  *
458f4c4dcf4SKowalski, Kamil  * @returns Message AccessDenied formatted to JSON */
459f12894f8SJason M. Bills void accessDenied(crow::Response& res, const std::string& arg1);
460f4c4dcf4SKowalski, Kamil 
461f4c4dcf4SKowalski, Kamil /**
462f4c4dcf4SKowalski, Kamil  * @brief Formats QueryNotSupported message into JSON
463f4c4dcf4SKowalski, Kamil  * Message body: "Querying is not supported by the implementation."
464f4c4dcf4SKowalski, Kamil  *
465f4c4dcf4SKowalski, Kamil  *
466f4c4dcf4SKowalski, Kamil  * @returns Message QueryNotSupported formatted to JSON */
467f12894f8SJason M. Bills void queryNotSupported(crow::Response& res);
468f4c4dcf4SKowalski, Kamil 
469f4c4dcf4SKowalski, Kamil /**
470f4c4dcf4SKowalski, Kamil  * @brief Formats CreateLimitReachedForResource message into JSON
471f4c4dcf4SKowalski, Kamil  * Message body: "The create operation failed because the resource has reached
472f4c4dcf4SKowalski, Kamil  * the limit of possible resources."
473f4c4dcf4SKowalski, Kamil  *
474f4c4dcf4SKowalski, Kamil  *
475f4c4dcf4SKowalski, Kamil  * @returns Message CreateLimitReachedForResource formatted to JSON */
476f12894f8SJason M. Bills void createLimitReachedForResource(crow::Response& res);
477f4c4dcf4SKowalski, Kamil 
478f4c4dcf4SKowalski, Kamil /**
479f4c4dcf4SKowalski, Kamil  * @brief Formats GeneralError message into JSON
480f4c4dcf4SKowalski, Kamil  * Message body: "A general error has occurred. See ExtendedInfo for more
481f4c4dcf4SKowalski, Kamil  * information."
482f4c4dcf4SKowalski, Kamil  *
483f4c4dcf4SKowalski, Kamil  *
484f4c4dcf4SKowalski, Kamil  * @returns Message GeneralError formatted to JSON */
485f12894f8SJason M. Bills void generalError(crow::Response& res);
486f4c4dcf4SKowalski, Kamil 
487f4c4dcf4SKowalski, Kamil /**
488f4c4dcf4SKowalski, Kamil  * @brief Formats Success message into JSON
489f4c4dcf4SKowalski, Kamil  * Message body: "Successfully Completed Request"
490f4c4dcf4SKowalski, Kamil  *
491f4c4dcf4SKowalski, Kamil  *
492f4c4dcf4SKowalski, Kamil  * @returns Message Success formatted to JSON */
493f12894f8SJason M. Bills void success(crow::Response& res);
494f12894f8SJason M. Bills 
495f12894f8SJason M. Bills /**
496f12894f8SJason M. Bills  * @brief Formats Success message into JSON for the specified field
497f12894f8SJason M. Bills  * Message body: "Successfully Completed Request"
498f12894f8SJason M. Bills  *
499f12894f8SJason M. Bills  *
500f12894f8SJason M. Bills  * @returns Message Success formatted to JSON */
501f12894f8SJason M. Bills void success(crow::Response& res, const std::string& fieldPath);
502f4c4dcf4SKowalski, Kamil 
503f4c4dcf4SKowalski, Kamil /**
504f4c4dcf4SKowalski, Kamil  * @brief Formats Created message into JSON
505f4c4dcf4SKowalski, Kamil  * Message body: "The resource has been created successfully"
506f4c4dcf4SKowalski, Kamil  *
507f4c4dcf4SKowalski, Kamil  *
508f4c4dcf4SKowalski, Kamil  * @returns Message Created formatted to JSON */
509f12894f8SJason M. Bills void created(crow::Response& res);
510f4c4dcf4SKowalski, Kamil 
511f4c4dcf4SKowalski, Kamil /**
512*cc9139ecSJason M. Bills  * @brief Formats NoOperation message into JSON
513*cc9139ecSJason M. Bills  * Message body: "The request body submitted contain no data to act upon and
514*cc9139ecSJason M. Bills  * no changes to the resource took place."
515*cc9139ecSJason M. Bills  *
516*cc9139ecSJason M. Bills  *
517*cc9139ecSJason M. Bills  * @returns Message NoOperation formatted to JSON */
518*cc9139ecSJason M. Bills void noOperation(crow::Response& res);
519*cc9139ecSJason M. Bills 
520*cc9139ecSJason M. Bills /**
521f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyUnknown message into JSON
52266ac2b8cSJason M. Bills  * Message body: "The property <arg1> is not in the list of valid properties for
523f4c4dcf4SKowalski, Kamil  * the resource."
524f4c4dcf4SKowalski, Kamil  *
525f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
526f4c4dcf4SKowalski, Kamil  *
527f4c4dcf4SKowalski, Kamil  * @returns Message PropertyUnknown formatted to JSON */
528f12894f8SJason M. Bills void propertyUnknown(crow::Response& res, const std::string& arg1);
529f12894f8SJason M. Bills 
530f12894f8SJason M. Bills /**
531f12894f8SJason M. Bills  * @brief Formats PropertyUnknown message into JSON for the specified property
53266ac2b8cSJason M. Bills  * Message body: "The property <arg1> is not in the list of valid properties for
533f12894f8SJason M. Bills  * the resource."
534f12894f8SJason M. Bills  *
535f12894f8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
536f12894f8SJason M. Bills  *
537f12894f8SJason M. Bills  * @returns Message PropertyUnknown formatted to JSON */
538f12894f8SJason M. Bills void propertyUnknown(crow::Response& res, const std::string& arg1,
539f12894f8SJason M. Bills                      const std::string& property);
540f4c4dcf4SKowalski, Kamil 
541f4c4dcf4SKowalski, Kamil /**
542f4c4dcf4SKowalski, Kamil  * @brief Formats NoValidSession message into JSON
543f4c4dcf4SKowalski, Kamil  * Message body: "There is no valid session established with the
544f4c4dcf4SKowalski, Kamil  * implementation."
545f4c4dcf4SKowalski, Kamil  *
546f4c4dcf4SKowalski, Kamil  *
547f4c4dcf4SKowalski, Kamil  * @returns Message NoValidSession formatted to JSON */
548f12894f8SJason M. Bills void noValidSession(crow::Response& res);
549f4c4dcf4SKowalski, Kamil 
550f4c4dcf4SKowalski, Kamil /**
551f4c4dcf4SKowalski, Kamil  * @brief Formats InvalidObject message into JSON
55266ac2b8cSJason M. Bills  * Message body: "The object at <arg1> is invalid."
553f4c4dcf4SKowalski, Kamil  *
554f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
555f4c4dcf4SKowalski, Kamil  *
556f4c4dcf4SKowalski, Kamil  * @returns Message InvalidObject formatted to JSON */
557f12894f8SJason M. Bills void invalidObject(crow::Response& res, const std::string& arg1);
558f4c4dcf4SKowalski, Kamil 
559f4c4dcf4SKowalski, Kamil /**
560f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceInStandby message into JSON
561f4c4dcf4SKowalski, Kamil  * Message body: "The request could not be performed because the resource is in
562f4c4dcf4SKowalski, Kamil  * standby."
563f4c4dcf4SKowalski, Kamil  *
564f4c4dcf4SKowalski, Kamil  *
565f4c4dcf4SKowalski, Kamil  * @returns Message ResourceInStandby formatted to JSON */
566f12894f8SJason M. Bills void resourceInStandby(crow::Response& res);
567f4c4dcf4SKowalski, Kamil 
568f4c4dcf4SKowalski, Kamil /**
569f4c4dcf4SKowalski, Kamil  * @brief Formats ActionParameterValueTypeError message into JSON
57066ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the parameter <arg2> in the action <arg3>
571f4c4dcf4SKowalski, Kamil  * is of a different type than the parameter can accept."
572f4c4dcf4SKowalski, Kamil  *
573f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
574f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
575f4c4dcf4SKowalski, Kamil  * @param[in] arg3 Parameter of message that will replace %3 in its body.
576f4c4dcf4SKowalski, Kamil  *
577f4c4dcf4SKowalski, Kamil  * @returns Message ActionParameterValueTypeError formatted to JSON */
578f12894f8SJason M. Bills void actionParameterValueTypeError(crow::Response& res, const std::string& arg1,
579f4c4dcf4SKowalski, Kamil                                    const std::string& arg2,
580f4c4dcf4SKowalski, Kamil                                    const std::string& arg3);
581f4c4dcf4SKowalski, Kamil 
582f4c4dcf4SKowalski, Kamil /**
583f4c4dcf4SKowalski, Kamil  * @brief Formats SessionLimitExceeded message into JSON
584f4c4dcf4SKowalski, Kamil  * Message body: "The session establishment failed due to the number of
585f4c4dcf4SKowalski, Kamil  * simultaneous sessions exceeding the limit of the implementation."
586f4c4dcf4SKowalski, Kamil  *
587f4c4dcf4SKowalski, Kamil  *
588f4c4dcf4SKowalski, Kamil  * @returns Message SessionLimitExceeded formatted to JSON */
589f12894f8SJason M. Bills void sessionLimitExceeded(crow::Response& res);
590f4c4dcf4SKowalski, Kamil 
591f4c4dcf4SKowalski, Kamil /**
592f4c4dcf4SKowalski, Kamil  * @brief Formats ActionNotSupported message into JSON
59366ac2b8cSJason M. Bills  * Message body: "The action <arg1> is not supported by the resource."
594f4c4dcf4SKowalski, Kamil  *
595f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
596f4c4dcf4SKowalski, Kamil  *
597f4c4dcf4SKowalski, Kamil  * @returns Message ActionNotSupported formatted to JSON */
598f12894f8SJason M. Bills void actionNotSupported(crow::Response& res, const std::string& arg1);
599f4c4dcf4SKowalski, Kamil 
600f4c4dcf4SKowalski, Kamil /**
601f4c4dcf4SKowalski, Kamil  * @brief Formats InvalidIndex message into JSON
60266ac2b8cSJason M. Bills  * Message body: "The index <arg1> is not a valid offset into the array."
603f4c4dcf4SKowalski, Kamil  *
604f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
605f4c4dcf4SKowalski, Kamil  *
606f4c4dcf4SKowalski, Kamil  * @returns Message InvalidIndex formatted to JSON */
607f12894f8SJason M. Bills void invalidIndex(crow::Response& res, const int& arg1);
608f4c4dcf4SKowalski, Kamil 
609f4c4dcf4SKowalski, Kamil /**
610f4c4dcf4SKowalski, Kamil  * @brief Formats EmptyJSON message into JSON
611f4c4dcf4SKowalski, Kamil  * Message body: "The request body submitted contained an empty JSON object and
612f4c4dcf4SKowalski, Kamil  * the service is unable to process it."
613f4c4dcf4SKowalski, Kamil  *
614f4c4dcf4SKowalski, Kamil  *
615f4c4dcf4SKowalski, Kamil  * @returns Message EmptyJSON formatted to JSON */
616f12894f8SJason M. Bills void emptyJSON(crow::Response& res);
617f4c4dcf4SKowalski, Kamil 
618f4c4dcf4SKowalski, Kamil /**
619f4c4dcf4SKowalski, Kamil  * @brief Formats QueryNotSupportedOnResource message into JSON
620f4c4dcf4SKowalski, Kamil  * Message body: "Querying is not supported on the requested resource."
621f4c4dcf4SKowalski, Kamil  *
622f4c4dcf4SKowalski, Kamil  *
623f4c4dcf4SKowalski, Kamil  * @returns Message QueryNotSupportedOnResource formatted to JSON */
624f12894f8SJason M. Bills void queryNotSupportedOnResource(crow::Response& res);
625f4c4dcf4SKowalski, Kamil 
626f4c4dcf4SKowalski, Kamil /**
627f4c4dcf4SKowalski, Kamil  * @brief Formats InsufficientPrivilege message into JSON
628f4c4dcf4SKowalski, Kamil  * Message body: "There are insufficient privileges for the account or
629f4c4dcf4SKowalski, Kamil  * credentials associated with the current session to perform the requested
630f4c4dcf4SKowalski, Kamil  * operation."
631f4c4dcf4SKowalski, Kamil  *
632f4c4dcf4SKowalski, Kamil  *
633f4c4dcf4SKowalski, Kamil  * @returns Message InsufficientPrivilege formatted to JSON */
634f12894f8SJason M. Bills void insufficientPrivilege(crow::Response& res);
635f4c4dcf4SKowalski, Kamil 
636f4c4dcf4SKowalski, Kamil /**
637f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyValueModified message into JSON
63866ac2b8cSJason M. Bills  * Message body: "The property <arg1> was assigned the value <arg2> due to
639f4c4dcf4SKowalski, Kamil  * modification by the service."
640f4c4dcf4SKowalski, Kamil  *
641f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
642f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
643f4c4dcf4SKowalski, Kamil  *
644f4c4dcf4SKowalski, Kamil  * @returns Message PropertyValueModified formatted to JSON */
645f12894f8SJason M. Bills void propertyValueModified(crow::Response& res, const std::string& arg1,
646f4c4dcf4SKowalski, Kamil                            const std::string& arg2);
647f4c4dcf4SKowalski, Kamil 
648f4c4dcf4SKowalski, Kamil /**
649f4c4dcf4SKowalski, Kamil  * @brief Formats AccountNotModified message into JSON
650f4c4dcf4SKowalski, Kamil  * Message body: "The account modification request failed."
651f4c4dcf4SKowalski, Kamil  *
652f4c4dcf4SKowalski, Kamil  *
653f4c4dcf4SKowalski, Kamil  * @returns Message AccountNotModified formatted to JSON */
654f12894f8SJason M. Bills void accountNotModified(crow::Response& res);
655f4c4dcf4SKowalski, Kamil 
656f4c4dcf4SKowalski, Kamil /**
657f4c4dcf4SKowalski, Kamil  * @brief Formats QueryParameterValueFormatError message into JSON
65866ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the parameter <arg2> is of a different
659f4c4dcf4SKowalski, Kamil  * format than the parameter can accept."
660f4c4dcf4SKowalski, Kamil  *
661f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
662f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
663f4c4dcf4SKowalski, Kamil  *
664f4c4dcf4SKowalski, Kamil  * @returns Message QueryParameterValueFormatError formatted to JSON */
665f12894f8SJason M. Bills void queryParameterValueFormatError(crow::Response& res,
666f12894f8SJason M. Bills                                     const std::string& arg1,
667f4c4dcf4SKowalski, Kamil                                     const std::string& arg2);
668f4c4dcf4SKowalski, Kamil 
669f4c4dcf4SKowalski, Kamil /**
670f4c4dcf4SKowalski, Kamil  * @brief Formats PropertyMissing message into JSON
67166ac2b8cSJason M. Bills  * Message body: "The property <arg1> is a required property and must be
672f4c4dcf4SKowalski, Kamil  * included in the request."
673f4c4dcf4SKowalski, Kamil  *
674f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
675f4c4dcf4SKowalski, Kamil  *
676f4c4dcf4SKowalski, Kamil  * @returns Message PropertyMissing formatted to JSON */
677f12894f8SJason M. Bills void propertyMissing(crow::Response& res, const std::string& arg1);
678f12894f8SJason M. Bills 
679f12894f8SJason M. Bills /**
680f12894f8SJason M. Bills  * @brief Formats PropertyMissing message into JSON for the specified property
68166ac2b8cSJason M. Bills  * Message body: "The property <arg1> is a required property and must be
682f12894f8SJason M. Bills  * included in the request."
683f12894f8SJason M. Bills  *
684f12894f8SJason M. Bills  * @param[in] arg1 Parameter of message that will replace %1 in its body.
685f12894f8SJason M. Bills  *
686f12894f8SJason M. Bills  * @returns Message PropertyMissing formatted to JSON */
687f12894f8SJason M. Bills void propertyMissing(crow::Response& res, const std::string& arg1,
688f12894f8SJason M. Bills                      const std::string& property);
689f4c4dcf4SKowalski, Kamil 
690f4c4dcf4SKowalski, Kamil /**
691f4c4dcf4SKowalski, Kamil  * @brief Formats ResourceExhaustion message into JSON
69266ac2b8cSJason M. Bills  * Message body: "The resource <arg1> was unable to satisfy the request due to
693f4c4dcf4SKowalski, Kamil  * unavailability of resources."
694f4c4dcf4SKowalski, Kamil  *
695f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
696f4c4dcf4SKowalski, Kamil  *
697f4c4dcf4SKowalski, Kamil  * @returns Message ResourceExhaustion formatted to JSON */
698f12894f8SJason M. Bills void resourceExhaustion(crow::Response& res, const std::string& arg1);
699f4c4dcf4SKowalski, Kamil 
700f4c4dcf4SKowalski, Kamil /**
701f4c4dcf4SKowalski, Kamil  * @brief Formats AccountModified message into JSON
702f4c4dcf4SKowalski, Kamil  * Message body: "The account was successfully modified."
703f4c4dcf4SKowalski, Kamil  *
704f4c4dcf4SKowalski, Kamil  *
705f4c4dcf4SKowalski, Kamil  * @returns Message AccountModified formatted to JSON */
706f12894f8SJason M. Bills void accountModified(crow::Response& res, const std::string& fieldPath);
707f4c4dcf4SKowalski, Kamil 
708f4c4dcf4SKowalski, Kamil /**
709f4c4dcf4SKowalski, Kamil  * @brief Formats QueryParameterOutOfRange message into JSON
71066ac2b8cSJason M. Bills  * Message body: "The value <arg1> for the query parameter <arg2> is out of
71166ac2b8cSJason M. Bills  * range <arg3>."
712f4c4dcf4SKowalski, Kamil  *
713f4c4dcf4SKowalski, Kamil  * @param[in] arg1 Parameter of message that will replace %1 in its body.
714f4c4dcf4SKowalski, Kamil  * @param[in] arg2 Parameter of message that will replace %2 in its body.
715f4c4dcf4SKowalski, Kamil  * @param[in] arg3 Parameter of message that will replace %3 in its body.
716f4c4dcf4SKowalski, Kamil  *
717f4c4dcf4SKowalski, Kamil  * @returns Message QueryParameterOutOfRange formatted to JSON */
718f12894f8SJason M. Bills void queryParameterOutOfRange(crow::Response& res, const std::string& arg1,
719f12894f8SJason M. Bills                               const std::string& arg2, const std::string& arg3);
720f4c4dcf4SKowalski, Kamil 
721f4c4dcf4SKowalski, Kamil } // namespace messages
722f4c4dcf4SKowalski, Kamil 
723f4c4dcf4SKowalski, Kamil } // namespace redfish
724