xref: /openbmc/bmcweb/redfish-core/include/generated/enums/license.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1 // SPDX-License-Identifier: Apache-2.0
2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3 #pragma once
4 #include <nlohmann/json.hpp>
5 
6 namespace license
7 {
8 // clang-format off
9 
10 enum class LicenseType{
11     Invalid,
12     Production,
13     Prototype,
14     Trial,
15 };
16 
17 enum class AuthorizationScope{
18     Invalid,
19     Device,
20     Capacity,
21     Service,
22 };
23 
24 enum class LicenseOrigin{
25     Invalid,
26     BuiltIn,
27     Installed,
28 };
29 
30 NLOHMANN_JSON_SERIALIZE_ENUM(LicenseType, {
31     {LicenseType::Invalid, "Invalid"},
32     {LicenseType::Production, "Production"},
33     {LicenseType::Prototype, "Prototype"},
34     {LicenseType::Trial, "Trial"},
35 });
36 
37 NLOHMANN_JSON_SERIALIZE_ENUM(AuthorizationScope, {
38     {AuthorizationScope::Invalid, "Invalid"},
39     {AuthorizationScope::Device, "Device"},
40     {AuthorizationScope::Capacity, "Capacity"},
41     {AuthorizationScope::Service, "Service"},
42 });
43 
44 NLOHMANN_JSON_SERIALIZE_ENUM(LicenseOrigin, {
45     {LicenseOrigin::Invalid, "Invalid"},
46     {LicenseOrigin::BuiltIn, "BuiltIn"},
47     {LicenseOrigin::Installed, "Installed"},
48 });
49 
50 }
51 // clang-format on
52