140e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 240e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 30ec8b83dSEd Tanous #pragma once 40ec8b83dSEd Tanous #include <nlohmann/json.hpp> 50ec8b83dSEd Tanous 60ec8b83dSEd Tanous namespace manager 70ec8b83dSEd Tanous { 80ec8b83dSEd Tanous // clang-format off 90ec8b83dSEd Tanous 100ec8b83dSEd Tanous enum class ManagerType{ 110ec8b83dSEd Tanous Invalid, 120ec8b83dSEd Tanous ManagementController, 130ec8b83dSEd Tanous EnclosureManager, 140ec8b83dSEd Tanous BMC, 150ec8b83dSEd Tanous RackManager, 160ec8b83dSEd Tanous AuxiliaryController, 170ec8b83dSEd Tanous Service, 18*c6d7a45dSGunnar Mills FabricManager, 190ec8b83dSEd Tanous }; 200ec8b83dSEd Tanous 210ec8b83dSEd Tanous enum class SerialConnectTypesSupported{ 220ec8b83dSEd Tanous Invalid, 230ec8b83dSEd Tanous SSH, 240ec8b83dSEd Tanous Telnet, 250ec8b83dSEd Tanous IPMI, 260ec8b83dSEd Tanous Oem, 270ec8b83dSEd Tanous }; 280ec8b83dSEd Tanous 290ec8b83dSEd Tanous enum class CommandConnectTypesSupported{ 300ec8b83dSEd Tanous Invalid, 310ec8b83dSEd Tanous SSH, 320ec8b83dSEd Tanous Telnet, 330ec8b83dSEd Tanous IPMI, 340ec8b83dSEd Tanous Oem, 350ec8b83dSEd Tanous }; 360ec8b83dSEd Tanous 370ec8b83dSEd Tanous enum class GraphicalConnectTypesSupported{ 380ec8b83dSEd Tanous Invalid, 390ec8b83dSEd Tanous KVMIP, 400ec8b83dSEd Tanous Oem, 410ec8b83dSEd Tanous }; 420ec8b83dSEd Tanous 430ec8b83dSEd Tanous enum class ResetToDefaultsType{ 440ec8b83dSEd Tanous Invalid, 450ec8b83dSEd Tanous ResetAll, 460ec8b83dSEd Tanous PreserveNetworkAndUsers, 470ec8b83dSEd Tanous PreserveNetwork, 480ec8b83dSEd Tanous }; 490ec8b83dSEd Tanous 509b46bc0bSMyung Bae enum class DateTimeSource{ 519b46bc0bSMyung Bae Invalid, 529b46bc0bSMyung Bae RTC, 539b46bc0bSMyung Bae Firmware, 549b46bc0bSMyung Bae Host, 559b46bc0bSMyung Bae NTP, 569b46bc0bSMyung Bae PTP, 579b46bc0bSMyung Bae }; 589b46bc0bSMyung Bae 59d125652eSGunnar Mills enum class SecurityModeTypes{ 60d125652eSGunnar Mills Invalid, 61d125652eSGunnar Mills FIPS_140_2, 62d125652eSGunnar Mills FIPS_140_3, 63d125652eSGunnar Mills CNSA_1_0, 64d125652eSGunnar Mills CNSA_2_0, 65d125652eSGunnar Mills SuiteB, 66d125652eSGunnar Mills OEM, 67d125652eSGunnar Mills Default, 68d125652eSGunnar Mills }; 69d125652eSGunnar Mills 700ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ManagerType, { 710ec8b83dSEd Tanous {ManagerType::Invalid, "Invalid"}, 720ec8b83dSEd Tanous {ManagerType::ManagementController, "ManagementController"}, 730ec8b83dSEd Tanous {ManagerType::EnclosureManager, "EnclosureManager"}, 740ec8b83dSEd Tanous {ManagerType::BMC, "BMC"}, 750ec8b83dSEd Tanous {ManagerType::RackManager, "RackManager"}, 760ec8b83dSEd Tanous {ManagerType::AuxiliaryController, "AuxiliaryController"}, 770ec8b83dSEd Tanous {ManagerType::Service, "Service"}, 78*c6d7a45dSGunnar Mills {ManagerType::FabricManager, "FabricManager"}, 790ec8b83dSEd Tanous }); 800ec8b83dSEd Tanous 810ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SerialConnectTypesSupported, { 820ec8b83dSEd Tanous {SerialConnectTypesSupported::Invalid, "Invalid"}, 830ec8b83dSEd Tanous {SerialConnectTypesSupported::SSH, "SSH"}, 840ec8b83dSEd Tanous {SerialConnectTypesSupported::Telnet, "Telnet"}, 850ec8b83dSEd Tanous {SerialConnectTypesSupported::IPMI, "IPMI"}, 860ec8b83dSEd Tanous {SerialConnectTypesSupported::Oem, "Oem"}, 870ec8b83dSEd Tanous }); 880ec8b83dSEd Tanous 890ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CommandConnectTypesSupported, { 900ec8b83dSEd Tanous {CommandConnectTypesSupported::Invalid, "Invalid"}, 910ec8b83dSEd Tanous {CommandConnectTypesSupported::SSH, "SSH"}, 920ec8b83dSEd Tanous {CommandConnectTypesSupported::Telnet, "Telnet"}, 930ec8b83dSEd Tanous {CommandConnectTypesSupported::IPMI, "IPMI"}, 940ec8b83dSEd Tanous {CommandConnectTypesSupported::Oem, "Oem"}, 950ec8b83dSEd Tanous }); 960ec8b83dSEd Tanous 970ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(GraphicalConnectTypesSupported, { 980ec8b83dSEd Tanous {GraphicalConnectTypesSupported::Invalid, "Invalid"}, 990ec8b83dSEd Tanous {GraphicalConnectTypesSupported::KVMIP, "KVMIP"}, 1000ec8b83dSEd Tanous {GraphicalConnectTypesSupported::Oem, "Oem"}, 1010ec8b83dSEd Tanous }); 1020ec8b83dSEd Tanous 1030ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ResetToDefaultsType, { 1040ec8b83dSEd Tanous {ResetToDefaultsType::Invalid, "Invalid"}, 1050ec8b83dSEd Tanous {ResetToDefaultsType::ResetAll, "ResetAll"}, 1060ec8b83dSEd Tanous {ResetToDefaultsType::PreserveNetworkAndUsers, "PreserveNetworkAndUsers"}, 1070ec8b83dSEd Tanous {ResetToDefaultsType::PreserveNetwork, "PreserveNetwork"}, 1080ec8b83dSEd Tanous }); 1090ec8b83dSEd Tanous 1109b46bc0bSMyung Bae NLOHMANN_JSON_SERIALIZE_ENUM(DateTimeSource, { 1119b46bc0bSMyung Bae {DateTimeSource::Invalid, "Invalid"}, 1129b46bc0bSMyung Bae {DateTimeSource::RTC, "RTC"}, 1139b46bc0bSMyung Bae {DateTimeSource::Firmware, "Firmware"}, 1149b46bc0bSMyung Bae {DateTimeSource::Host, "Host"}, 1159b46bc0bSMyung Bae {DateTimeSource::NTP, "NTP"}, 1169b46bc0bSMyung Bae {DateTimeSource::PTP, "PTP"}, 1179b46bc0bSMyung Bae }); 1189b46bc0bSMyung Bae 119d125652eSGunnar Mills NLOHMANN_JSON_SERIALIZE_ENUM(SecurityModeTypes, { 120d125652eSGunnar Mills {SecurityModeTypes::Invalid, "Invalid"}, 121d125652eSGunnar Mills {SecurityModeTypes::FIPS_140_2, "FIPS_140_2"}, 122d125652eSGunnar Mills {SecurityModeTypes::FIPS_140_3, "FIPS_140_3"}, 123d125652eSGunnar Mills {SecurityModeTypes::CNSA_1_0, "CNSA_1_0"}, 124d125652eSGunnar Mills {SecurityModeTypes::CNSA_2_0, "CNSA_2_0"}, 125d125652eSGunnar Mills {SecurityModeTypes::SuiteB, "SuiteB"}, 126d125652eSGunnar Mills {SecurityModeTypes::OEM, "OEM"}, 127d125652eSGunnar Mills {SecurityModeTypes::Default, "Default"}, 128d125652eSGunnar Mills }); 129d125652eSGunnar Mills 1300ec8b83dSEd Tanous } 1310ec8b83dSEd Tanous // clang-format on 132