summaryrefslogtreecommitdiff
path: root/redfish-core/include/generated/enums/key_policy.hpp
blob: 1501a8bfabfe16a60000201c7ee42281b29ff863 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: Copyright OpenBMC Authors
#pragma once
#include <nlohmann/json.hpp>

namespace key_policy
{
// clang-format off

enum class KeyPolicyType{
    Invalid,
    NVMeoF,
};

enum class NVMeoFSecurityProtocolType{
    Invalid,
    DHHC,
    TLS_PSK,
    OEM,
};

enum class NVMeoFSecureHashType{
    Invalid,
    SHA256,
    SHA384,
    SHA512,
};

enum class NVMeoFSecurityTransportType{
    Invalid,
    TLSv2,
    TLSv3,
};

enum class NVMeoFCipherSuiteType{
    Invalid,
    TLS_AES_128_GCM_SHA256,
    TLS_AES_256_GCM_SHA384,
};

enum class NVMeoFDHGroupType{
    Invalid,
    FFDHE2048,
    FFDHE3072,
    FFDHE4096,
    FFDHE6144,
    FFDHE8192,
};

NLOHMANN_JSON_SERIALIZE_ENUM(KeyPolicyType, {
    {KeyPolicyType::Invalid, "Invalid"},
    {KeyPolicyType::NVMeoF, "NVMeoF"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(NVMeoFSecurityProtocolType, {
    {NVMeoFSecurityProtocolType::Invalid, "Invalid"},
    {NVMeoFSecurityProtocolType::DHHC, "DHHC"},
    {NVMeoFSecurityProtocolType::TLS_PSK, "TLS_PSK"},
    {NVMeoFSecurityProtocolType::OEM, "OEM"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(NVMeoFSecureHashType, {
    {NVMeoFSecureHashType::Invalid, "Invalid"},
    {NVMeoFSecureHashType::SHA256, "SHA256"},
    {NVMeoFSecureHashType::SHA384, "SHA384"},
    {NVMeoFSecureHashType::SHA512, "SHA512"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(NVMeoFSecurityTransportType, {
    {NVMeoFSecurityTransportType::Invalid, "Invalid"},
    {NVMeoFSecurityTransportType::TLSv2, "TLSv2"},
    {NVMeoFSecurityTransportType::TLSv3, "TLSv3"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(NVMeoFCipherSuiteType, {
    {NVMeoFCipherSuiteType::Invalid, "Invalid"},
    {NVMeoFCipherSuiteType::TLS_AES_128_GCM_SHA256, "TLS_AES_128_GCM_SHA256"},
    {NVMeoFCipherSuiteType::TLS_AES_256_GCM_SHA384, "TLS_AES_256_GCM_SHA384"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(NVMeoFDHGroupType, {
    {NVMeoFDHGroupType::Invalid, "Invalid"},
    {NVMeoFDHGroupType::FFDHE2048, "FFDHE2048"},
    {NVMeoFDHGroupType::FFDHE3072, "FFDHE3072"},
    {NVMeoFDHGroupType::FFDHE4096, "FFDHE4096"},
    {NVMeoFDHGroupType::FFDHE6144, "FFDHE6144"},
    {NVMeoFDHGroupType::FFDHE8192, "FFDHE8192"},
});

// clang-format on
} // namespace key_policy