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