blob: 602aedf98d6e05796b491a0f65315f58e88c1adb [file] [log] [blame]
Amit Ghosh09f28362020-06-12 21:52:19 +01001syntax = "proto3";
2
3option go_package = "github.com/opencord/device-management-interface/v3/go/dmi";
4package dmi;
5
6import "dmi/commons.proto";
7import "dmi/hw.proto";
8
9// Protos for the management of a hardware and it's components
10
11message PhysicalInventoryRequest {
12 Uuid device_uuid = 1;
13}
14
15message PhysicalInventoryResponse {
16 Status status = 1;
17 Reason reason = 2;
18 Hardware inventory = 3;
19}
20
21message HWComponentInfoGetRequest {
22 Uuid device_uuid = 1;
23 Uuid component_uuid = 2;
24 string component_name = 3;
25}
26
27message HWComponentInfoSetRequest {
28 Uuid device_uuid = 1;
29 Uuid component_uuid = 2;
30 string component_name = 3;
31 ModifiableComponent changes = 4;
32}
33
34message HWComponentInfoSetResponse {
35 Status status = 1;
36 Reason reason = 2;
37}
38
39message StartManagingDeviceResponse {
40 Status status = 1;
41 Reason reason = 2;
42 Uuid device_uuid = 3;
43}
44
45service NativeHWManagementService {
46 // Initializes context for a device and sets up required states
Amit Ghosh704462f2020-06-24 16:44:56 +010047 // In the call to StartManagingDevice, the fields of ModifiableComponent which are relevant
48 // and their meanings in this context is mentioned below:
49 // name = The unique name that needs to be assigned to this hardware;
50 // class = COMPONENT_TYPE_UNDEFINED;
51 // parent = nil;
52 // alias = Optional;
53 // asset_id = Optional;
54 // uri = IP Address of the Hardware;
55 rpc StartManagingDevice(ModifiableComponent) returns(stream StartManagingDeviceResponse);
Amit Ghosh09f28362020-06-12 21:52:19 +010056
57 // Get the HW inventory details of the Device
58 rpc GetPhysicalInventory(PhysicalInventoryRequest) returns(stream PhysicalInventoryResponse);
59
60 // Get the details of a particular HW component
61 rpc GetHWComponentInfo(HWComponentInfoGetRequest) returns(stream Component);
62
63 // Sets the permissible attributes of a HW component
64 rpc SetHWComponentInfo(HWComponentInfoSetRequest) returns(HWComponentInfoSetResponse);
65}