xref: /openbmc/bmcweb/features/redfish/include/generated/enums/key_policy.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
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 key_policy
7853c0dc5SEd Tanous {
8853c0dc5SEd Tanous // clang-format off
9853c0dc5SEd Tanous 
10853c0dc5SEd Tanous enum class KeyPolicyType{
11853c0dc5SEd Tanous     Invalid,
12853c0dc5SEd Tanous     NVMeoF,
13853c0dc5SEd Tanous };
14853c0dc5SEd Tanous 
15853c0dc5SEd Tanous enum class NVMeoFSecurityProtocolType{
16853c0dc5SEd Tanous     Invalid,
17853c0dc5SEd Tanous     DHHC,
18853c0dc5SEd Tanous     TLS_PSK,
19853c0dc5SEd Tanous     OEM,
20853c0dc5SEd Tanous };
21853c0dc5SEd Tanous 
22853c0dc5SEd Tanous enum class NVMeoFSecureHashType{
23853c0dc5SEd Tanous     Invalid,
24853c0dc5SEd Tanous     SHA256,
25853c0dc5SEd Tanous     SHA384,
26853c0dc5SEd Tanous     SHA512,
27853c0dc5SEd Tanous };
28853c0dc5SEd Tanous 
29853c0dc5SEd Tanous enum class NVMeoFSecurityTransportType{
30853c0dc5SEd Tanous     Invalid,
31853c0dc5SEd Tanous     TLSv2,
32853c0dc5SEd Tanous     TLSv3,
33853c0dc5SEd Tanous };
34853c0dc5SEd Tanous 
35853c0dc5SEd Tanous enum class NVMeoFCipherSuiteType{
36853c0dc5SEd Tanous     Invalid,
37853c0dc5SEd Tanous     TLS_AES_128_GCM_SHA256,
38853c0dc5SEd Tanous     TLS_AES_256_GCM_SHA384,
39853c0dc5SEd Tanous };
40853c0dc5SEd Tanous 
41853c0dc5SEd Tanous enum class NVMeoFDHGroupType{
42853c0dc5SEd Tanous     Invalid,
43853c0dc5SEd Tanous     FFDHE2048,
44853c0dc5SEd Tanous     FFDHE3072,
45853c0dc5SEd Tanous     FFDHE4096,
46853c0dc5SEd Tanous     FFDHE6144,
47853c0dc5SEd Tanous     FFDHE8192,
48853c0dc5SEd Tanous };
49853c0dc5SEd Tanous 
50853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(KeyPolicyType, {
51853c0dc5SEd Tanous     {KeyPolicyType::Invalid, "Invalid"},
52853c0dc5SEd Tanous     {KeyPolicyType::NVMeoF, "NVMeoF"},
53853c0dc5SEd Tanous });
54853c0dc5SEd Tanous 
55853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(NVMeoFSecurityProtocolType, {
56853c0dc5SEd Tanous     {NVMeoFSecurityProtocolType::Invalid, "Invalid"},
57853c0dc5SEd Tanous     {NVMeoFSecurityProtocolType::DHHC, "DHHC"},
58853c0dc5SEd Tanous     {NVMeoFSecurityProtocolType::TLS_PSK, "TLS_PSK"},
59853c0dc5SEd Tanous     {NVMeoFSecurityProtocolType::OEM, "OEM"},
60853c0dc5SEd Tanous });
61853c0dc5SEd Tanous 
62853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(NVMeoFSecureHashType, {
63853c0dc5SEd Tanous     {NVMeoFSecureHashType::Invalid, "Invalid"},
64853c0dc5SEd Tanous     {NVMeoFSecureHashType::SHA256, "SHA256"},
65853c0dc5SEd Tanous     {NVMeoFSecureHashType::SHA384, "SHA384"},
66853c0dc5SEd Tanous     {NVMeoFSecureHashType::SHA512, "SHA512"},
67853c0dc5SEd Tanous });
68853c0dc5SEd Tanous 
69853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(NVMeoFSecurityTransportType, {
70853c0dc5SEd Tanous     {NVMeoFSecurityTransportType::Invalid, "Invalid"},
71853c0dc5SEd Tanous     {NVMeoFSecurityTransportType::TLSv2, "TLSv2"},
72853c0dc5SEd Tanous     {NVMeoFSecurityTransportType::TLSv3, "TLSv3"},
73853c0dc5SEd Tanous });
74853c0dc5SEd Tanous 
75853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(NVMeoFCipherSuiteType, {
76853c0dc5SEd Tanous     {NVMeoFCipherSuiteType::Invalid, "Invalid"},
77853c0dc5SEd Tanous     {NVMeoFCipherSuiteType::TLS_AES_128_GCM_SHA256, "TLS_AES_128_GCM_SHA256"},
78853c0dc5SEd Tanous     {NVMeoFCipherSuiteType::TLS_AES_256_GCM_SHA384, "TLS_AES_256_GCM_SHA384"},
79853c0dc5SEd Tanous });
80853c0dc5SEd Tanous 
81853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(NVMeoFDHGroupType, {
82853c0dc5SEd Tanous     {NVMeoFDHGroupType::Invalid, "Invalid"},
83853c0dc5SEd Tanous     {NVMeoFDHGroupType::FFDHE2048, "FFDHE2048"},
84853c0dc5SEd Tanous     {NVMeoFDHGroupType::FFDHE3072, "FFDHE3072"},
85853c0dc5SEd Tanous     {NVMeoFDHGroupType::FFDHE4096, "FFDHE4096"},
86853c0dc5SEd Tanous     {NVMeoFDHGroupType::FFDHE6144, "FFDHE6144"},
87853c0dc5SEd Tanous     {NVMeoFDHGroupType::FFDHE8192, "FFDHE8192"},
88853c0dc5SEd Tanous });
89853c0dc5SEd Tanous 
90853c0dc5SEd Tanous }
91853c0dc5SEd Tanous // clang-format on
92