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 collection_capabilities 7853c0dc5SEd Tanous { 8853c0dc5SEd Tanous // clang-format off 9853c0dc5SEd Tanous 10853c0dc5SEd Tanous enum class UseCase{ 11853c0dc5SEd Tanous Invalid, 12853c0dc5SEd Tanous ComputerSystemComposition, 13853c0dc5SEd Tanous ComputerSystemConstrainedComposition, 14853c0dc5SEd Tanous VolumeCreation, 15853c0dc5SEd Tanous ResourceBlockComposition, 16853c0dc5SEd Tanous ResourceBlockConstrainedComposition, 17853c0dc5SEd Tanous RegisterResourceBlock, 18853c0dc5SEd Tanous }; 19853c0dc5SEd Tanous 20853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(UseCase, { 21853c0dc5SEd Tanous {UseCase::Invalid, "Invalid"}, 22853c0dc5SEd Tanous {UseCase::ComputerSystemComposition, "ComputerSystemComposition"}, 23853c0dc5SEd Tanous {UseCase::ComputerSystemConstrainedComposition, "ComputerSystemConstrainedComposition"}, 24853c0dc5SEd Tanous {UseCase::VolumeCreation, "VolumeCreation"}, 25853c0dc5SEd Tanous {UseCase::ResourceBlockComposition, "ResourceBlockComposition"}, 26853c0dc5SEd Tanous {UseCase::ResourceBlockConstrainedComposition, "ResourceBlockConstrainedComposition"}, 27853c0dc5SEd Tanous {UseCase::RegisterResourceBlock, "RegisterResourceBlock"}, 28853c0dc5SEd Tanous }); 29853c0dc5SEd Tanous 30853c0dc5SEd Tanous } 31853c0dc5SEd Tanous // clang-format on 32