blob: 5b780e7b174c7577d7356ebeb153b8867995271f [file] [log] [blame]
syntax = "proto3";
option go_package = "github.com/opencord/device-management-interface/v3/go/dmi";
package dmi;
import "dmi/commons.proto";
import "dmi/hw.proto";
// Protos for the management of a hardware and it's components
message PhysicalInventoryRequest {
Uuid device_uuid = 1;
}
message PhysicalInventoryResponse {
Status status = 1;
Reason reason = 2;
Hardware inventory = 3;
}
message HWComponentInfoGetRequest {
Uuid device_uuid = 1;
Uuid component_uuid = 2;
string component_name = 3;
}
message HWComponentInfoSetRequest {
Uuid device_uuid = 1;
Uuid component_uuid = 2;
string component_name = 3;
ModifiableComponent changes = 4;
}
message HWComponentInfoSetResponse {
Status status = 1;
Reason reason = 2;
}
message StartManagingDeviceResponse {
Status status = 1;
Reason reason = 2;
Uuid device_uuid = 3;
}
service NativeHWManagementService {
// Initializes context for a device and sets up required states
rpc StartManagingDevice(Hardware) returns(stream StartManagingDeviceResponse);
// Get the HW inventory details of the Device
rpc GetPhysicalInventory(PhysicalInventoryRequest) returns(stream PhysicalInventoryResponse);
// Get the details of a particular HW component
rpc GetHWComponentInfo(HWComponentInfoGetRequest) returns(stream Component);
// Sets the permissible attributes of a HW component
rpc SetHWComponentInfo(HWComponentInfoSetRequest) returns(HWComponentInfoSetResponse);
}