| 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; |
| } |