xref: /openbmc/bmcweb/features/redfish/include/generated/enums/external_account_provider.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 external_account_provider
7853c0dc5SEd Tanous {
8853c0dc5SEd Tanous // clang-format off
9853c0dc5SEd Tanous 
10853c0dc5SEd Tanous enum class AccountProviderTypes{
11853c0dc5SEd Tanous     Invalid,
12853c0dc5SEd Tanous     RedfishService,
13853c0dc5SEd Tanous     ActiveDirectoryService,
14853c0dc5SEd Tanous     LDAPService,
15853c0dc5SEd Tanous     OEM,
16853c0dc5SEd Tanous     TACACSplus,
17853c0dc5SEd Tanous     OAuth2,
18853c0dc5SEd Tanous };
19853c0dc5SEd Tanous 
20853c0dc5SEd Tanous enum class AuthenticationTypes{
21853c0dc5SEd Tanous     Invalid,
22853c0dc5SEd Tanous     Token,
23853c0dc5SEd Tanous     KerberosKeytab,
24853c0dc5SEd Tanous     UsernameAndPassword,
25853c0dc5SEd Tanous     OEM,
26853c0dc5SEd Tanous };
27853c0dc5SEd Tanous 
28853c0dc5SEd Tanous enum class TACACSplusPasswordExchangeProtocol{
29853c0dc5SEd Tanous     Invalid,
30853c0dc5SEd Tanous     ASCII,
31853c0dc5SEd Tanous     PAP,
32853c0dc5SEd Tanous     CHAP,
33853c0dc5SEd Tanous     MSCHAPv1,
34853c0dc5SEd Tanous     MSCHAPv2,
35853c0dc5SEd Tanous };
36853c0dc5SEd Tanous 
37853c0dc5SEd Tanous enum class OAuth2Mode{
38853c0dc5SEd Tanous     Invalid,
39853c0dc5SEd Tanous     Discovery,
40853c0dc5SEd Tanous     Offline,
41853c0dc5SEd Tanous };
42853c0dc5SEd Tanous 
43853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AccountProviderTypes, {
44853c0dc5SEd Tanous     {AccountProviderTypes::Invalid, "Invalid"},
45853c0dc5SEd Tanous     {AccountProviderTypes::RedfishService, "RedfishService"},
46853c0dc5SEd Tanous     {AccountProviderTypes::ActiveDirectoryService, "ActiveDirectoryService"},
47853c0dc5SEd Tanous     {AccountProviderTypes::LDAPService, "LDAPService"},
48853c0dc5SEd Tanous     {AccountProviderTypes::OEM, "OEM"},
49853c0dc5SEd Tanous     {AccountProviderTypes::TACACSplus, "TACACSplus"},
50853c0dc5SEd Tanous     {AccountProviderTypes::OAuth2, "OAuth2"},
51853c0dc5SEd Tanous });
52853c0dc5SEd Tanous 
53853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AuthenticationTypes, {
54853c0dc5SEd Tanous     {AuthenticationTypes::Invalid, "Invalid"},
55853c0dc5SEd Tanous     {AuthenticationTypes::Token, "Token"},
56853c0dc5SEd Tanous     {AuthenticationTypes::KerberosKeytab, "KerberosKeytab"},
57853c0dc5SEd Tanous     {AuthenticationTypes::UsernameAndPassword, "UsernameAndPassword"},
58853c0dc5SEd Tanous     {AuthenticationTypes::OEM, "OEM"},
59853c0dc5SEd Tanous });
60853c0dc5SEd Tanous 
61853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(TACACSplusPasswordExchangeProtocol, {
62853c0dc5SEd Tanous     {TACACSplusPasswordExchangeProtocol::Invalid, "Invalid"},
63853c0dc5SEd Tanous     {TACACSplusPasswordExchangeProtocol::ASCII, "ASCII"},
64853c0dc5SEd Tanous     {TACACSplusPasswordExchangeProtocol::PAP, "PAP"},
65853c0dc5SEd Tanous     {TACACSplusPasswordExchangeProtocol::CHAP, "CHAP"},
66853c0dc5SEd Tanous     {TACACSplusPasswordExchangeProtocol::MSCHAPv1, "MSCHAPv1"},
67853c0dc5SEd Tanous     {TACACSplusPasswordExchangeProtocol::MSCHAPv2, "MSCHAPv2"},
68853c0dc5SEd Tanous });
69853c0dc5SEd Tanous 
70853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(OAuth2Mode, {
71853c0dc5SEd Tanous     {OAuth2Mode::Invalid, "Invalid"},
72853c0dc5SEd Tanous     {OAuth2Mode::Discovery, "Discovery"},
73853c0dc5SEd Tanous     {OAuth2Mode::Offline, "Offline"},
74853c0dc5SEd Tanous });
75853c0dc5SEd Tanous 
76853c0dc5SEd Tanous }
77853c0dc5SEd Tanous // clang-format on
78