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 HWComponentInfoGetResponse { | |
Status status = 1; | |
Reason reason = 2; | |
Component component = 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; | |
} | |
message StopManagingDeviceRequest { | |
string name = 1; | |
} | |
message StopManagingDeviceResponse { | |
Status status = 1; | |
Reason reason = 2; | |
} | |
service NativeHWManagementService { | |
// Initializes context for a device and sets up required states | |
// In the call to StartManagingDevice, the fields of ModifiableComponent which are relevant | |
// and their meanings in this context is mentioned below: | |
// name = The unique name that needs to be assigned to this hardware; | |
// class = COMPONENT_TYPE_UNDEFINED; | |
// parent = nil; | |
// alias = Optional; | |
// asset_id = Optional; | |
// uri = IP Address of the Hardware; | |
rpc StartManagingDevice(ModifiableComponent) returns(stream StartManagingDeviceResponse); | |
// Stop management of a device and clean up any context and caches for that device | |
rpc StopManagingDevice(StopManagingDeviceRequest) returns(StopManagingDeviceResponse); | |
// 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 HWComponentInfoGetResponse); | |
// Sets the permissible attributes of a HW component | |
rpc SetHWComponentInfo(HWComponentInfoSetRequest) returns(HWComponentInfoSetResponse); | |
} |