xref: /openbmc/bmcweb/features/redfish/include/generated/enums/component_integrity.hpp (revision 853c0dc5486bbab77b2d1f158152de93847c20d9)
1*853c0dc5SEd Tanous #pragma once
2*853c0dc5SEd Tanous #include <nlohmann/json.hpp>
3*853c0dc5SEd Tanous 
4*853c0dc5SEd Tanous namespace component_integrity
5*853c0dc5SEd Tanous {
6*853c0dc5SEd Tanous // clang-format off
7*853c0dc5SEd Tanous 
8*853c0dc5SEd Tanous enum class ComponentIntegrityType{
9*853c0dc5SEd Tanous     Invalid,
10*853c0dc5SEd Tanous     SPDM,
11*853c0dc5SEd Tanous     TPM,
12*853c0dc5SEd Tanous     OEM,
13*853c0dc5SEd Tanous };
14*853c0dc5SEd Tanous 
15*853c0dc5SEd Tanous enum class MeasurementSpecification{
16*853c0dc5SEd Tanous     Invalid,
17*853c0dc5SEd Tanous     DMTF,
18*853c0dc5SEd Tanous };
19*853c0dc5SEd Tanous 
20*853c0dc5SEd Tanous enum class SPDMmeasurementSummaryType{
21*853c0dc5SEd Tanous     Invalid,
22*853c0dc5SEd Tanous     TCB,
23*853c0dc5SEd Tanous     All,
24*853c0dc5SEd Tanous };
25*853c0dc5SEd Tanous 
26*853c0dc5SEd Tanous enum class DMTFmeasurementTypes{
27*853c0dc5SEd Tanous     Invalid,
28*853c0dc5SEd Tanous     ImmutableROM,
29*853c0dc5SEd Tanous     MutableFirmware,
30*853c0dc5SEd Tanous     HardwareConfiguration,
31*853c0dc5SEd Tanous     FirmwareConfiguration,
32*853c0dc5SEd Tanous     MutableFirmwareVersion,
33*853c0dc5SEd Tanous     MutableFirmwareSecurityVersionNumber,
34*853c0dc5SEd Tanous     MeasurementManifest,
35*853c0dc5SEd Tanous };
36*853c0dc5SEd Tanous 
37*853c0dc5SEd Tanous enum class VerificationStatus{
38*853c0dc5SEd Tanous     Invalid,
39*853c0dc5SEd Tanous     Success,
40*853c0dc5SEd Tanous     Failed,
41*853c0dc5SEd Tanous };
42*853c0dc5SEd Tanous 
43*853c0dc5SEd Tanous enum class SecureSessionType{
44*853c0dc5SEd Tanous     Invalid,
45*853c0dc5SEd Tanous     Plain,
46*853c0dc5SEd Tanous     EncryptedAuthenticated,
47*853c0dc5SEd Tanous     AuthenticatedOnly,
48*853c0dc5SEd Tanous };
49*853c0dc5SEd Tanous 
50*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ComponentIntegrityType, {
51*853c0dc5SEd Tanous     {ComponentIntegrityType::Invalid, "Invalid"},
52*853c0dc5SEd Tanous     {ComponentIntegrityType::SPDM, "SPDM"},
53*853c0dc5SEd Tanous     {ComponentIntegrityType::TPM, "TPM"},
54*853c0dc5SEd Tanous     {ComponentIntegrityType::OEM, "OEM"},
55*853c0dc5SEd Tanous });
56*853c0dc5SEd Tanous 
57*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(MeasurementSpecification, {
58*853c0dc5SEd Tanous     {MeasurementSpecification::Invalid, "Invalid"},
59*853c0dc5SEd Tanous     {MeasurementSpecification::DMTF, "DMTF"},
60*853c0dc5SEd Tanous });
61*853c0dc5SEd Tanous 
62*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SPDMmeasurementSummaryType, {
63*853c0dc5SEd Tanous     {SPDMmeasurementSummaryType::Invalid, "Invalid"},
64*853c0dc5SEd Tanous     {SPDMmeasurementSummaryType::TCB, "TCB"},
65*853c0dc5SEd Tanous     {SPDMmeasurementSummaryType::All, "All"},
66*853c0dc5SEd Tanous });
67*853c0dc5SEd Tanous 
68*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(DMTFmeasurementTypes, {
69*853c0dc5SEd Tanous     {DMTFmeasurementTypes::Invalid, "Invalid"},
70*853c0dc5SEd Tanous     {DMTFmeasurementTypes::ImmutableROM, "ImmutableROM"},
71*853c0dc5SEd Tanous     {DMTFmeasurementTypes::MutableFirmware, "MutableFirmware"},
72*853c0dc5SEd Tanous     {DMTFmeasurementTypes::HardwareConfiguration, "HardwareConfiguration"},
73*853c0dc5SEd Tanous     {DMTFmeasurementTypes::FirmwareConfiguration, "FirmwareConfiguration"},
74*853c0dc5SEd Tanous     {DMTFmeasurementTypes::MutableFirmwareVersion, "MutableFirmwareVersion"},
75*853c0dc5SEd Tanous     {DMTFmeasurementTypes::MutableFirmwareSecurityVersionNumber, "MutableFirmwareSecurityVersionNumber"},
76*853c0dc5SEd Tanous     {DMTFmeasurementTypes::MeasurementManifest, "MeasurementManifest"},
77*853c0dc5SEd Tanous });
78*853c0dc5SEd Tanous 
79*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(VerificationStatus, {
80*853c0dc5SEd Tanous     {VerificationStatus::Invalid, "Invalid"},
81*853c0dc5SEd Tanous     {VerificationStatus::Success, "Success"},
82*853c0dc5SEd Tanous     {VerificationStatus::Failed, "Failed"},
83*853c0dc5SEd Tanous });
84*853c0dc5SEd Tanous 
85*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SecureSessionType, {
86*853c0dc5SEd Tanous     {SecureSessionType::Invalid, "Invalid"},
87*853c0dc5SEd Tanous     {SecureSessionType::Plain, "Plain"},
88*853c0dc5SEd Tanous     {SecureSessionType::EncryptedAuthenticated, "EncryptedAuthenticated"},
89*853c0dc5SEd Tanous     {SecureSessionType::AuthenticatedOnly, "AuthenticatedOnly"},
90*853c0dc5SEd Tanous });
91*853c0dc5SEd Tanous 
92*853c0dc5SEd Tanous }
93*853c0dc5SEd Tanous // clang-format on
94