xref: /openbmc/bmcweb/features/redfish/include/generated/enums/network_device_function.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 network_device_function
7853c0dc5SEd Tanous {
8853c0dc5SEd Tanous // clang-format off
9853c0dc5SEd Tanous 
10853c0dc5SEd Tanous enum class NetworkDeviceTechnology{
11853c0dc5SEd Tanous     Invalid,
12853c0dc5SEd Tanous     Disabled,
13853c0dc5SEd Tanous     Ethernet,
14853c0dc5SEd Tanous     FibreChannel,
15853c0dc5SEd Tanous     iSCSI,
16853c0dc5SEd Tanous     FibreChannelOverEthernet,
17853c0dc5SEd Tanous     InfiniBand,
18853c0dc5SEd Tanous };
19853c0dc5SEd Tanous 
20853c0dc5SEd Tanous enum class IPAddressType{
21853c0dc5SEd Tanous     Invalid,
22853c0dc5SEd Tanous     IPv4,
23853c0dc5SEd Tanous     IPv6,
24853c0dc5SEd Tanous };
25853c0dc5SEd Tanous 
26853c0dc5SEd Tanous enum class AuthenticationMethod{
27853c0dc5SEd Tanous     Invalid,
28853c0dc5SEd Tanous     None,
29853c0dc5SEd Tanous     CHAP,
30853c0dc5SEd Tanous     MutualCHAP,
31853c0dc5SEd Tanous };
32853c0dc5SEd Tanous 
33853c0dc5SEd Tanous enum class WWNSource{
34853c0dc5SEd Tanous     Invalid,
35853c0dc5SEd Tanous     ConfiguredLocally,
36853c0dc5SEd Tanous     ProvidedByFabric,
37853c0dc5SEd Tanous };
38853c0dc5SEd Tanous 
39853c0dc5SEd Tanous enum class BootMode{
40853c0dc5SEd Tanous     Invalid,
41853c0dc5SEd Tanous     Disabled,
42853c0dc5SEd Tanous     PXE,
43853c0dc5SEd Tanous     iSCSI,
44853c0dc5SEd Tanous     FibreChannel,
45853c0dc5SEd Tanous     FibreChannelOverEthernet,
46853c0dc5SEd Tanous     HTTP,
47853c0dc5SEd Tanous };
48853c0dc5SEd Tanous 
49853c0dc5SEd Tanous enum class DataDirection{
50853c0dc5SEd Tanous     Invalid,
51853c0dc5SEd Tanous     None,
52853c0dc5SEd Tanous     Ingress,
53853c0dc5SEd Tanous     Egress,
54853c0dc5SEd Tanous };
55853c0dc5SEd Tanous 
56853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(NetworkDeviceTechnology, {
57853c0dc5SEd Tanous     {NetworkDeviceTechnology::Invalid, "Invalid"},
58853c0dc5SEd Tanous     {NetworkDeviceTechnology::Disabled, "Disabled"},
59853c0dc5SEd Tanous     {NetworkDeviceTechnology::Ethernet, "Ethernet"},
60853c0dc5SEd Tanous     {NetworkDeviceTechnology::FibreChannel, "FibreChannel"},
61853c0dc5SEd Tanous     {NetworkDeviceTechnology::iSCSI, "iSCSI"},
62853c0dc5SEd Tanous     {NetworkDeviceTechnology::FibreChannelOverEthernet, "FibreChannelOverEthernet"},
63853c0dc5SEd Tanous     {NetworkDeviceTechnology::InfiniBand, "InfiniBand"},
64853c0dc5SEd Tanous });
65853c0dc5SEd Tanous 
66853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(IPAddressType, {
67853c0dc5SEd Tanous     {IPAddressType::Invalid, "Invalid"},
68853c0dc5SEd Tanous     {IPAddressType::IPv4, "IPv4"},
69853c0dc5SEd Tanous     {IPAddressType::IPv6, "IPv6"},
70853c0dc5SEd Tanous });
71853c0dc5SEd Tanous 
72853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AuthenticationMethod, {
73853c0dc5SEd Tanous     {AuthenticationMethod::Invalid, "Invalid"},
74853c0dc5SEd Tanous     {AuthenticationMethod::None, "None"},
75853c0dc5SEd Tanous     {AuthenticationMethod::CHAP, "CHAP"},
76853c0dc5SEd Tanous     {AuthenticationMethod::MutualCHAP, "MutualCHAP"},
77853c0dc5SEd Tanous });
78853c0dc5SEd Tanous 
79853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(WWNSource, {
80853c0dc5SEd Tanous     {WWNSource::Invalid, "Invalid"},
81853c0dc5SEd Tanous     {WWNSource::ConfiguredLocally, "ConfiguredLocally"},
82853c0dc5SEd Tanous     {WWNSource::ProvidedByFabric, "ProvidedByFabric"},
83853c0dc5SEd Tanous });
84853c0dc5SEd Tanous 
85853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(BootMode, {
86853c0dc5SEd Tanous     {BootMode::Invalid, "Invalid"},
87853c0dc5SEd Tanous     {BootMode::Disabled, "Disabled"},
88853c0dc5SEd Tanous     {BootMode::PXE, "PXE"},
89853c0dc5SEd Tanous     {BootMode::iSCSI, "iSCSI"},
90853c0dc5SEd Tanous     {BootMode::FibreChannel, "FibreChannel"},
91853c0dc5SEd Tanous     {BootMode::FibreChannelOverEthernet, "FibreChannelOverEthernet"},
92853c0dc5SEd Tanous     {BootMode::HTTP, "HTTP"},
93853c0dc5SEd Tanous });
94853c0dc5SEd Tanous 
95853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(DataDirection, {
96853c0dc5SEd Tanous     {DataDirection::Invalid, "Invalid"},
97853c0dc5SEd Tanous     {DataDirection::None, "None"},
98853c0dc5SEd Tanous     {DataDirection::Ingress, "Ingress"},
99853c0dc5SEd Tanous     {DataDirection::Egress, "Egress"},
100853c0dc5SEd Tanous });
101853c0dc5SEd Tanous 
102853c0dc5SEd Tanous }
103853c0dc5SEd Tanous // clang-format on
104