xref: /openbmc/bmcweb/features/redfish/include/generated/enums/account_service.hpp (revision dd5c81e9e330c20f534496174472efb6fe2c112e)
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,
16*dd5c81e9SGunnar Mills     TimeBasedOneTimePassword,
17a8d8f9d8SEd Tanous     OEM,
18a8d8f9d8SEd Tanous };
19a8d8f9d8SEd Tanous 
200ec8b83dSEd Tanous enum class LocalAccountAuth{
210ec8b83dSEd Tanous     Invalid,
220ec8b83dSEd Tanous     Enabled,
230ec8b83dSEd Tanous     Disabled,
240ec8b83dSEd Tanous     Fallback,
250ec8b83dSEd Tanous     LocalFirst,
260ec8b83dSEd Tanous };
270ec8b83dSEd Tanous 
280ec8b83dSEd Tanous enum class AccountProviderTypes{
290ec8b83dSEd Tanous     Invalid,
300ec8b83dSEd Tanous     RedfishService,
310ec8b83dSEd Tanous     ActiveDirectoryService,
320ec8b83dSEd Tanous     LDAPService,
330ec8b83dSEd Tanous     OEM,
340ec8b83dSEd Tanous     TACACSplus,
350ec8b83dSEd Tanous     OAuth2,
360ec8b83dSEd Tanous };
370ec8b83dSEd Tanous 
380ec8b83dSEd Tanous enum class AuthenticationTypes{
390ec8b83dSEd Tanous     Invalid,
400ec8b83dSEd Tanous     Token,
410ec8b83dSEd Tanous     KerberosKeytab,
420ec8b83dSEd Tanous     UsernameAndPassword,
430ec8b83dSEd Tanous     OEM,
440ec8b83dSEd Tanous };
450ec8b83dSEd Tanous 
460ec8b83dSEd Tanous enum class TACACSplusPasswordExchangeProtocol{
470ec8b83dSEd Tanous     Invalid,
480ec8b83dSEd Tanous     ASCII,
490ec8b83dSEd Tanous     PAP,
500ec8b83dSEd Tanous     CHAP,
510ec8b83dSEd Tanous     MSCHAPv1,
520ec8b83dSEd Tanous     MSCHAPv2,
530ec8b83dSEd Tanous };
540ec8b83dSEd Tanous 
550ec8b83dSEd Tanous enum class OAuth2Mode{
560ec8b83dSEd Tanous     Invalid,
570ec8b83dSEd Tanous     Discovery,
580ec8b83dSEd Tanous     Offline,
590ec8b83dSEd Tanous };
600ec8b83dSEd Tanous 
61a8d8f9d8SEd Tanous enum class CertificateMappingAttribute{
62a8d8f9d8SEd Tanous     Invalid,
63a8d8f9d8SEd Tanous     Whole,
64a8d8f9d8SEd Tanous     CommonName,
65a8d8f9d8SEd Tanous     UserPrincipalName,
66a8d8f9d8SEd Tanous };
67a8d8f9d8SEd Tanous 
682ae81db9SGunnar Mills enum class BasicAuthState{
692ae81db9SGunnar Mills     Invalid,
702ae81db9SGunnar Mills     Enabled,
712ae81db9SGunnar Mills     Unadvertised,
722ae81db9SGunnar Mills     Disabled,
732ae81db9SGunnar Mills };
742ae81db9SGunnar Mills 
75a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(MFABypassType, {
76a8d8f9d8SEd Tanous     {MFABypassType::Invalid, "Invalid"},
77a8d8f9d8SEd Tanous     {MFABypassType::All, "All"},
78a8d8f9d8SEd Tanous     {MFABypassType::SecurID, "SecurID"},
79a8d8f9d8SEd Tanous     {MFABypassType::GoogleAuthenticator, "GoogleAuthenticator"},
80a8d8f9d8SEd Tanous     {MFABypassType::MicrosoftAuthenticator, "MicrosoftAuthenticator"},
81a8d8f9d8SEd Tanous     {MFABypassType::ClientCertificate, "ClientCertificate"},
82e9cc1bc9SEd Tanous     {MFABypassType::OneTimePasscode, "OneTimePasscode"},
83*dd5c81e9SGunnar Mills     {MFABypassType::TimeBasedOneTimePassword, "TimeBasedOneTimePassword"},
84a8d8f9d8SEd Tanous     {MFABypassType::OEM, "OEM"},
85a8d8f9d8SEd Tanous });
86a8d8f9d8SEd Tanous 
870ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LocalAccountAuth, {
880ec8b83dSEd Tanous     {LocalAccountAuth::Invalid, "Invalid"},
890ec8b83dSEd Tanous     {LocalAccountAuth::Enabled, "Enabled"},
900ec8b83dSEd Tanous     {LocalAccountAuth::Disabled, "Disabled"},
910ec8b83dSEd Tanous     {LocalAccountAuth::Fallback, "Fallback"},
920ec8b83dSEd Tanous     {LocalAccountAuth::LocalFirst, "LocalFirst"},
930ec8b83dSEd Tanous });
940ec8b83dSEd Tanous 
950ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AccountProviderTypes, {
960ec8b83dSEd Tanous     {AccountProviderTypes::Invalid, "Invalid"},
970ec8b83dSEd Tanous     {AccountProviderTypes::RedfishService, "RedfishService"},
980ec8b83dSEd Tanous     {AccountProviderTypes::ActiveDirectoryService, "ActiveDirectoryService"},
990ec8b83dSEd Tanous     {AccountProviderTypes::LDAPService, "LDAPService"},
1000ec8b83dSEd Tanous     {AccountProviderTypes::OEM, "OEM"},
1010ec8b83dSEd Tanous     {AccountProviderTypes::TACACSplus, "TACACSplus"},
1020ec8b83dSEd Tanous     {AccountProviderTypes::OAuth2, "OAuth2"},
1030ec8b83dSEd Tanous });
1040ec8b83dSEd Tanous 
1050ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AuthenticationTypes, {
1060ec8b83dSEd Tanous     {AuthenticationTypes::Invalid, "Invalid"},
1070ec8b83dSEd Tanous     {AuthenticationTypes::Token, "Token"},
1080ec8b83dSEd Tanous     {AuthenticationTypes::KerberosKeytab, "KerberosKeytab"},
1090ec8b83dSEd Tanous     {AuthenticationTypes::UsernameAndPassword, "UsernameAndPassword"},
1100ec8b83dSEd Tanous     {AuthenticationTypes::OEM, "OEM"},
1110ec8b83dSEd Tanous });
1120ec8b83dSEd Tanous 
1130ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(TACACSplusPasswordExchangeProtocol, {
1140ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::Invalid, "Invalid"},
1150ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::ASCII, "ASCII"},
1160ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::PAP, "PAP"},
1170ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::CHAP, "CHAP"},
1180ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::MSCHAPv1, "MSCHAPv1"},
1190ec8b83dSEd Tanous     {TACACSplusPasswordExchangeProtocol::MSCHAPv2, "MSCHAPv2"},
1200ec8b83dSEd Tanous });
1210ec8b83dSEd Tanous 
1220ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(OAuth2Mode, {
1230ec8b83dSEd Tanous     {OAuth2Mode::Invalid, "Invalid"},
1240ec8b83dSEd Tanous     {OAuth2Mode::Discovery, "Discovery"},
1250ec8b83dSEd Tanous     {OAuth2Mode::Offline, "Offline"},
1260ec8b83dSEd Tanous });
1270ec8b83dSEd Tanous 
128a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CertificateMappingAttribute, {
129a8d8f9d8SEd Tanous     {CertificateMappingAttribute::Invalid, "Invalid"},
130a8d8f9d8SEd Tanous     {CertificateMappingAttribute::Whole, "Whole"},
131a8d8f9d8SEd Tanous     {CertificateMappingAttribute::CommonName, "CommonName"},
132a8d8f9d8SEd Tanous     {CertificateMappingAttribute::UserPrincipalName, "UserPrincipalName"},
133a8d8f9d8SEd Tanous });
134a8d8f9d8SEd Tanous 
1352ae81db9SGunnar Mills NLOHMANN_JSON_SERIALIZE_ENUM(BasicAuthState, {
1362ae81db9SGunnar Mills     {BasicAuthState::Invalid, "Invalid"},
1372ae81db9SGunnar Mills     {BasicAuthState::Enabled, "Enabled"},
1382ae81db9SGunnar Mills     {BasicAuthState::Unadvertised, "Unadvertised"},
1392ae81db9SGunnar Mills     {BasicAuthState::Disabled, "Disabled"},
1402ae81db9SGunnar Mills });
1412ae81db9SGunnar Mills 
1420ec8b83dSEd Tanous }
1430ec8b83dSEd Tanous // clang-format on
144