1*853c0dc5SEd Tanous #pragma once 2*853c0dc5SEd Tanous #include <nlohmann/json.hpp> 3*853c0dc5SEd Tanous 4*853c0dc5SEd Tanous namespace collection_capabilities 5*853c0dc5SEd Tanous { 6*853c0dc5SEd Tanous // clang-format off 7*853c0dc5SEd Tanous 8*853c0dc5SEd Tanous enum class UseCase{ 9*853c0dc5SEd Tanous Invalid, 10*853c0dc5SEd Tanous ComputerSystemComposition, 11*853c0dc5SEd Tanous ComputerSystemConstrainedComposition, 12*853c0dc5SEd Tanous VolumeCreation, 13*853c0dc5SEd Tanous ResourceBlockComposition, 14*853c0dc5SEd Tanous ResourceBlockConstrainedComposition, 15*853c0dc5SEd Tanous RegisterResourceBlock, 16*853c0dc5SEd Tanous }; 17*853c0dc5SEd Tanous 18*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(UseCase, { 19*853c0dc5SEd Tanous {UseCase::Invalid, "Invalid"}, 20*853c0dc5SEd Tanous {UseCase::ComputerSystemComposition, "ComputerSystemComposition"}, 21*853c0dc5SEd Tanous {UseCase::ComputerSystemConstrainedComposition, "ComputerSystemConstrainedComposition"}, 22*853c0dc5SEd Tanous {UseCase::VolumeCreation, "VolumeCreation"}, 23*853c0dc5SEd Tanous {UseCase::ResourceBlockComposition, "ResourceBlockComposition"}, 24*853c0dc5SEd Tanous {UseCase::ResourceBlockConstrainedComposition, "ResourceBlockConstrainedComposition"}, 25*853c0dc5SEd Tanous {UseCase::RegisterResourceBlock, "RegisterResourceBlock"}, 26*853c0dc5SEd Tanous }); 27*853c0dc5SEd Tanous 28*853c0dc5SEd Tanous } 29*853c0dc5SEd Tanous // clang-format on 30