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 computer_system 70ec8b83dSEd Tanous { 80ec8b83dSEd Tanous // clang-format off 90ec8b83dSEd Tanous 100ec8b83dSEd Tanous enum class BootSource{ 110ec8b83dSEd Tanous Invalid, 120ec8b83dSEd Tanous None, 130ec8b83dSEd Tanous Pxe, 140ec8b83dSEd Tanous Floppy, 150ec8b83dSEd Tanous Cd, 160ec8b83dSEd Tanous Usb, 170ec8b83dSEd Tanous Hdd, 180ec8b83dSEd Tanous BiosSetup, 190ec8b83dSEd Tanous Utilities, 200ec8b83dSEd Tanous Diags, 210ec8b83dSEd Tanous UefiShell, 220ec8b83dSEd Tanous UefiTarget, 230ec8b83dSEd Tanous SDCard, 240ec8b83dSEd Tanous UefiHttp, 250ec8b83dSEd Tanous RemoteDrive, 260ec8b83dSEd Tanous UefiBootNext, 270ec8b83dSEd Tanous Recovery, 280ec8b83dSEd Tanous }; 290ec8b83dSEd Tanous 300ec8b83dSEd Tanous enum class SystemType{ 310ec8b83dSEd Tanous Invalid, 320ec8b83dSEd Tanous Physical, 330ec8b83dSEd Tanous Virtual, 340ec8b83dSEd Tanous OS, 350ec8b83dSEd Tanous PhysicallyPartitioned, 360ec8b83dSEd Tanous VirtuallyPartitioned, 370ec8b83dSEd Tanous Composed, 380ec8b83dSEd Tanous DPU, 390ec8b83dSEd Tanous }; 400ec8b83dSEd Tanous 410ec8b83dSEd Tanous enum class IndicatorLED{ 420ec8b83dSEd Tanous Invalid, 430ec8b83dSEd Tanous Unknown, 440ec8b83dSEd Tanous Lit, 450ec8b83dSEd Tanous Blinking, 460ec8b83dSEd Tanous Off, 470ec8b83dSEd Tanous }; 480ec8b83dSEd Tanous 490ec8b83dSEd Tanous enum class BootSourceOverrideEnabled{ 500ec8b83dSEd Tanous Invalid, 510ec8b83dSEd Tanous Disabled, 520ec8b83dSEd Tanous Once, 530ec8b83dSEd Tanous Continuous, 540ec8b83dSEd Tanous }; 550ec8b83dSEd Tanous 560ec8b83dSEd Tanous enum class MemoryMirroring{ 570ec8b83dSEd Tanous Invalid, 580ec8b83dSEd Tanous System, 590ec8b83dSEd Tanous DIMM, 600ec8b83dSEd Tanous Hybrid, 610ec8b83dSEd Tanous None, 620ec8b83dSEd Tanous }; 630ec8b83dSEd Tanous 640ec8b83dSEd Tanous enum class BootSourceOverrideMode{ 650ec8b83dSEd Tanous Invalid, 660ec8b83dSEd Tanous Legacy, 670ec8b83dSEd Tanous UEFI, 680ec8b83dSEd Tanous }; 690ec8b83dSEd Tanous 700ec8b83dSEd Tanous enum class InterfaceType{ 710ec8b83dSEd Tanous Invalid, 720ec8b83dSEd Tanous TPM1_2, 730ec8b83dSEd Tanous TPM2_0, 740ec8b83dSEd Tanous TCM1_0, 750ec8b83dSEd Tanous }; 760ec8b83dSEd Tanous 770ec8b83dSEd Tanous enum class HostingRole{ 780ec8b83dSEd Tanous Invalid, 790ec8b83dSEd Tanous ApplicationServer, 800ec8b83dSEd Tanous StorageServer, 810ec8b83dSEd Tanous Switch, 820ec8b83dSEd Tanous Appliance, 830ec8b83dSEd Tanous BareMetalServer, 840ec8b83dSEd Tanous VirtualMachineServer, 850ec8b83dSEd Tanous ContainerServer, 860ec8b83dSEd Tanous }; 870ec8b83dSEd Tanous 880ec8b83dSEd Tanous enum class InterfaceTypeSelection{ 890ec8b83dSEd Tanous Invalid, 900ec8b83dSEd Tanous None, 910ec8b83dSEd Tanous FirmwareUpdate, 920ec8b83dSEd Tanous BiosSetting, 930ec8b83dSEd Tanous OemMethod, 940ec8b83dSEd Tanous }; 950ec8b83dSEd Tanous 960ec8b83dSEd Tanous enum class WatchdogWarningActions{ 970ec8b83dSEd Tanous Invalid, 980ec8b83dSEd Tanous None, 990ec8b83dSEd Tanous DiagnosticInterrupt, 1000ec8b83dSEd Tanous SMI, 1010ec8b83dSEd Tanous MessagingInterrupt, 1020ec8b83dSEd Tanous SCI, 1030ec8b83dSEd Tanous OEM, 1040ec8b83dSEd Tanous }; 1050ec8b83dSEd Tanous 1060ec8b83dSEd Tanous enum class WatchdogTimeoutActions{ 1070ec8b83dSEd Tanous Invalid, 1080ec8b83dSEd Tanous None, 1090ec8b83dSEd Tanous ResetSystem, 1100ec8b83dSEd Tanous PowerCycle, 1110ec8b83dSEd Tanous PowerDown, 1120ec8b83dSEd Tanous OEM, 1130ec8b83dSEd Tanous }; 1140ec8b83dSEd Tanous 1150ec8b83dSEd Tanous enum class PowerRestorePolicyTypes{ 1160ec8b83dSEd Tanous Invalid, 1170ec8b83dSEd Tanous AlwaysOn, 1180ec8b83dSEd Tanous AlwaysOff, 1190ec8b83dSEd Tanous LastState, 1200ec8b83dSEd Tanous }; 1210ec8b83dSEd Tanous 1220ec8b83dSEd Tanous enum class BootOrderTypes{ 1230ec8b83dSEd Tanous Invalid, 1240ec8b83dSEd Tanous BootOrder, 1250ec8b83dSEd Tanous AliasBootOrder, 1260ec8b83dSEd Tanous }; 1270ec8b83dSEd Tanous 1280ec8b83dSEd Tanous enum class AutomaticRetryConfig{ 1290ec8b83dSEd Tanous Invalid, 1300ec8b83dSEd Tanous Disabled, 1310ec8b83dSEd Tanous RetryAttempts, 1320ec8b83dSEd Tanous RetryAlways, 1330ec8b83dSEd Tanous }; 1340ec8b83dSEd Tanous 1350ec8b83dSEd Tanous enum class BootProgressTypes{ 1360ec8b83dSEd Tanous Invalid, 1370ec8b83dSEd Tanous None, 1380ec8b83dSEd Tanous PrimaryProcessorInitializationStarted, 1390ec8b83dSEd Tanous BusInitializationStarted, 1400ec8b83dSEd Tanous MemoryInitializationStarted, 1410ec8b83dSEd Tanous SecondaryProcessorInitializationStarted, 1420ec8b83dSEd Tanous PCIResourceConfigStarted, 1430ec8b83dSEd Tanous SystemHardwareInitializationComplete, 1440ec8b83dSEd Tanous SetupEntered, 1450ec8b83dSEd Tanous OSBootStarted, 1460ec8b83dSEd Tanous OSRunning, 1470ec8b83dSEd Tanous OEM, 1480ec8b83dSEd Tanous }; 1490ec8b83dSEd Tanous 1500ec8b83dSEd Tanous enum class GraphicalConnectTypesSupported{ 1510ec8b83dSEd Tanous Invalid, 1520ec8b83dSEd Tanous KVMIP, 1530ec8b83dSEd Tanous OEM, 1540ec8b83dSEd Tanous }; 1550ec8b83dSEd Tanous 1560ec8b83dSEd Tanous enum class TrustedModuleRequiredToBoot{ 1570ec8b83dSEd Tanous Invalid, 1580ec8b83dSEd Tanous Disabled, 1590ec8b83dSEd Tanous Required, 1600ec8b83dSEd Tanous }; 1610ec8b83dSEd Tanous 1620ec8b83dSEd Tanous enum class StopBootOnFault{ 1630ec8b83dSEd Tanous Invalid, 1640ec8b83dSEd Tanous Never, 1650ec8b83dSEd Tanous AnyFault, 1660ec8b83dSEd Tanous }; 1670ec8b83dSEd Tanous 1680ec8b83dSEd Tanous enum class PowerMode{ 1690ec8b83dSEd Tanous Invalid, 1700ec8b83dSEd Tanous MaximumPerformance, 1710ec8b83dSEd Tanous BalancedPerformance, 1720ec8b83dSEd Tanous PowerSaving, 1730ec8b83dSEd Tanous Static, 1740ec8b83dSEd Tanous OSControlled, 1750ec8b83dSEd Tanous OEM, 1762ae81db9SGunnar Mills EfficiencyFavorPower, 1772ae81db9SGunnar Mills EfficiencyFavorPerformance, 1780ec8b83dSEd Tanous }; 1790ec8b83dSEd Tanous 1800ec8b83dSEd Tanous enum class CompositionUseCase{ 1810ec8b83dSEd Tanous Invalid, 1820ec8b83dSEd Tanous ResourceBlockCapable, 1830ec8b83dSEd Tanous ExpandableSystem, 1840ec8b83dSEd Tanous }; 1850ec8b83dSEd Tanous 186a8d8f9d8SEd Tanous enum class KMIPCachePolicy{ 187a8d8f9d8SEd Tanous Invalid, 188a8d8f9d8SEd Tanous None, 189a8d8f9d8SEd Tanous AfterFirstUse, 190a8d8f9d8SEd Tanous }; 191a8d8f9d8SEd Tanous 192e9cc1bc9SEd Tanous enum class DecommissionType{ 193e9cc1bc9SEd Tanous Invalid, 194e9cc1bc9SEd Tanous All, 195e9cc1bc9SEd Tanous UserData, 196e9cc1bc9SEd Tanous ManagerConfig, 197e9cc1bc9SEd Tanous BIOSConfig, 198e9cc1bc9SEd Tanous NetworkConfig, 199e9cc1bc9SEd Tanous StorageConfig, 200e9cc1bc9SEd Tanous Logs, 201*d125652eSGunnar Mills TPM, 202e9cc1bc9SEd Tanous }; 203e9cc1bc9SEd Tanous 204dd5c81e9SGunnar Mills enum class LastResetCauses{ 205dd5c81e9SGunnar Mills Invalid, 206dd5c81e9SGunnar Mills PowerButtonPress, 207dd5c81e9SGunnar Mills ManagementCommand, 208dd5c81e9SGunnar Mills PowerRestorePolicy, 209dd5c81e9SGunnar Mills RTCWakeup, 210dd5c81e9SGunnar Mills WatchdogExpiration, 211dd5c81e9SGunnar Mills OSSoftRestart, 212dd5c81e9SGunnar Mills SystemCrash, 213dd5c81e9SGunnar Mills ThermalEvent, 214dd5c81e9SGunnar Mills PowerEvent, 215dd5c81e9SGunnar Mills Unknown, 216dd5c81e9SGunnar Mills }; 217dd5c81e9SGunnar Mills 2180ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(BootSource, { 2190ec8b83dSEd Tanous {BootSource::Invalid, "Invalid"}, 2200ec8b83dSEd Tanous {BootSource::None, "None"}, 2210ec8b83dSEd Tanous {BootSource::Pxe, "Pxe"}, 2220ec8b83dSEd Tanous {BootSource::Floppy, "Floppy"}, 2230ec8b83dSEd Tanous {BootSource::Cd, "Cd"}, 2240ec8b83dSEd Tanous {BootSource::Usb, "Usb"}, 2250ec8b83dSEd Tanous {BootSource::Hdd, "Hdd"}, 2260ec8b83dSEd Tanous {BootSource::BiosSetup, "BiosSetup"}, 2270ec8b83dSEd Tanous {BootSource::Utilities, "Utilities"}, 2280ec8b83dSEd Tanous {BootSource::Diags, "Diags"}, 2290ec8b83dSEd Tanous {BootSource::UefiShell, "UefiShell"}, 2300ec8b83dSEd Tanous {BootSource::UefiTarget, "UefiTarget"}, 2310ec8b83dSEd Tanous {BootSource::SDCard, "SDCard"}, 2320ec8b83dSEd Tanous {BootSource::UefiHttp, "UefiHttp"}, 2330ec8b83dSEd Tanous {BootSource::RemoteDrive, "RemoteDrive"}, 2340ec8b83dSEd Tanous {BootSource::UefiBootNext, "UefiBootNext"}, 2350ec8b83dSEd Tanous {BootSource::Recovery, "Recovery"}, 2360ec8b83dSEd Tanous }); 2370ec8b83dSEd Tanous 2380ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SystemType, { 2390ec8b83dSEd Tanous {SystemType::Invalid, "Invalid"}, 2400ec8b83dSEd Tanous {SystemType::Physical, "Physical"}, 2410ec8b83dSEd Tanous {SystemType::Virtual, "Virtual"}, 2420ec8b83dSEd Tanous {SystemType::OS, "OS"}, 2430ec8b83dSEd Tanous {SystemType::PhysicallyPartitioned, "PhysicallyPartitioned"}, 2440ec8b83dSEd Tanous {SystemType::VirtuallyPartitioned, "VirtuallyPartitioned"}, 2450ec8b83dSEd Tanous {SystemType::Composed, "Composed"}, 2460ec8b83dSEd Tanous {SystemType::DPU, "DPU"}, 2470ec8b83dSEd Tanous }); 2480ec8b83dSEd Tanous 2490ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(IndicatorLED, { 2500ec8b83dSEd Tanous {IndicatorLED::Invalid, "Invalid"}, 2510ec8b83dSEd Tanous {IndicatorLED::Unknown, "Unknown"}, 2520ec8b83dSEd Tanous {IndicatorLED::Lit, "Lit"}, 2530ec8b83dSEd Tanous {IndicatorLED::Blinking, "Blinking"}, 2540ec8b83dSEd Tanous {IndicatorLED::Off, "Off"}, 2550ec8b83dSEd Tanous }); 2560ec8b83dSEd Tanous 2570ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(BootSourceOverrideEnabled, { 2580ec8b83dSEd Tanous {BootSourceOverrideEnabled::Invalid, "Invalid"}, 2590ec8b83dSEd Tanous {BootSourceOverrideEnabled::Disabled, "Disabled"}, 2600ec8b83dSEd Tanous {BootSourceOverrideEnabled::Once, "Once"}, 2610ec8b83dSEd Tanous {BootSourceOverrideEnabled::Continuous, "Continuous"}, 2620ec8b83dSEd Tanous }); 2630ec8b83dSEd Tanous 2640ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(MemoryMirroring, { 2650ec8b83dSEd Tanous {MemoryMirroring::Invalid, "Invalid"}, 2660ec8b83dSEd Tanous {MemoryMirroring::System, "System"}, 2670ec8b83dSEd Tanous {MemoryMirroring::DIMM, "DIMM"}, 2680ec8b83dSEd Tanous {MemoryMirroring::Hybrid, "Hybrid"}, 2690ec8b83dSEd Tanous {MemoryMirroring::None, "None"}, 2700ec8b83dSEd Tanous }); 2710ec8b83dSEd Tanous 2720ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(BootSourceOverrideMode, { 2730ec8b83dSEd Tanous {BootSourceOverrideMode::Invalid, "Invalid"}, 2740ec8b83dSEd Tanous {BootSourceOverrideMode::Legacy, "Legacy"}, 2750ec8b83dSEd Tanous {BootSourceOverrideMode::UEFI, "UEFI"}, 2760ec8b83dSEd Tanous }); 2770ec8b83dSEd Tanous 2780ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(InterfaceType, { 2790ec8b83dSEd Tanous {InterfaceType::Invalid, "Invalid"}, 2800ec8b83dSEd Tanous {InterfaceType::TPM1_2, "TPM1_2"}, 2810ec8b83dSEd Tanous {InterfaceType::TPM2_0, "TPM2_0"}, 2820ec8b83dSEd Tanous {InterfaceType::TCM1_0, "TCM1_0"}, 2830ec8b83dSEd Tanous }); 2840ec8b83dSEd Tanous 2850ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(HostingRole, { 2860ec8b83dSEd Tanous {HostingRole::Invalid, "Invalid"}, 2870ec8b83dSEd Tanous {HostingRole::ApplicationServer, "ApplicationServer"}, 2880ec8b83dSEd Tanous {HostingRole::StorageServer, "StorageServer"}, 2890ec8b83dSEd Tanous {HostingRole::Switch, "Switch"}, 2900ec8b83dSEd Tanous {HostingRole::Appliance, "Appliance"}, 2910ec8b83dSEd Tanous {HostingRole::BareMetalServer, "BareMetalServer"}, 2920ec8b83dSEd Tanous {HostingRole::VirtualMachineServer, "VirtualMachineServer"}, 2930ec8b83dSEd Tanous {HostingRole::ContainerServer, "ContainerServer"}, 2940ec8b83dSEd Tanous }); 2950ec8b83dSEd Tanous 2960ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(InterfaceTypeSelection, { 2970ec8b83dSEd Tanous {InterfaceTypeSelection::Invalid, "Invalid"}, 2980ec8b83dSEd Tanous {InterfaceTypeSelection::None, "None"}, 2990ec8b83dSEd Tanous {InterfaceTypeSelection::FirmwareUpdate, "FirmwareUpdate"}, 3000ec8b83dSEd Tanous {InterfaceTypeSelection::BiosSetting, "BiosSetting"}, 3010ec8b83dSEd Tanous {InterfaceTypeSelection::OemMethod, "OemMethod"}, 3020ec8b83dSEd Tanous }); 3030ec8b83dSEd Tanous 3040ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(WatchdogWarningActions, { 3050ec8b83dSEd Tanous {WatchdogWarningActions::Invalid, "Invalid"}, 3060ec8b83dSEd Tanous {WatchdogWarningActions::None, "None"}, 3070ec8b83dSEd Tanous {WatchdogWarningActions::DiagnosticInterrupt, "DiagnosticInterrupt"}, 3080ec8b83dSEd Tanous {WatchdogWarningActions::SMI, "SMI"}, 3090ec8b83dSEd Tanous {WatchdogWarningActions::MessagingInterrupt, "MessagingInterrupt"}, 3100ec8b83dSEd Tanous {WatchdogWarningActions::SCI, "SCI"}, 3110ec8b83dSEd Tanous {WatchdogWarningActions::OEM, "OEM"}, 3120ec8b83dSEd Tanous }); 3130ec8b83dSEd Tanous 3140ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(WatchdogTimeoutActions, { 3150ec8b83dSEd Tanous {WatchdogTimeoutActions::Invalid, "Invalid"}, 3160ec8b83dSEd Tanous {WatchdogTimeoutActions::None, "None"}, 3170ec8b83dSEd Tanous {WatchdogTimeoutActions::ResetSystem, "ResetSystem"}, 3180ec8b83dSEd Tanous {WatchdogTimeoutActions::PowerCycle, "PowerCycle"}, 3190ec8b83dSEd Tanous {WatchdogTimeoutActions::PowerDown, "PowerDown"}, 3200ec8b83dSEd Tanous {WatchdogTimeoutActions::OEM, "OEM"}, 3210ec8b83dSEd Tanous }); 3220ec8b83dSEd Tanous 3230ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PowerRestorePolicyTypes, { 3240ec8b83dSEd Tanous {PowerRestorePolicyTypes::Invalid, "Invalid"}, 3250ec8b83dSEd Tanous {PowerRestorePolicyTypes::AlwaysOn, "AlwaysOn"}, 3260ec8b83dSEd Tanous {PowerRestorePolicyTypes::AlwaysOff, "AlwaysOff"}, 3270ec8b83dSEd Tanous {PowerRestorePolicyTypes::LastState, "LastState"}, 3280ec8b83dSEd Tanous }); 3290ec8b83dSEd Tanous 3300ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(BootOrderTypes, { 3310ec8b83dSEd Tanous {BootOrderTypes::Invalid, "Invalid"}, 3320ec8b83dSEd Tanous {BootOrderTypes::BootOrder, "BootOrder"}, 3330ec8b83dSEd Tanous {BootOrderTypes::AliasBootOrder, "AliasBootOrder"}, 3340ec8b83dSEd Tanous }); 3350ec8b83dSEd Tanous 3360ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AutomaticRetryConfig, { 3370ec8b83dSEd Tanous {AutomaticRetryConfig::Invalid, "Invalid"}, 3380ec8b83dSEd Tanous {AutomaticRetryConfig::Disabled, "Disabled"}, 3390ec8b83dSEd Tanous {AutomaticRetryConfig::RetryAttempts, "RetryAttempts"}, 3400ec8b83dSEd Tanous {AutomaticRetryConfig::RetryAlways, "RetryAlways"}, 3410ec8b83dSEd Tanous }); 3420ec8b83dSEd Tanous 3430ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(BootProgressTypes, { 3440ec8b83dSEd Tanous {BootProgressTypes::Invalid, "Invalid"}, 3450ec8b83dSEd Tanous {BootProgressTypes::None, "None"}, 3460ec8b83dSEd Tanous {BootProgressTypes::PrimaryProcessorInitializationStarted, "PrimaryProcessorInitializationStarted"}, 3470ec8b83dSEd Tanous {BootProgressTypes::BusInitializationStarted, "BusInitializationStarted"}, 3480ec8b83dSEd Tanous {BootProgressTypes::MemoryInitializationStarted, "MemoryInitializationStarted"}, 3490ec8b83dSEd Tanous {BootProgressTypes::SecondaryProcessorInitializationStarted, "SecondaryProcessorInitializationStarted"}, 3500ec8b83dSEd Tanous {BootProgressTypes::PCIResourceConfigStarted, "PCIResourceConfigStarted"}, 3510ec8b83dSEd Tanous {BootProgressTypes::SystemHardwareInitializationComplete, "SystemHardwareInitializationComplete"}, 3520ec8b83dSEd Tanous {BootProgressTypes::SetupEntered, "SetupEntered"}, 3530ec8b83dSEd Tanous {BootProgressTypes::OSBootStarted, "OSBootStarted"}, 3540ec8b83dSEd Tanous {BootProgressTypes::OSRunning, "OSRunning"}, 3550ec8b83dSEd Tanous {BootProgressTypes::OEM, "OEM"}, 3560ec8b83dSEd Tanous }); 3570ec8b83dSEd Tanous 3580ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(GraphicalConnectTypesSupported, { 3590ec8b83dSEd Tanous {GraphicalConnectTypesSupported::Invalid, "Invalid"}, 3600ec8b83dSEd Tanous {GraphicalConnectTypesSupported::KVMIP, "KVMIP"}, 3610ec8b83dSEd Tanous {GraphicalConnectTypesSupported::OEM, "OEM"}, 3620ec8b83dSEd Tanous }); 3630ec8b83dSEd Tanous 3640ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(TrustedModuleRequiredToBoot, { 3650ec8b83dSEd Tanous {TrustedModuleRequiredToBoot::Invalid, "Invalid"}, 3660ec8b83dSEd Tanous {TrustedModuleRequiredToBoot::Disabled, "Disabled"}, 3670ec8b83dSEd Tanous {TrustedModuleRequiredToBoot::Required, "Required"}, 3680ec8b83dSEd Tanous }); 3690ec8b83dSEd Tanous 3700ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(StopBootOnFault, { 3710ec8b83dSEd Tanous {StopBootOnFault::Invalid, "Invalid"}, 3720ec8b83dSEd Tanous {StopBootOnFault::Never, "Never"}, 3730ec8b83dSEd Tanous {StopBootOnFault::AnyFault, "AnyFault"}, 3740ec8b83dSEd Tanous }); 3750ec8b83dSEd Tanous 3760ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PowerMode, { 3770ec8b83dSEd Tanous {PowerMode::Invalid, "Invalid"}, 3780ec8b83dSEd Tanous {PowerMode::MaximumPerformance, "MaximumPerformance"}, 3790ec8b83dSEd Tanous {PowerMode::BalancedPerformance, "BalancedPerformance"}, 3800ec8b83dSEd Tanous {PowerMode::PowerSaving, "PowerSaving"}, 3810ec8b83dSEd Tanous {PowerMode::Static, "Static"}, 3820ec8b83dSEd Tanous {PowerMode::OSControlled, "OSControlled"}, 3830ec8b83dSEd Tanous {PowerMode::OEM, "OEM"}, 3842ae81db9SGunnar Mills {PowerMode::EfficiencyFavorPower, "EfficiencyFavorPower"}, 3852ae81db9SGunnar Mills {PowerMode::EfficiencyFavorPerformance, "EfficiencyFavorPerformance"}, 3860ec8b83dSEd Tanous }); 3870ec8b83dSEd Tanous 3880ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CompositionUseCase, { 3890ec8b83dSEd Tanous {CompositionUseCase::Invalid, "Invalid"}, 3900ec8b83dSEd Tanous {CompositionUseCase::ResourceBlockCapable, "ResourceBlockCapable"}, 3910ec8b83dSEd Tanous {CompositionUseCase::ExpandableSystem, "ExpandableSystem"}, 3920ec8b83dSEd Tanous }); 3930ec8b83dSEd Tanous 394a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(KMIPCachePolicy, { 395a8d8f9d8SEd Tanous {KMIPCachePolicy::Invalid, "Invalid"}, 396a8d8f9d8SEd Tanous {KMIPCachePolicy::None, "None"}, 397a8d8f9d8SEd Tanous {KMIPCachePolicy::AfterFirstUse, "AfterFirstUse"}, 398a8d8f9d8SEd Tanous }); 399a8d8f9d8SEd Tanous 400e9cc1bc9SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(DecommissionType, { 401e9cc1bc9SEd Tanous {DecommissionType::Invalid, "Invalid"}, 402e9cc1bc9SEd Tanous {DecommissionType::All, "All"}, 403e9cc1bc9SEd Tanous {DecommissionType::UserData, "UserData"}, 404e9cc1bc9SEd Tanous {DecommissionType::ManagerConfig, "ManagerConfig"}, 405e9cc1bc9SEd Tanous {DecommissionType::BIOSConfig, "BIOSConfig"}, 406e9cc1bc9SEd Tanous {DecommissionType::NetworkConfig, "NetworkConfig"}, 407e9cc1bc9SEd Tanous {DecommissionType::StorageConfig, "StorageConfig"}, 408e9cc1bc9SEd Tanous {DecommissionType::Logs, "Logs"}, 409*d125652eSGunnar Mills {DecommissionType::TPM, "TPM"}, 410e9cc1bc9SEd Tanous }); 411e9cc1bc9SEd Tanous 412dd5c81e9SGunnar Mills NLOHMANN_JSON_SERIALIZE_ENUM(LastResetCauses, { 413dd5c81e9SGunnar Mills {LastResetCauses::Invalid, "Invalid"}, 414dd5c81e9SGunnar Mills {LastResetCauses::PowerButtonPress, "PowerButtonPress"}, 415dd5c81e9SGunnar Mills {LastResetCauses::ManagementCommand, "ManagementCommand"}, 416dd5c81e9SGunnar Mills {LastResetCauses::PowerRestorePolicy, "PowerRestorePolicy"}, 417dd5c81e9SGunnar Mills {LastResetCauses::RTCWakeup, "RTCWakeup"}, 418dd5c81e9SGunnar Mills {LastResetCauses::WatchdogExpiration, "WatchdogExpiration"}, 419dd5c81e9SGunnar Mills {LastResetCauses::OSSoftRestart, "OSSoftRestart"}, 420dd5c81e9SGunnar Mills {LastResetCauses::SystemCrash, "SystemCrash"}, 421dd5c81e9SGunnar Mills {LastResetCauses::ThermalEvent, "ThermalEvent"}, 422dd5c81e9SGunnar Mills {LastResetCauses::PowerEvent, "PowerEvent"}, 423dd5c81e9SGunnar Mills {LastResetCauses::Unknown, "Unknown"}, 424dd5c81e9SGunnar Mills }); 425dd5c81e9SGunnar Mills 4260ec8b83dSEd Tanous } 4270ec8b83dSEd Tanous // clang-format on 428