| 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; | |
| bool use_physical_location = 4; | |
| string location_type = 5; | |
| } | |
| // 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; | |
| } |