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 #include <crow/logging.h> 17f4c4dcf4SKowalski, Kamil 18*1abe55efSEd Tanous #include <error_messages.hpp> 19f4c4dcf4SKowalski, Kamil 20*1abe55efSEd Tanous namespace redfish 21*1abe55efSEd Tanous { 22*1abe55efSEd Tanous 23*1abe55efSEd Tanous namespace messages 24*1abe55efSEd Tanous { 25f4c4dcf4SKowalski, Kamil 26f4c4dcf4SKowalski, Kamil void addMessageToErrorJson(nlohmann::json& target, 27*1abe55efSEd Tanous const nlohmann::json& message) 28*1abe55efSEd Tanous { 29f4c4dcf4SKowalski, Kamil auto& error = target["error"]; 30f4c4dcf4SKowalski, Kamil 31*1abe55efSEd Tanous // If this is the first error message, fill in the information from the 32*1abe55efSEd Tanous // first error message to the top level struct 33*1abe55efSEd Tanous if (!error.is_object()) 34*1abe55efSEd Tanous { 35f4c4dcf4SKowalski, Kamil auto message_id_iterator = message.find("MessageId"); 36*1abe55efSEd Tanous if (message_id_iterator == message.end()) 37*1abe55efSEd Tanous { 38*1abe55efSEd Tanous BMCWEB_LOG_CRITICAL 39*1abe55efSEd Tanous << "Attempt to add error message without MessageId"; 40f4c4dcf4SKowalski, Kamil return; 41f4c4dcf4SKowalski, Kamil } 42f4c4dcf4SKowalski, Kamil 43f4c4dcf4SKowalski, Kamil auto message_field_iterator = message.find("Message"); 44*1abe55efSEd Tanous if (message_field_iterator == message.end()) 45*1abe55efSEd Tanous { 46*1abe55efSEd Tanous BMCWEB_LOG_CRITICAL 47*1abe55efSEd Tanous << "Attempt to add error message without Message"; 48f4c4dcf4SKowalski, Kamil return; 49f4c4dcf4SKowalski, Kamil } 50f4c4dcf4SKowalski, Kamil // clang-format off 51f4c4dcf4SKowalski, Kamil error = { 52f4c4dcf4SKowalski, Kamil {"code", *message_id_iterator}, 53f4c4dcf4SKowalski, Kamil {"message", *message_field_iterator} 54f4c4dcf4SKowalski, Kamil }; 55f4c4dcf4SKowalski, Kamil // clang-format on 56*1abe55efSEd Tanous } 57*1abe55efSEd Tanous else 58*1abe55efSEd Tanous { 59f4c4dcf4SKowalski, Kamil // More than 1 error occurred, so the message has to be generic 6055c7b7a2SEd Tanous error["code"] = std::string(messageVersionPrefix) + "GeneralError"; 61f4c4dcf4SKowalski, Kamil error["message"] = 62f4c4dcf4SKowalski, Kamil "A general error has occurred. See ExtendedInfo for more" 63f4c4dcf4SKowalski, Kamil "information."; 64f4c4dcf4SKowalski, Kamil } 65f4c4dcf4SKowalski, Kamil 66f4c4dcf4SKowalski, Kamil // This check could technically be done in in the default construction 67f4c4dcf4SKowalski, Kamil // branch above, but because we need the pointer to the extended info field 68f4c4dcf4SKowalski, Kamil // anyway, it's more efficient to do it here. 6955c7b7a2SEd Tanous auto& extended_info = error[messages::messageAnnotation]; 70*1abe55efSEd Tanous if (!extended_info.is_array()) 71*1abe55efSEd Tanous { 72f4c4dcf4SKowalski, Kamil extended_info = nlohmann::json::array(); 73f4c4dcf4SKowalski, Kamil } 74f4c4dcf4SKowalski, Kamil 75f4c4dcf4SKowalski, Kamil extended_info.push_back(message); 76f4c4dcf4SKowalski, Kamil } 77f4c4dcf4SKowalski, Kamil 78*1abe55efSEd Tanous void addMessageToJsonRoot(nlohmann::json& target, const nlohmann::json& message) 79*1abe55efSEd Tanous { 80*1abe55efSEd Tanous if (!target[messages::messageAnnotation].is_array()) 81*1abe55efSEd Tanous { 82f4c4dcf4SKowalski, Kamil // Force object to be an array 8355c7b7a2SEd Tanous target[messages::messageAnnotation] = nlohmann::json::array(); 84f4c4dcf4SKowalski, Kamil } 85f4c4dcf4SKowalski, Kamil 8655c7b7a2SEd Tanous target[messages::messageAnnotation].push_back(message); 87f4c4dcf4SKowalski, Kamil } 88f4c4dcf4SKowalski, Kamil 89f4c4dcf4SKowalski, Kamil void addMessageToJson(nlohmann::json& target, const nlohmann::json& message, 90*1abe55efSEd Tanous const std::string& fieldPath) 91*1abe55efSEd Tanous { 92d425c6f6SEd Tanous nlohmann::json_pointer<nlohmann::json> extendedInfo( 9355c7b7a2SEd Tanous fieldPath + messages::messageAnnotation); 94f4c4dcf4SKowalski, Kamil 95*1abe55efSEd Tanous if (!target[extendedInfo].is_array()) 96*1abe55efSEd Tanous { 97f4c4dcf4SKowalski, Kamil // Force object to be an array 98f4c4dcf4SKowalski, Kamil target[extendedInfo] = nlohmann::json::array(); 99f4c4dcf4SKowalski, Kamil } 100f4c4dcf4SKowalski, Kamil 101f4c4dcf4SKowalski, Kamil // Object exists and it is an array so we can just push in the message 102f4c4dcf4SKowalski, Kamil target[extendedInfo].push_back(message); 103f4c4dcf4SKowalski, Kamil } 104f4c4dcf4SKowalski, Kamil 105f4c4dcf4SKowalski, Kamil /********************************* 106f4c4dcf4SKowalski, Kamil * AUTOGENERATED FUNCTIONS START * 107f4c4dcf4SKowalski, Kamil *********************************/ 108f4c4dcf4SKowalski, Kamil 109f4c4dcf4SKowalski, Kamil /** 110f4c4dcf4SKowalski, Kamil * @internal 111f4c4dcf4SKowalski, Kamil * @brief Formats ResourceInUse message into JSON 112f4c4dcf4SKowalski, Kamil * 113f4c4dcf4SKowalski, Kamil * See header file for more information 114f4c4dcf4SKowalski, Kamil * @endinternal 115f4c4dcf4SKowalski, Kamil */ 116*1abe55efSEd Tanous nlohmann::json resourceInUse() 117*1abe55efSEd Tanous { 118f4c4dcf4SKowalski, Kamil return nlohmann::json{ 119f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 120f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ResourceInUse"}, 121*1abe55efSEd Tanous {"Message", "The change to the requested resource failed because the " 122*1abe55efSEd Tanous "resource is in " 123f4c4dcf4SKowalski, Kamil "use or in transition."}, 124f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 125f4c4dcf4SKowalski, Kamil {"Resolution", 126f4c4dcf4SKowalski, Kamil "Remove the condition and resubmit the request if the operation " 127f4c4dcf4SKowalski, Kamil "failed."}}; 128f4c4dcf4SKowalski, Kamil } 129f4c4dcf4SKowalski, Kamil 130f4c4dcf4SKowalski, Kamil /** 131f4c4dcf4SKowalski, Kamil * @internal 132f4c4dcf4SKowalski, Kamil * @brief Formats MalformedJSON message into JSON 133f4c4dcf4SKowalski, Kamil * 134f4c4dcf4SKowalski, Kamil * See header file for more information 135f4c4dcf4SKowalski, Kamil * @endinternal 136f4c4dcf4SKowalski, Kamil */ 137*1abe55efSEd Tanous nlohmann::json malformedJSON() 138*1abe55efSEd Tanous { 139f4c4dcf4SKowalski, Kamil return nlohmann::json{ 140f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 141f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.MalformedJSON"}, 142*1abe55efSEd Tanous {"Message", "The request body submitted was malformed JSON and could " 143*1abe55efSEd Tanous "not be parsed " 144f4c4dcf4SKowalski, Kamil "by the receiving service."}, 145f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 146*1abe55efSEd Tanous {"Resolution", "Ensure that the request body is valid JSON and " 147*1abe55efSEd Tanous "resubmit the request."}}; 148f4c4dcf4SKowalski, Kamil } 149f4c4dcf4SKowalski, Kamil 150f4c4dcf4SKowalski, Kamil /** 151f4c4dcf4SKowalski, Kamil * @internal 152f4c4dcf4SKowalski, Kamil * @brief Formats ResourceMissingAtURI message into JSON 153f4c4dcf4SKowalski, Kamil * 154f4c4dcf4SKowalski, Kamil * See header file for more information 155f4c4dcf4SKowalski, Kamil * @endinternal 156f4c4dcf4SKowalski, Kamil */ 157*1abe55efSEd Tanous nlohmann::json resourceMissingAtURI(const std::string& arg1) 158*1abe55efSEd Tanous { 159f4c4dcf4SKowalski, Kamil return nlohmann::json{ 160f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 161f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ResourceMissingAtURI"}, 162f4c4dcf4SKowalski, Kamil {"Message", "The resource at the URI " + arg1 + " was not found."}, 163f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 164*1abe55efSEd Tanous {"Resolution", "Place a valid resource at the URI or correct the URI " 165*1abe55efSEd Tanous "and resubmit the " 166f4c4dcf4SKowalski, Kamil "request."}}; 167f4c4dcf4SKowalski, Kamil } 168f4c4dcf4SKowalski, Kamil 169f4c4dcf4SKowalski, Kamil /** 170f4c4dcf4SKowalski, Kamil * @internal 171f4c4dcf4SKowalski, Kamil * @brief Formats ActionParameterValueFormatError message into JSON 172f4c4dcf4SKowalski, Kamil * 173f4c4dcf4SKowalski, Kamil * See header file for more information 174f4c4dcf4SKowalski, Kamil * @endinternal 175f4c4dcf4SKowalski, Kamil */ 176f4c4dcf4SKowalski, Kamil nlohmann::json actionParameterValueFormatError(const std::string& arg1, 177f4c4dcf4SKowalski, Kamil const std::string& arg2, 178*1abe55efSEd Tanous const std::string& arg3) 179*1abe55efSEd Tanous { 180f4c4dcf4SKowalski, Kamil return nlohmann::json{ 181f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 182f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ActionParameterValueFormatError"}, 183f4c4dcf4SKowalski, Kamil {"Message", 184*1abe55efSEd Tanous "The value " + arg1 + " for the parameter " + arg2 + 185*1abe55efSEd Tanous " in the action " + arg3 + 186*1abe55efSEd Tanous " is of a different format than the parameter can accept."}, 187f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 188f4c4dcf4SKowalski, Kamil {"Resolution", 189f4c4dcf4SKowalski, Kamil "Correct the value for the parameter in the request body and resubmit " 190f4c4dcf4SKowalski, Kamil "the request if the operation failed."}}; 191f4c4dcf4SKowalski, Kamil } 192f4c4dcf4SKowalski, Kamil 193f4c4dcf4SKowalski, Kamil /** 194f4c4dcf4SKowalski, Kamil * @internal 195f4c4dcf4SKowalski, Kamil * @brief Formats InternalError message into JSON 196f4c4dcf4SKowalski, Kamil * 197f4c4dcf4SKowalski, Kamil * See header file for more information 198f4c4dcf4SKowalski, Kamil * @endinternal 199f4c4dcf4SKowalski, Kamil */ 200*1abe55efSEd Tanous nlohmann::json internalError() 201*1abe55efSEd Tanous { 202f4c4dcf4SKowalski, Kamil return nlohmann::json{ 203f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 204f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.InternalError"}, 205f4c4dcf4SKowalski, Kamil {"Message", 206f4c4dcf4SKowalski, Kamil "The request failed due to an internal service error. The service is " 207f4c4dcf4SKowalski, Kamil "still operational."}, 208f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 209*1abe55efSEd Tanous {"Resolution", "Resubmit the request. If the problem persists, " 210*1abe55efSEd Tanous "consider resetting the " 211f4c4dcf4SKowalski, Kamil "service."}}; 212f4c4dcf4SKowalski, Kamil } 213f4c4dcf4SKowalski, Kamil 214f4c4dcf4SKowalski, Kamil /** 215f4c4dcf4SKowalski, Kamil * @internal 216f4c4dcf4SKowalski, Kamil * @brief Formats UnrecognizedRequestBody message into JSON 217f4c4dcf4SKowalski, Kamil * 218f4c4dcf4SKowalski, Kamil * See header file for more information 219f4c4dcf4SKowalski, Kamil * @endinternal 220f4c4dcf4SKowalski, Kamil */ 221*1abe55efSEd Tanous nlohmann::json unrecognizedRequestBody() 222*1abe55efSEd Tanous { 223f4c4dcf4SKowalski, Kamil return nlohmann::json{ 224f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 225f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.UnrecognizedRequestBody"}, 226f4c4dcf4SKowalski, Kamil {"Message", 227f4c4dcf4SKowalski, Kamil "The service detected a malformed request body that it was unable to " 228f4c4dcf4SKowalski, Kamil "interpret."}, 229f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 230f4c4dcf4SKowalski, Kamil {"Resolution", 231f4c4dcf4SKowalski, Kamil "Correct the request body and resubmit the request if it failed."}}; 232f4c4dcf4SKowalski, Kamil } 233f4c4dcf4SKowalski, Kamil 234f4c4dcf4SKowalski, Kamil /** 235f4c4dcf4SKowalski, Kamil * @internal 236f4c4dcf4SKowalski, Kamil * @brief Formats ResourceAtUriUnauthorized message into JSON 237f4c4dcf4SKowalski, Kamil * 238f4c4dcf4SKowalski, Kamil * See header file for more information 239f4c4dcf4SKowalski, Kamil * @endinternal 240f4c4dcf4SKowalski, Kamil */ 241f4c4dcf4SKowalski, Kamil nlohmann::json resourceAtUriUnauthorized(const std::string& arg1, 242*1abe55efSEd Tanous const std::string& arg2) 243*1abe55efSEd Tanous { 244f4c4dcf4SKowalski, Kamil return nlohmann::json{ 245f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 246f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ResourceAtUriUnauthorized"}, 247f4c4dcf4SKowalski, Kamil {"Message", "While accessing the resource at " + arg1 + 248*1abe55efSEd Tanous ", the service received an authorization error " + 249*1abe55efSEd Tanous arg2 + "."}, 250f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 251f4c4dcf4SKowalski, Kamil {"Resolution", 252f4c4dcf4SKowalski, Kamil "Ensure that the appropriate access is provided for the service in " 253f4c4dcf4SKowalski, Kamil "order for it to access the URI."}}; 254f4c4dcf4SKowalski, Kamil } 255f4c4dcf4SKowalski, Kamil 256f4c4dcf4SKowalski, Kamil /** 257f4c4dcf4SKowalski, Kamil * @internal 258f4c4dcf4SKowalski, Kamil * @brief Formats ActionParameterUnknown message into JSON 259f4c4dcf4SKowalski, Kamil * 260f4c4dcf4SKowalski, Kamil * See header file for more information 261f4c4dcf4SKowalski, Kamil * @endinternal 262f4c4dcf4SKowalski, Kamil */ 263f4c4dcf4SKowalski, Kamil nlohmann::json actionParameterUnknown(const std::string& arg1, 264*1abe55efSEd Tanous const std::string& arg2) 265*1abe55efSEd Tanous { 266f4c4dcf4SKowalski, Kamil return nlohmann::json{ 267f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 268f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ActionParameterUnknown"}, 269f4c4dcf4SKowalski, Kamil {"Message", "The action " + arg1 + 270f4c4dcf4SKowalski, Kamil " was submitted with the invalid parameter " + arg2 + 271f4c4dcf4SKowalski, Kamil "."}, 272f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 273f4c4dcf4SKowalski, Kamil {"Resolution", 274f4c4dcf4SKowalski, Kamil "Correct the invalid parameter and resubmit the request if the " 275f4c4dcf4SKowalski, Kamil "operation failed."}}; 276f4c4dcf4SKowalski, Kamil } 277f4c4dcf4SKowalski, Kamil 278f4c4dcf4SKowalski, Kamil /** 279f4c4dcf4SKowalski, Kamil * @internal 280f4c4dcf4SKowalski, Kamil * @brief Formats ResourceCannotBeDeleted message into JSON 281f4c4dcf4SKowalski, Kamil * 282f4c4dcf4SKowalski, Kamil * See header file for more information 283f4c4dcf4SKowalski, Kamil * @endinternal 284f4c4dcf4SKowalski, Kamil */ 285*1abe55efSEd Tanous nlohmann::json resourceCannotBeDeleted() 286*1abe55efSEd Tanous { 287f4c4dcf4SKowalski, Kamil return nlohmann::json{ 288f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 289f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ResourceCannotBeDeleted"}, 290f4c4dcf4SKowalski, Kamil {"Message", 291f4c4dcf4SKowalski, Kamil "The delete request failed because the resource requested cannot be " 292f4c4dcf4SKowalski, Kamil "deleted."}, 293f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 294f4c4dcf4SKowalski, Kamil {"Resolution", "Do not attempt to delete a non-deletable resource."}}; 295f4c4dcf4SKowalski, Kamil } 296f4c4dcf4SKowalski, Kamil 297f4c4dcf4SKowalski, Kamil /** 298f4c4dcf4SKowalski, Kamil * @internal 299f4c4dcf4SKowalski, Kamil * @brief Formats PropertyDuplicate message into JSON 300f4c4dcf4SKowalski, Kamil * 301f4c4dcf4SKowalski, Kamil * See header file for more information 302f4c4dcf4SKowalski, Kamil * @endinternal 303f4c4dcf4SKowalski, Kamil */ 304*1abe55efSEd Tanous nlohmann::json propertyDuplicate(const std::string& arg1) 305*1abe55efSEd Tanous { 306f4c4dcf4SKowalski, Kamil return nlohmann::json{ 307f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 308f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.PropertyDuplicate"}, 309f4c4dcf4SKowalski, Kamil {"Message", "The property " + arg1 + " was duplicated in the request."}, 310f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 311f4c4dcf4SKowalski, Kamil {"Resolution", 312f4c4dcf4SKowalski, Kamil "Remove the duplicate property from the request body and resubmit the " 313f4c4dcf4SKowalski, Kamil "request if the operation failed."}}; 314f4c4dcf4SKowalski, Kamil } 315f4c4dcf4SKowalski, Kamil 316f4c4dcf4SKowalski, Kamil /** 317f4c4dcf4SKowalski, Kamil * @internal 318f4c4dcf4SKowalski, Kamil * @brief Formats ServiceTemporarilyUnavailable message into JSON 319f4c4dcf4SKowalski, Kamil * 320f4c4dcf4SKowalski, Kamil * See header file for more information 321f4c4dcf4SKowalski, Kamil * @endinternal 322f4c4dcf4SKowalski, Kamil */ 323*1abe55efSEd Tanous nlohmann::json serviceTemporarilyUnavailable(const std::string& arg1) 324*1abe55efSEd Tanous { 325f4c4dcf4SKowalski, Kamil return nlohmann::json{ 326f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 327f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ServiceTemporarilyUnavailable"}, 328*1abe55efSEd Tanous {"Message", "The service is temporarily unavailable. Retry in " + 329*1abe55efSEd Tanous arg1 + " seconds."}, 330f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 331f4c4dcf4SKowalski, Kamil {"Resolution", 332f4c4dcf4SKowalski, Kamil "Wait for the indicated retry duration and retry the operation."}}; 333f4c4dcf4SKowalski, Kamil } 334f4c4dcf4SKowalski, Kamil 335f4c4dcf4SKowalski, Kamil /** 336f4c4dcf4SKowalski, Kamil * @internal 337f4c4dcf4SKowalski, Kamil * @brief Formats ResourceAlreadyExists message into JSON 338f4c4dcf4SKowalski, Kamil * 339f4c4dcf4SKowalski, Kamil * See header file for more information 340f4c4dcf4SKowalski, Kamil * @endinternal 341f4c4dcf4SKowalski, Kamil */ 342f4c4dcf4SKowalski, Kamil nlohmann::json resourceAlreadyExists(const std::string& arg1, 343f4c4dcf4SKowalski, Kamil const std::string& arg2, 344*1abe55efSEd Tanous const std::string& arg3) 345*1abe55efSEd Tanous { 346f4c4dcf4SKowalski, Kamil return nlohmann::json{ 347f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 348f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ResourceAlreadyExists"}, 349f4c4dcf4SKowalski, Kamil {"Message", "The requested resource of type " + arg1 + 350*1abe55efSEd Tanous " with the property " + arg2 + " with the value " + 351*1abe55efSEd Tanous arg3 + " already exists."}, 352f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 353f4c4dcf4SKowalski, Kamil {"Resolution", 354f4c4dcf4SKowalski, Kamil "Do not repeat the create operation as the resource has already been " 355f4c4dcf4SKowalski, Kamil "created."}}; 356f4c4dcf4SKowalski, Kamil } 357f4c4dcf4SKowalski, Kamil 358f4c4dcf4SKowalski, Kamil /** 359f4c4dcf4SKowalski, Kamil * @internal 360f4c4dcf4SKowalski, Kamil * @brief Formats AccountForSessionNoLongerExists message into JSON 361f4c4dcf4SKowalski, Kamil * 362f4c4dcf4SKowalski, Kamil * See header file for more information 363f4c4dcf4SKowalski, Kamil * @endinternal 364f4c4dcf4SKowalski, Kamil */ 365*1abe55efSEd Tanous nlohmann::json accountForSessionNoLongerExists() 366*1abe55efSEd Tanous { 367f4c4dcf4SKowalski, Kamil return nlohmann::json{ 368f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 369f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.AccountForSessionNoLongerExists"}, 370*1abe55efSEd Tanous {"Message", "The account for the current session has been removed, " 371*1abe55efSEd Tanous "thus the current " 372f4c4dcf4SKowalski, Kamil "session has been removed as well."}, 373f4c4dcf4SKowalski, Kamil {"Severity", "OK"}, 374f4c4dcf4SKowalski, Kamil {"Resolution", "Attempt to connect with a valid account."}}; 375f4c4dcf4SKowalski, Kamil } 376f4c4dcf4SKowalski, Kamil 377f4c4dcf4SKowalski, Kamil /** 378f4c4dcf4SKowalski, Kamil * @internal 379f4c4dcf4SKowalski, Kamil * @brief Formats CreateFailedMissingReqProperties message into JSON 380f4c4dcf4SKowalski, Kamil * 381f4c4dcf4SKowalski, Kamil * See header file for more information 382f4c4dcf4SKowalski, Kamil * @endinternal 383f4c4dcf4SKowalski, Kamil */ 384*1abe55efSEd Tanous nlohmann::json createFailedMissingReqProperties(const std::string& arg1) 385*1abe55efSEd Tanous { 386f4c4dcf4SKowalski, Kamil return nlohmann::json{ 387f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 388f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.CreateFailedMissingReqProperties"}, 389*1abe55efSEd Tanous {"Message", 390*1abe55efSEd Tanous "The create operation failed because the required property " + arg1 + 391*1abe55efSEd Tanous " was missing from the request."}, 392f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 393f4c4dcf4SKowalski, Kamil {"Resolution", 394f4c4dcf4SKowalski, Kamil "Correct the body to include the required property with a valid value " 395f4c4dcf4SKowalski, Kamil "and resubmit the request if the operation failed."}}; 396f4c4dcf4SKowalski, Kamil } 397f4c4dcf4SKowalski, Kamil 398f4c4dcf4SKowalski, Kamil /** 399f4c4dcf4SKowalski, Kamil * @internal 400f4c4dcf4SKowalski, Kamil * @brief Formats PropertyValueFormatError message into JSON 401f4c4dcf4SKowalski, Kamil * 402f4c4dcf4SKowalski, Kamil * See header file for more information 403f4c4dcf4SKowalski, Kamil * @endinternal 404f4c4dcf4SKowalski, Kamil */ 405f4c4dcf4SKowalski, Kamil nlohmann::json propertyValueFormatError(const std::string& arg1, 406*1abe55efSEd Tanous const std::string& arg2) 407*1abe55efSEd Tanous { 408f4c4dcf4SKowalski, Kamil return nlohmann::json{ 409f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 410f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.PropertyValueFormatError"}, 411f4c4dcf4SKowalski, Kamil {"Message", 412f4c4dcf4SKowalski, Kamil "The value " + arg1 + " for the property " + arg2 + 413f4c4dcf4SKowalski, Kamil " is of a different format than the property can accept."}, 414f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 415f4c4dcf4SKowalski, Kamil {"Resolution", 416f4c4dcf4SKowalski, Kamil "Correct the value for the property in the request body and resubmit " 417f4c4dcf4SKowalski, Kamil "the request if the operation failed."}}; 418f4c4dcf4SKowalski, Kamil } 419f4c4dcf4SKowalski, Kamil 420f4c4dcf4SKowalski, Kamil /** 421f4c4dcf4SKowalski, Kamil * @internal 422f4c4dcf4SKowalski, Kamil * @brief Formats PropertyValueNotInList message into JSON 423f4c4dcf4SKowalski, Kamil * 424f4c4dcf4SKowalski, Kamil * See header file for more information 425f4c4dcf4SKowalski, Kamil * @endinternal 426f4c4dcf4SKowalski, Kamil */ 427f4c4dcf4SKowalski, Kamil nlohmann::json propertyValueNotInList(const std::string& arg1, 428*1abe55efSEd Tanous const std::string& arg2) 429*1abe55efSEd Tanous { 430f4c4dcf4SKowalski, Kamil return nlohmann::json{ 431f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 432f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.PropertyValueNotInList"}, 433f4c4dcf4SKowalski, Kamil {"Message", "The value " + arg1 + " for the property " + arg2 + 434f4c4dcf4SKowalski, Kamil " is not in the list of acceptable values."}, 435f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 436f4c4dcf4SKowalski, Kamil {"Resolution", 437f4c4dcf4SKowalski, Kamil "Choose a value from the enumeration list that the implementation can " 438f4c4dcf4SKowalski, Kamil "support and resubmit the request if the operation failed."}}; 439f4c4dcf4SKowalski, Kamil } 440f4c4dcf4SKowalski, Kamil 441f4c4dcf4SKowalski, Kamil /** 442f4c4dcf4SKowalski, Kamil * @internal 443f4c4dcf4SKowalski, Kamil * @brief Formats ResourceAtUriInUnknownFormat message into JSON 444f4c4dcf4SKowalski, Kamil * 445f4c4dcf4SKowalski, Kamil * See header file for more information 446f4c4dcf4SKowalski, Kamil * @endinternal 447f4c4dcf4SKowalski, Kamil */ 448*1abe55efSEd Tanous nlohmann::json resourceAtUriInUnknownFormat(const std::string& arg1) 449*1abe55efSEd Tanous { 450f4c4dcf4SKowalski, Kamil return nlohmann::json{ 451f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 452f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ResourceAtUriInUnknownFormat"}, 453f4c4dcf4SKowalski, Kamil {"Message", "The resource at " + arg1 + 454f4c4dcf4SKowalski, Kamil " is in a format not recognized by the service."}, 455f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 456f4c4dcf4SKowalski, Kamil {"Resolution", 457f4c4dcf4SKowalski, Kamil "Place an image or resource or file that is recognized by the service " 458f4c4dcf4SKowalski, Kamil "at the URI."}}; 459f4c4dcf4SKowalski, Kamil } 460f4c4dcf4SKowalski, Kamil 461f4c4dcf4SKowalski, Kamil /** 462f4c4dcf4SKowalski, Kamil * @internal 463f4c4dcf4SKowalski, Kamil * @brief Formats ServiceInUnknownState message into JSON 464f4c4dcf4SKowalski, Kamil * 465f4c4dcf4SKowalski, Kamil * See header file for more information 466f4c4dcf4SKowalski, Kamil * @endinternal 467f4c4dcf4SKowalski, Kamil */ 468*1abe55efSEd Tanous nlohmann::json serviceInUnknownState() 469*1abe55efSEd Tanous { 470f4c4dcf4SKowalski, Kamil return nlohmann::json{ 471f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 472f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ServiceInUnknownState"}, 473f4c4dcf4SKowalski, Kamil {"Message", 474f4c4dcf4SKowalski, Kamil "The operation failed because the service is in an unknown state and " 475f4c4dcf4SKowalski, Kamil "can no longer take incoming requests."}, 476f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 477f4c4dcf4SKowalski, Kamil {"Resolution", 478f4c4dcf4SKowalski, Kamil "Restart the service and resubmit the request if the operation " 479f4c4dcf4SKowalski, Kamil "failed."}}; 480f4c4dcf4SKowalski, Kamil } 481f4c4dcf4SKowalski, Kamil 482f4c4dcf4SKowalski, Kamil /** 483f4c4dcf4SKowalski, Kamil * @internal 484f4c4dcf4SKowalski, Kamil * @brief Formats EventSubscriptionLimitExceeded message into JSON 485f4c4dcf4SKowalski, Kamil * 486f4c4dcf4SKowalski, Kamil * See header file for more information 487f4c4dcf4SKowalski, Kamil * @endinternal 488f4c4dcf4SKowalski, Kamil */ 489*1abe55efSEd Tanous nlohmann::json eventSubscriptionLimitExceeded() 490*1abe55efSEd Tanous { 491f4c4dcf4SKowalski, Kamil return nlohmann::json{ 492f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 493f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.EventSubscriptionLimitExceeded"}, 494f4c4dcf4SKowalski, Kamil {"Message", 495f4c4dcf4SKowalski, Kamil "The event subscription failed due to the number of simultaneous " 496f4c4dcf4SKowalski, Kamil "subscriptions exceeding the limit of the implementation."}, 497f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 498f4c4dcf4SKowalski, Kamil {"Resolution", 499f4c4dcf4SKowalski, Kamil "Reduce the number of other subscriptions before trying to establish " 500f4c4dcf4SKowalski, Kamil "the event subscription or increase the limit of simultaneous " 501f4c4dcf4SKowalski, Kamil "subscriptions (if supported)."}}; 502f4c4dcf4SKowalski, Kamil } 503f4c4dcf4SKowalski, Kamil 504f4c4dcf4SKowalski, Kamil /** 505f4c4dcf4SKowalski, Kamil * @internal 506f4c4dcf4SKowalski, Kamil * @brief Formats ActionParameterMissing message into JSON 507f4c4dcf4SKowalski, Kamil * 508f4c4dcf4SKowalski, Kamil * See header file for more information 509f4c4dcf4SKowalski, Kamil * @endinternal 510f4c4dcf4SKowalski, Kamil */ 511f4c4dcf4SKowalski, Kamil nlohmann::json actionParameterMissing(const std::string& arg1, 512*1abe55efSEd Tanous const std::string& arg2) 513*1abe55efSEd Tanous { 514f4c4dcf4SKowalski, Kamil return nlohmann::json{ 515f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 516f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ActionParameterMissing"}, 517f4c4dcf4SKowalski, Kamil {"Message", "The action " + arg1 + " requires the parameter " + arg2 + 518f4c4dcf4SKowalski, Kamil " to be present in the request body."}, 519f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 520*1abe55efSEd Tanous {"Resolution", "Supply the action with the required parameter in the " 521*1abe55efSEd Tanous "request body when " 522f4c4dcf4SKowalski, Kamil "the request is resubmitted."}}; 523f4c4dcf4SKowalski, Kamil } 524f4c4dcf4SKowalski, Kamil 525f4c4dcf4SKowalski, Kamil /** 526f4c4dcf4SKowalski, Kamil * @internal 527f4c4dcf4SKowalski, Kamil * @brief Formats StringValueTooLong message into JSON 528f4c4dcf4SKowalski, Kamil * 529f4c4dcf4SKowalski, Kamil * See header file for more information 530f4c4dcf4SKowalski, Kamil * @endinternal 531f4c4dcf4SKowalski, Kamil */ 532*1abe55efSEd Tanous nlohmann::json stringValueTooLong(const std::string& arg1, const int& arg2) 533*1abe55efSEd Tanous { 534f4c4dcf4SKowalski, Kamil return nlohmann::json{ 535f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 536f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.StringValueTooLong"}, 537f4c4dcf4SKowalski, Kamil {"Message", "The string " + arg1 + " exceeds the length limit " + 538f4c4dcf4SKowalski, Kamil std::to_string(arg2) + "."}, 539f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 540f4c4dcf4SKowalski, Kamil {"Resolution", 541f4c4dcf4SKowalski, Kamil "Resubmit the request with an appropriate string length."}}; 542f4c4dcf4SKowalski, Kamil } 543f4c4dcf4SKowalski, Kamil 544f4c4dcf4SKowalski, Kamil /** 545f4c4dcf4SKowalski, Kamil * @internal 546f4c4dcf4SKowalski, Kamil * @brief Formats PropertyValueTypeError message into JSON 547f4c4dcf4SKowalski, Kamil * 548f4c4dcf4SKowalski, Kamil * See header file for more information 549f4c4dcf4SKowalski, Kamil * @endinternal 550f4c4dcf4SKowalski, Kamil */ 551f4c4dcf4SKowalski, Kamil nlohmann::json propertyValueTypeError(const std::string& arg1, 552*1abe55efSEd Tanous const std::string& arg2) 553*1abe55efSEd Tanous { 554f4c4dcf4SKowalski, Kamil return nlohmann::json{ 555f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 556f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.PropertyValueTypeError"}, 557*1abe55efSEd Tanous {"Message", 558*1abe55efSEd Tanous "The value " + arg1 + " for the property " + arg2 + 559f4c4dcf4SKowalski, Kamil " is of a different type than the property can accept."}, 560f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 561f4c4dcf4SKowalski, Kamil {"Resolution", 562f4c4dcf4SKowalski, Kamil "Correct the value for the property in the request body and resubmit " 563f4c4dcf4SKowalski, Kamil "the request if the operation failed."}}; 564f4c4dcf4SKowalski, Kamil } 565f4c4dcf4SKowalski, Kamil 566f4c4dcf4SKowalski, Kamil /** 567f4c4dcf4SKowalski, Kamil * @internal 568f4c4dcf4SKowalski, Kamil * @brief Formats ResourceNotFound message into JSON 569f4c4dcf4SKowalski, Kamil * 570f4c4dcf4SKowalski, Kamil * See header file for more information 571f4c4dcf4SKowalski, Kamil * @endinternal 572f4c4dcf4SKowalski, Kamil */ 573f4c4dcf4SKowalski, Kamil nlohmann::json resourceNotFound(const std::string& arg1, 574*1abe55efSEd Tanous const std::string& arg2) 575*1abe55efSEd Tanous { 576f4c4dcf4SKowalski, Kamil return nlohmann::json{ 577f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 578f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ResourceNotFound"}, 579*1abe55efSEd Tanous {"Message", "The requested resource of type " + arg1 + " named " + 580*1abe55efSEd Tanous arg2 + " was not found."}, 581f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 582f4c4dcf4SKowalski, Kamil {"Resolution", 583f4c4dcf4SKowalski, Kamil "Provide a valid resource identifier and resubmit the request."}}; 584f4c4dcf4SKowalski, Kamil } 585f4c4dcf4SKowalski, Kamil 586f4c4dcf4SKowalski, Kamil /** 587f4c4dcf4SKowalski, Kamil * @internal 588f4c4dcf4SKowalski, Kamil * @brief Formats CouldNotEstablishConnection message into JSON 589f4c4dcf4SKowalski, Kamil * 590f4c4dcf4SKowalski, Kamil * See header file for more information 591f4c4dcf4SKowalski, Kamil * @endinternal 592f4c4dcf4SKowalski, Kamil */ 593*1abe55efSEd Tanous nlohmann::json couldNotEstablishConnection(const std::string& arg1) 594*1abe55efSEd Tanous { 595f4c4dcf4SKowalski, Kamil return nlohmann::json{ 596f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 597f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.CouldNotEstablishConnection"}, 598*1abe55efSEd Tanous {"Message", 599*1abe55efSEd Tanous "The service failed to establish a Connection with the URI " + arg1 + 600*1abe55efSEd Tanous "."}, 601f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 602*1abe55efSEd Tanous {"Resolution", "Ensure that the URI contains a valid and reachable " 603*1abe55efSEd Tanous "node name, protocol " 604f4c4dcf4SKowalski, Kamil "information and other URI components."}}; 605f4c4dcf4SKowalski, Kamil } 606f4c4dcf4SKowalski, Kamil 607f4c4dcf4SKowalski, Kamil /** 608f4c4dcf4SKowalski, Kamil * @internal 609f4c4dcf4SKowalski, Kamil * @brief Formats PropertyNotWritable message into JSON 610f4c4dcf4SKowalski, Kamil * 611f4c4dcf4SKowalski, Kamil * See header file for more information 612f4c4dcf4SKowalski, Kamil * @endinternal 613f4c4dcf4SKowalski, Kamil */ 614*1abe55efSEd Tanous nlohmann::json propertyNotWritable(const std::string& arg1) 615*1abe55efSEd Tanous { 616f4c4dcf4SKowalski, Kamil return nlohmann::json{ 617f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 618f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.PropertyNotWritable"}, 619f4c4dcf4SKowalski, Kamil {"Message", 620f4c4dcf4SKowalski, Kamil "The property " + arg1 + 621f4c4dcf4SKowalski, Kamil " is a read only property and cannot be assigned a value."}, 622f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 623*1abe55efSEd Tanous {"Resolution", "Remove the property from the request body and resubmit " 624*1abe55efSEd Tanous "the request if " 625f4c4dcf4SKowalski, Kamil "the operation failed."}}; 626f4c4dcf4SKowalski, Kamil } 627f4c4dcf4SKowalski, Kamil 628f4c4dcf4SKowalski, Kamil /** 629f4c4dcf4SKowalski, Kamil * @internal 630f4c4dcf4SKowalski, Kamil * @brief Formats QueryParameterValueTypeError message into JSON 631f4c4dcf4SKowalski, Kamil * 632f4c4dcf4SKowalski, Kamil * See header file for more information 633f4c4dcf4SKowalski, Kamil * @endinternal 634f4c4dcf4SKowalski, Kamil */ 635f4c4dcf4SKowalski, Kamil nlohmann::json queryParameterValueTypeError(const std::string& arg1, 636*1abe55efSEd Tanous const std::string& arg2) 637*1abe55efSEd Tanous { 638f4c4dcf4SKowalski, Kamil return nlohmann::json{ 639f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 640f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.QueryParameterValueTypeError"}, 641*1abe55efSEd Tanous {"Message", 642*1abe55efSEd Tanous "The value " + arg1 + " for the query parameter " + arg2 + 643f4c4dcf4SKowalski, Kamil " is of a different type than the parameter can accept."}, 644f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 645*1abe55efSEd Tanous {"Resolution", "Correct the value for the query parameter in the " 646*1abe55efSEd Tanous "request and resubmit " 647f4c4dcf4SKowalski, Kamil "the request if the operation failed."}}; 648f4c4dcf4SKowalski, Kamil } 649f4c4dcf4SKowalski, Kamil 650f4c4dcf4SKowalski, Kamil /** 651f4c4dcf4SKowalski, Kamil * @internal 652f4c4dcf4SKowalski, Kamil * @brief Formats ServiceShuttingDown message into JSON 653f4c4dcf4SKowalski, Kamil * 654f4c4dcf4SKowalski, Kamil * See header file for more information 655f4c4dcf4SKowalski, Kamil * @endinternal 656f4c4dcf4SKowalski, Kamil */ 657*1abe55efSEd Tanous nlohmann::json serviceShuttingDown() 658*1abe55efSEd Tanous { 659f4c4dcf4SKowalski, Kamil return nlohmann::json{ 660f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 661f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ServiceShuttingDown"}, 662f4c4dcf4SKowalski, Kamil {"Message", 663f4c4dcf4SKowalski, Kamil "The operation failed because the service is shutting down and can no " 664f4c4dcf4SKowalski, Kamil "longer take incoming requests."}, 665f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 666f4c4dcf4SKowalski, Kamil {"Resolution", 667f4c4dcf4SKowalski, Kamil "When the service becomes available, resubmit the request if the " 668f4c4dcf4SKowalski, Kamil "operation failed."}}; 669f4c4dcf4SKowalski, Kamil } 670f4c4dcf4SKowalski, Kamil 671f4c4dcf4SKowalski, Kamil /** 672f4c4dcf4SKowalski, Kamil * @internal 673f4c4dcf4SKowalski, Kamil * @brief Formats ActionParameterDuplicate message into JSON 674f4c4dcf4SKowalski, Kamil * 675f4c4dcf4SKowalski, Kamil * See header file for more information 676f4c4dcf4SKowalski, Kamil * @endinternal 677f4c4dcf4SKowalski, Kamil */ 678f4c4dcf4SKowalski, Kamil nlohmann::json actionParameterDuplicate(const std::string& arg1, 679*1abe55efSEd Tanous const std::string& arg2) 680*1abe55efSEd Tanous { 681f4c4dcf4SKowalski, Kamil return nlohmann::json{ 682f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 683f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ActionParameterDuplicate"}, 684f4c4dcf4SKowalski, Kamil {"Message", 685f4c4dcf4SKowalski, Kamil "The action " + arg1 + 686*1abe55efSEd Tanous " was submitted with more than one value for the parameter " + 687*1abe55efSEd Tanous arg2 + "."}, 688f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 689f4c4dcf4SKowalski, Kamil {"Resolution", 690f4c4dcf4SKowalski, Kamil "Resubmit the action with only one instance of the parameter in the " 691f4c4dcf4SKowalski, Kamil "request body if the operation failed."}}; 692f4c4dcf4SKowalski, Kamil } 693f4c4dcf4SKowalski, Kamil 694f4c4dcf4SKowalski, Kamil /** 695f4c4dcf4SKowalski, Kamil * @internal 696f4c4dcf4SKowalski, Kamil * @brief Formats ActionParameterNotSupported message into JSON 697f4c4dcf4SKowalski, Kamil * 698f4c4dcf4SKowalski, Kamil * See header file for more information 699f4c4dcf4SKowalski, Kamil * @endinternal 700f4c4dcf4SKowalski, Kamil */ 701f4c4dcf4SKowalski, Kamil nlohmann::json actionParameterNotSupported(const std::string& arg1, 702*1abe55efSEd Tanous const std::string& arg2) 703*1abe55efSEd Tanous { 704f4c4dcf4SKowalski, Kamil return nlohmann::json{ 705f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 706f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ActionParameterNotSupported"}, 707f4c4dcf4SKowalski, Kamil {"Message", "The parameter " + arg1 + " for the action " + arg2 + 708f4c4dcf4SKowalski, Kamil " is not supported on the target resource."}, 709f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 710f4c4dcf4SKowalski, Kamil {"Resolution", 711f4c4dcf4SKowalski, Kamil "Remove the parameter supplied and resubmit the request if the " 712f4c4dcf4SKowalski, Kamil "operation failed."}}; 713f4c4dcf4SKowalski, Kamil } 714f4c4dcf4SKowalski, Kamil 715f4c4dcf4SKowalski, Kamil /** 716f4c4dcf4SKowalski, Kamil * @internal 717f4c4dcf4SKowalski, Kamil * @brief Formats SourceDoesNotSupportProtocol message into JSON 718f4c4dcf4SKowalski, Kamil * 719f4c4dcf4SKowalski, Kamil * See header file for more information 720f4c4dcf4SKowalski, Kamil * @endinternal 721f4c4dcf4SKowalski, Kamil */ 722f4c4dcf4SKowalski, Kamil nlohmann::json sourceDoesNotSupportProtocol(const std::string& arg1, 723*1abe55efSEd Tanous const std::string& arg2) 724*1abe55efSEd Tanous { 725f4c4dcf4SKowalski, Kamil return nlohmann::json{ 726f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 727f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.SourceDoesNotSupportProtocol"}, 72855c7b7a2SEd Tanous {"Message", "The other end of the Connection at " + arg1 + 729*1abe55efSEd Tanous " does not support the specified protocol " + arg2 + 730*1abe55efSEd Tanous "."}, 731f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 732f4c4dcf4SKowalski, Kamil {"Resolution", "Change protocols or URIs. "}}; 733f4c4dcf4SKowalski, Kamil } 734f4c4dcf4SKowalski, Kamil 735f4c4dcf4SKowalski, Kamil /** 736f4c4dcf4SKowalski, Kamil * @internal 737f4c4dcf4SKowalski, Kamil * @brief Formats AccountRemoved message into JSON 738f4c4dcf4SKowalski, Kamil * 739f4c4dcf4SKowalski, Kamil * See header file for more information 740f4c4dcf4SKowalski, Kamil * @endinternal 741f4c4dcf4SKowalski, Kamil */ 742*1abe55efSEd Tanous nlohmann::json accountRemoved() 743*1abe55efSEd Tanous { 744f4c4dcf4SKowalski, Kamil return nlohmann::json{ 745f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 746f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.AccountRemoved"}, 747f4c4dcf4SKowalski, Kamil {"Message", "The account was successfully removed."}, 748f4c4dcf4SKowalski, Kamil {"Severity", "OK"}, 749f4c4dcf4SKowalski, Kamil {"Resolution", "No resolution is required."}}; 750f4c4dcf4SKowalski, Kamil } 751f4c4dcf4SKowalski, Kamil 752f4c4dcf4SKowalski, Kamil /** 753f4c4dcf4SKowalski, Kamil * @internal 754f4c4dcf4SKowalski, Kamil * @brief Formats AccessDenied message into JSON 755f4c4dcf4SKowalski, Kamil * 756f4c4dcf4SKowalski, Kamil * See header file for more information 757f4c4dcf4SKowalski, Kamil * @endinternal 758f4c4dcf4SKowalski, Kamil */ 759*1abe55efSEd Tanous nlohmann::json accessDenied(const std::string& arg1) 760*1abe55efSEd Tanous { 761f4c4dcf4SKowalski, Kamil return nlohmann::json{ 762f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 763f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.AccessDenied"}, 76455c7b7a2SEd Tanous {"Message", "While attempting to establish a Connection to " + arg1 + 765f4c4dcf4SKowalski, Kamil ", the service denied access."}, 766f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 767*1abe55efSEd Tanous {"Resolution", "Attempt to ensure that the URI is correct and that the " 768*1abe55efSEd Tanous "service has the " 769f4c4dcf4SKowalski, Kamil "appropriate credentials."}}; 770f4c4dcf4SKowalski, Kamil } 771f4c4dcf4SKowalski, Kamil 772f4c4dcf4SKowalski, Kamil /** 773f4c4dcf4SKowalski, Kamil * @internal 774f4c4dcf4SKowalski, Kamil * @brief Formats QueryNotSupported message into JSON 775f4c4dcf4SKowalski, Kamil * 776f4c4dcf4SKowalski, Kamil * See header file for more information 777f4c4dcf4SKowalski, Kamil * @endinternal 778f4c4dcf4SKowalski, Kamil */ 779*1abe55efSEd Tanous nlohmann::json queryNotSupported() 780*1abe55efSEd Tanous { 781f4c4dcf4SKowalski, Kamil return nlohmann::json{ 782f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 783f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.QueryNotSupported"}, 784f4c4dcf4SKowalski, Kamil {"Message", "Querying is not supported by the implementation."}, 785f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 786*1abe55efSEd Tanous {"Resolution", "Remove the query parameters and resubmit the request " 787*1abe55efSEd Tanous "if the operation " 788f4c4dcf4SKowalski, Kamil "failed."}}; 789f4c4dcf4SKowalski, Kamil } 790f4c4dcf4SKowalski, Kamil 791f4c4dcf4SKowalski, Kamil /** 792f4c4dcf4SKowalski, Kamil * @internal 793f4c4dcf4SKowalski, Kamil * @brief Formats CreateLimitReachedForResource message into JSON 794f4c4dcf4SKowalski, Kamil * 795f4c4dcf4SKowalski, Kamil * See header file for more information 796f4c4dcf4SKowalski, Kamil * @endinternal 797f4c4dcf4SKowalski, Kamil */ 798*1abe55efSEd Tanous nlohmann::json createLimitReachedForResource() 799*1abe55efSEd Tanous { 800f4c4dcf4SKowalski, Kamil return nlohmann::json{ 801f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 802f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.CreateLimitReachedForResource"}, 803*1abe55efSEd Tanous {"Message", "The create operation failed because the resource has " 804*1abe55efSEd Tanous "reached the limit " 805f4c4dcf4SKowalski, Kamil "of possible resources."}, 806f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 807f4c4dcf4SKowalski, Kamil {"Resolution", 808f4c4dcf4SKowalski, Kamil "Either delete resources and resubmit the request if the operation " 809f4c4dcf4SKowalski, Kamil "failed or do not resubmit the request."}}; 810f4c4dcf4SKowalski, Kamil } 811f4c4dcf4SKowalski, Kamil 812f4c4dcf4SKowalski, Kamil /** 813f4c4dcf4SKowalski, Kamil * @internal 814f4c4dcf4SKowalski, Kamil * @brief Formats GeneralError message into JSON 815f4c4dcf4SKowalski, Kamil * 816f4c4dcf4SKowalski, Kamil * See header file for more information 817f4c4dcf4SKowalski, Kamil * @endinternal 818f4c4dcf4SKowalski, Kamil */ 819*1abe55efSEd Tanous nlohmann::json generalError() 820*1abe55efSEd Tanous { 821f4c4dcf4SKowalski, Kamil return nlohmann::json{ 822f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 823f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.GeneralError"}, 824*1abe55efSEd Tanous {"Message", "A general error has occurred. See ExtendedInfo for more " 825*1abe55efSEd Tanous "information."}, 826f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 827f4c4dcf4SKowalski, Kamil {"Resolution", "See ExtendedInfo for more information."}}; 828f4c4dcf4SKowalski, Kamil } 829f4c4dcf4SKowalski, Kamil 830f4c4dcf4SKowalski, Kamil /** 831f4c4dcf4SKowalski, Kamil * @internal 832f4c4dcf4SKowalski, Kamil * @brief Formats Success message into JSON 833f4c4dcf4SKowalski, Kamil * 834f4c4dcf4SKowalski, Kamil * See header file for more information 835f4c4dcf4SKowalski, Kamil * @endinternal 836f4c4dcf4SKowalski, Kamil */ 837*1abe55efSEd Tanous nlohmann::json success() 838*1abe55efSEd Tanous { 839f4c4dcf4SKowalski, Kamil return nlohmann::json{ 840f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 841f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.Success"}, 842f4c4dcf4SKowalski, Kamil {"Message", "Successfully Completed Request"}, 843f4c4dcf4SKowalski, Kamil {"Severity", "OK"}, 844f4c4dcf4SKowalski, Kamil {"Resolution", "None"}}; 845f4c4dcf4SKowalski, Kamil } 846f4c4dcf4SKowalski, Kamil 847f4c4dcf4SKowalski, Kamil /** 848f4c4dcf4SKowalski, Kamil * @internal 849f4c4dcf4SKowalski, Kamil * @brief Formats Created message into JSON 850f4c4dcf4SKowalski, Kamil * 851f4c4dcf4SKowalski, Kamil * See header file for more information 852f4c4dcf4SKowalski, Kamil * @endinternal 853f4c4dcf4SKowalski, Kamil */ 854*1abe55efSEd Tanous nlohmann::json created() 855*1abe55efSEd Tanous { 856f4c4dcf4SKowalski, Kamil return nlohmann::json{ 857f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 858f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.Created"}, 859f4c4dcf4SKowalski, Kamil {"Message", "The resource has been created successfully"}, 860f4c4dcf4SKowalski, Kamil {"Severity", "OK"}, 861f4c4dcf4SKowalski, Kamil {"Resolution", "None"}}; 862f4c4dcf4SKowalski, Kamil } 863f4c4dcf4SKowalski, Kamil 864f4c4dcf4SKowalski, Kamil /** 865f4c4dcf4SKowalski, Kamil * @internal 866f4c4dcf4SKowalski, Kamil * @brief Formats PropertyUnknown message into JSON 867f4c4dcf4SKowalski, Kamil * 868f4c4dcf4SKowalski, Kamil * See header file for more information 869f4c4dcf4SKowalski, Kamil * @endinternal 870f4c4dcf4SKowalski, Kamil */ 871*1abe55efSEd Tanous nlohmann::json propertyUnknown(const std::string& arg1) 872*1abe55efSEd Tanous { 873f4c4dcf4SKowalski, Kamil return nlohmann::json{ 874f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 875f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.PropertyUnknown"}, 876f4c4dcf4SKowalski, Kamil {"Message", 877f4c4dcf4SKowalski, Kamil "The property " + arg1 + 878f4c4dcf4SKowalski, Kamil " is not in the list of valid properties for the resource."}, 879f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 880f4c4dcf4SKowalski, Kamil {"Resolution", 881f4c4dcf4SKowalski, Kamil "Remove the unknown property from the request body and resubmit the " 882f4c4dcf4SKowalski, Kamil "request if the operation failed."}}; 883f4c4dcf4SKowalski, Kamil } 884f4c4dcf4SKowalski, Kamil 885f4c4dcf4SKowalski, Kamil /** 886f4c4dcf4SKowalski, Kamil * @internal 887f4c4dcf4SKowalski, Kamil * @brief Formats NoValidSession message into JSON 888f4c4dcf4SKowalski, Kamil * 889f4c4dcf4SKowalski, Kamil * See header file for more information 890f4c4dcf4SKowalski, Kamil * @endinternal 891f4c4dcf4SKowalski, Kamil */ 892*1abe55efSEd Tanous nlohmann::json noValidSession() 893*1abe55efSEd Tanous { 894f4c4dcf4SKowalski, Kamil return nlohmann::json{ 895f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 896f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.NoValidSession"}, 897f4c4dcf4SKowalski, Kamil {"Message", 898f4c4dcf4SKowalski, Kamil "There is no valid session established with the implementation."}, 899f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 900*1abe55efSEd Tanous {"Resolution", 901*1abe55efSEd Tanous "Establish as session before attempting any operations."}}; 902f4c4dcf4SKowalski, Kamil } 903f4c4dcf4SKowalski, Kamil 904f4c4dcf4SKowalski, Kamil /** 905f4c4dcf4SKowalski, Kamil * @internal 906f4c4dcf4SKowalski, Kamil * @brief Formats InvalidObject message into JSON 907f4c4dcf4SKowalski, Kamil * 908f4c4dcf4SKowalski, Kamil * See header file for more information 909f4c4dcf4SKowalski, Kamil * @endinternal 910f4c4dcf4SKowalski, Kamil */ 911*1abe55efSEd Tanous nlohmann::json invalidObject(const std::string& arg1) 912*1abe55efSEd Tanous { 913f4c4dcf4SKowalski, Kamil return nlohmann::json{ 914f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 915f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.InvalidObject"}, 916f4c4dcf4SKowalski, Kamil {"Message", "The object at " + arg1 + " is invalid."}, 917f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 918*1abe55efSEd Tanous {"Resolution", "Either the object is malformed or the URI is not " 919*1abe55efSEd Tanous "correct. Correct the " 920f4c4dcf4SKowalski, Kamil "condition and resubmit the request if it failed."}}; 921f4c4dcf4SKowalski, Kamil } 922f4c4dcf4SKowalski, Kamil 923f4c4dcf4SKowalski, Kamil /** 924f4c4dcf4SKowalski, Kamil * @internal 925f4c4dcf4SKowalski, Kamil * @brief Formats ResourceInStandby message into JSON 926f4c4dcf4SKowalski, Kamil * 927f4c4dcf4SKowalski, Kamil * See header file for more information 928f4c4dcf4SKowalski, Kamil * @endinternal 929f4c4dcf4SKowalski, Kamil */ 930*1abe55efSEd Tanous nlohmann::json resourceInStandby() 931*1abe55efSEd Tanous { 932f4c4dcf4SKowalski, Kamil return nlohmann::json{ 933f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 934f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ResourceInStandby"}, 935f4c4dcf4SKowalski, Kamil {"Message", 936f4c4dcf4SKowalski, Kamil "The request could not be performed because the resource is in " 937f4c4dcf4SKowalski, Kamil "standby."}, 938f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 939f4c4dcf4SKowalski, Kamil {"Resolution", 940f4c4dcf4SKowalski, Kamil "Ensure that the resource is in the correct power state and resubmit " 941f4c4dcf4SKowalski, Kamil "the request."}}; 942f4c4dcf4SKowalski, Kamil } 943f4c4dcf4SKowalski, Kamil 944f4c4dcf4SKowalski, Kamil /** 945f4c4dcf4SKowalski, Kamil * @internal 946f4c4dcf4SKowalski, Kamil * @brief Formats ActionParameterValueTypeError message into JSON 947f4c4dcf4SKowalski, Kamil * 948f4c4dcf4SKowalski, Kamil * See header file for more information 949f4c4dcf4SKowalski, Kamil * @endinternal 950f4c4dcf4SKowalski, Kamil */ 951f4c4dcf4SKowalski, Kamil nlohmann::json actionParameterValueTypeError(const std::string& arg1, 952f4c4dcf4SKowalski, Kamil const std::string& arg2, 953*1abe55efSEd Tanous const std::string& arg3) 954*1abe55efSEd Tanous { 955f4c4dcf4SKowalski, Kamil return nlohmann::json{ 956f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 957f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ActionParameterValueTypeError"}, 958*1abe55efSEd Tanous {"Message", 959*1abe55efSEd Tanous "The value " + arg1 + " for the parameter " + arg2 + 960f4c4dcf4SKowalski, Kamil " in the action " + arg3 + 961f4c4dcf4SKowalski, Kamil " is of a different type than the parameter can accept."}, 962f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 963f4c4dcf4SKowalski, Kamil {"Resolution", 964f4c4dcf4SKowalski, Kamil "Correct the value for the parameter in the request body and resubmit " 965f4c4dcf4SKowalski, Kamil "the request if the operation failed."}}; 966f4c4dcf4SKowalski, Kamil } 967f4c4dcf4SKowalski, Kamil 968f4c4dcf4SKowalski, Kamil /** 969f4c4dcf4SKowalski, Kamil * @internal 970f4c4dcf4SKowalski, Kamil * @brief Formats SessionLimitExceeded message into JSON 971f4c4dcf4SKowalski, Kamil * 972f4c4dcf4SKowalski, Kamil * See header file for more information 973f4c4dcf4SKowalski, Kamil * @endinternal 974f4c4dcf4SKowalski, Kamil */ 975*1abe55efSEd Tanous nlohmann::json sessionLimitExceeded() 976*1abe55efSEd Tanous { 977f4c4dcf4SKowalski, Kamil return nlohmann::json{ 978f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 979f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.SessionLimitExceeded"}, 980f4c4dcf4SKowalski, Kamil {"Message", 981f4c4dcf4SKowalski, Kamil "The session establishment failed due to the number of simultaneous " 982f4c4dcf4SKowalski, Kamil "sessions exceeding the limit of the implementation."}, 983f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 984f4c4dcf4SKowalski, Kamil {"Resolution", 985f4c4dcf4SKowalski, Kamil "Reduce the number of other sessions before trying to establish the " 986f4c4dcf4SKowalski, Kamil "session or increase the limit of simultaneous sessions (if " 987f4c4dcf4SKowalski, Kamil "supported)."}}; 988f4c4dcf4SKowalski, Kamil } 989f4c4dcf4SKowalski, Kamil 990f4c4dcf4SKowalski, Kamil /** 991f4c4dcf4SKowalski, Kamil * @internal 992f4c4dcf4SKowalski, Kamil * @brief Formats ActionNotSupported message into JSON 993f4c4dcf4SKowalski, Kamil * 994f4c4dcf4SKowalski, Kamil * See header file for more information 995f4c4dcf4SKowalski, Kamil * @endinternal 996f4c4dcf4SKowalski, Kamil */ 997*1abe55efSEd Tanous nlohmann::json actionNotSupported(const std::string& arg1) 998*1abe55efSEd Tanous { 999f4c4dcf4SKowalski, Kamil return nlohmann::json{ 1000f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 1001f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ActionNotSupported"}, 1002*1abe55efSEd Tanous {"Message", 1003*1abe55efSEd Tanous "The action " + arg1 + " is not supported by the resource."}, 1004f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 1005f4c4dcf4SKowalski, Kamil {"Resolution", 1006f4c4dcf4SKowalski, Kamil "The action supplied cannot be resubmitted to the implementation. " 1007f4c4dcf4SKowalski, Kamil "Perhaps the action was invalid, the wrong resource was the target or " 1008f4c4dcf4SKowalski, Kamil "the implementation documentation may be of assistance."}}; 1009f4c4dcf4SKowalski, Kamil } 1010f4c4dcf4SKowalski, Kamil 1011f4c4dcf4SKowalski, Kamil /** 1012f4c4dcf4SKowalski, Kamil * @internal 1013f4c4dcf4SKowalski, Kamil * @brief Formats InvalidIndex message into JSON 1014f4c4dcf4SKowalski, Kamil * 1015f4c4dcf4SKowalski, Kamil * See header file for more information 1016f4c4dcf4SKowalski, Kamil * @endinternal 1017f4c4dcf4SKowalski, Kamil */ 1018*1abe55efSEd Tanous nlohmann::json invalidIndex(const int& arg1) 1019*1abe55efSEd Tanous { 1020f4c4dcf4SKowalski, Kamil return nlohmann::json{ 1021f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 1022f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.InvalidIndex"}, 102355c7b7a2SEd Tanous {"Message", "The index " + std::to_string(arg1) + 1024f4c4dcf4SKowalski, Kamil " is not a valid offset into the array."}, 1025f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 1026f4c4dcf4SKowalski, Kamil {"Resolution", 1027f4c4dcf4SKowalski, Kamil "Verify the index value provided is within the bounds of the array."}}; 1028f4c4dcf4SKowalski, Kamil } 1029f4c4dcf4SKowalski, Kamil 1030f4c4dcf4SKowalski, Kamil /** 1031f4c4dcf4SKowalski, Kamil * @internal 1032f4c4dcf4SKowalski, Kamil * @brief Formats EmptyJSON message into JSON 1033f4c4dcf4SKowalski, Kamil * 1034f4c4dcf4SKowalski, Kamil * See header file for more information 1035f4c4dcf4SKowalski, Kamil * @endinternal 1036f4c4dcf4SKowalski, Kamil */ 1037*1abe55efSEd Tanous nlohmann::json emptyJSON() 1038*1abe55efSEd Tanous { 1039f4c4dcf4SKowalski, Kamil return nlohmann::json{ 1040f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 1041f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.EmptyJSON"}, 1042f4c4dcf4SKowalski, Kamil {"Message", 1043f4c4dcf4SKowalski, Kamil "The request body submitted contained an empty JSON object and the " 1044f4c4dcf4SKowalski, Kamil "service is unable to process it."}, 1045f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 1046f4c4dcf4SKowalski, Kamil {"Resolution", 1047f4c4dcf4SKowalski, Kamil "Add properties in the JSON object and resubmit the request."}}; 1048f4c4dcf4SKowalski, Kamil } 1049f4c4dcf4SKowalski, Kamil 1050f4c4dcf4SKowalski, Kamil /** 1051f4c4dcf4SKowalski, Kamil * @internal 1052f4c4dcf4SKowalski, Kamil * @brief Formats QueryNotSupportedOnResource message into JSON 1053f4c4dcf4SKowalski, Kamil * 1054f4c4dcf4SKowalski, Kamil * See header file for more information 1055f4c4dcf4SKowalski, Kamil * @endinternal 1056f4c4dcf4SKowalski, Kamil */ 1057*1abe55efSEd Tanous nlohmann::json queryNotSupportedOnResource() 1058*1abe55efSEd Tanous { 1059f4c4dcf4SKowalski, Kamil return nlohmann::json{ 1060f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 1061f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.QueryNotSupportedOnResource"}, 1062f4c4dcf4SKowalski, Kamil {"Message", "Querying is not supported on the requested resource."}, 1063f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 1064*1abe55efSEd Tanous {"Resolution", "Remove the query parameters and resubmit the request " 1065*1abe55efSEd Tanous "if the operation " 1066f4c4dcf4SKowalski, Kamil "failed."}}; 1067f4c4dcf4SKowalski, Kamil } 1068f4c4dcf4SKowalski, Kamil 1069f4c4dcf4SKowalski, Kamil /** 1070f4c4dcf4SKowalski, Kamil * @internal 1071f4c4dcf4SKowalski, Kamil * @brief Formats InsufficientPrivilege message into JSON 1072f4c4dcf4SKowalski, Kamil * 1073f4c4dcf4SKowalski, Kamil * See header file for more information 1074f4c4dcf4SKowalski, Kamil * @endinternal 1075f4c4dcf4SKowalski, Kamil */ 1076*1abe55efSEd Tanous nlohmann::json insufficientPrivilege() 1077*1abe55efSEd Tanous { 1078f4c4dcf4SKowalski, Kamil return nlohmann::json{ 1079f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 1080f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.InsufficientPrivilege"}, 1081f4c4dcf4SKowalski, Kamil {"Message", 1082f4c4dcf4SKowalski, Kamil "There are insufficient privileges for the account or credentials " 1083f4c4dcf4SKowalski, Kamil "associated with the current session to perform the requested " 1084f4c4dcf4SKowalski, Kamil "operation."}, 1085f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 1086f4c4dcf4SKowalski, Kamil {"Resolution", 1087f4c4dcf4SKowalski, Kamil "Either abandon the operation or change the associated access rights " 1088f4c4dcf4SKowalski, Kamil "and resubmit the request if the operation failed."}}; 1089f4c4dcf4SKowalski, Kamil } 1090f4c4dcf4SKowalski, Kamil 1091f4c4dcf4SKowalski, Kamil /** 1092f4c4dcf4SKowalski, Kamil * @internal 1093f4c4dcf4SKowalski, Kamil * @brief Formats PropertyValueModified message into JSON 1094f4c4dcf4SKowalski, Kamil * 1095f4c4dcf4SKowalski, Kamil * See header file for more information 1096f4c4dcf4SKowalski, Kamil * @endinternal 1097f4c4dcf4SKowalski, Kamil */ 1098f4c4dcf4SKowalski, Kamil nlohmann::json propertyValueModified(const std::string& arg1, 1099*1abe55efSEd Tanous const std::string& arg2) 1100*1abe55efSEd Tanous { 1101f4c4dcf4SKowalski, Kamil return nlohmann::json{ 1102f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 1103f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.PropertyValueModified"}, 1104f4c4dcf4SKowalski, Kamil {"Message", "The property " + arg1 + " was assigned the value " + arg2 + 1105f4c4dcf4SKowalski, Kamil " due to modification by the service."}, 1106f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 1107f4c4dcf4SKowalski, Kamil {"Resolution", "No resolution is required."}}; 1108f4c4dcf4SKowalski, Kamil } 1109f4c4dcf4SKowalski, Kamil 1110f4c4dcf4SKowalski, Kamil /** 1111f4c4dcf4SKowalski, Kamil * @internal 1112f4c4dcf4SKowalski, Kamil * @brief Formats AccountNotModified message into JSON 1113f4c4dcf4SKowalski, Kamil * 1114f4c4dcf4SKowalski, Kamil * See header file for more information 1115f4c4dcf4SKowalski, Kamil * @endinternal 1116f4c4dcf4SKowalski, Kamil */ 1117*1abe55efSEd Tanous nlohmann::json accountNotModified() 1118*1abe55efSEd Tanous { 1119f4c4dcf4SKowalski, Kamil return nlohmann::json{ 1120f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 1121f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.AccountNotModified"}, 1122f4c4dcf4SKowalski, Kamil {"Message", "The account modification request failed."}, 1123f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 1124f4c4dcf4SKowalski, Kamil {"Resolution", 1125f4c4dcf4SKowalski, Kamil "The modification may have failed due to permission issues or issues " 1126f4c4dcf4SKowalski, Kamil "with the request body."}}; 1127f4c4dcf4SKowalski, Kamil } 1128f4c4dcf4SKowalski, Kamil 1129f4c4dcf4SKowalski, Kamil /** 1130f4c4dcf4SKowalski, Kamil * @internal 1131f4c4dcf4SKowalski, Kamil * @brief Formats QueryParameterValueFormatError message into JSON 1132f4c4dcf4SKowalski, Kamil * 1133f4c4dcf4SKowalski, Kamil * See header file for more information 1134f4c4dcf4SKowalski, Kamil * @endinternal 1135f4c4dcf4SKowalski, Kamil */ 1136f4c4dcf4SKowalski, Kamil nlohmann::json queryParameterValueFormatError(const std::string& arg1, 1137*1abe55efSEd Tanous const std::string& arg2) 1138*1abe55efSEd Tanous { 1139f4c4dcf4SKowalski, Kamil return nlohmann::json{ 1140f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 1141f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.QueryParameterValueFormatError"}, 1142f4c4dcf4SKowalski, Kamil {"Message", 1143f4c4dcf4SKowalski, Kamil "The value " + arg1 + " for the parameter " + arg2 + 1144f4c4dcf4SKowalski, Kamil " is of a different format than the parameter can accept."}, 1145f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 1146*1abe55efSEd Tanous {"Resolution", "Correct the value for the query parameter in the " 1147*1abe55efSEd Tanous "request and resubmit " 1148f4c4dcf4SKowalski, Kamil "the request if the operation failed."}}; 1149f4c4dcf4SKowalski, Kamil } 1150f4c4dcf4SKowalski, Kamil 1151f4c4dcf4SKowalski, Kamil /** 1152f4c4dcf4SKowalski, Kamil * @internal 1153f4c4dcf4SKowalski, Kamil * @brief Formats PropertyMissing message into JSON 1154f4c4dcf4SKowalski, Kamil * 1155f4c4dcf4SKowalski, Kamil * See header file for more information 1156f4c4dcf4SKowalski, Kamil * @endinternal 1157f4c4dcf4SKowalski, Kamil */ 1158*1abe55efSEd Tanous nlohmann::json propertyMissing(const std::string& arg1) 1159*1abe55efSEd Tanous { 1160f4c4dcf4SKowalski, Kamil return nlohmann::json{ 1161f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 1162f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.PropertyMissing"}, 1163f4c4dcf4SKowalski, Kamil {"Message", 1164f4c4dcf4SKowalski, Kamil "The property " + arg1 + 1165f4c4dcf4SKowalski, Kamil " is a required property and must be included in the request."}, 1166f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 1167*1abe55efSEd Tanous {"Resolution", "Ensure that the property is in the request body and " 1168*1abe55efSEd Tanous "has a valid value " 1169f4c4dcf4SKowalski, Kamil "and resubmit the request if the operation failed."}}; 1170f4c4dcf4SKowalski, Kamil } 1171f4c4dcf4SKowalski, Kamil 1172f4c4dcf4SKowalski, Kamil /** 1173f4c4dcf4SKowalski, Kamil * @internal 1174f4c4dcf4SKowalski, Kamil * @brief Formats ResourceExhaustion message into JSON 1175f4c4dcf4SKowalski, Kamil * 1176f4c4dcf4SKowalski, Kamil * See header file for more information 1177f4c4dcf4SKowalski, Kamil * @endinternal 1178f4c4dcf4SKowalski, Kamil */ 1179*1abe55efSEd Tanous nlohmann::json resourceExhaustion(const std::string& arg1) 1180*1abe55efSEd Tanous { 1181f4c4dcf4SKowalski, Kamil return nlohmann::json{ 1182f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 1183f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.ResourceExhaustion"}, 1184d425c6f6SEd Tanous {"Message", "The resource " + arg1 + 1185d425c6f6SEd Tanous " was unable to satisfy the request " 1186f4c4dcf4SKowalski, Kamil "due to unavailability of " 1187f4c4dcf4SKowalski, Kamil "resources."}, 1188f4c4dcf4SKowalski, Kamil {"Severity", "Critical"}, 1189f4c4dcf4SKowalski, Kamil {"Resolution", 1190f4c4dcf4SKowalski, Kamil "Ensure that the resources are available and resubmit the request."}}; 1191f4c4dcf4SKowalski, Kamil } 1192f4c4dcf4SKowalski, Kamil 1193f4c4dcf4SKowalski, Kamil /** 1194f4c4dcf4SKowalski, Kamil * @internal 1195f4c4dcf4SKowalski, Kamil * @brief Formats AccountModified message into JSON 1196f4c4dcf4SKowalski, Kamil * 1197f4c4dcf4SKowalski, Kamil * See header file for more information 1198f4c4dcf4SKowalski, Kamil * @endinternal 1199f4c4dcf4SKowalski, Kamil */ 1200*1abe55efSEd Tanous nlohmann::json accountModified() 1201*1abe55efSEd Tanous { 1202f4c4dcf4SKowalski, Kamil return nlohmann::json{ 1203f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 1204f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.AccountModified"}, 1205f4c4dcf4SKowalski, Kamil {"Message", "The account was successfully modified."}, 1206f4c4dcf4SKowalski, Kamil {"Severity", "OK"}, 1207f4c4dcf4SKowalski, Kamil {"Resolution", "No resolution is required."}}; 1208f4c4dcf4SKowalski, Kamil } 1209f4c4dcf4SKowalski, Kamil 1210f4c4dcf4SKowalski, Kamil /** 1211f4c4dcf4SKowalski, Kamil * @internal 1212f4c4dcf4SKowalski, Kamil * @brief Formats QueryParameterOutOfRange message into JSON 1213f4c4dcf4SKowalski, Kamil * 1214f4c4dcf4SKowalski, Kamil * See header file for more information 1215f4c4dcf4SKowalski, Kamil * @endinternal 1216f4c4dcf4SKowalski, Kamil */ 1217f4c4dcf4SKowalski, Kamil nlohmann::json queryParameterOutOfRange(const std::string& arg1, 1218f4c4dcf4SKowalski, Kamil const std::string& arg2, 1219*1abe55efSEd Tanous const std::string& arg3) 1220*1abe55efSEd Tanous { 1221f4c4dcf4SKowalski, Kamil return nlohmann::json{ 1222f4c4dcf4SKowalski, Kamil {"@odata.type", "/redfish/v1/$metadata#Message.v1_0_0.Message"}, 1223f4c4dcf4SKowalski, Kamil {"MessageId", "Base.1.2.0.QueryParameterOutOfRange"}, 1224f4c4dcf4SKowalski, Kamil {"Message", "The value " + arg1 + " for the query parameter " + arg2 + 1225f4c4dcf4SKowalski, Kamil " is out of range " + arg3 + "."}, 1226f4c4dcf4SKowalski, Kamil {"Severity", "Warning"}, 1227f4c4dcf4SKowalski, Kamil {"Resolution", 1228f4c4dcf4SKowalski, Kamil "Reduce the value for the query parameter to a value that is within " 1229f4c4dcf4SKowalski, Kamil "range, such as a start or count value that is within bounds of the " 1230*1abe55efSEd Tanous "number of resources in a collection or a page that is within the " 1231*1abe55efSEd Tanous "range " 1232f4c4dcf4SKowalski, Kamil "of valid pages."}}; 1233f4c4dcf4SKowalski, Kamil } 1234f4c4dcf4SKowalski, Kamil 1235f4c4dcf4SKowalski, Kamil /********************************* 1236f4c4dcf4SKowalski, Kamil * AUTOGENERATED FUNCTIONS END * 1237f4c4dcf4SKowalski, Kamil *********************************/ 1238f4c4dcf4SKowalski, Kamil 1239f4c4dcf4SKowalski, Kamil } // namespace messages 1240f4c4dcf4SKowalski, Kamil 1241d425c6f6SEd Tanous } // namespace redfish 1242