xref: /openbmc/bmcweb/features/redfish/include/generated/enums/account_service.hpp (revision a8d8f9d82afce0780f5cea13839d8a650787fc41)
10ec8b83dSEd Tanous #pragma once
20ec8b83dSEd Tanous #include <nlohmann/json.hpp>
30ec8b83dSEd Tanous 
40ec8b83dSEd Tanous namespace account_service
50ec8b83dSEd Tanous {
60ec8b83dSEd Tanous // clang-format off
70ec8b83dSEd Tanous 
8*a8d8f9d8SEd Tanous enum class MFABypassType{
9*a8d8f9d8SEd Tanous     Invalid,
10*a8d8f9d8SEd Tanous     All,
11*a8d8f9d8SEd Tanous     SecurID,
12*a8d8f9d8SEd Tanous     GoogleAuthenticator,
13*a8d8f9d8SEd Tanous     MicrosoftAuthenticator,
14*a8d8f9d8SEd Tanous     ClientCertificate,
15*a8d8f9d8SEd Tanous     OEM,
16*a8d8f9d8SEd Tanous };
17*a8d8f9d8SEd Tanous 
180ec8b83dSEd Tanous enum class LocalAccountAuth{
190ec8b83dSEd Tanous     Invalid,
200ec8b83dSEd Tanous     Enabled,
210ec8b83dSEd Tanous     Disabled,
220ec8b83dSEd Tanous     Fallback,
230ec8b83dSEd Tanous     LocalFirst,
240ec8b83dSEd Tanous };
250ec8b83dSEd Tanous 
260ec8b83dSEd Tanous enum class AccountProviderTypes{
270ec8b83dSEd Tanous     Invalid,
280ec8b83dSEd Tanous     RedfishService,
290ec8b83dSEd Tanous     ActiveDirectoryService,
300ec8b83dSEd Tanous     LDAPService,
310ec8b83dSEd Tanous     OEM,
320ec8b83dSEd Tanous     TACACSplus,
330ec8b83dSEd Tanous     OAuth2,
340ec8b83dSEd Tanous };
350ec8b83dSEd Tanous 
360ec8b83dSEd Tanous enum class AuthenticationTypes{
370ec8b83dSEd Tanous     Invalid,
380ec8b83dSEd Tanous     Token,
390ec8b83dSEd Tanous     KerberosKeytab,
400ec8b83dSEd Tanous     UsernameAndPassword,
410ec8b83dSEd Tanous     OEM,
420ec8b83dSEd Tanous };
430ec8b83dSEd Tanous 
440ec8b83dSEd Tanous enum class TACACSplusPasswordExchangeProtocol{
450ec8b83dSEd Tanous     Invalid,
460ec8b83dSEd Tanous     ASCII,
470ec8b83dSEd Tanous     PAP,
480ec8b83dSEd Tanous     CHAP,
490ec8b83dSEd Tanous     MSCHAPv1,
500ec8b83dSEd Tanous     MSCHAPv2,
510ec8b83dSEd Tanous };
520ec8b83dSEd Tanous 
530ec8b83dSEd Tanous enum class OAuth2Mode{
540ec8b83dSEd Tanous     Invalid,
550ec8b83dSEd Tanous     Discovery,
560ec8b83dSEd Tanous     Offline,
570ec8b83dSEd Tanous };
580ec8b83dSEd Tanous 
59*a8d8f9d8SEd Tanous enum class CertificateMappingAttribute{
60*a8d8f9d8SEd Tanous     Invalid,
61*a8d8f9d8SEd Tanous     Whole,
62*a8d8f9d8SEd Tanous     CommonName,
63*a8d8f9d8SEd Tanous     UserPrincipalName,
64*a8d8f9d8SEd Tanous };
65*a8d8f9d8SEd Tanous 
66*a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(MFABypassType, {
67*a8d8f9d8SEd Tanous     {MFABypassType::Invalid, "Invalid"},
68*a8d8f9d8SEd Tanous     {MFABypassType::All, "All"},
69*a8d8f9d8SEd Tanous     {MFABypassType::SecurID, "SecurID"},
70*a8d8f9d8SEd Tanous     {MFABypassType::GoogleAuthenticator, "GoogleAuthenticator"},
71*a8d8f9d8SEd Tanous     {MFABypassType::MicrosoftAuthenticator, "MicrosoftAuthenticator"},
72*a8d8f9d8SEd Tanous     {MFABypassType::ClientCertificate, "ClientCertificate"},
73*a8d8f9d8SEd Tanous     {MFABypassType::OEM, "OEM"},
74*a8d8f9d8SEd Tanous });
75*a8d8f9d8SEd Tanous 
760ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LocalAccountAuth, {
770ec8b83dSEd Tanous     {LocalAccountAuth::Invalid, "Invalid"},
780ec8b83dSEd Tanous     {LocalAccountAuth::Enabled, "Enabled"},
790ec8b83dSEd Tanous     {LocalAccountAuth::Disabled, "Disabled"},
800ec8b83dSEd Tanous     {LocalAccountAuth::Fallback, "Fallback"},
810ec8b83dSEd Tanous     {LocalAccountAuth::LocalFirst, "LocalFirst"},
820ec8b83dSEd Tanous });
830ec8b83dSEd Tanous 
840ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AccountProviderTypes, {
850ec8b83dSEd Tanous     {AccountProviderTypes::Invalid, "Invalid"},
860ec8b83dSEd Tanous     {AccountProviderTypes::RedfishService, "RedfishService"},
870ec8b83dSEd Tanous     {AccountProviderTypes::ActiveDirectoryService, "ActiveDirectoryService"},
880ec8b83dSEd Tanous     {AccountProviderTypes::LDAPService, "LDAPService"},
890ec8b83dSEd Tanous     {AccountProviderTypes::OEM, "OEM"},
900ec8b83dSEd Tanous     {AccountProviderTypes::TACACSplus, "TACACSplus"},
910ec8b83dSEd Tanous     {AccountProviderTypes::OAuth2, "OAuth2"},
920ec8b83dSEd Tanous });
930ec8b83dSEd Tanous 
940ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AuthenticationTypes, {
950ec8b83dSEd Tanous     {AuthenticationTypes::Invalid, "Invalid"},
960ec8b83dSEd Tanous     {AuthenticationTypes::Token, "Token"},
970ec8b83dSEd Tanous     {AuthenticationTypes::KerberosKeytab, "KerberosKeytab"},
980ec8b83dSEd Tanous     {AuthenticationTypes::UsernameAndPassword, "UsernameAndPassword"},
990ec8b83dSEd Tanous     {AuthenticationTypes::OEM, "OEM"},
1000ec8b83dSEd Tanous });
1010ec8b83dSEd Tanous 
1020ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(TACACSplusPasswordExchangeProtocol, {
1030ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::Invalid, "Invalid"},
1040ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::ASCII, "ASCII"},
1050ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::PAP, "PAP"},
1060ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::CHAP, "CHAP"},
1070ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::MSCHAPv1, "MSCHAPv1"},
1080ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::MSCHAPv2, "MSCHAPv2"},
1090ec8b83dSEd Tanous });
1100ec8b83dSEd Tanous 
1110ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(OAuth2Mode, {
1120ec8b83dSEd Tanous     {OAuth2Mode::Invalid, "Invalid"},
1130ec8b83dSEd Tanous     {OAuth2Mode::Discovery, "Discovery"},
1140ec8b83dSEd Tanous     {OAuth2Mode::Offline, "Offline"},
1150ec8b83dSEd Tanous });
1160ec8b83dSEd Tanous 
117*a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CertificateMappingAttribute, {
118*a8d8f9d8SEd Tanous     {CertificateMappingAttribute::Invalid, "Invalid"},
119*a8d8f9d8SEd Tanous     {CertificateMappingAttribute::Whole, "Whole"},
120*a8d8f9d8SEd Tanous     {CertificateMappingAttribute::CommonName, "CommonName"},
121*a8d8f9d8SEd Tanous     {CertificateMappingAttribute::UserPrincipalName, "UserPrincipalName"},
122*a8d8f9d8SEd Tanous });
123*a8d8f9d8SEd Tanous 
1240ec8b83dSEd Tanous }
1250ec8b83dSEd Tanous // clang-format on
126