xref: /openbmc/bmcweb/features/redfish/include/generated/enums/account_service.hpp (revision e9cc1bc93c4ad9662c93e2a98d4c787e2dbf9f07)
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,
15*e9cc1bc9SEd 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 
67a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(MFABypassType, {
68a8d8f9d8SEd Tanous     {MFABypassType::Invalid, "Invalid"},
69a8d8f9d8SEd Tanous     {MFABypassType::All, "All"},
70a8d8f9d8SEd Tanous     {MFABypassType::SecurID, "SecurID"},
71a8d8f9d8SEd Tanous     {MFABypassType::GoogleAuthenticator, "GoogleAuthenticator"},
72a8d8f9d8SEd Tanous     {MFABypassType::MicrosoftAuthenticator, "MicrosoftAuthenticator"},
73a8d8f9d8SEd Tanous     {MFABypassType::ClientCertificate, "ClientCertificate"},
74*e9cc1bc9SEd Tanous     {MFABypassType::OneTimePasscode, "OneTimePasscode"},
75a8d8f9d8SEd Tanous     {MFABypassType::OEM, "OEM"},
76a8d8f9d8SEd Tanous });
77a8d8f9d8SEd Tanous 
780ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LocalAccountAuth, {
790ec8b83dSEd Tanous     {LocalAccountAuth::Invalid, "Invalid"},
800ec8b83dSEd Tanous     {LocalAccountAuth::Enabled, "Enabled"},
810ec8b83dSEd Tanous     {LocalAccountAuth::Disabled, "Disabled"},
820ec8b83dSEd Tanous     {LocalAccountAuth::Fallback, "Fallback"},
830ec8b83dSEd Tanous     {LocalAccountAuth::LocalFirst, "LocalFirst"},
840ec8b83dSEd Tanous });
850ec8b83dSEd Tanous 
860ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AccountProviderTypes, {
870ec8b83dSEd Tanous     {AccountProviderTypes::Invalid, "Invalid"},
880ec8b83dSEd Tanous     {AccountProviderTypes::RedfishService, "RedfishService"},
890ec8b83dSEd Tanous     {AccountProviderTypes::ActiveDirectoryService, "ActiveDirectoryService"},
900ec8b83dSEd Tanous     {AccountProviderTypes::LDAPService, "LDAPService"},
910ec8b83dSEd Tanous     {AccountProviderTypes::OEM, "OEM"},
920ec8b83dSEd Tanous     {AccountProviderTypes::TACACSplus, "TACACSplus"},
930ec8b83dSEd Tanous     {AccountProviderTypes::OAuth2, "OAuth2"},
940ec8b83dSEd Tanous });
950ec8b83dSEd Tanous 
960ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AuthenticationTypes, {
970ec8b83dSEd Tanous     {AuthenticationTypes::Invalid, "Invalid"},
980ec8b83dSEd Tanous     {AuthenticationTypes::Token, "Token"},
990ec8b83dSEd Tanous     {AuthenticationTypes::KerberosKeytab, "KerberosKeytab"},
1000ec8b83dSEd Tanous     {AuthenticationTypes::UsernameAndPassword, "UsernameAndPassword"},
1010ec8b83dSEd Tanous     {AuthenticationTypes::OEM, "OEM"},
1020ec8b83dSEd Tanous });
1030ec8b83dSEd Tanous 
1040ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(TACACSplusPasswordExchangeProtocol, {
1050ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::Invalid, "Invalid"},
1060ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::ASCII, "ASCII"},
1070ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::PAP, "PAP"},
1080ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::CHAP, "CHAP"},
1090ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::MSCHAPv1, "MSCHAPv1"},
1100ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::MSCHAPv2, "MSCHAPv2"},
1110ec8b83dSEd Tanous });
1120ec8b83dSEd Tanous 
1130ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(OAuth2Mode, {
1140ec8b83dSEd Tanous     {OAuth2Mode::Invalid, "Invalid"},
1150ec8b83dSEd Tanous     {OAuth2Mode::Discovery, "Discovery"},
1160ec8b83dSEd Tanous     {OAuth2Mode::Offline, "Offline"},
1170ec8b83dSEd Tanous });
1180ec8b83dSEd Tanous 
119a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CertificateMappingAttribute, {
120a8d8f9d8SEd Tanous     {CertificateMappingAttribute::Invalid, "Invalid"},
121a8d8f9d8SEd Tanous     {CertificateMappingAttribute::Whole, "Whole"},
122a8d8f9d8SEd Tanous     {CertificateMappingAttribute::CommonName, "CommonName"},
123a8d8f9d8SEd Tanous     {CertificateMappingAttribute::UserPrincipalName, "UserPrincipalName"},
124a8d8f9d8SEd Tanous });
125a8d8f9d8SEd Tanous 
1260ec8b83dSEd Tanous }
1270ec8b83dSEd Tanous // clang-format on
128