blob: 04c5251b1bf29f712728e984468542e0c2629417 [file] [log] [blame]
#pragma once
#include <cstdint>
#include <nlohmann/json.hpp>
namespace computer_system
{
// clang-format off
enum class BootSource : std::uint8_t{
Invalid,
None,
Pxe,
Floppy,
Cd,
Usb,
Hdd,
BiosSetup,
Utilities,
Diags,
UefiShell,
UefiTarget,
SDCard,
UefiHttp,
RemoteDrive,
UefiBootNext,
Recovery,
};
enum class SystemType : std::uint8_t{
Invalid,
Physical,
Virtual,
OS,
PhysicallyPartitioned,
VirtuallyPartitioned,
Composed,
DPU,
};
enum class IndicatorLED : std::uint8_t{
Invalid,
Unknown,
Lit,
Blinking,
Off,
};
enum class BootSourceOverrideEnabled : std::uint8_t{
Invalid,
Disabled,
Once,
Continuous,
};
enum class MemoryMirroring : std::uint8_t{
Invalid,
System,
DIMM,
Hybrid,
None,
};
enum class BootSourceOverrideMode : std::uint8_t{
Invalid,
Legacy,
UEFI,
};
enum class InterfaceType : std::uint8_t{
Invalid,
TPM1_2,
TPM2_0,
TCM1_0,
};
enum class HostingRole : std::uint8_t{
Invalid,
ApplicationServer,
StorageServer,
Switch,
Appliance,
BareMetalServer,
VirtualMachineServer,
ContainerServer,
};
enum class InterfaceTypeSelection : std::uint8_t{
Invalid,
None,
FirmwareUpdate,
BiosSetting,
OemMethod,
};
enum class WatchdogWarningActions : std::uint8_t{
Invalid,
None,
DiagnosticInterrupt,
SMI,
MessagingInterrupt,
SCI,
OEM,
};
enum class WatchdogTimeoutActions : std::uint8_t{
Invalid,
None,
ResetSystem,
PowerCycle,
PowerDown,
OEM,
};
enum class PowerRestorePolicyTypes : std::uint8_t{
Invalid,
AlwaysOn,
AlwaysOff,
LastState,
};
enum class BootOrderTypes : std::uint8_t{
Invalid,
BootOrder,
AliasBootOrder,
};
enum class AutomaticRetryConfig : std::uint8_t{
Invalid,
Disabled,
RetryAttempts,
RetryAlways,
};
enum class BootProgressTypes : std::uint8_t{
Invalid,
None,
PrimaryProcessorInitializationStarted,
BusInitializationStarted,
MemoryInitializationStarted,
SecondaryProcessorInitializationStarted,
PCIResourceConfigStarted,
SystemHardwareInitializationComplete,
SetupEntered,
OSBootStarted,
OSRunning,
OEM,
};
enum class GraphicalConnectTypesSupported : std::uint8_t{
Invalid,
KVMIP,
OEM,
};
enum class TrustedModuleRequiredToBoot : std::uint8_t{
Invalid,
Disabled,
Required,
};
enum class StopBootOnFault : std::uint8_t{
Invalid,
Never,
AnyFault,
};
enum class PowerMode : std::uint8_t{
Invalid,
MaximumPerformance,
BalancedPerformance,
PowerSaving,
Static,
OSControlled,
OEM,
};
enum class CompositionUseCase : std::uint8_t{
Invalid,
ResourceBlockCapable,
ExpandableSystem,
};
enum class KMIPCachePolicy : std::uint8_t{
Invalid,
None,
AfterFirstUse,
};
NLOHMANN_JSON_SERIALIZE_ENUM(BootSource, {
{BootSource::Invalid, "Invalid"},
{BootSource::None, "None"},
{BootSource::Pxe, "Pxe"},
{BootSource::Floppy, "Floppy"},
{BootSource::Cd, "Cd"},
{BootSource::Usb, "Usb"},
{BootSource::Hdd, "Hdd"},
{BootSource::BiosSetup, "BiosSetup"},
{BootSource::Utilities, "Utilities"},
{BootSource::Diags, "Diags"},
{BootSource::UefiShell, "UefiShell"},
{BootSource::UefiTarget, "UefiTarget"},
{BootSource::SDCard, "SDCard"},
{BootSource::UefiHttp, "UefiHttp"},
{BootSource::RemoteDrive, "RemoteDrive"},
{BootSource::UefiBootNext, "UefiBootNext"},
{BootSource::Recovery, "Recovery"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(SystemType, {
{SystemType::Invalid, "Invalid"},
{SystemType::Physical, "Physical"},
{SystemType::Virtual, "Virtual"},
{SystemType::OS, "OS"},
{SystemType::PhysicallyPartitioned, "PhysicallyPartitioned"},
{SystemType::VirtuallyPartitioned, "VirtuallyPartitioned"},
{SystemType::Composed, "Composed"},
{SystemType::DPU, "DPU"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(IndicatorLED, {
{IndicatorLED::Invalid, "Invalid"},
{IndicatorLED::Unknown, "Unknown"},
{IndicatorLED::Lit, "Lit"},
{IndicatorLED::Blinking, "Blinking"},
{IndicatorLED::Off, "Off"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(BootSourceOverrideEnabled, {
{BootSourceOverrideEnabled::Invalid, "Invalid"},
{BootSourceOverrideEnabled::Disabled, "Disabled"},
{BootSourceOverrideEnabled::Once, "Once"},
{BootSourceOverrideEnabled::Continuous, "Continuous"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(MemoryMirroring, {
{MemoryMirroring::Invalid, "Invalid"},
{MemoryMirroring::System, "System"},
{MemoryMirroring::DIMM, "DIMM"},
{MemoryMirroring::Hybrid, "Hybrid"},
{MemoryMirroring::None, "None"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(BootSourceOverrideMode, {
{BootSourceOverrideMode::Invalid, "Invalid"},
{BootSourceOverrideMode::Legacy, "Legacy"},
{BootSourceOverrideMode::UEFI, "UEFI"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(InterfaceType, {
{InterfaceType::Invalid, "Invalid"},
{InterfaceType::TPM1_2, "TPM1_2"},
{InterfaceType::TPM2_0, "TPM2_0"},
{InterfaceType::TCM1_0, "TCM1_0"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(HostingRole, {
{HostingRole::Invalid, "Invalid"},
{HostingRole::ApplicationServer, "ApplicationServer"},
{HostingRole::StorageServer, "StorageServer"},
{HostingRole::Switch, "Switch"},
{HostingRole::Appliance, "Appliance"},
{HostingRole::BareMetalServer, "BareMetalServer"},
{HostingRole::VirtualMachineServer, "VirtualMachineServer"},
{HostingRole::ContainerServer, "ContainerServer"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(InterfaceTypeSelection, {
{InterfaceTypeSelection::Invalid, "Invalid"},
{InterfaceTypeSelection::None, "None"},
{InterfaceTypeSelection::FirmwareUpdate, "FirmwareUpdate"},
{InterfaceTypeSelection::BiosSetting, "BiosSetting"},
{InterfaceTypeSelection::OemMethod, "OemMethod"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(WatchdogWarningActions, {
{WatchdogWarningActions::Invalid, "Invalid"},
{WatchdogWarningActions::None, "None"},
{WatchdogWarningActions::DiagnosticInterrupt, "DiagnosticInterrupt"},
{WatchdogWarningActions::SMI, "SMI"},
{WatchdogWarningActions::MessagingInterrupt, "MessagingInterrupt"},
{WatchdogWarningActions::SCI, "SCI"},
{WatchdogWarningActions::OEM, "OEM"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(WatchdogTimeoutActions, {
{WatchdogTimeoutActions::Invalid, "Invalid"},
{WatchdogTimeoutActions::None, "None"},
{WatchdogTimeoutActions::ResetSystem, "ResetSystem"},
{WatchdogTimeoutActions::PowerCycle, "PowerCycle"},
{WatchdogTimeoutActions::PowerDown, "PowerDown"},
{WatchdogTimeoutActions::OEM, "OEM"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(PowerRestorePolicyTypes, {
{PowerRestorePolicyTypes::Invalid, "Invalid"},
{PowerRestorePolicyTypes::AlwaysOn, "AlwaysOn"},
{PowerRestorePolicyTypes::AlwaysOff, "AlwaysOff"},
{PowerRestorePolicyTypes::LastState, "LastState"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(BootOrderTypes, {
{BootOrderTypes::Invalid, "Invalid"},
{BootOrderTypes::BootOrder, "BootOrder"},
{BootOrderTypes::AliasBootOrder, "AliasBootOrder"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(AutomaticRetryConfig, {
{AutomaticRetryConfig::Invalid, "Invalid"},
{AutomaticRetryConfig::Disabled, "Disabled"},
{AutomaticRetryConfig::RetryAttempts, "RetryAttempts"},
{AutomaticRetryConfig::RetryAlways, "RetryAlways"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(BootProgressTypes, {
{BootProgressTypes::Invalid, "Invalid"},
{BootProgressTypes::None, "None"},
{BootProgressTypes::PrimaryProcessorInitializationStarted, "PrimaryProcessorInitializationStarted"},
{BootProgressTypes::BusInitializationStarted, "BusInitializationStarted"},
{BootProgressTypes::MemoryInitializationStarted, "MemoryInitializationStarted"},
{BootProgressTypes::SecondaryProcessorInitializationStarted, "SecondaryProcessorInitializationStarted"},
{BootProgressTypes::PCIResourceConfigStarted, "PCIResourceConfigStarted"},
{BootProgressTypes::SystemHardwareInitializationComplete, "SystemHardwareInitializationComplete"},
{BootProgressTypes::SetupEntered, "SetupEntered"},
{BootProgressTypes::OSBootStarted, "OSBootStarted"},
{BootProgressTypes::OSRunning, "OSRunning"},
{BootProgressTypes::OEM, "OEM"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(GraphicalConnectTypesSupported, {
{GraphicalConnectTypesSupported::Invalid, "Invalid"},
{GraphicalConnectTypesSupported::KVMIP, "KVMIP"},
{GraphicalConnectTypesSupported::OEM, "OEM"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(TrustedModuleRequiredToBoot, {
{TrustedModuleRequiredToBoot::Invalid, "Invalid"},
{TrustedModuleRequiredToBoot::Disabled, "Disabled"},
{TrustedModuleRequiredToBoot::Required, "Required"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(StopBootOnFault, {
{StopBootOnFault::Invalid, "Invalid"},
{StopBootOnFault::Never, "Never"},
{StopBootOnFault::AnyFault, "AnyFault"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(PowerMode, {
{PowerMode::Invalid, "Invalid"},
{PowerMode::MaximumPerformance, "MaximumPerformance"},
{PowerMode::BalancedPerformance, "BalancedPerformance"},
{PowerMode::PowerSaving, "PowerSaving"},
{PowerMode::Static, "Static"},
{PowerMode::OSControlled, "OSControlled"},
{PowerMode::OEM, "OEM"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(CompositionUseCase, {
{CompositionUseCase::Invalid, "Invalid"},
{CompositionUseCase::ResourceBlockCapable, "ResourceBlockCapable"},
{CompositionUseCase::ExpandableSystem, "ExpandableSystem"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(KMIPCachePolicy, {
{KMIPCachePolicy::Invalid, "Invalid"},
{KMIPCachePolicy::None, "None"},
{KMIPCachePolicy::AfterFirstUse, "AfterFirstUse"},
});
} // namespace computer_system
// clang-format on