blob: 45c6febd3efeeed98289c558d35a493a72aaec39 [file]
syntax = "proto3";
package devpath_plugin;
// Key specifies selection criteria for matching a Redfish Request to a UHM
// component.
message Key {
// Pattern representing the Redfish URL to match (e.g.
// "/redfish/v1/Systems/system1/Memory/dimm[0-9]+"). Required.
string redfish_url_pattern = 1;
// Specific constraint to narrow the match. At most one should be set.
oneof condition {
int32 bus = 2;
string location_code = 3;
string assembly_name = 4;
}
}
// UhmMonitoredComponentKey is a key to uniquely identify a UHM monitored
// component.
message UhmMonitoredComponentKey {
// The unique physical location base path. Required.
string barepath = 1;
}
// RedfishExposeConfig controls devpath replication values in Redfish responses.
message RedfishExposeConfig {
bool expose_oem_google_devpath = 1;
bool set_plc_as_placeholder = 2;
string embedded_location_context = 3;
}
// Individual Redfish to UHM entry.
message RedfishToUhmMapping {
Key key = 1;
UhmMonitoredComponentKey uhm_monitored_component_key = 2;
RedfishExposeConfig redfish_expose_config = 3;
}
// The top-level configuration message containing all mapping configurations.
message RedfishToUhmMappingConfig {
repeated RedfishToUhmMapping redfish_to_uhm_mapping = 1;
}