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