xref: /openbmc/bmcweb/features/redfish/include/generated/enums/account_service.hpp (revision 2ae81db99a155febe45d27e3834cfa5471b3ecdf)
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 
8a8d8f9d8SEd Tanous enum class MFABypassType{
9a8d8f9d8SEd Tanous     Invalid,
10a8d8f9d8SEd Tanous     All,
11a8d8f9d8SEd Tanous     SecurID,
12a8d8f9d8SEd Tanous     GoogleAuthenticator,
13a8d8f9d8SEd Tanous     MicrosoftAuthenticator,
14a8d8f9d8SEd Tanous     ClientCertificate,
15e9cc1bc9SEd Tanous     OneTimePasscode,
16a8d8f9d8SEd Tanous     OEM,
17a8d8f9d8SEd Tanous };
18a8d8f9d8SEd Tanous 
190ec8b83dSEd Tanous enum class LocalAccountAuth{
200ec8b83dSEd Tanous     Invalid,
210ec8b83dSEd Tanous     Enabled,
220ec8b83dSEd Tanous     Disabled,
230ec8b83dSEd Tanous     Fallback,
240ec8b83dSEd Tanous     LocalFirst,
250ec8b83dSEd Tanous };
260ec8b83dSEd Tanous 
270ec8b83dSEd Tanous enum class AccountProviderTypes{
280ec8b83dSEd Tanous     Invalid,
290ec8b83dSEd Tanous     RedfishService,
300ec8b83dSEd Tanous     ActiveDirectoryService,
310ec8b83dSEd Tanous     LDAPService,
320ec8b83dSEd Tanous     OEM,
330ec8b83dSEd Tanous     TACACSplus,
340ec8b83dSEd Tanous     OAuth2,
350ec8b83dSEd Tanous };
360ec8b83dSEd Tanous 
370ec8b83dSEd Tanous enum class AuthenticationTypes{
380ec8b83dSEd Tanous     Invalid,
390ec8b83dSEd Tanous     Token,
400ec8b83dSEd Tanous     KerberosKeytab,
410ec8b83dSEd Tanous     UsernameAndPassword,
420ec8b83dSEd Tanous     OEM,
430ec8b83dSEd Tanous };
440ec8b83dSEd Tanous 
450ec8b83dSEd Tanous enum class TACACSplusPasswordExchangeProtocol{
460ec8b83dSEd Tanous     Invalid,
470ec8b83dSEd Tanous     ASCII,
480ec8b83dSEd Tanous     PAP,
490ec8b83dSEd Tanous     CHAP,
500ec8b83dSEd Tanous     MSCHAPv1,
510ec8b83dSEd Tanous     MSCHAPv2,
520ec8b83dSEd Tanous };
530ec8b83dSEd Tanous 
540ec8b83dSEd Tanous enum class OAuth2Mode{
550ec8b83dSEd Tanous     Invalid,
560ec8b83dSEd Tanous     Discovery,
570ec8b83dSEd Tanous     Offline,
580ec8b83dSEd Tanous };
590ec8b83dSEd Tanous 
60a8d8f9d8SEd Tanous enum class CertificateMappingAttribute{
61a8d8f9d8SEd Tanous     Invalid,
62a8d8f9d8SEd Tanous     Whole,
63a8d8f9d8SEd Tanous     CommonName,
64a8d8f9d8SEd Tanous     UserPrincipalName,
65a8d8f9d8SEd Tanous };
66a8d8f9d8SEd Tanous 
67*2ae81db9SGunnar Mills enum class BasicAuthState{
68*2ae81db9SGunnar Mills     Invalid,
69*2ae81db9SGunnar Mills     Enabled,
70*2ae81db9SGunnar Mills     Unadvertised,
71*2ae81db9SGunnar Mills     Disabled,
72*2ae81db9SGunnar Mills };
73*2ae81db9SGunnar Mills 
74a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(MFABypassType, {
75a8d8f9d8SEd Tanous     {MFABypassType::Invalid, "Invalid"},
76a8d8f9d8SEd Tanous     {MFABypassType::All, "All"},
77a8d8f9d8SEd Tanous     {MFABypassType::SecurID, "SecurID"},
78a8d8f9d8SEd Tanous     {MFABypassType::GoogleAuthenticator, "GoogleAuthenticator"},
79a8d8f9d8SEd Tanous     {MFABypassType::MicrosoftAuthenticator, "MicrosoftAuthenticator"},
80a8d8f9d8SEd Tanous     {MFABypassType::ClientCertificate, "ClientCertificate"},
81e9cc1bc9SEd Tanous     {MFABypassType::OneTimePasscode, "OneTimePasscode"},
82a8d8f9d8SEd Tanous     {MFABypassType::OEM, "OEM"},
83a8d8f9d8SEd Tanous });
84a8d8f9d8SEd Tanous 
850ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LocalAccountAuth, {
860ec8b83dSEd Tanous     {LocalAccountAuth::Invalid, "Invalid"},
870ec8b83dSEd Tanous     {LocalAccountAuth::Enabled, "Enabled"},
880ec8b83dSEd Tanous     {LocalAccountAuth::Disabled, "Disabled"},
890ec8b83dSEd Tanous     {LocalAccountAuth::Fallback, "Fallback"},
900ec8b83dSEd Tanous     {LocalAccountAuth::LocalFirst, "LocalFirst"},
910ec8b83dSEd Tanous });
920ec8b83dSEd Tanous 
930ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AccountProviderTypes, {
940ec8b83dSEd Tanous     {AccountProviderTypes::Invalid, "Invalid"},
950ec8b83dSEd Tanous     {AccountProviderTypes::RedfishService, "RedfishService"},
960ec8b83dSEd Tanous     {AccountProviderTypes::ActiveDirectoryService, "ActiveDirectoryService"},
970ec8b83dSEd Tanous     {AccountProviderTypes::LDAPService, "LDAPService"},
980ec8b83dSEd Tanous     {AccountProviderTypes::OEM, "OEM"},
990ec8b83dSEd Tanous     {AccountProviderTypes::TACACSplus, "TACACSplus"},
1000ec8b83dSEd Tanous     {AccountProviderTypes::OAuth2, "OAuth2"},
1010ec8b83dSEd Tanous });
1020ec8b83dSEd Tanous 
1030ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AuthenticationTypes, {
1040ec8b83dSEd Tanous     {AuthenticationTypes::Invalid, "Invalid"},
1050ec8b83dSEd Tanous     {AuthenticationTypes::Token, "Token"},
1060ec8b83dSEd Tanous     {AuthenticationTypes::KerberosKeytab, "KerberosKeytab"},
1070ec8b83dSEd Tanous     {AuthenticationTypes::UsernameAndPassword, "UsernameAndPassword"},
1080ec8b83dSEd Tanous     {AuthenticationTypes::OEM, "OEM"},
1090ec8b83dSEd Tanous });
1100ec8b83dSEd Tanous 
1110ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(TACACSplusPasswordExchangeProtocol, {
1120ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::Invalid, "Invalid"},
1130ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::ASCII, "ASCII"},
1140ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::PAP, "PAP"},
1150ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::CHAP, "CHAP"},
1160ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::MSCHAPv1, "MSCHAPv1"},
1170ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::MSCHAPv2, "MSCHAPv2"},
1180ec8b83dSEd Tanous });
1190ec8b83dSEd Tanous 
1200ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(OAuth2Mode, {
1210ec8b83dSEd Tanous     {OAuth2Mode::Invalid, "Invalid"},
1220ec8b83dSEd Tanous     {OAuth2Mode::Discovery, "Discovery"},
1230ec8b83dSEd Tanous     {OAuth2Mode::Offline, "Offline"},
1240ec8b83dSEd Tanous });
1250ec8b83dSEd Tanous 
126a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CertificateMappingAttribute, {
127a8d8f9d8SEd Tanous     {CertificateMappingAttribute::Invalid, "Invalid"},
128a8d8f9d8SEd Tanous     {CertificateMappingAttribute::Whole, "Whole"},
129a8d8f9d8SEd Tanous     {CertificateMappingAttribute::CommonName, "CommonName"},
130a8d8f9d8SEd Tanous     {CertificateMappingAttribute::UserPrincipalName, "UserPrincipalName"},
131a8d8f9d8SEd Tanous });
132a8d8f9d8SEd Tanous 
133*2ae81db9SGunnar Mills NLOHMANN_JSON_SERIALIZE_ENUM(BasicAuthState, {
134*2ae81db9SGunnar Mills     {BasicAuthState::Invalid, "Invalid"},
135*2ae81db9SGunnar Mills     {BasicAuthState::Enabled, "Enabled"},
136*2ae81db9SGunnar Mills     {BasicAuthState::Unadvertised, "Unadvertised"},
137*2ae81db9SGunnar Mills     {BasicAuthState::Disabled, "Disabled"},
138*2ae81db9SGunnar Mills });
139*2ae81db9SGunnar Mills 
1400ec8b83dSEd Tanous }
1410ec8b83dSEd Tanous // clang-format on
142