Add redfish authz to HBM HFT resources.
BEGIN_PUBLIC
Adds authorizer enums for the following Google entries.
- GoogleHft
END_PUBLIC
blaze test //third_party/milotic/external/cc/authz:all
blaze test //third_party/milotic/internal/cc/authz:all
integration-test-bug-id: 393133201
added-testdata-queries: done
Tested:
Built test authorization MSVP based on this CL, and manually imported it into gbmcweb to build a test gBMC firmware. I did this by copying authorizer_enums.cc, authorizer_enums.h, and (generated) pattern_to_entity_array.h to a local bmcweb repo and build a new gbmc image. I built and installed the msvp on a GF machine mscc3 and used rfsys (on the compute node) to query the Redfish resources.
rfsys does not support POST, so it can't actually enable the actions, but attempting to GET an action does confirm that rfsys is authorized to access it.
https://paste.googleplex.com/5661558887415808
PiperOrigin-RevId: 771220687
Change-Id: I0c95118a8b697b93c455f0b520f1ccc550d2d4c8
diff --git a/redfish_authorization/authorizer_enums.cc b/redfish_authorization/authorizer_enums.cc
index b7b77be..2ee6573 100644
--- a/redfish_authorization/authorizer_enums.cc
+++ b/redfish_authorization/authorizer_enums.cc
@@ -109,6 +109,7 @@
"GoogleErrorCounter",
"GoogleErrorCounterCollection",
"GoogleHbmOnlineRepair",
+ "GoogleHft",
"GoogleManagedObjectStoreMetrics",
"GoogleNvmeMetric",
"GooglePower",
diff --git a/redfish_authorization/authorizer_enums.h b/redfish_authorization/authorizer_enums.h
index 13b5160..fde8077 100644
--- a/redfish_authorization/authorizer_enums.h
+++ b/redfish_authorization/authorizer_enums.h
@@ -104,6 +104,7 @@
kGoogleErrorCounter,
kGoogleErrorCounterCollection,
kGoogleHbmOnlineRepair,
+ kGoogleHft,
kGoogleManagedObjectStoreMetrics,
kGoogleNvmeMetric,
kGooglePower,
diff --git a/redfish_authorization/pattern_to_entity_array.h b/redfish_authorization/pattern_to_entity_array.h
index 763a0c3..37b9587 100644
--- a/redfish_authorization/pattern_to_entity_array.h
+++ b/redfish_authorization/pattern_to_entity_array.h
@@ -18,7 +18,7 @@
namespace milotic::authz
{
using ::ecclesia::ResourceEntity;
-inline constexpr std::array<std::pair<std::string_view, ResourceEntity>, 8162> pattern_entity_pair_array {{
+inline constexpr std::array<std::pair<std::string_view, ResourceEntity>, 8166> pattern_entity_pair_array {{
{"/google/v1", ResourceEntity::kServiceRoot},
{"/google/v1/JsonSchemas", ResourceEntity::kJsonSchemaFileCollection},
{"/google/v1/JsonSchemas/{JsonSchemaFileId}", ResourceEntity::kJsonSchemaFile},
@@ -7396,6 +7396,7 @@
{"/redfish/v1/Systems/{ComputerSystemId}/Actions/ComputerSystem.Reset", ResourceEntity::kComputerSystem},
{"/redfish/v1/Systems/{ComputerSystemId}/Actions/ComputerSystem.SetDefaultBootOrder", ResourceEntity::kComputerSystem},
{"/redfish/v1/Systems/{ComputerSystemId}/Actions/Oem/GoogleComputerSystem.BootGuestOS", ResourceEntity::kComputerSystem},
+ {"/redfish/v1/Systems/{ComputerSystemId}/Actions/Oem/GoogleHft.Request", ResourceEntity::kGoogleHft},
{"/redfish/v1/Systems/{ComputerSystemId}/AddResourceBlockActionInfo", ResourceEntity::kActionInfo},
{"/redfish/v1/Systems/{ComputerSystemId}/Bios", ResourceEntity::kBios},
{"/redfish/v1/Systems/{ComputerSystemId}/Bios/Actions/Bios.ChangePassword", ResourceEntity::kBios},
@@ -7653,6 +7654,9 @@
{"/redfish/v1/Systems/{ComputerSystemId}/Oem/Google/HbmOnlineRepair/Actions/GoogleHbmOnlineRepair.OnlineRepair", ResourceEntity::kGoogleHbmOnlineRepair},
{"/redfish/v1/Systems/{ComputerSystemId}/Oem/Google/HbmOnlineRepair/Actions/GoogleHbmOnlineRepair.OnlineRepairActionInfo", ResourceEntity::kGoogleHbmOnlineRepair},
{"/redfish/v1/Systems/{ComputerSystemId}/Oem/Google/HbmOnlineRepair/Actions/GoogleHbmOnlineRepair.OnlineRepairTest", ResourceEntity::kGoogleHbmOnlineRepair},
+ {"/redfish/v1/Systems/{ComputerSystemId}/Oem/Google/Hft", ResourceEntity::kGoogleHft},
+ {"/redfish/v1/Systems/{ComputerSystemId}/Oem/Google/Hft/GetHftData", ResourceEntity::kGoogleHft},
+ {"/redfish/v1/Systems/{ComputerSystemId}/Oem/Google/Hft/GetSensorList", ResourceEntity::kGoogleHft},
{"/redfish/v1/Systems/{ComputerSystemId}/Oem/Google/RasService", ResourceEntity::kGoogleRasService},
{"/redfish/v1/Systems/{ComputerSystemId}/Oem/Google/RasService/ErrorCounters", ResourceEntity::kGoogleErrorCounterCollection},
{"/redfish/v1/Systems/{ComputerSystemId}/Oem/Google/RasService/ErrorCounters/{ErrorCounterId}", ResourceEntity::kGoogleErrorCounter},