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