xref: /openbmc/bmcweb/features/redfish/include/generated/enums/resource_block.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0
2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3853c0dc5SEd Tanous #pragma once
4853c0dc5SEd Tanous #include <nlohmann/json.hpp>
5853c0dc5SEd Tanous 
6853c0dc5SEd Tanous namespace resource_block
7853c0dc5SEd Tanous {
8853c0dc5SEd Tanous // clang-format off
9853c0dc5SEd Tanous 
10853c0dc5SEd Tanous enum class ResourceBlockType{
11853c0dc5SEd Tanous     Invalid,
12853c0dc5SEd Tanous     Compute,
13853c0dc5SEd Tanous     Processor,
14853c0dc5SEd Tanous     Memory,
15853c0dc5SEd Tanous     Network,
16853c0dc5SEd Tanous     Storage,
17853c0dc5SEd Tanous     ComputerSystem,
18853c0dc5SEd Tanous     Expansion,
19853c0dc5SEd Tanous     IndependentResource,
20853c0dc5SEd Tanous };
21853c0dc5SEd Tanous 
22853c0dc5SEd Tanous enum class CompositionState{
23853c0dc5SEd Tanous     Invalid,
24853c0dc5SEd Tanous     Composing,
25853c0dc5SEd Tanous     ComposedAndAvailable,
26853c0dc5SEd Tanous     Composed,
27853c0dc5SEd Tanous     Unused,
28853c0dc5SEd Tanous     Failed,
29853c0dc5SEd Tanous     Unavailable,
30853c0dc5SEd Tanous };
31853c0dc5SEd Tanous 
32853c0dc5SEd Tanous enum class PoolType{
33853c0dc5SEd Tanous     Invalid,
34853c0dc5SEd Tanous     Free,
35853c0dc5SEd Tanous     Active,
36853c0dc5SEd Tanous     Unassigned,
37853c0dc5SEd Tanous };
38853c0dc5SEd Tanous 
39853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ResourceBlockType, {
40853c0dc5SEd Tanous     {ResourceBlockType::Invalid, "Invalid"},
41853c0dc5SEd Tanous     {ResourceBlockType::Compute, "Compute"},
42853c0dc5SEd Tanous     {ResourceBlockType::Processor, "Processor"},
43853c0dc5SEd Tanous     {ResourceBlockType::Memory, "Memory"},
44853c0dc5SEd Tanous     {ResourceBlockType::Network, "Network"},
45853c0dc5SEd Tanous     {ResourceBlockType::Storage, "Storage"},
46853c0dc5SEd Tanous     {ResourceBlockType::ComputerSystem, "ComputerSystem"},
47853c0dc5SEd Tanous     {ResourceBlockType::Expansion, "Expansion"},
48853c0dc5SEd Tanous     {ResourceBlockType::IndependentResource, "IndependentResource"},
49853c0dc5SEd Tanous });
50853c0dc5SEd Tanous 
51853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CompositionState, {
52853c0dc5SEd Tanous     {CompositionState::Invalid, "Invalid"},
53853c0dc5SEd Tanous     {CompositionState::Composing, "Composing"},
54853c0dc5SEd Tanous     {CompositionState::ComposedAndAvailable, "ComposedAndAvailable"},
55853c0dc5SEd Tanous     {CompositionState::Composed, "Composed"},
56853c0dc5SEd Tanous     {CompositionState::Unused, "Unused"},
57853c0dc5SEd Tanous     {CompositionState::Failed, "Failed"},
58853c0dc5SEd Tanous     {CompositionState::Unavailable, "Unavailable"},
59853c0dc5SEd Tanous });
60853c0dc5SEd Tanous 
61853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PoolType, {
62853c0dc5SEd Tanous     {PoolType::Invalid, "Invalid"},
63853c0dc5SEd Tanous     {PoolType::Free, "Free"},
64853c0dc5SEd Tanous     {PoolType::Active, "Active"},
65853c0dc5SEd Tanous     {PoolType::Unassigned, "Unassigned"},
66853c0dc5SEd Tanous });
67853c0dc5SEd Tanous 
68853c0dc5SEd Tanous }
69853c0dc5SEd Tanous // clang-format on
70