140e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 240e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3665e7602SGunnar Mills #pragma once 4665e7602SGunnar Mills /**************************************************************** 5665e7602SGunnar Mills * READ THIS WARNING FIRST 6665e7602SGunnar Mills * This is an auto-generated header which contains definitions 7665e7602SGunnar Mills * for Redfish DMTF defined messages. 8665e7602SGunnar Mills * DO NOT modify this registry outside of running the 9665e7602SGunnar Mills * parse_registries.py script. The definitions contained within 10665e7602SGunnar Mills * this file are owned by DMTF. Any modifications to these files 11665e7602SGunnar Mills * should be first pushed to the relevant registry in the DMTF 12665e7602SGunnar Mills * github organization. 13665e7602SGunnar Mills ***************************************************************/ 14665e7602SGunnar Mills #include "registries.hpp" 15665e7602SGunnar Mills 16665e7602SGunnar Mills #include <array> 17665e7602SGunnar Mills 18665e7602SGunnar Mills // clang-format off 19665e7602SGunnar Mills 20*4a102cd4SPatrick Williams namespace redfish::registries 21665e7602SGunnar Mills { 22*4a102cd4SPatrick Williams struct Composition 23*4a102cd4SPatrick Williams { 24*4a102cd4SPatrick Williams static constexpr Header header = { 25665e7602SGunnar Mills "Copyright 2019-2023 DMTF. All rights reserved.", 26665e7602SGunnar Mills "#MessageRegistry.v1_6_2.MessageRegistry", 2756b81992SEd Tanous 1, 2856b81992SEd Tanous 1, 2956b81992SEd Tanous 2, 30665e7602SGunnar Mills "Composition Message Registry", 31665e7602SGunnar Mills "en", 32665e7602SGunnar Mills "This registry defines the messages for composition related events.", 33665e7602SGunnar Mills "Composition", 34665e7602SGunnar Mills "DMTF", 35665e7602SGunnar Mills }; 36*4a102cd4SPatrick Williams 37*4a102cd4SPatrick Williams static constexpr const char* url = 38665e7602SGunnar Mills "https://redfish.dmtf.org/registries/Composition.1.1.2.json"; 39665e7602SGunnar Mills 40*4a102cd4SPatrick Williams static constexpr std::array registry = 41665e7602SGunnar Mills { 42665e7602SGunnar Mills MessageEntry{ 43665e7602SGunnar Mills "ConstrainedResourceAlreadyReserved", 44665e7602SGunnar Mills { 45665e7602SGunnar Mills "Indicates that the requested resources are already reserved in response to a constrained composition request.", 46665e7602SGunnar Mills "The requested resources are reserved under reservation '%1'.", 47665e7602SGunnar Mills "Critical", 48665e7602SGunnar Mills 1, 49665e7602SGunnar Mills { 50665e7602SGunnar Mills "string", 51665e7602SGunnar Mills }, 52665e7602SGunnar Mills "Delete the reservation containing the resources and resubmit the request.", 53665e7602SGunnar Mills }}, 54665e7602SGunnar Mills MessageEntry{ 55665e7602SGunnar Mills "EmptyManifest", 56665e7602SGunnar Mills { 57665e7602SGunnar Mills "Indicates that the manifest contains no stanzas or that a stanza in the manifest contains no request.", 58665e7602SGunnar Mills "The provided manifest is empty or a stanza in the manifest contains no request.", 59665e7602SGunnar Mills "Warning", 60665e7602SGunnar Mills 0, 61665e7602SGunnar Mills {}, 62665e7602SGunnar Mills "Provide a request content for the manifest and resubmit.", 63665e7602SGunnar Mills }}, 64665e7602SGunnar Mills MessageEntry{ 65665e7602SGunnar Mills "IncompatibleZone", 66665e7602SGunnar Mills { 67665e7602SGunnar Mills "Indicates that not all referenced resource blocks are in the same resource zone.", 68665e7602SGunnar Mills "The requested resource blocks span multiple resource zones.", 69665e7602SGunnar Mills "Critical", 70665e7602SGunnar Mills 0, 71665e7602SGunnar Mills {}, 72665e7602SGunnar Mills "Request resource blocks from the same resource zone.", 73665e7602SGunnar Mills }}, 74665e7602SGunnar Mills MessageEntry{ 75665e7602SGunnar Mills "NoResourceMatch", 76665e7602SGunnar Mills { 77665e7602SGunnar Mills "Indicates that the service could not find a matching resource based on the given parameters.", 78665e7602SGunnar Mills "The requested resources of type '%1' are not available for allocation.", 79665e7602SGunnar Mills "Critical", 80665e7602SGunnar Mills 1, 81665e7602SGunnar Mills { 82665e7602SGunnar Mills "string", 83665e7602SGunnar Mills }, 84665e7602SGunnar Mills "Change parameters associated with the resource, such as quantity or performance, and resubmit the request.", 85665e7602SGunnar Mills }}, 86665e7602SGunnar Mills MessageEntry{ 87665e7602SGunnar Mills "ResourceBlockChanged", 88665e7602SGunnar Mills { 89665e7602SGunnar Mills "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.", 90665e7602SGunnar Mills "Resource block '%1' has changed on the service.", 91665e7602SGunnar Mills "OK", 92665e7602SGunnar Mills 1, 93665e7602SGunnar Mills { 94665e7602SGunnar Mills "string", 95665e7602SGunnar Mills }, 96665e7602SGunnar Mills "None.", 97665e7602SGunnar Mills }}, 98665e7602SGunnar Mills MessageEntry{ 99665e7602SGunnar Mills "ResourceBlockCompositionStateChanged", 100665e7602SGunnar Mills { 101665e7602SGunnar Mills "Indicates that the composition state of a resource block has changed, specifically the value of the `CompositionState` property within `CompositionStatus`.", 102665e7602SGunnar Mills "The composition status of the resource block '%1' has changed.", 103665e7602SGunnar Mills "OK", 104665e7602SGunnar Mills 1, 105665e7602SGunnar Mills { 106665e7602SGunnar Mills "string", 107665e7602SGunnar Mills }, 108665e7602SGunnar Mills "None.", 109665e7602SGunnar Mills }}, 110665e7602SGunnar Mills MessageEntry{ 111665e7602SGunnar Mills "ResourceBlockInUse", 112665e7602SGunnar Mills { 113665e7602SGunnar Mills "Indicates that the composition request contains a resource block that is unable to participate in more compositions.", 114665e7602SGunnar Mills "Resource block '%1' cannot be part of any new compositions.", 115665e7602SGunnar Mills "Warning", 116665e7602SGunnar Mills 1, 117665e7602SGunnar Mills { 118665e7602SGunnar Mills "string", 119665e7602SGunnar Mills }, 120665e7602SGunnar Mills "Remove the resource block from the request and resubmit the request.", 121665e7602SGunnar Mills }}, 122665e7602SGunnar Mills MessageEntry{ 123665e7602SGunnar Mills "ResourceBlockInvalid", 124665e7602SGunnar Mills { 125665e7602SGunnar Mills "Indicates that the `Id` of a referenced resource block is no longer valid.", 126665e7602SGunnar Mills "Resource block '%1' is not valid.", 127665e7602SGunnar Mills "Critical", 128665e7602SGunnar Mills 1, 129665e7602SGunnar Mills { 130665e7602SGunnar Mills "string", 131665e7602SGunnar Mills }, 132665e7602SGunnar Mills "Remove the resource block and resubmit the request.", 133665e7602SGunnar Mills }}, 134665e7602SGunnar Mills MessageEntry{ 135665e7602SGunnar Mills "ResourceBlockNotFound", 136665e7602SGunnar Mills { 137665e7602SGunnar Mills "Indicates that the referenced resource block was not found.", 138665e7602SGunnar Mills "Resource block '%1' was not found.", 139665e7602SGunnar Mills "Critical", 140665e7602SGunnar Mills 1, 141665e7602SGunnar Mills { 142665e7602SGunnar Mills "string", 143665e7602SGunnar Mills }, 144665e7602SGunnar Mills "Remove the resource block and resubmit the request.", 145665e7602SGunnar Mills }}, 146665e7602SGunnar Mills MessageEntry{ 147665e7602SGunnar Mills "ResourceBlockStateChanged", 148665e7602SGunnar Mills { 149665e7602SGunnar Mills "Indicates that the state of a resource block has changed, specifically the value of the `State` property within `Status`.", 150665e7602SGunnar Mills "The state of resource block '%1' has changed.", 151665e7602SGunnar Mills "OK", 152665e7602SGunnar Mills 1, 153665e7602SGunnar Mills { 154665e7602SGunnar Mills "string", 155665e7602SGunnar Mills }, 156665e7602SGunnar Mills "None.", 157665e7602SGunnar Mills }}, 158665e7602SGunnar Mills MessageEntry{ 159665e7602SGunnar Mills "ResourceZoneMembershipChanged", 160665e7602SGunnar Mills { 161665e7602SGunnar Mills "Indicates that the membership of a resource zone has changed due to resource blocks being added or removed from the resource zone.", 162665e7602SGunnar Mills "The membership of resource zone '%1' has been changed.", 163665e7602SGunnar Mills "OK", 164665e7602SGunnar Mills 1, 165665e7602SGunnar Mills { 166665e7602SGunnar Mills "string", 167665e7602SGunnar Mills }, 168665e7602SGunnar Mills "None.", 169665e7602SGunnar Mills }}, 170665e7602SGunnar Mills MessageEntry{ 171665e7602SGunnar Mills "SpecifiedResourceAlreadyReserved", 172665e7602SGunnar Mills { 173665e7602SGunnar Mills "Indicates that a resource block is already reserved in response to a specific composition request.", 174665e7602SGunnar Mills "Resource block '%1' is already reserved under reservation '%2'.", 175665e7602SGunnar Mills "Critical", 176665e7602SGunnar Mills 2, 177665e7602SGunnar Mills { 178665e7602SGunnar Mills "string", 179665e7602SGunnar Mills "string", 180665e7602SGunnar Mills }, 181665e7602SGunnar Mills "Delete the reservation containing the resource block or select a different resource block and resubmit the request.", 182665e7602SGunnar Mills }}, 183665e7602SGunnar Mills MessageEntry{ 184665e7602SGunnar Mills "UnableToProcessStanzaRequest", 185665e7602SGunnar Mills { 186665e7602SGunnar Mills "Indicates that the manifest provided for the `Compose` action contains a stanza with `Content` that could not be processed.", 187665e7602SGunnar Mills "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.", 188665e7602SGunnar Mills "Critical", 189665e7602SGunnar Mills 2, 190665e7602SGunnar Mills { 191665e7602SGunnar Mills "string", 192665e7602SGunnar Mills "string", 193665e7602SGunnar Mills }, 194665e7602SGunnar Mills "Add the Content parameter to the stanza or remove the stanza, and resubmit the request.", 195665e7602SGunnar Mills }}, 196665e7602SGunnar Mills 197665e7602SGunnar Mills }; 198665e7602SGunnar Mills 199665e7602SGunnar Mills enum class Index 200665e7602SGunnar Mills { 201665e7602SGunnar Mills constrainedResourceAlreadyReserved = 0, 202665e7602SGunnar Mills emptyManifest = 1, 203665e7602SGunnar Mills incompatibleZone = 2, 204665e7602SGunnar Mills noResourceMatch = 3, 205665e7602SGunnar Mills resourceBlockChanged = 4, 206665e7602SGunnar Mills resourceBlockCompositionStateChanged = 5, 207665e7602SGunnar Mills resourceBlockInUse = 6, 208665e7602SGunnar Mills resourceBlockInvalid = 7, 209665e7602SGunnar Mills resourceBlockNotFound = 8, 210665e7602SGunnar Mills resourceBlockStateChanged = 9, 211665e7602SGunnar Mills resourceZoneMembershipChanged = 10, 212665e7602SGunnar Mills specifiedResourceAlreadyReserved = 11, 213665e7602SGunnar Mills unableToProcessStanzaRequest = 12, 214665e7602SGunnar Mills }; 215*4a102cd4SPatrick Williams }; // struct composition 216*4a102cd4SPatrick Williams 217*4a102cd4SPatrick Williams [[gnu::constructor]] inline void registerComposition() 218*4a102cd4SPatrick Williams { registerRegistry<Composition>(); } 219*4a102cd4SPatrick Williams 220*4a102cd4SPatrick Williams } // namespace redfish::registries 221