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