| edition = "2023"; |
| |
| package milotic_fast_sanity; |
| |
| import "fru_component_model.proto"; |
| |
| message GetAllFruInfoRequest { |
| // Optional filter by the general component node type. |
| // Only FRUs matching these types will be returned. |
| // This is an OR filter. |
| repeated ComponentType filter_by_fru_type = 1; |
| |
| // Optional filter by the FRU class. |
| // Only FRUs matching this FruClass will be returned. |
| repeated ComponentClassification filter_by_fru_class = 2; |
| |
| // Optional filter by an identifier's value. |
| // This is an OR filter. |
| repeated UniqueIdentifier filter_by_identifier_value = 3; |
| |
| // List of expected FRU components. |
| repeated UniqueIdentifier expected_fru_components = 4; |
| |
| enum FruScanType { |
| FRU_SCAN_TYPE_UNSPECIFIED = 0; |
| // Performs a scan of the expected FRUs only provided in the request. |
| FRU_SCAN_TYPE_EXPECTED_ONLY = 1; |
| // Performs a scan of all FRUs on the system. |
| FRU_SCAN_TYPE_ALL = 2; |
| } |
| |
| // Optional filter by the type of FRU scan to perform. |
| // If unspecified, defaults to FRU_SCAN_TYPE_ALL. |
| FruScanType fru_scan_type = 5 [default = FRU_SCAN_TYPE_ALL]; |
| } |
| |
| message GetAllFruInfoResponse { |
| repeated FruComponent fru_components = 1; |
| } |
| |
| service FruService { |
| // Get the FRU information for a given component. |
| rpc GetAllFruInfo(GetAllFruInfoRequest) returns (GetAllFruInfoResponse) {} |
| } |