1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 /**************************************************************** 5 * READ THIS WARNING FIRST 6 * This is an auto-generated header which contains definitions 7 * for Redfish DMTF defined messages. 8 * DO NOT modify this registry outside of running the 9 * parse_registries.py script. The definitions contained within 10 * this file are owned by DMTF. Any modifications to these files 11 * should be first pushed to the relevant registry in the DMTF 12 * github organization. 13 ***************************************************************/ 14 #include "registries.hpp" 15 16 #include <array> 17 18 // clang-format off 19 20 namespace redfish::registries 21 { 22 struct Composition 23 { 24 static constexpr Header header = { 25 "Copyright 2019-2023 DMTF. All rights reserved.", 26 "#MessageRegistry.v1_6_2.MessageRegistry", 27 1, 28 1, 29 2, 30 "Composition Message Registry", 31 "en", 32 "This registry defines the messages for composition related events.", 33 "Composition", 34 "DMTF", 35 }; 36 37 static constexpr const char* url = 38 "https://redfish.dmtf.org/registries/Composition.1.1.2.json"; 39 40 static constexpr std::array registry = 41 { 42 MessageEntry{ 43 "ConstrainedResourceAlreadyReserved", 44 { 45 "Indicates that the requested resources are already reserved in response to a constrained composition request.", 46 "The requested resources are reserved under reservation '%1'.", 47 "Critical", 48 1, 49 { 50 "string", 51 }, 52 "Delete the reservation containing the resources and resubmit the request.", 53 }}, 54 MessageEntry{ 55 "EmptyManifest", 56 { 57 "Indicates that the manifest contains no stanzas or that a stanza in the manifest contains no request.", 58 "The provided manifest is empty or a stanza in the manifest contains no request.", 59 "Warning", 60 0, 61 {}, 62 "Provide a request content for the manifest and resubmit.", 63 }}, 64 MessageEntry{ 65 "IncompatibleZone", 66 { 67 "Indicates that not all referenced resource blocks are in the same resource zone.", 68 "The requested resource blocks span multiple resource zones.", 69 "Critical", 70 0, 71 {}, 72 "Request resource blocks from the same resource zone.", 73 }}, 74 MessageEntry{ 75 "NoResourceMatch", 76 { 77 "Indicates that the service could not find a matching resource based on the given parameters.", 78 "The requested resources of type '%1' are not available for allocation.", 79 "Critical", 80 1, 81 { 82 "string", 83 }, 84 "Change parameters associated with the resource, such as quantity or performance, and resubmit the request.", 85 }}, 86 MessageEntry{ 87 "ResourceBlockChanged", 88 { 89 "Indicates that a resource block has changed. This is not used whenever there is another event message for that specific change, such as when only the state has changed.", 90 "Resource block '%1' has changed on the service.", 91 "OK", 92 1, 93 { 94 "string", 95 }, 96 "None.", 97 }}, 98 MessageEntry{ 99 "ResourceBlockCompositionStateChanged", 100 { 101 "Indicates that the composition state of a resource block has changed, specifically the value of the `CompositionState` property within `CompositionStatus`.", 102 "The composition status of the resource block '%1' has changed.", 103 "OK", 104 1, 105 { 106 "string", 107 }, 108 "None.", 109 }}, 110 MessageEntry{ 111 "ResourceBlockInUse", 112 { 113 "Indicates that the composition request contains a resource block that is unable to participate in more compositions.", 114 "Resource block '%1' cannot be part of any new compositions.", 115 "Warning", 116 1, 117 { 118 "string", 119 }, 120 "Remove the resource block from the request and resubmit the request.", 121 }}, 122 MessageEntry{ 123 "ResourceBlockInvalid", 124 { 125 "Indicates that the `Id` of a referenced resource block is no longer valid.", 126 "Resource block '%1' is not valid.", 127 "Critical", 128 1, 129 { 130 "string", 131 }, 132 "Remove the resource block and resubmit the request.", 133 }}, 134 MessageEntry{ 135 "ResourceBlockNotFound", 136 { 137 "Indicates that the referenced resource block was not found.", 138 "Resource block '%1' was not found.", 139 "Critical", 140 1, 141 { 142 "string", 143 }, 144 "Remove the resource block and resubmit the request.", 145 }}, 146 MessageEntry{ 147 "ResourceBlockStateChanged", 148 { 149 "Indicates that the state of a resource block has changed, specifically the value of the `State` property within `Status`.", 150 "The state of resource block '%1' has changed.", 151 "OK", 152 1, 153 { 154 "string", 155 }, 156 "None.", 157 }}, 158 MessageEntry{ 159 "ResourceZoneMembershipChanged", 160 { 161 "Indicates that the membership of a resource zone has changed due to resource blocks being added or removed from the resource zone.", 162 "The membership of resource zone '%1' has been changed.", 163 "OK", 164 1, 165 { 166 "string", 167 }, 168 "None.", 169 }}, 170 MessageEntry{ 171 "SpecifiedResourceAlreadyReserved", 172 { 173 "Indicates that a resource block is already reserved in response to a specific composition request.", 174 "Resource block '%1' is already reserved under reservation '%2'.", 175 "Critical", 176 2, 177 { 178 "string", 179 "string", 180 }, 181 "Delete the reservation containing the resource block or select a different resource block and resubmit the request.", 182 }}, 183 MessageEntry{ 184 "UnableToProcessStanzaRequest", 185 { 186 "Indicates that the manifest provided for the `Compose` action contains a stanza with `Content` that could not be processed.", 187 "The provided manifest for the Compose action of type %1 contains a stanza with Id of value '%2' with a Content parameter that could not be processed.", 188 "Critical", 189 2, 190 { 191 "string", 192 "string", 193 }, 194 "Add the Content parameter to the stanza or remove the stanza, and resubmit the request.", 195 }}, 196 197 }; 198 199 enum class Index 200 { 201 constrainedResourceAlreadyReserved = 0, 202 emptyManifest = 1, 203 incompatibleZone = 2, 204 noResourceMatch = 3, 205 resourceBlockChanged = 4, 206 resourceBlockCompositionStateChanged = 5, 207 resourceBlockInUse = 6, 208 resourceBlockInvalid = 7, 209 resourceBlockNotFound = 8, 210 resourceBlockStateChanged = 9, 211 resourceZoneMembershipChanged = 10, 212 specifiedResourceAlreadyReserved = 11, 213 unableToProcessStanzaRequest = 12, 214 }; 215 }; // struct composition 216 217 [[gnu::constructor]] inline void registerComposition() 218 { registerRegistry<Composition>(); } 219 220 } // namespace redfish::registries 221