blob: d7510fc7bdb1829e47f32a5fb70785d58e494d1b [file] [log] [blame]
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) {}
}