diff --git a/.gitignore b/.gitignore
index f265739..8eeec50 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,7 +14,7 @@
 java
 
 # generated files that shouldn't be committed
-*_pb2.py
+#*_pb2.py
 *_pb2_grpc.py
 *.desc
 
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..ceeea23
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1 @@
+include VERSION
diff --git a/Makefile b/Makefile
index f838eae..ef88b66 100644
--- a/Makefile
+++ b/Makefile
@@ -25,35 +25,51 @@
 PROTOC_SH = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/go/src/github.com/opencord/device-management-interface/v3 $(shell test -t 0 && echo "-it") --workdir=/go/src/github.com/opencord/device-management-interface/v3 voltha/voltha-ci-tools:${VOLTHA_TOOLS_VERSION}-protoc sh -c
 GO        = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/app $(shell test -t 0 && echo "-it") -v gocache:/.cache -v gocache-${VOLTHA_TOOLS_VERSION}:/go/pkg voltha/voltha-ci-tools:${VOLTHA_TOOLS_VERSION}-golang go
 
-# Function to extract the last path component from go_package line in .proto files
-define go_package_path
-$(shell grep go_package $(1) | sed -n 's/.*\/\(.*\)";/\1/p')
+# Function to extract the last path component from package line in .proto files
+define if_package_path
+$(shell grep if_package $(1) | sed -n 's/.*\/\(.*\)";/\1/p')
 endef
 
 # Variables
 PROTO_FILES := $(sort $(wildcard protos/dmi/*.proto))
 
 PROTO_GO_DEST_DIR := go
-PROTO_GO_PB:= $(foreach f, $(PROTO_FILES), $(patsubst protos/dmi/%.proto,$(PROTO_GO_DEST_DIR)/$(call go_package_path,$(f))/%.pb.go,$(f)))
+PROTO_GO_PB:= $(foreach f, $(PROTO_FILES), $(patsubst protos/dmi/%.proto,$(PROTO_GO_DEST_DIR)/$(call if_package_path,$(f))/%.pb.go,$(f)))
+
+PROTO_PYTHON_DEST_DIR := python
+PROTO_PYTHON_PB:= $(foreach f, $(PROTO_FILES), $(patsubst protos/dmi/%.proto,$(PROTO_PYTHON_DEST_DIR)/$(call if_package_path,$(f))/%.pb2.py,$(f)))
+
 # Force pb file to be regenrated every time.  Otherwise the make process assumes generated version is still valid
 .PHONY: dmi.pb
 
 print:
 	@echo "Proto files: $(PROTO_FILES)"
 	@echo "Go PB files: $(PROTO_GO_PB)"
+	@echo "python PB files: $(PROTO_PYTHON_PB)"
 
 # Generic targets
 protos: go-protos
 
 build: protos
 
-test: go-test
+test: go-test python-test
+
 
 venv_protos:
 	virtualenv -p python3 $@;\
 	source ./$@/bin/activate ; set -u ;\
 	pip install grpcio-tools googleapis-common-protos
 
+# python targets
+python-protos: dmi.pb
+	@echo "Creating *.py.pb files"
+	@${PROTOC_SH} " \
+	  set -e -o pipefail; \
+	  for x in ${PROTO_FILES}; do \
+	    echo \$$x; \
+	    protoc --python_out=python -I protos \$$x; \
+	  done"
+
 # Go targets
 go-protos: dmi.pb
 	@echo "Creating *.go.pb files"
@@ -74,3 +90,7 @@
 go-test:
 	test/test-go-proto-consistency.sh
 	${GO} mod verify
+
+python-test: tox.ini
+	test/test-python-proto-consistency.sh
+	tox 
diff --git a/python/dmi/commons_pb2.py b/python/dmi/commons_pb2.py
new file mode 100644
index 0000000..98fce54
--- /dev/null
+++ b/python/dmi/commons_pb2.py
@@ -0,0 +1,105 @@
+# -*- coding: utf-8 -*-
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+# source: dmi/commons.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf.internal import enum_type_wrapper
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+  name='dmi/commons.proto',
+  package='dmi',
+  syntax='proto3',
+  serialized_options=_b('Z9github.com/opencord/device-management-interface/v3/go/dmi'),
+  serialized_pb=_b('\n\x11\x64mi/commons.proto\x12\x03\x64mi*1\n\x06Status\x12\x14\n\x10UNDEFINED_STATUS\x10\x00\x12\x06\n\x02OK\x10\x01\x12\t\n\x05\x45RROR\x10\x02*i\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x12\n\x0eINTERNAL_ERROR\x10\x02\x12\x10\n\x0cWRONG_METRIC\x10\x03\x12\x0f\n\x0bWRONG_EVENT\x10\x04\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
+)
+
+_STATUS = _descriptor.EnumDescriptor(
+  name='Status',
+  full_name='dmi.Status',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='UNDEFINED_STATUS', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='OK', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='ERROR', index=2, number=2,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=26,
+  serialized_end=75,
+)
+_sym_db.RegisterEnumDescriptor(_STATUS)
+
+Status = enum_type_wrapper.EnumTypeWrapper(_STATUS)
+_REASON = _descriptor.EnumDescriptor(
+  name='Reason',
+  full_name='dmi.Reason',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='UNDEFINED_REASON', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='UNKNOWN_DEVICE', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='INTERNAL_ERROR', index=2, number=2,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='WRONG_METRIC', index=3, number=3,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='WRONG_EVENT', index=4, number=4,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=77,
+  serialized_end=182,
+)
+_sym_db.RegisterEnumDescriptor(_REASON)
+
+Reason = enum_type_wrapper.EnumTypeWrapper(_REASON)
+UNDEFINED_STATUS = 0
+OK = 1
+ERROR = 2
+UNDEFINED_REASON = 0
+UNKNOWN_DEVICE = 1
+INTERNAL_ERROR = 2
+WRONG_METRIC = 3
+WRONG_EVENT = 4
+
+
+DESCRIPTOR.enum_types_by_name['Status'] = _STATUS
+DESCRIPTOR.enum_types_by_name['Reason'] = _REASON
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+
+DESCRIPTOR._options = None
+# @@protoc_insertion_point(module_scope)
diff --git a/python/dmi/hw_events_mgmt_service_pb2.py b/python/dmi/hw_events_mgmt_service_pb2.py
new file mode 100644
index 0000000..ae1c493
--- /dev/null
+++ b/python/dmi/hw_events_mgmt_service_pb2.py
@@ -0,0 +1,903 @@
+# -*- coding: utf-8 -*-
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+# source: dmi/hw_events_mgmt_service.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf.internal import enum_type_wrapper
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+from dmi import commons_pb2 as dmi_dot_commons__pb2
+from dmi import hw_pb2 as dmi_dot_hw__pb2
+from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+  name='dmi/hw_events_mgmt_service.proto',
+  package='dmi',
+  syntax='proto3',
+  serialized_options=_b('Z9github.com/opencord/device-management-interface/v3/go/dmi'),
+  serialized_pb=_b('\n dmi/hw_events_mgmt_service.proto\x12\x03\x64mi\x1a\x11\x64mi/commons.proto\x1a\x0c\x64mi/hw.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"N\n\tValueType\x12\x11\n\x07int_val\x18\x01 \x01(\x03H\x00\x12\x12\n\x08uint_val\x18\x02 \x01(\x04H\x00\x12\x13\n\tfloat_val\x18\x03 \x01(\x02H\x00\x42\x05\n\x03val\"G\n\nWaterMarks\x12\x1c\n\x04high\x18\x01 \x01(\x0b\x32\x0e.dmi.ValueType\x12\x1b\n\x03low\x18\x02 \x01(\x0b\x32\x0e.dmi.ValueType\"]\n\nThresholds\x12 \n\x05upper\x18\x01 \x01(\x0b\x32\x0f.dmi.WaterMarksH\x00\x12 \n\x05lower\x18\x02 \x01(\x0b\x32\x0f.dmi.WaterMarksH\x00\x42\x0b\n\tthreshold\"c\n\x14ThresholdInformation\x12&\n\x0eobserved_value\x18\x01 \x01(\x0b\x32\x0e.dmi.ValueType\x12#\n\nthresholds\x18\x02 \x01(\x0b\x32\x0f.dmi.Thresholds\"g\n\x08\x45ventCfg\x12\x1f\n\x08\x65vent_id\x18\x01 \x01(\x0e\x32\r.dmi.EventIds\x12\x15\n\ris_configured\x18\x02 \x01(\x08\x12#\n\nthresholds\x18\x03 \x01(\x0b\x32\x0f.dmi.Thresholds\")\n\tEventsCfg\x12\x1c\n\x05items\x18\x01 \x03(\x0b\x32\r.dmi.EventCfg\"n\n\x12ListEventsResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\x12\x1e\n\x06\x65vents\x18\x03 \x01(\x0b\x32\x0e.dmi.EventsCfg\"\x88\x01\n\x1a\x45ventsConfigurationRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12!\n\x07\x63hanges\x18\x02 \x01(\x0b\x32\x0e.dmi.EventsCfgH\x00\x12\x1a\n\x10reset_to_default\x18\x03 \x01(\x08H\x00\x42\x0b\n\toperation\"W\n\x1b\x45ventsConfigurationResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\"j\n\rEventMetaData\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12!\n\x0e\x63omponent_uuid\x18\x02 \x01(\x0b\x32\t.dmi.Uuid\x12\x16\n\x0e\x63omponent_name\x18\x03 \x01(\t\"\xc8\x01\n\x05\x45vent\x12*\n\x0e\x65vent_metadata\x18\x01 \x01(\x0b\x32\x12.dmi.EventMetaData\x12\x1f\n\x08\x65vent_id\x18\x02 \x01(\x0e\x32\r.dmi.EventIds\x12-\n\traised_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\x0ethreshold_info\x18\x04 \x01(\x0b\x32\x19.dmi.ThresholdInformation\x12\x10\n\x08\x61\x64\x64_info\x18\x05 \x01(\t*\xd1\x0e\n\x08\x45ventIds\x12\x18\n\x14\x45VENT_NAME_UNDEFINED\x10\x00\x12\x1e\n\x1a\x45VENT_TRANSCEIVER_PLUG_OUT\x10\x64\x12\x1d\n\x19\x45VENT_TRANSCEIVER_PLUG_IN\x10\x65\x12-\n)EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD\x10\x66\x12-\n)EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD\x10g\x12\x31\n-EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD\x10h\x12\x31\n-EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD\x10i\x12-\n)EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD\x10j\x12-\n)EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD\x10k\x12.\n*EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD\x10l\x12.\n*EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD\x10m\x12.\n*EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD\x10n\x12.\n*EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD\x10o\x12\x1d\n\x19\x45VENT_TRANSCEIVER_FAILURE\x10p\x12\x37\n3EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED\x10q\x12\x37\n3EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED\x10r\x12;\n7EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED\x10s\x12;\n7EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED\x10t\x12\x37\n3EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED\x10u\x12\x37\n3EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED\x10v\x12\x38\n4EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED\x10w\x12\x38\n4EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED\x10x\x12\x38\n4EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED\x10y\x12\x38\n4EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED\x10z\x12\'\n#EVENT_TRANSCEIVER_FAILURE_RECOVERED\x10{\x12\x17\n\x12\x45VENT_PSU_PLUG_OUT\x10\xc8\x01\x12\x16\n\x11\x45VENT_PSU_PLUG_IN\x10\xc9\x01\x12\x16\n\x11\x45VENT_PSU_FAILURE\x10\xca\x01\x12 \n\x1b\x45VENT_PSU_FAILURE_RECOVERED\x10\xcb\x01\x12\x16\n\x11\x45VENT_FAN_FAILURE\x10\xac\x02\x12\x17\n\x12\x45VENT_FAN_PLUG_OUT\x10\xad\x02\x12\x16\n\x11\x45VENT_FAN_PLUG_IN\x10\xae\x02\x12 \n\x1b\x45VENT_FAN_FAILURE_RECOVERED\x10\xaf\x02\x12)\n$EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL\x10\x90\x03\x12&\n!EVENT_CPU_TEMPERATURE_ABOVE_FATAL\x10\x91\x03\x12\x33\n.EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED\x10\x92\x03\x12\x30\n+EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED\x10\x93\x03\x12\x1a\n\x15\x45VENT_HW_DEVICE_RESET\x10\xf4\x03\x12/\n*EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL\x10\xf5\x03\x12,\n\'EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL\x10\xf6\x03\x12\x39\n4EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED\x10\xf7\x03\x12\x36\n1EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED\x10\xf8\x03\x32\xb7\x01\n\x1dNativeEventsManagementService\x12\x36\n\nListEvents\x12\x0f.dmi.HardwareID\x1a\x17.dmi.ListEventsResponse\x12^\n\x19UpdateEventsConfiguration\x12\x1f.dmi.EventsConfigurationRequest\x1a .dmi.EventsConfigurationResponseB;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
+  ,
+  dependencies=[dmi_dot_commons__pb2.DESCRIPTOR,dmi_dot_hw__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])
+
+_EVENTIDS = _descriptor.EnumDescriptor(
+  name='EventIds',
+  full_name='dmi.EventIds',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_NAME_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_PLUG_OUT', index=1, number=100,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_PLUG_IN', index=2, number=101,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD', index=3, number=102,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD', index=4, number=103,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD', index=5, number=104,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD', index=6, number=105,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD', index=7, number=106,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD', index=8, number=107,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD', index=9, number=108,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD', index=10, number=109,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD', index=11, number=110,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD', index=12, number=111,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_FAILURE', index=13, number=112,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED', index=14, number=113,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED', index=15, number=114,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED', index=16, number=115,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED', index=17, number=116,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED', index=18, number=117,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED', index=19, number=118,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED', index=20, number=119,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED', index=21, number=120,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED', index=22, number=121,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED', index=23, number=122,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_TRANSCEIVER_FAILURE_RECOVERED', index=24, number=123,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_PSU_PLUG_OUT', index=25, number=200,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_PSU_PLUG_IN', index=26, number=201,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_PSU_FAILURE', index=27, number=202,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_PSU_FAILURE_RECOVERED', index=28, number=203,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_FAN_FAILURE', index=29, number=300,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_FAN_PLUG_OUT', index=30, number=301,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_FAN_PLUG_IN', index=31, number=302,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_FAN_FAILURE_RECOVERED', index=32, number=303,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL', index=33, number=400,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_CPU_TEMPERATURE_ABOVE_FATAL', index=34, number=401,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED', index=35, number=402,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED', index=36, number=403,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_HW_DEVICE_RESET', index=37, number=500,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL', index=38, number=501,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL', index=39, number=502,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED', index=40, number=503,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED', index=41, number=504,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=1256,
+  serialized_end=3129,
+)
+_sym_db.RegisterEnumDescriptor(_EVENTIDS)
+
+EventIds = enum_type_wrapper.EnumTypeWrapper(_EVENTIDS)
+EVENT_NAME_UNDEFINED = 0
+EVENT_TRANSCEIVER_PLUG_OUT = 100
+EVENT_TRANSCEIVER_PLUG_IN = 101
+EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD = 102
+EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD = 103
+EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD = 104
+EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD = 105
+EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD = 106
+EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD = 107
+EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD = 108
+EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD = 109
+EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD = 110
+EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD = 111
+EVENT_TRANSCEIVER_FAILURE = 112
+EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED = 113
+EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED = 114
+EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED = 115
+EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED = 116
+EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED = 117
+EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED = 118
+EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED = 119
+EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED = 120
+EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED = 121
+EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED = 122
+EVENT_TRANSCEIVER_FAILURE_RECOVERED = 123
+EVENT_PSU_PLUG_OUT = 200
+EVENT_PSU_PLUG_IN = 201
+EVENT_PSU_FAILURE = 202
+EVENT_PSU_FAILURE_RECOVERED = 203
+EVENT_FAN_FAILURE = 300
+EVENT_FAN_PLUG_OUT = 301
+EVENT_FAN_PLUG_IN = 302
+EVENT_FAN_FAILURE_RECOVERED = 303
+EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL = 400
+EVENT_CPU_TEMPERATURE_ABOVE_FATAL = 401
+EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED = 402
+EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED = 403
+EVENT_HW_DEVICE_RESET = 500
+EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL = 501
+EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL = 502
+EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED = 503
+EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED = 504
+
+
+
+_VALUETYPE = _descriptor.Descriptor(
+  name='ValueType',
+  full_name='dmi.ValueType',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='int_val', full_name='dmi.ValueType.int_val', index=0,
+      number=1, type=3, cpp_type=2, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='uint_val', full_name='dmi.ValueType.uint_val', index=1,
+      number=2, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='float_val', full_name='dmi.ValueType.float_val', index=2,
+      number=3, type=2, cpp_type=6, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='val', full_name='dmi.ValueType.val',
+      index=0, containing_type=None, fields=[]),
+  ],
+  serialized_start=107,
+  serialized_end=185,
+)
+
+
+_WATERMARKS = _descriptor.Descriptor(
+  name='WaterMarks',
+  full_name='dmi.WaterMarks',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='high', full_name='dmi.WaterMarks.high', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='low', full_name='dmi.WaterMarks.low', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=187,
+  serialized_end=258,
+)
+
+
+_THRESHOLDS = _descriptor.Descriptor(
+  name='Thresholds',
+  full_name='dmi.Thresholds',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='upper', full_name='dmi.Thresholds.upper', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='lower', full_name='dmi.Thresholds.lower', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='threshold', full_name='dmi.Thresholds.threshold',
+      index=0, containing_type=None, fields=[]),
+  ],
+  serialized_start=260,
+  serialized_end=353,
+)
+
+
+_THRESHOLDINFORMATION = _descriptor.Descriptor(
+  name='ThresholdInformation',
+  full_name='dmi.ThresholdInformation',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='observed_value', full_name='dmi.ThresholdInformation.observed_value', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='thresholds', full_name='dmi.ThresholdInformation.thresholds', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=355,
+  serialized_end=454,
+)
+
+
+_EVENTCFG = _descriptor.Descriptor(
+  name='EventCfg',
+  full_name='dmi.EventCfg',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='event_id', full_name='dmi.EventCfg.event_id', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='is_configured', full_name='dmi.EventCfg.is_configured', index=1,
+      number=2, type=8, cpp_type=7, label=1,
+      has_default_value=False, default_value=False,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='thresholds', full_name='dmi.EventCfg.thresholds', index=2,
+      number=3, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=456,
+  serialized_end=559,
+)
+
+
+_EVENTSCFG = _descriptor.Descriptor(
+  name='EventsCfg',
+  full_name='dmi.EventsCfg',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='items', full_name='dmi.EventsCfg.items', index=0,
+      number=1, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=561,
+  serialized_end=602,
+)
+
+
+_LISTEVENTSRESPONSE = _descriptor.Descriptor(
+  name='ListEventsResponse',
+  full_name='dmi.ListEventsResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='status', full_name='dmi.ListEventsResponse.status', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='reason', full_name='dmi.ListEventsResponse.reason', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='events', full_name='dmi.ListEventsResponse.events', index=2,
+      number=3, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=604,
+  serialized_end=714,
+)
+
+
+_EVENTSCONFIGURATIONREQUEST = _descriptor.Descriptor(
+  name='EventsConfigurationRequest',
+  full_name='dmi.EventsConfigurationRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='device_uuid', full_name='dmi.EventsConfigurationRequest.device_uuid', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='changes', full_name='dmi.EventsConfigurationRequest.changes', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='reset_to_default', full_name='dmi.EventsConfigurationRequest.reset_to_default', index=2,
+      number=3, type=8, cpp_type=7, label=1,
+      has_default_value=False, default_value=False,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='operation', full_name='dmi.EventsConfigurationRequest.operation',
+      index=0, containing_type=None, fields=[]),
+  ],
+  serialized_start=717,
+  serialized_end=853,
+)
+
+
+_EVENTSCONFIGURATIONRESPONSE = _descriptor.Descriptor(
+  name='EventsConfigurationResponse',
+  full_name='dmi.EventsConfigurationResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='status', full_name='dmi.EventsConfigurationResponse.status', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='reason', full_name='dmi.EventsConfigurationResponse.reason', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=855,
+  serialized_end=942,
+)
+
+
+_EVENTMETADATA = _descriptor.Descriptor(
+  name='EventMetaData',
+  full_name='dmi.EventMetaData',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='device_uuid', full_name='dmi.EventMetaData.device_uuid', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='component_uuid', full_name='dmi.EventMetaData.component_uuid', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='component_name', full_name='dmi.EventMetaData.component_name', index=2,
+      number=3, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=944,
+  serialized_end=1050,
+)
+
+
+_EVENT = _descriptor.Descriptor(
+  name='Event',
+  full_name='dmi.Event',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='event_metadata', full_name='dmi.Event.event_metadata', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='event_id', full_name='dmi.Event.event_id', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='raised_ts', full_name='dmi.Event.raised_ts', index=2,
+      number=3, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='threshold_info', full_name='dmi.Event.threshold_info', index=3,
+      number=4, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='add_info', full_name='dmi.Event.add_info', index=4,
+      number=5, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=1053,
+  serialized_end=1253,
+)
+
+_VALUETYPE.oneofs_by_name['val'].fields.append(
+  _VALUETYPE.fields_by_name['int_val'])
+_VALUETYPE.fields_by_name['int_val'].containing_oneof = _VALUETYPE.oneofs_by_name['val']
+_VALUETYPE.oneofs_by_name['val'].fields.append(
+  _VALUETYPE.fields_by_name['uint_val'])
+_VALUETYPE.fields_by_name['uint_val'].containing_oneof = _VALUETYPE.oneofs_by_name['val']
+_VALUETYPE.oneofs_by_name['val'].fields.append(
+  _VALUETYPE.fields_by_name['float_val'])
+_VALUETYPE.fields_by_name['float_val'].containing_oneof = _VALUETYPE.oneofs_by_name['val']
+_WATERMARKS.fields_by_name['high'].message_type = _VALUETYPE
+_WATERMARKS.fields_by_name['low'].message_type = _VALUETYPE
+_THRESHOLDS.fields_by_name['upper'].message_type = _WATERMARKS
+_THRESHOLDS.fields_by_name['lower'].message_type = _WATERMARKS
+_THRESHOLDS.oneofs_by_name['threshold'].fields.append(
+  _THRESHOLDS.fields_by_name['upper'])
+_THRESHOLDS.fields_by_name['upper'].containing_oneof = _THRESHOLDS.oneofs_by_name['threshold']
+_THRESHOLDS.oneofs_by_name['threshold'].fields.append(
+  _THRESHOLDS.fields_by_name['lower'])
+_THRESHOLDS.fields_by_name['lower'].containing_oneof = _THRESHOLDS.oneofs_by_name['threshold']
+_THRESHOLDINFORMATION.fields_by_name['observed_value'].message_type = _VALUETYPE
+_THRESHOLDINFORMATION.fields_by_name['thresholds'].message_type = _THRESHOLDS
+_EVENTCFG.fields_by_name['event_id'].enum_type = _EVENTIDS
+_EVENTCFG.fields_by_name['thresholds'].message_type = _THRESHOLDS
+_EVENTSCFG.fields_by_name['items'].message_type = _EVENTCFG
+_LISTEVENTSRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
+_LISTEVENTSRESPONSE.fields_by_name['reason'].enum_type = dmi_dot_commons__pb2._REASON
+_LISTEVENTSRESPONSE.fields_by_name['events'].message_type = _EVENTSCFG
+_EVENTSCONFIGURATIONREQUEST.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
+_EVENTSCONFIGURATIONREQUEST.fields_by_name['changes'].message_type = _EVENTSCFG
+_EVENTSCONFIGURATIONREQUEST.oneofs_by_name['operation'].fields.append(
+  _EVENTSCONFIGURATIONREQUEST.fields_by_name['changes'])
+_EVENTSCONFIGURATIONREQUEST.fields_by_name['changes'].containing_oneof = _EVENTSCONFIGURATIONREQUEST.oneofs_by_name['operation']
+_EVENTSCONFIGURATIONREQUEST.oneofs_by_name['operation'].fields.append(
+  _EVENTSCONFIGURATIONREQUEST.fields_by_name['reset_to_default'])
+_EVENTSCONFIGURATIONREQUEST.fields_by_name['reset_to_default'].containing_oneof = _EVENTSCONFIGURATIONREQUEST.oneofs_by_name['operation']
+_EVENTSCONFIGURATIONRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
+_EVENTSCONFIGURATIONRESPONSE.fields_by_name['reason'].enum_type = dmi_dot_commons__pb2._REASON
+_EVENTMETADATA.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
+_EVENTMETADATA.fields_by_name['component_uuid'].message_type = dmi_dot_hw__pb2._UUID
+_EVENT.fields_by_name['event_metadata'].message_type = _EVENTMETADATA
+_EVENT.fields_by_name['event_id'].enum_type = _EVENTIDS
+_EVENT.fields_by_name['raised_ts'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
+_EVENT.fields_by_name['threshold_info'].message_type = _THRESHOLDINFORMATION
+DESCRIPTOR.message_types_by_name['ValueType'] = _VALUETYPE
+DESCRIPTOR.message_types_by_name['WaterMarks'] = _WATERMARKS
+DESCRIPTOR.message_types_by_name['Thresholds'] = _THRESHOLDS
+DESCRIPTOR.message_types_by_name['ThresholdInformation'] = _THRESHOLDINFORMATION
+DESCRIPTOR.message_types_by_name['EventCfg'] = _EVENTCFG
+DESCRIPTOR.message_types_by_name['EventsCfg'] = _EVENTSCFG
+DESCRIPTOR.message_types_by_name['ListEventsResponse'] = _LISTEVENTSRESPONSE
+DESCRIPTOR.message_types_by_name['EventsConfigurationRequest'] = _EVENTSCONFIGURATIONREQUEST
+DESCRIPTOR.message_types_by_name['EventsConfigurationResponse'] = _EVENTSCONFIGURATIONRESPONSE
+DESCRIPTOR.message_types_by_name['EventMetaData'] = _EVENTMETADATA
+DESCRIPTOR.message_types_by_name['Event'] = _EVENT
+DESCRIPTOR.enum_types_by_name['EventIds'] = _EVENTIDS
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+ValueType = _reflection.GeneratedProtocolMessageType('ValueType', (_message.Message,), dict(
+  DESCRIPTOR = _VALUETYPE,
+  __module__ = 'dmi.hw_events_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.ValueType)
+  ))
+_sym_db.RegisterMessage(ValueType)
+
+WaterMarks = _reflection.GeneratedProtocolMessageType('WaterMarks', (_message.Message,), dict(
+  DESCRIPTOR = _WATERMARKS,
+  __module__ = 'dmi.hw_events_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.WaterMarks)
+  ))
+_sym_db.RegisterMessage(WaterMarks)
+
+Thresholds = _reflection.GeneratedProtocolMessageType('Thresholds', (_message.Message,), dict(
+  DESCRIPTOR = _THRESHOLDS,
+  __module__ = 'dmi.hw_events_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.Thresholds)
+  ))
+_sym_db.RegisterMessage(Thresholds)
+
+ThresholdInformation = _reflection.GeneratedProtocolMessageType('ThresholdInformation', (_message.Message,), dict(
+  DESCRIPTOR = _THRESHOLDINFORMATION,
+  __module__ = 'dmi.hw_events_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.ThresholdInformation)
+  ))
+_sym_db.RegisterMessage(ThresholdInformation)
+
+EventCfg = _reflection.GeneratedProtocolMessageType('EventCfg', (_message.Message,), dict(
+  DESCRIPTOR = _EVENTCFG,
+  __module__ = 'dmi.hw_events_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.EventCfg)
+  ))
+_sym_db.RegisterMessage(EventCfg)
+
+EventsCfg = _reflection.GeneratedProtocolMessageType('EventsCfg', (_message.Message,), dict(
+  DESCRIPTOR = _EVENTSCFG,
+  __module__ = 'dmi.hw_events_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.EventsCfg)
+  ))
+_sym_db.RegisterMessage(EventsCfg)
+
+ListEventsResponse = _reflection.GeneratedProtocolMessageType('ListEventsResponse', (_message.Message,), dict(
+  DESCRIPTOR = _LISTEVENTSRESPONSE,
+  __module__ = 'dmi.hw_events_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.ListEventsResponse)
+  ))
+_sym_db.RegisterMessage(ListEventsResponse)
+
+EventsConfigurationRequest = _reflection.GeneratedProtocolMessageType('EventsConfigurationRequest', (_message.Message,), dict(
+  DESCRIPTOR = _EVENTSCONFIGURATIONREQUEST,
+  __module__ = 'dmi.hw_events_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.EventsConfigurationRequest)
+  ))
+_sym_db.RegisterMessage(EventsConfigurationRequest)
+
+EventsConfigurationResponse = _reflection.GeneratedProtocolMessageType('EventsConfigurationResponse', (_message.Message,), dict(
+  DESCRIPTOR = _EVENTSCONFIGURATIONRESPONSE,
+  __module__ = 'dmi.hw_events_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.EventsConfigurationResponse)
+  ))
+_sym_db.RegisterMessage(EventsConfigurationResponse)
+
+EventMetaData = _reflection.GeneratedProtocolMessageType('EventMetaData', (_message.Message,), dict(
+  DESCRIPTOR = _EVENTMETADATA,
+  __module__ = 'dmi.hw_events_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.EventMetaData)
+  ))
+_sym_db.RegisterMessage(EventMetaData)
+
+Event = _reflection.GeneratedProtocolMessageType('Event', (_message.Message,), dict(
+  DESCRIPTOR = _EVENT,
+  __module__ = 'dmi.hw_events_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.Event)
+  ))
+_sym_db.RegisterMessage(Event)
+
+
+DESCRIPTOR._options = None
+
+_NATIVEEVENTSMANAGEMENTSERVICE = _descriptor.ServiceDescriptor(
+  name='NativeEventsManagementService',
+  full_name='dmi.NativeEventsManagementService',
+  file=DESCRIPTOR,
+  index=0,
+  serialized_options=None,
+  serialized_start=3132,
+  serialized_end=3315,
+  methods=[
+  _descriptor.MethodDescriptor(
+    name='ListEvents',
+    full_name='dmi.NativeEventsManagementService.ListEvents',
+    index=0,
+    containing_service=None,
+    input_type=dmi_dot_hw__pb2._HARDWAREID,
+    output_type=_LISTEVENTSRESPONSE,
+    serialized_options=None,
+  ),
+  _descriptor.MethodDescriptor(
+    name='UpdateEventsConfiguration',
+    full_name='dmi.NativeEventsManagementService.UpdateEventsConfiguration',
+    index=1,
+    containing_service=None,
+    input_type=_EVENTSCONFIGURATIONREQUEST,
+    output_type=_EVENTSCONFIGURATIONRESPONSE,
+    serialized_options=None,
+  ),
+])
+_sym_db.RegisterServiceDescriptor(_NATIVEEVENTSMANAGEMENTSERVICE)
+
+DESCRIPTOR.services_by_name['NativeEventsManagementService'] = _NATIVEEVENTSMANAGEMENTSERVICE
+
+# @@protoc_insertion_point(module_scope)
diff --git a/python/dmi/hw_management_service_pb2.py b/python/dmi/hw_management_service_pb2.py
new file mode 100644
index 0000000..5849aab
--- /dev/null
+++ b/python/dmi/hw_management_service_pb2.py
@@ -0,0 +1,500 @@
+# -*- coding: utf-8 -*-
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+# source: dmi/hw_management_service.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+from dmi import commons_pb2 as dmi_dot_commons__pb2
+from dmi import hw_pb2 as dmi_dot_hw__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+  name='dmi/hw_management_service.proto',
+  package='dmi',
+  syntax='proto3',
+  serialized_options=_b('Z9github.com/opencord/device-management-interface/v3/go/dmi'),
+  serialized_pb=_b('\n\x1f\x64mi/hw_management_service.proto\x12\x03\x64mi\x1a\x11\x64mi/commons.proto\x1a\x0c\x64mi/hw.proto\":\n\x18PhysicalInventoryRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\"w\n\x19PhysicalInventoryResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\x12 \n\tinventory\x18\x03 \x01(\x0b\x32\r.dmi.Hardware\"v\n\x19HWComponentInfoGetRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12!\n\x0e\x63omponent_uuid\x18\x02 \x01(\x0b\x32\t.dmi.Uuid\x12\x16\n\x0e\x63omponent_name\x18\x03 \x01(\t\"\xa1\x01\n\x19HWComponentInfoSetRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12!\n\x0e\x63omponent_uuid\x18\x02 \x01(\x0b\x32\t.dmi.Uuid\x12\x16\n\x0e\x63omponent_name\x18\x03 \x01(\t\x12)\n\x07\x63hanges\x18\x04 \x01(\x0b\x32\x18.dmi.ModifiableComponent\"V\n\x1aHWComponentInfoSetResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\"w\n\x1bStartManagingDeviceResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x03 \x01(\x0b\x32\t.dmi.Uuid\")\n\x19StopManagingDeviceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"V\n\x1aStopManagingDeviceResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason2\xbf\x03\n\x19NativeHWManagementService\x12S\n\x13StartManagingDevice\x12\x18.dmi.ModifiableComponent\x1a .dmi.StartManagingDeviceResponse0\x01\x12U\n\x12StopManagingDevice\x12\x1e.dmi.StopManagingDeviceRequest\x1a\x1f.dmi.StopManagingDeviceResponse\x12W\n\x14GetPhysicalInventory\x12\x1d.dmi.PhysicalInventoryRequest\x1a\x1e.dmi.PhysicalInventoryResponse0\x01\x12\x46\n\x12GetHWComponentInfo\x12\x1e.dmi.HWComponentInfoGetRequest\x1a\x0e.dmi.Component0\x01\x12U\n\x12SetHWComponentInfo\x12\x1e.dmi.HWComponentInfoSetRequest\x1a\x1f.dmi.HWComponentInfoSetResponseB;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
+  ,
+  dependencies=[dmi_dot_commons__pb2.DESCRIPTOR,dmi_dot_hw__pb2.DESCRIPTOR,])
+
+
+
+
+_PHYSICALINVENTORYREQUEST = _descriptor.Descriptor(
+  name='PhysicalInventoryRequest',
+  full_name='dmi.PhysicalInventoryRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='device_uuid', full_name='dmi.PhysicalInventoryRequest.device_uuid', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=73,
+  serialized_end=131,
+)
+
+
+_PHYSICALINVENTORYRESPONSE = _descriptor.Descriptor(
+  name='PhysicalInventoryResponse',
+  full_name='dmi.PhysicalInventoryResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='status', full_name='dmi.PhysicalInventoryResponse.status', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='reason', full_name='dmi.PhysicalInventoryResponse.reason', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='inventory', full_name='dmi.PhysicalInventoryResponse.inventory', index=2,
+      number=3, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=133,
+  serialized_end=252,
+)
+
+
+_HWCOMPONENTINFOGETREQUEST = _descriptor.Descriptor(
+  name='HWComponentInfoGetRequest',
+  full_name='dmi.HWComponentInfoGetRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='device_uuid', full_name='dmi.HWComponentInfoGetRequest.device_uuid', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='component_uuid', full_name='dmi.HWComponentInfoGetRequest.component_uuid', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='component_name', full_name='dmi.HWComponentInfoGetRequest.component_name', index=2,
+      number=3, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=254,
+  serialized_end=372,
+)
+
+
+_HWCOMPONENTINFOSETREQUEST = _descriptor.Descriptor(
+  name='HWComponentInfoSetRequest',
+  full_name='dmi.HWComponentInfoSetRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='device_uuid', full_name='dmi.HWComponentInfoSetRequest.device_uuid', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='component_uuid', full_name='dmi.HWComponentInfoSetRequest.component_uuid', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='component_name', full_name='dmi.HWComponentInfoSetRequest.component_name', index=2,
+      number=3, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='changes', full_name='dmi.HWComponentInfoSetRequest.changes', index=3,
+      number=4, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=375,
+  serialized_end=536,
+)
+
+
+_HWCOMPONENTINFOSETRESPONSE = _descriptor.Descriptor(
+  name='HWComponentInfoSetResponse',
+  full_name='dmi.HWComponentInfoSetResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='status', full_name='dmi.HWComponentInfoSetResponse.status', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='reason', full_name='dmi.HWComponentInfoSetResponse.reason', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=538,
+  serialized_end=624,
+)
+
+
+_STARTMANAGINGDEVICERESPONSE = _descriptor.Descriptor(
+  name='StartManagingDeviceResponse',
+  full_name='dmi.StartManagingDeviceResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='status', full_name='dmi.StartManagingDeviceResponse.status', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='reason', full_name='dmi.StartManagingDeviceResponse.reason', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='device_uuid', full_name='dmi.StartManagingDeviceResponse.device_uuid', index=2,
+      number=3, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=626,
+  serialized_end=745,
+)
+
+
+_STOPMANAGINGDEVICEREQUEST = _descriptor.Descriptor(
+  name='StopManagingDeviceRequest',
+  full_name='dmi.StopManagingDeviceRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='name', full_name='dmi.StopManagingDeviceRequest.name', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=747,
+  serialized_end=788,
+)
+
+
+_STOPMANAGINGDEVICERESPONSE = _descriptor.Descriptor(
+  name='StopManagingDeviceResponse',
+  full_name='dmi.StopManagingDeviceResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='status', full_name='dmi.StopManagingDeviceResponse.status', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='reason', full_name='dmi.StopManagingDeviceResponse.reason', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=790,
+  serialized_end=876,
+)
+
+_PHYSICALINVENTORYREQUEST.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
+_PHYSICALINVENTORYRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
+_PHYSICALINVENTORYRESPONSE.fields_by_name['reason'].enum_type = dmi_dot_commons__pb2._REASON
+_PHYSICALINVENTORYRESPONSE.fields_by_name['inventory'].message_type = dmi_dot_hw__pb2._HARDWARE
+_HWCOMPONENTINFOGETREQUEST.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
+_HWCOMPONENTINFOGETREQUEST.fields_by_name['component_uuid'].message_type = dmi_dot_hw__pb2._UUID
+_HWCOMPONENTINFOSETREQUEST.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
+_HWCOMPONENTINFOSETREQUEST.fields_by_name['component_uuid'].message_type = dmi_dot_hw__pb2._UUID
+_HWCOMPONENTINFOSETREQUEST.fields_by_name['changes'].message_type = dmi_dot_hw__pb2._MODIFIABLECOMPONENT
+_HWCOMPONENTINFOSETRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
+_HWCOMPONENTINFOSETRESPONSE.fields_by_name['reason'].enum_type = dmi_dot_commons__pb2._REASON
+_STARTMANAGINGDEVICERESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
+_STARTMANAGINGDEVICERESPONSE.fields_by_name['reason'].enum_type = dmi_dot_commons__pb2._REASON
+_STARTMANAGINGDEVICERESPONSE.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
+_STOPMANAGINGDEVICERESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
+_STOPMANAGINGDEVICERESPONSE.fields_by_name['reason'].enum_type = dmi_dot_commons__pb2._REASON
+DESCRIPTOR.message_types_by_name['PhysicalInventoryRequest'] = _PHYSICALINVENTORYREQUEST
+DESCRIPTOR.message_types_by_name['PhysicalInventoryResponse'] = _PHYSICALINVENTORYRESPONSE
+DESCRIPTOR.message_types_by_name['HWComponentInfoGetRequest'] = _HWCOMPONENTINFOGETREQUEST
+DESCRIPTOR.message_types_by_name['HWComponentInfoSetRequest'] = _HWCOMPONENTINFOSETREQUEST
+DESCRIPTOR.message_types_by_name['HWComponentInfoSetResponse'] = _HWCOMPONENTINFOSETRESPONSE
+DESCRIPTOR.message_types_by_name['StartManagingDeviceResponse'] = _STARTMANAGINGDEVICERESPONSE
+DESCRIPTOR.message_types_by_name['StopManagingDeviceRequest'] = _STOPMANAGINGDEVICEREQUEST
+DESCRIPTOR.message_types_by_name['StopManagingDeviceResponse'] = _STOPMANAGINGDEVICERESPONSE
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+PhysicalInventoryRequest = _reflection.GeneratedProtocolMessageType('PhysicalInventoryRequest', (_message.Message,), dict(
+  DESCRIPTOR = _PHYSICALINVENTORYREQUEST,
+  __module__ = 'dmi.hw_management_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.PhysicalInventoryRequest)
+  ))
+_sym_db.RegisterMessage(PhysicalInventoryRequest)
+
+PhysicalInventoryResponse = _reflection.GeneratedProtocolMessageType('PhysicalInventoryResponse', (_message.Message,), dict(
+  DESCRIPTOR = _PHYSICALINVENTORYRESPONSE,
+  __module__ = 'dmi.hw_management_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.PhysicalInventoryResponse)
+  ))
+_sym_db.RegisterMessage(PhysicalInventoryResponse)
+
+HWComponentInfoGetRequest = _reflection.GeneratedProtocolMessageType('HWComponentInfoGetRequest', (_message.Message,), dict(
+  DESCRIPTOR = _HWCOMPONENTINFOGETREQUEST,
+  __module__ = 'dmi.hw_management_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.HWComponentInfoGetRequest)
+  ))
+_sym_db.RegisterMessage(HWComponentInfoGetRequest)
+
+HWComponentInfoSetRequest = _reflection.GeneratedProtocolMessageType('HWComponentInfoSetRequest', (_message.Message,), dict(
+  DESCRIPTOR = _HWCOMPONENTINFOSETREQUEST,
+  __module__ = 'dmi.hw_management_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.HWComponentInfoSetRequest)
+  ))
+_sym_db.RegisterMessage(HWComponentInfoSetRequest)
+
+HWComponentInfoSetResponse = _reflection.GeneratedProtocolMessageType('HWComponentInfoSetResponse', (_message.Message,), dict(
+  DESCRIPTOR = _HWCOMPONENTINFOSETRESPONSE,
+  __module__ = 'dmi.hw_management_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.HWComponentInfoSetResponse)
+  ))
+_sym_db.RegisterMessage(HWComponentInfoSetResponse)
+
+StartManagingDeviceResponse = _reflection.GeneratedProtocolMessageType('StartManagingDeviceResponse', (_message.Message,), dict(
+  DESCRIPTOR = _STARTMANAGINGDEVICERESPONSE,
+  __module__ = 'dmi.hw_management_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.StartManagingDeviceResponse)
+  ))
+_sym_db.RegisterMessage(StartManagingDeviceResponse)
+
+StopManagingDeviceRequest = _reflection.GeneratedProtocolMessageType('StopManagingDeviceRequest', (_message.Message,), dict(
+  DESCRIPTOR = _STOPMANAGINGDEVICEREQUEST,
+  __module__ = 'dmi.hw_management_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.StopManagingDeviceRequest)
+  ))
+_sym_db.RegisterMessage(StopManagingDeviceRequest)
+
+StopManagingDeviceResponse = _reflection.GeneratedProtocolMessageType('StopManagingDeviceResponse', (_message.Message,), dict(
+  DESCRIPTOR = _STOPMANAGINGDEVICERESPONSE,
+  __module__ = 'dmi.hw_management_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.StopManagingDeviceResponse)
+  ))
+_sym_db.RegisterMessage(StopManagingDeviceResponse)
+
+
+DESCRIPTOR._options = None
+
+_NATIVEHWMANAGEMENTSERVICE = _descriptor.ServiceDescriptor(
+  name='NativeHWManagementService',
+  full_name='dmi.NativeHWManagementService',
+  file=DESCRIPTOR,
+  index=0,
+  serialized_options=None,
+  serialized_start=879,
+  serialized_end=1326,
+  methods=[
+  _descriptor.MethodDescriptor(
+    name='StartManagingDevice',
+    full_name='dmi.NativeHWManagementService.StartManagingDevice',
+    index=0,
+    containing_service=None,
+    input_type=dmi_dot_hw__pb2._MODIFIABLECOMPONENT,
+    output_type=_STARTMANAGINGDEVICERESPONSE,
+    serialized_options=None,
+  ),
+  _descriptor.MethodDescriptor(
+    name='StopManagingDevice',
+    full_name='dmi.NativeHWManagementService.StopManagingDevice',
+    index=1,
+    containing_service=None,
+    input_type=_STOPMANAGINGDEVICEREQUEST,
+    output_type=_STOPMANAGINGDEVICERESPONSE,
+    serialized_options=None,
+  ),
+  _descriptor.MethodDescriptor(
+    name='GetPhysicalInventory',
+    full_name='dmi.NativeHWManagementService.GetPhysicalInventory',
+    index=2,
+    containing_service=None,
+    input_type=_PHYSICALINVENTORYREQUEST,
+    output_type=_PHYSICALINVENTORYRESPONSE,
+    serialized_options=None,
+  ),
+  _descriptor.MethodDescriptor(
+    name='GetHWComponentInfo',
+    full_name='dmi.NativeHWManagementService.GetHWComponentInfo',
+    index=3,
+    containing_service=None,
+    input_type=_HWCOMPONENTINFOGETREQUEST,
+    output_type=dmi_dot_hw__pb2._COMPONENT,
+    serialized_options=None,
+  ),
+  _descriptor.MethodDescriptor(
+    name='SetHWComponentInfo',
+    full_name='dmi.NativeHWManagementService.SetHWComponentInfo',
+    index=4,
+    containing_service=None,
+    input_type=_HWCOMPONENTINFOSETREQUEST,
+    output_type=_HWCOMPONENTINFOSETRESPONSE,
+    serialized_options=None,
+  ),
+])
+_sym_db.RegisterServiceDescriptor(_NATIVEHWMANAGEMENTSERVICE)
+
+DESCRIPTOR.services_by_name['NativeHWManagementService'] = _NATIVEHWMANAGEMENTSERVICE
+
+# @@protoc_insertion_point(module_scope)
diff --git a/python/dmi/hw_metrics_mgmt_service_pb2.py b/python/dmi/hw_metrics_mgmt_service_pb2.py
new file mode 100644
index 0000000..764f5be
--- /dev/null
+++ b/python/dmi/hw_metrics_mgmt_service_pb2.py
@@ -0,0 +1,635 @@
+# -*- coding: utf-8 -*-
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+# source: dmi/hw_metrics_mgmt_service.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf.internal import enum_type_wrapper
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+from dmi import commons_pb2 as dmi_dot_commons__pb2
+from dmi import hw_pb2 as dmi_dot_hw__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+  name='dmi/hw_metrics_mgmt_service.proto',
+  package='dmi',
+  syntax='proto3',
+  serialized_options=_b('Z9github.com/opencord/device-management-interface/v3/go/dmi'),
+  serialized_pb=_b('\n!dmi/hw_metrics_mgmt_service.proto\x12\x03\x64mi\x1a\x11\x64mi/commons.proto\x1a\x0c\x64mi/hw.proto\"a\n\x0cMetricConfig\x12#\n\tmetric_id\x18\x01 \x01(\x0e\x32\x10.dmi.MetricNames\x12\x15\n\ris_configured\x18\x02 \x01(\x08\x12\x15\n\rpoll_interval\x18\x03 \x01(\r\"3\n\rMetricsConfig\x12\"\n\x07metrics\x18\x01 \x03(\x0b\x32\x11.dmi.MetricConfig\"t\n\x13ListMetricsResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\x12#\n\x07metrics\x18\x03 \x01(\x0b\x32\x12.dmi.MetricsConfig\"\x8d\x01\n\x1bMetricsConfigurationRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12%\n\x07\x63hanges\x18\x02 \x01(\x0b\x32\x12.dmi.MetricsConfigH\x00\x12\x1a\n\x10reset_to_default\x18\x03 \x01(\x08H\x00\x42\x0b\n\toperation\"X\n\x1cMetricsConfigurationResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\"k\n\x0eMetricMetaData\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12!\n\x0e\x63omponent_uuid\x18\x02 \x01(\x0b\x32\t.dmi.Uuid\x12\x16\n\x0e\x63omponent_name\x18\x03 \x01(\t\"\x84\x01\n\x06Metric\x12#\n\tmetric_id\x18\x01 \x01(\x0e\x32\x10.dmi.MetricNames\x12,\n\x0fmetric_metadata\x18\x02 \x01(\x0b\x32\x13.dmi.MetricMetaData\x12\'\n\x05value\x18\x03 \x01(\x0b\x32\x18.dmi.ComponentSensorData\"_\n\x10GetMetricRequest\x12&\n\tmeta_data\x18\x01 \x01(\x0b\x32\x13.dmi.MetricMetaData\x12#\n\tmetric_id\x18\x02 \x01(\x0e\x32\x10.dmi.MetricNames*\xd9\x05\n\x0bMetricNames\x12\x19\n\x15METRIC_NAME_UNDEFINED\x10\x00\x12\x14\n\x10METRIC_FAN_SPEED\x10\x01\x12\x13\n\x0fMETRIC_CPU_TEMP\x10\x64\x12\x1f\n\x1bMETRIC_CPU_USAGE_PERCENTAGE\x10\x65\x12\x1c\n\x17METRIC_TRANSCEIVER_TEMP\x10\xc8\x01\x12\x1f\n\x1aMETRIC_TRANSCEIVER_VOLTAGE\x10\xc9\x01\x12\x1c\n\x17METRIC_TRANSCEIVER_BIAS\x10\xca\x01\x12 \n\x1bMETRIC_TRANSCEIVER_RX_POWER\x10\xcb\x01\x12 \n\x1bMETRIC_TRANSCEIVER_TX_POWER\x10\xcc\x01\x12\"\n\x1dMETRIC_TRANSCEIVER_WAVELENGTH\x10\xcd\x01\x12\x15\n\x10METRIC_DISK_TEMP\x10\xac\x02\x12\x19\n\x14METRIC_DISK_CAPACITY\x10\xad\x02\x12\x16\n\x11METRIC_DISK_USAGE\x10\xae\x02\x12!\n\x1cMETRIC_DISK_USAGE_PERCENTAGE\x10\xaf\x02\x12&\n!METRIC_DISK_READ_WRITE_PERCENTAGE\x10\xb0\x02\x12(\n#METRIC_DISK_FAULTY_CELLS_PERCENTAGE\x10\xb1\x02\x12\x14\n\x0fMETRIC_RAM_TEMP\x10\x90\x03\x12\x18\n\x13METRIC_RAM_CAPACITY\x10\x91\x03\x12\x15\n\x10METRIC_RAM_USAGE\x10\x92\x03\x12 \n\x1bMETRIC_RAM_USAGE_PERCENTAGE\x10\x93\x03\x12\x15\n\x10METRIC_POWER_MAX\x10\xf4\x03\x12\x17\n\x12METRIC_POWER_USAGE\x10\xf5\x03\x12\"\n\x1dMETRIC_POWER_USAGE_PERCENTAGE\x10\xf6\x03\x12\"\n\x1dMETRIC_INNER_SURROUNDING_TEMP\x10\xd8\x04\x32\xee\x01\n\x1eNativeMetricsManagementService\x12\x38\n\x0bListMetrics\x12\x0f.dmi.HardwareID\x1a\x18.dmi.ListMetricsResponse\x12\x61\n\x1aUpdateMetricsConfiguration\x12 .dmi.MetricsConfigurationRequest\x1a!.dmi.MetricsConfigurationResponse\x12/\n\tGetMetric\x12\x15.dmi.GetMetricRequest\x1a\x0b.dmi.MetricB;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
+  ,
+  dependencies=[dmi_dot_commons__pb2.DESCRIPTOR,dmi_dot_hw__pb2.DESCRIPTOR,])
+
+_METRICNAMES = _descriptor.EnumDescriptor(
+  name='MetricNames',
+  full_name='dmi.MetricNames',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_NAME_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_FAN_SPEED', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_CPU_TEMP', index=2, number=100,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_CPU_USAGE_PERCENTAGE', index=3, number=101,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_TRANSCEIVER_TEMP', index=4, number=200,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_TRANSCEIVER_VOLTAGE', index=5, number=201,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_TRANSCEIVER_BIAS', index=6, number=202,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_TRANSCEIVER_RX_POWER', index=7, number=203,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_TRANSCEIVER_TX_POWER', index=8, number=204,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_TRANSCEIVER_WAVELENGTH', index=9, number=205,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_DISK_TEMP', index=10, number=300,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_DISK_CAPACITY', index=11, number=301,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_DISK_USAGE', index=12, number=302,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_DISK_USAGE_PERCENTAGE', index=13, number=303,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_DISK_READ_WRITE_PERCENTAGE', index=14, number=304,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_DISK_FAULTY_CELLS_PERCENTAGE', index=15, number=305,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_RAM_TEMP', index=16, number=400,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_RAM_CAPACITY', index=17, number=401,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_RAM_USAGE', index=18, number=402,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_RAM_USAGE_PERCENTAGE', index=19, number=403,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_POWER_MAX', index=20, number=500,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_POWER_USAGE', index=21, number=501,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_POWER_USAGE_PERCENTAGE', index=22, number=502,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='METRIC_INNER_SURROUNDING_TEMP', index=23, number=600,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=921,
+  serialized_end=1650,
+)
+_sym_db.RegisterEnumDescriptor(_METRICNAMES)
+
+MetricNames = enum_type_wrapper.EnumTypeWrapper(_METRICNAMES)
+METRIC_NAME_UNDEFINED = 0
+METRIC_FAN_SPEED = 1
+METRIC_CPU_TEMP = 100
+METRIC_CPU_USAGE_PERCENTAGE = 101
+METRIC_TRANSCEIVER_TEMP = 200
+METRIC_TRANSCEIVER_VOLTAGE = 201
+METRIC_TRANSCEIVER_BIAS = 202
+METRIC_TRANSCEIVER_RX_POWER = 203
+METRIC_TRANSCEIVER_TX_POWER = 204
+METRIC_TRANSCEIVER_WAVELENGTH = 205
+METRIC_DISK_TEMP = 300
+METRIC_DISK_CAPACITY = 301
+METRIC_DISK_USAGE = 302
+METRIC_DISK_USAGE_PERCENTAGE = 303
+METRIC_DISK_READ_WRITE_PERCENTAGE = 304
+METRIC_DISK_FAULTY_CELLS_PERCENTAGE = 305
+METRIC_RAM_TEMP = 400
+METRIC_RAM_CAPACITY = 401
+METRIC_RAM_USAGE = 402
+METRIC_RAM_USAGE_PERCENTAGE = 403
+METRIC_POWER_MAX = 500
+METRIC_POWER_USAGE = 501
+METRIC_POWER_USAGE_PERCENTAGE = 502
+METRIC_INNER_SURROUNDING_TEMP = 600
+
+
+
+_METRICCONFIG = _descriptor.Descriptor(
+  name='MetricConfig',
+  full_name='dmi.MetricConfig',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='metric_id', full_name='dmi.MetricConfig.metric_id', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='is_configured', full_name='dmi.MetricConfig.is_configured', index=1,
+      number=2, type=8, cpp_type=7, label=1,
+      has_default_value=False, default_value=False,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='poll_interval', full_name='dmi.MetricConfig.poll_interval', index=2,
+      number=3, type=13, cpp_type=3, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=75,
+  serialized_end=172,
+)
+
+
+_METRICSCONFIG = _descriptor.Descriptor(
+  name='MetricsConfig',
+  full_name='dmi.MetricsConfig',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='metrics', full_name='dmi.MetricsConfig.metrics', index=0,
+      number=1, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=174,
+  serialized_end=225,
+)
+
+
+_LISTMETRICSRESPONSE = _descriptor.Descriptor(
+  name='ListMetricsResponse',
+  full_name='dmi.ListMetricsResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='status', full_name='dmi.ListMetricsResponse.status', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='reason', full_name='dmi.ListMetricsResponse.reason', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='metrics', full_name='dmi.ListMetricsResponse.metrics', index=2,
+      number=3, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=227,
+  serialized_end=343,
+)
+
+
+_METRICSCONFIGURATIONREQUEST = _descriptor.Descriptor(
+  name='MetricsConfigurationRequest',
+  full_name='dmi.MetricsConfigurationRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='device_uuid', full_name='dmi.MetricsConfigurationRequest.device_uuid', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='changes', full_name='dmi.MetricsConfigurationRequest.changes', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='reset_to_default', full_name='dmi.MetricsConfigurationRequest.reset_to_default', index=2,
+      number=3, type=8, cpp_type=7, label=1,
+      has_default_value=False, default_value=False,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='operation', full_name='dmi.MetricsConfigurationRequest.operation',
+      index=0, containing_type=None, fields=[]),
+  ],
+  serialized_start=346,
+  serialized_end=487,
+)
+
+
+_METRICSCONFIGURATIONRESPONSE = _descriptor.Descriptor(
+  name='MetricsConfigurationResponse',
+  full_name='dmi.MetricsConfigurationResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='status', full_name='dmi.MetricsConfigurationResponse.status', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='reason', full_name='dmi.MetricsConfigurationResponse.reason', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=489,
+  serialized_end=577,
+)
+
+
+_METRICMETADATA = _descriptor.Descriptor(
+  name='MetricMetaData',
+  full_name='dmi.MetricMetaData',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='device_uuid', full_name='dmi.MetricMetaData.device_uuid', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='component_uuid', full_name='dmi.MetricMetaData.component_uuid', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='component_name', full_name='dmi.MetricMetaData.component_name', index=2,
+      number=3, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=579,
+  serialized_end=686,
+)
+
+
+_METRIC = _descriptor.Descriptor(
+  name='Metric',
+  full_name='dmi.Metric',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='metric_id', full_name='dmi.Metric.metric_id', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='metric_metadata', full_name='dmi.Metric.metric_metadata', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='value', full_name='dmi.Metric.value', index=2,
+      number=3, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=689,
+  serialized_end=821,
+)
+
+
+_GETMETRICREQUEST = _descriptor.Descriptor(
+  name='GetMetricRequest',
+  full_name='dmi.GetMetricRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='meta_data', full_name='dmi.GetMetricRequest.meta_data', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='metric_id', full_name='dmi.GetMetricRequest.metric_id', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=823,
+  serialized_end=918,
+)
+
+_METRICCONFIG.fields_by_name['metric_id'].enum_type = _METRICNAMES
+_METRICSCONFIG.fields_by_name['metrics'].message_type = _METRICCONFIG
+_LISTMETRICSRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
+_LISTMETRICSRESPONSE.fields_by_name['reason'].enum_type = dmi_dot_commons__pb2._REASON
+_LISTMETRICSRESPONSE.fields_by_name['metrics'].message_type = _METRICSCONFIG
+_METRICSCONFIGURATIONREQUEST.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
+_METRICSCONFIGURATIONREQUEST.fields_by_name['changes'].message_type = _METRICSCONFIG
+_METRICSCONFIGURATIONREQUEST.oneofs_by_name['operation'].fields.append(
+  _METRICSCONFIGURATIONREQUEST.fields_by_name['changes'])
+_METRICSCONFIGURATIONREQUEST.fields_by_name['changes'].containing_oneof = _METRICSCONFIGURATIONREQUEST.oneofs_by_name['operation']
+_METRICSCONFIGURATIONREQUEST.oneofs_by_name['operation'].fields.append(
+  _METRICSCONFIGURATIONREQUEST.fields_by_name['reset_to_default'])
+_METRICSCONFIGURATIONREQUEST.fields_by_name['reset_to_default'].containing_oneof = _METRICSCONFIGURATIONREQUEST.oneofs_by_name['operation']
+_METRICSCONFIGURATIONRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
+_METRICSCONFIGURATIONRESPONSE.fields_by_name['reason'].enum_type = dmi_dot_commons__pb2._REASON
+_METRICMETADATA.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
+_METRICMETADATA.fields_by_name['component_uuid'].message_type = dmi_dot_hw__pb2._UUID
+_METRIC.fields_by_name['metric_id'].enum_type = _METRICNAMES
+_METRIC.fields_by_name['metric_metadata'].message_type = _METRICMETADATA
+_METRIC.fields_by_name['value'].message_type = dmi_dot_hw__pb2._COMPONENTSENSORDATA
+_GETMETRICREQUEST.fields_by_name['meta_data'].message_type = _METRICMETADATA
+_GETMETRICREQUEST.fields_by_name['metric_id'].enum_type = _METRICNAMES
+DESCRIPTOR.message_types_by_name['MetricConfig'] = _METRICCONFIG
+DESCRIPTOR.message_types_by_name['MetricsConfig'] = _METRICSCONFIG
+DESCRIPTOR.message_types_by_name['ListMetricsResponse'] = _LISTMETRICSRESPONSE
+DESCRIPTOR.message_types_by_name['MetricsConfigurationRequest'] = _METRICSCONFIGURATIONREQUEST
+DESCRIPTOR.message_types_by_name['MetricsConfigurationResponse'] = _METRICSCONFIGURATIONRESPONSE
+DESCRIPTOR.message_types_by_name['MetricMetaData'] = _METRICMETADATA
+DESCRIPTOR.message_types_by_name['Metric'] = _METRIC
+DESCRIPTOR.message_types_by_name['GetMetricRequest'] = _GETMETRICREQUEST
+DESCRIPTOR.enum_types_by_name['MetricNames'] = _METRICNAMES
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+MetricConfig = _reflection.GeneratedProtocolMessageType('MetricConfig', (_message.Message,), dict(
+  DESCRIPTOR = _METRICCONFIG,
+  __module__ = 'dmi.hw_metrics_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.MetricConfig)
+  ))
+_sym_db.RegisterMessage(MetricConfig)
+
+MetricsConfig = _reflection.GeneratedProtocolMessageType('MetricsConfig', (_message.Message,), dict(
+  DESCRIPTOR = _METRICSCONFIG,
+  __module__ = 'dmi.hw_metrics_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.MetricsConfig)
+  ))
+_sym_db.RegisterMessage(MetricsConfig)
+
+ListMetricsResponse = _reflection.GeneratedProtocolMessageType('ListMetricsResponse', (_message.Message,), dict(
+  DESCRIPTOR = _LISTMETRICSRESPONSE,
+  __module__ = 'dmi.hw_metrics_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.ListMetricsResponse)
+  ))
+_sym_db.RegisterMessage(ListMetricsResponse)
+
+MetricsConfigurationRequest = _reflection.GeneratedProtocolMessageType('MetricsConfigurationRequest', (_message.Message,), dict(
+  DESCRIPTOR = _METRICSCONFIGURATIONREQUEST,
+  __module__ = 'dmi.hw_metrics_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.MetricsConfigurationRequest)
+  ))
+_sym_db.RegisterMessage(MetricsConfigurationRequest)
+
+MetricsConfigurationResponse = _reflection.GeneratedProtocolMessageType('MetricsConfigurationResponse', (_message.Message,), dict(
+  DESCRIPTOR = _METRICSCONFIGURATIONRESPONSE,
+  __module__ = 'dmi.hw_metrics_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.MetricsConfigurationResponse)
+  ))
+_sym_db.RegisterMessage(MetricsConfigurationResponse)
+
+MetricMetaData = _reflection.GeneratedProtocolMessageType('MetricMetaData', (_message.Message,), dict(
+  DESCRIPTOR = _METRICMETADATA,
+  __module__ = 'dmi.hw_metrics_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.MetricMetaData)
+  ))
+_sym_db.RegisterMessage(MetricMetaData)
+
+Metric = _reflection.GeneratedProtocolMessageType('Metric', (_message.Message,), dict(
+  DESCRIPTOR = _METRIC,
+  __module__ = 'dmi.hw_metrics_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.Metric)
+  ))
+_sym_db.RegisterMessage(Metric)
+
+GetMetricRequest = _reflection.GeneratedProtocolMessageType('GetMetricRequest', (_message.Message,), dict(
+  DESCRIPTOR = _GETMETRICREQUEST,
+  __module__ = 'dmi.hw_metrics_mgmt_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.GetMetricRequest)
+  ))
+_sym_db.RegisterMessage(GetMetricRequest)
+
+
+DESCRIPTOR._options = None
+
+_NATIVEMETRICSMANAGEMENTSERVICE = _descriptor.ServiceDescriptor(
+  name='NativeMetricsManagementService',
+  full_name='dmi.NativeMetricsManagementService',
+  file=DESCRIPTOR,
+  index=0,
+  serialized_options=None,
+  serialized_start=1653,
+  serialized_end=1891,
+  methods=[
+  _descriptor.MethodDescriptor(
+    name='ListMetrics',
+    full_name='dmi.NativeMetricsManagementService.ListMetrics',
+    index=0,
+    containing_service=None,
+    input_type=dmi_dot_hw__pb2._HARDWAREID,
+    output_type=_LISTMETRICSRESPONSE,
+    serialized_options=None,
+  ),
+  _descriptor.MethodDescriptor(
+    name='UpdateMetricsConfiguration',
+    full_name='dmi.NativeMetricsManagementService.UpdateMetricsConfiguration',
+    index=1,
+    containing_service=None,
+    input_type=_METRICSCONFIGURATIONREQUEST,
+    output_type=_METRICSCONFIGURATIONRESPONSE,
+    serialized_options=None,
+  ),
+  _descriptor.MethodDescriptor(
+    name='GetMetric',
+    full_name='dmi.NativeMetricsManagementService.GetMetric',
+    index=2,
+    containing_service=None,
+    input_type=_GETMETRICREQUEST,
+    output_type=_METRIC,
+    serialized_options=None,
+  ),
+])
+_sym_db.RegisterServiceDescriptor(_NATIVEMETRICSMANAGEMENTSERVICE)
+
+DESCRIPTOR.services_by_name['NativeMetricsManagementService'] = _NATIVEMETRICSMANAGEMENTSERVICE
+
+# @@protoc_insertion_point(module_scope)
diff --git a/python/dmi/hw_pb2.py b/python/dmi/hw_pb2.py
new file mode 100644
index 0000000..3030cfb
--- /dev/null
+++ b/python/dmi/hw_pb2.py
@@ -0,0 +1,1185 @@
+# -*- coding: utf-8 -*-
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+# source: dmi/hw.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf.internal import enum_type_wrapper
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+  name='dmi/hw.proto',
+  package='dmi',
+  syntax='proto3',
+  serialized_options=_b('Z9github.com/opencord/device-management-interface/v3/go/dmi'),
+  serialized_pb=_b('\n\x0c\x64mi/hw.proto\x12\x03\x64mi\x1a\x1fgoogle/protobuf/timestamp.proto\"\x14\n\x04Uuid\x12\x0c\n\x04uuid\x18\x01 \x01(\t\"%\n\nHardwareID\x12\x17\n\x04uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\"\x12\n\x03Uri\x12\x0b\n\x03uri\x18\x01 \x01(\t\"\xb5\x02\n\x0e\x43omponentState\x12\x36\n\x12state_last_changed\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12-\n\x0b\x61\x64min_state\x18\x02 \x01(\x0e\x32\x18.dmi.ComponentAdminState\x12+\n\noper_state\x18\x03 \x01(\x0e\x32\x17.dmi.ComponentOperState\x12-\n\x0busage_state\x18\x04 \x01(\x0e\x32\x18.dmi.ComponentUsageState\x12-\n\x0b\x61larm_state\x18\x05 \x01(\x0e\x32\x18.dmi.ComponentAlarmState\x12\x31\n\rstandby_state\x18\x06 \x01(\x0e\x32\x1a.dmi.ComponentStandbyState\"\x98\x02\n\x13\x43omponentSensorData\x12\r\n\x05value\x18\x01 \x01(\x05\x12\"\n\x04type\x18\x02 \x01(\x0e\x32\x14.dmi.SensorValueType\x12$\n\x05scale\x18\x03 \x01(\x0e\x32\x15.dmi.SensorValueScale\x12\x11\n\tprecision\x18\x04 \x01(\x05\x12!\n\x06status\x18\x05 \x01(\x0e\x32\x11.dmi.SensorStatus\x12\x15\n\runits_display\x18\x06 \x01(\t\x12-\n\ttimestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x11value_update_rate\x18\x08 \x01(\r\x12\x11\n\tdata_type\x18\t \x01(\t\"\xf9\x03\n\tComponent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12!\n\x05\x63lass\x18\x02 \x01(\x0e\x32\x12.dmi.ComponentType\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0e\n\x06parent\x18\x04 \x01(\t\x12\x16\n\x0eparent_rel_pos\x18\x05 \x01(\x05\x12 \n\x08\x63hildren\x18\x06 \x03(\x0b\x32\x0e.dmi.Component\x12\x14\n\x0chardware_rev\x18\x07 \x01(\t\x12\x14\n\x0c\x66irmware_rev\x18\x08 \x01(\t\x12\x14\n\x0csoftware_rev\x18\t \x01(\t\x12\x12\n\nserial_num\x18\n \x01(\t\x12\x10\n\x08mfg_name\x18\x0b \x01(\t\x12\x12\n\nmodel_name\x18\x0c \x01(\t\x12\r\n\x05\x61lias\x18\r \x01(\t\x12\x10\n\x08\x61sset_id\x18\x0e \x01(\t\x12\x0e\n\x06is_fru\x18\x0f \x01(\x08\x12,\n\x08mfg_date\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\x03uri\x18\x11 \x01(\x0b\x32\x08.dmi.Uri\x12\x17\n\x04uuid\x18\x12 \x01(\x0b\x32\t.dmi.Uuid\x12\"\n\x05state\x18\x13 \x01(\x0b\x32\x13.dmi.ComponentState\x12-\n\x0bsensor_data\x18\x14 \x03(\x0b\x32\x18.dmi.ComponentSensorData\"Y\n\x08Hardware\x12/\n\x0blast_change\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1c\n\x04root\x18\x02 \x01(\x0b\x32\x0e.dmi.Component\"\xe5\x01\n\x13ModifiableComponent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12!\n\x05\x63lass\x18\x02 \x01(\x0e\x32\x12.dmi.ComponentType\x12\x1e\n\x06parent\x18\x03 \x01(\x0b\x32\x0e.dmi.Component\x12\x16\n\x0eparent_rel_pos\x18\x04 \x01(\x05\x12\r\n\x05\x61lias\x18\x05 \x01(\t\x12\x10\n\x08\x61sset_id\x18\x06 \x01(\t\x12\x15\n\x03uri\x18\x07 \x01(\x0b\x32\x08.dmi.Uri\x12-\n\x0b\x61\x64min_state\x18\x08 \x01(\x0e\x32\x18.dmi.ComponentAdminState*\xb4\x03\n\rComponentType\x12\x1c\n\x18\x43OMPONENT_TYPE_UNDEFINED\x10\x00\x12\x1a\n\x16\x43OMPONENT_TYPE_UNKNOWN\x10\x01\x12\x1a\n\x16\x43OMPONENT_TYPE_CHASSIS\x10\x02\x12\x1c\n\x18\x43OMPONENT_TYPE_BACKPLANE\x10\x03\x12\x1c\n\x18\x43OMPONENT_TYPE_CONTAINER\x10\x04\x12\x1f\n\x1b\x43OMPONENT_TYPE_POWER_SUPPLY\x10\x05\x12\x16\n\x12\x43OMPONENT_TYPE_FAN\x10\x06\x12\x19\n\x15\x43OMPONENT_TYPE_SENSOR\x10\x07\x12\x19\n\x15\x43OMPONENT_TYPE_MODULE\x10\x08\x12\x17\n\x13\x43OMPONENT_TYPE_PORT\x10\t\x12\x16\n\x12\x43OMPONENT_TYPE_CPU\x10\n\x12\x1a\n\x16\x43OMPONENT_TYPE_BATTERY\x10\x0b\x12\x1a\n\x16\x43OMPONENT_TYPE_STORAGE\x10\x0c\x12\x19\n\x15\x43OMPONENT_TYPE_MEMORY\x10\r\x12\x1e\n\x1a\x43OMPONENT_TYPE_TRANSCEIVER\x10\x0e*\xb3\x01\n\x13\x43omponentAdminState\x12\x1e\n\x1a\x43OMP_ADMIN_STATE_UNDEFINED\x10\x00\x12\x1c\n\x18\x43OMP_ADMIN_STATE_UNKNOWN\x10\x01\x12\x1b\n\x17\x43OMP_ADMIN_STATE_LOCKED\x10\x02\x12\"\n\x1e\x43OMP_ADMIN_STATE_SHUTTING_DOWN\x10\x03\x12\x1d\n\x19\x43OMP_ADMIN_STATE_UNLOCKED\x10\x04*\xa8\x01\n\x12\x43omponentOperState\x12\x1d\n\x19\x43OMP_OPER_STATE_UNDEFINED\x10\x00\x12\x1b\n\x17\x43OMP_OPER_STATE_UNKNOWN\x10\x01\x12\x1c\n\x18\x43OMP_OPER_STATE_DISABLED\x10\x02\x12\x1b\n\x17\x43OMP_OPER_STATE_ENABLED\x10\x03\x12\x1b\n\x17\x43OMP_OPER_STATE_TESTING\x10\x04*\xa6\x01\n\x13\x43omponentUsageState\x12\x1e\n\x1a\x43OMP_USAGE_STATE_UNDEFINED\x10\x00\x12\x1c\n\x18\x43OMP_USAGE_STATE_UNKNOWN\x10\x01\x12\x19\n\x15\x43OMP_USAGE_STATE_IDLE\x10\x02\x12\x1b\n\x17\x43OMP_USAGE_STATE_ACTIVE\x10\x03\x12\x19\n\x15\x43OMP_USAGE_STATE_BUSY\x10\x04*\x8e\x02\n\x13\x43omponentAlarmState\x12\x1e\n\x1a\x43OMP_ALARM_STATE_UNDEFINED\x10\x00\x12\x1c\n\x18\x43OMP_ALARM_STATE_UNKNOWN\x10\x01\x12!\n\x1d\x43OMP_ALARM_STATE_UNDER_REPAIR\x10\x02\x12\x1d\n\x19\x43OMP_ALARM_STATE_CRITICAL\x10\x03\x12\x1a\n\x16\x43OMP_ALARM_STATE_MAJOR\x10\x04\x12\x1a\n\x16\x43OMP_ALARM_STATE_MINOR\x10\x05\x12\x1c\n\x18\x43OMP_ALARM_STATE_WARNING\x10\x06\x12!\n\x1d\x43OMP_ALARM_STATE_INTERMEDIATE\x10\x07*\xbc\x01\n\x15\x43omponentStandbyState\x12 \n\x1c\x43OMP_STANDBY_STATE_UNDEFINED\x10\x00\x12\x1e\n\x1a\x43OMP_STANDBY_STATE_UNKNOWN\x10\x01\x12\x1a\n\x16\x43OMP_STANDBY_STATE_HOT\x10\x02\x12\x1b\n\x17\x43OMP_STANDBY_STATE_COLD\x10\x03\x12(\n$COMP_STANDBY_STATE_PROVIDING_SERVICE\x10\x04*\xa1\x03\n\x0fSensorValueType\x12\x1f\n\x1bSENSOR_VALUE_TYPE_UNDEFINED\x10\x00\x12\x1b\n\x17SENSOR_VALUE_TYPE_OTHER\x10\x01\x12\x1d\n\x19SENSOR_VALUE_TYPE_UNKNOWN\x10\x02\x12\x1e\n\x1aSENSOR_VALUE_TYPE_VOLTS_AC\x10\x03\x12\x1e\n\x1aSENSOR_VALUE_TYPE_VOLTS_DC\x10\x04\x12\x1d\n\x19SENSOR_VALUE_TYPE_AMPERES\x10\x05\x12\x1b\n\x17SENSOR_VALUE_TYPE_WATTS\x10\x06\x12\x1b\n\x17SENSOR_VALUE_TYPE_HERTZ\x10\x07\x12\x1d\n\x19SENSOR_VALUE_TYPE_CELSIUS\x10\x08\x12 \n\x1cSENSOR_VALUE_TYPE_PERCENT_RH\x10\t\x12\x19\n\x15SENSOR_VALUE_TYPE_RPM\x10\n\x12\x19\n\x15SENSOR_VALUE_TYPE_CMM\x10\x0b\x12!\n\x1dSENSOR_VALUE_TYPE_TRUTH_VALUE\x10\x0c*\xa8\x04\n\x10SensorValueScale\x12 \n\x1cSENSOR_VALUE_SCALE_UNDEFINED\x10\x00\x12\x1c\n\x18SENSOR_VALUE_SCALE_YOCTO\x10\x01\x12\x1c\n\x18SENSOR_VALUE_SCALE_ZEPTO\x10\x02\x12\x1b\n\x17SENSOR_VALUE_SCALE_ATTO\x10\x03\x12\x1c\n\x18SENSOR_VALUE_SCALE_FEMTO\x10\x04\x12\x1b\n\x17SENSOR_VALUE_SCALE_PICO\x10\x05\x12\x1b\n\x17SENSOR_VALUE_SCALE_NANO\x10\x06\x12\x1c\n\x18SENSOR_VALUE_SCALE_MICRO\x10\x07\x12\x1c\n\x18SENSOR_VALUE_SCALE_MILLI\x10\x08\x12\x1c\n\x18SENSOR_VALUE_SCALE_UNITS\x10\t\x12\x1b\n\x17SENSOR_VALUE_SCALE_KILO\x10\n\x12\x1b\n\x17SENSOR_VALUE_SCALE_MEGA\x10\x0b\x12\x1b\n\x17SENSOR_VALUE_SCALE_GIGA\x10\x0c\x12\x1b\n\x17SENSOR_VALUE_SCALE_TERA\x10\r\x12\x1b\n\x17SENSOR_VALUE_SCALE_PETA\x10\x0e\x12\x1a\n\x16SENSOR_VALUE_SCALE_EXA\x10\x0f\x12\x1c\n\x18SENSOR_VALUE_SCALE_ZETTA\x10\x10\x12\x1c\n\x18SENSOR_VALUE_SCALE_YOTTA\x10\x11*\x82\x01\n\x0cSensorStatus\x12\x1b\n\x17SENSOR_STATUS_UNDEFINED\x10\x00\x12\x14\n\x10SENSOR_STATUS_OK\x10\x01\x12\x1d\n\x19SENSOR_STATUS_UNAVAILABLE\x10\x02\x12 \n\x1cSENSOR_STATUS_NONOPERATIONAL\x10\x03\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
+  ,
+  dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])
+
+_COMPONENTTYPE = _descriptor.EnumDescriptor(
+  name='ComponentType',
+  full_name='dmi.ComponentType',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_UNKNOWN', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_CHASSIS', index=2, number=2,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_BACKPLANE', index=3, number=3,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_CONTAINER', index=4, number=4,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_POWER_SUPPLY', index=5, number=5,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_FAN', index=6, number=6,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_SENSOR', index=7, number=7,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_MODULE', index=8, number=8,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_PORT', index=9, number=9,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_CPU', index=10, number=10,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_BATTERY', index=11, number=11,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_STORAGE', index=12, number=12,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_MEMORY', index=13, number=13,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMPONENT_TYPE_TRANSCEIVER', index=14, number=14,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=1562,
+  serialized_end=1998,
+)
+_sym_db.RegisterEnumDescriptor(_COMPONENTTYPE)
+
+ComponentType = enum_type_wrapper.EnumTypeWrapper(_COMPONENTTYPE)
+_COMPONENTADMINSTATE = _descriptor.EnumDescriptor(
+  name='ComponentAdminState',
+  full_name='dmi.ComponentAdminState',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='COMP_ADMIN_STATE_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_ADMIN_STATE_UNKNOWN', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_ADMIN_STATE_LOCKED', index=2, number=2,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_ADMIN_STATE_SHUTTING_DOWN', index=3, number=3,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_ADMIN_STATE_UNLOCKED', index=4, number=4,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=2001,
+  serialized_end=2180,
+)
+_sym_db.RegisterEnumDescriptor(_COMPONENTADMINSTATE)
+
+ComponentAdminState = enum_type_wrapper.EnumTypeWrapper(_COMPONENTADMINSTATE)
+_COMPONENTOPERSTATE = _descriptor.EnumDescriptor(
+  name='ComponentOperState',
+  full_name='dmi.ComponentOperState',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='COMP_OPER_STATE_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_OPER_STATE_UNKNOWN', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_OPER_STATE_DISABLED', index=2, number=2,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_OPER_STATE_ENABLED', index=3, number=3,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_OPER_STATE_TESTING', index=4, number=4,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=2183,
+  serialized_end=2351,
+)
+_sym_db.RegisterEnumDescriptor(_COMPONENTOPERSTATE)
+
+ComponentOperState = enum_type_wrapper.EnumTypeWrapper(_COMPONENTOPERSTATE)
+_COMPONENTUSAGESTATE = _descriptor.EnumDescriptor(
+  name='ComponentUsageState',
+  full_name='dmi.ComponentUsageState',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='COMP_USAGE_STATE_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_USAGE_STATE_UNKNOWN', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_USAGE_STATE_IDLE', index=2, number=2,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_USAGE_STATE_ACTIVE', index=3, number=3,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_USAGE_STATE_BUSY', index=4, number=4,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=2354,
+  serialized_end=2520,
+)
+_sym_db.RegisterEnumDescriptor(_COMPONENTUSAGESTATE)
+
+ComponentUsageState = enum_type_wrapper.EnumTypeWrapper(_COMPONENTUSAGESTATE)
+_COMPONENTALARMSTATE = _descriptor.EnumDescriptor(
+  name='ComponentAlarmState',
+  full_name='dmi.ComponentAlarmState',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='COMP_ALARM_STATE_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_ALARM_STATE_UNKNOWN', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_ALARM_STATE_UNDER_REPAIR', index=2, number=2,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_ALARM_STATE_CRITICAL', index=3, number=3,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_ALARM_STATE_MAJOR', index=4, number=4,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_ALARM_STATE_MINOR', index=5, number=5,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_ALARM_STATE_WARNING', index=6, number=6,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_ALARM_STATE_INTERMEDIATE', index=7, number=7,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=2523,
+  serialized_end=2793,
+)
+_sym_db.RegisterEnumDescriptor(_COMPONENTALARMSTATE)
+
+ComponentAlarmState = enum_type_wrapper.EnumTypeWrapper(_COMPONENTALARMSTATE)
+_COMPONENTSTANDBYSTATE = _descriptor.EnumDescriptor(
+  name='ComponentStandbyState',
+  full_name='dmi.ComponentStandbyState',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='COMP_STANDBY_STATE_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_STANDBY_STATE_UNKNOWN', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_STANDBY_STATE_HOT', index=2, number=2,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_STANDBY_STATE_COLD', index=3, number=3,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMP_STANDBY_STATE_PROVIDING_SERVICE', index=4, number=4,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=2796,
+  serialized_end=2984,
+)
+_sym_db.RegisterEnumDescriptor(_COMPONENTSTANDBYSTATE)
+
+ComponentStandbyState = enum_type_wrapper.EnumTypeWrapper(_COMPONENTSTANDBYSTATE)
+_SENSORVALUETYPE = _descriptor.EnumDescriptor(
+  name='SensorValueType',
+  full_name='dmi.SensorValueType',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_TYPE_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_TYPE_OTHER', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_TYPE_UNKNOWN', index=2, number=2,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_TYPE_VOLTS_AC', index=3, number=3,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_TYPE_VOLTS_DC', index=4, number=4,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_TYPE_AMPERES', index=5, number=5,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_TYPE_WATTS', index=6, number=6,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_TYPE_HERTZ', index=7, number=7,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_TYPE_CELSIUS', index=8, number=8,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_TYPE_PERCENT_RH', index=9, number=9,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_TYPE_RPM', index=10, number=10,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_TYPE_CMM', index=11, number=11,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_TYPE_TRUTH_VALUE', index=12, number=12,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=2987,
+  serialized_end=3404,
+)
+_sym_db.RegisterEnumDescriptor(_SENSORVALUETYPE)
+
+SensorValueType = enum_type_wrapper.EnumTypeWrapper(_SENSORVALUETYPE)
+_SENSORVALUESCALE = _descriptor.EnumDescriptor(
+  name='SensorValueScale',
+  full_name='dmi.SensorValueScale',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_YOCTO', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_ZEPTO', index=2, number=2,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_ATTO', index=3, number=3,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_FEMTO', index=4, number=4,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_PICO', index=5, number=5,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_NANO', index=6, number=6,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_MICRO', index=7, number=7,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_MILLI', index=8, number=8,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_UNITS', index=9, number=9,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_KILO', index=10, number=10,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_MEGA', index=11, number=11,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_GIGA', index=12, number=12,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_TERA', index=13, number=13,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_PETA', index=14, number=14,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_EXA', index=15, number=15,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_ZETTA', index=16, number=16,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_VALUE_SCALE_YOTTA', index=17, number=17,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=3407,
+  serialized_end=3959,
+)
+_sym_db.RegisterEnumDescriptor(_SENSORVALUESCALE)
+
+SensorValueScale = enum_type_wrapper.EnumTypeWrapper(_SENSORVALUESCALE)
+_SENSORSTATUS = _descriptor.EnumDescriptor(
+  name='SensorStatus',
+  full_name='dmi.SensorStatus',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_STATUS_UNDEFINED', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_STATUS_OK', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_STATUS_UNAVAILABLE', index=2, number=2,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SENSOR_STATUS_NONOPERATIONAL', index=3, number=3,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=3962,
+  serialized_end=4092,
+)
+_sym_db.RegisterEnumDescriptor(_SENSORSTATUS)
+
+SensorStatus = enum_type_wrapper.EnumTypeWrapper(_SENSORSTATUS)
+COMPONENT_TYPE_UNDEFINED = 0
+COMPONENT_TYPE_UNKNOWN = 1
+COMPONENT_TYPE_CHASSIS = 2
+COMPONENT_TYPE_BACKPLANE = 3
+COMPONENT_TYPE_CONTAINER = 4
+COMPONENT_TYPE_POWER_SUPPLY = 5
+COMPONENT_TYPE_FAN = 6
+COMPONENT_TYPE_SENSOR = 7
+COMPONENT_TYPE_MODULE = 8
+COMPONENT_TYPE_PORT = 9
+COMPONENT_TYPE_CPU = 10
+COMPONENT_TYPE_BATTERY = 11
+COMPONENT_TYPE_STORAGE = 12
+COMPONENT_TYPE_MEMORY = 13
+COMPONENT_TYPE_TRANSCEIVER = 14
+COMP_ADMIN_STATE_UNDEFINED = 0
+COMP_ADMIN_STATE_UNKNOWN = 1
+COMP_ADMIN_STATE_LOCKED = 2
+COMP_ADMIN_STATE_SHUTTING_DOWN = 3
+COMP_ADMIN_STATE_UNLOCKED = 4
+COMP_OPER_STATE_UNDEFINED = 0
+COMP_OPER_STATE_UNKNOWN = 1
+COMP_OPER_STATE_DISABLED = 2
+COMP_OPER_STATE_ENABLED = 3
+COMP_OPER_STATE_TESTING = 4
+COMP_USAGE_STATE_UNDEFINED = 0
+COMP_USAGE_STATE_UNKNOWN = 1
+COMP_USAGE_STATE_IDLE = 2
+COMP_USAGE_STATE_ACTIVE = 3
+COMP_USAGE_STATE_BUSY = 4
+COMP_ALARM_STATE_UNDEFINED = 0
+COMP_ALARM_STATE_UNKNOWN = 1
+COMP_ALARM_STATE_UNDER_REPAIR = 2
+COMP_ALARM_STATE_CRITICAL = 3
+COMP_ALARM_STATE_MAJOR = 4
+COMP_ALARM_STATE_MINOR = 5
+COMP_ALARM_STATE_WARNING = 6
+COMP_ALARM_STATE_INTERMEDIATE = 7
+COMP_STANDBY_STATE_UNDEFINED = 0
+COMP_STANDBY_STATE_UNKNOWN = 1
+COMP_STANDBY_STATE_HOT = 2
+COMP_STANDBY_STATE_COLD = 3
+COMP_STANDBY_STATE_PROVIDING_SERVICE = 4
+SENSOR_VALUE_TYPE_UNDEFINED = 0
+SENSOR_VALUE_TYPE_OTHER = 1
+SENSOR_VALUE_TYPE_UNKNOWN = 2
+SENSOR_VALUE_TYPE_VOLTS_AC = 3
+SENSOR_VALUE_TYPE_VOLTS_DC = 4
+SENSOR_VALUE_TYPE_AMPERES = 5
+SENSOR_VALUE_TYPE_WATTS = 6
+SENSOR_VALUE_TYPE_HERTZ = 7
+SENSOR_VALUE_TYPE_CELSIUS = 8
+SENSOR_VALUE_TYPE_PERCENT_RH = 9
+SENSOR_VALUE_TYPE_RPM = 10
+SENSOR_VALUE_TYPE_CMM = 11
+SENSOR_VALUE_TYPE_TRUTH_VALUE = 12
+SENSOR_VALUE_SCALE_UNDEFINED = 0
+SENSOR_VALUE_SCALE_YOCTO = 1
+SENSOR_VALUE_SCALE_ZEPTO = 2
+SENSOR_VALUE_SCALE_ATTO = 3
+SENSOR_VALUE_SCALE_FEMTO = 4
+SENSOR_VALUE_SCALE_PICO = 5
+SENSOR_VALUE_SCALE_NANO = 6
+SENSOR_VALUE_SCALE_MICRO = 7
+SENSOR_VALUE_SCALE_MILLI = 8
+SENSOR_VALUE_SCALE_UNITS = 9
+SENSOR_VALUE_SCALE_KILO = 10
+SENSOR_VALUE_SCALE_MEGA = 11
+SENSOR_VALUE_SCALE_GIGA = 12
+SENSOR_VALUE_SCALE_TERA = 13
+SENSOR_VALUE_SCALE_PETA = 14
+SENSOR_VALUE_SCALE_EXA = 15
+SENSOR_VALUE_SCALE_ZETTA = 16
+SENSOR_VALUE_SCALE_YOTTA = 17
+SENSOR_STATUS_UNDEFINED = 0
+SENSOR_STATUS_OK = 1
+SENSOR_STATUS_UNAVAILABLE = 2
+SENSOR_STATUS_NONOPERATIONAL = 3
+
+
+
+_UUID = _descriptor.Descriptor(
+  name='Uuid',
+  full_name='dmi.Uuid',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='uuid', full_name='dmi.Uuid.uuid', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=54,
+  serialized_end=74,
+)
+
+
+_HARDWAREID = _descriptor.Descriptor(
+  name='HardwareID',
+  full_name='dmi.HardwareID',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='uuid', full_name='dmi.HardwareID.uuid', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=76,
+  serialized_end=113,
+)
+
+
+_URI = _descriptor.Descriptor(
+  name='Uri',
+  full_name='dmi.Uri',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='uri', full_name='dmi.Uri.uri', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=115,
+  serialized_end=133,
+)
+
+
+_COMPONENTSTATE = _descriptor.Descriptor(
+  name='ComponentState',
+  full_name='dmi.ComponentState',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='state_last_changed', full_name='dmi.ComponentState.state_last_changed', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='admin_state', full_name='dmi.ComponentState.admin_state', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='oper_state', full_name='dmi.ComponentState.oper_state', index=2,
+      number=3, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='usage_state', full_name='dmi.ComponentState.usage_state', index=3,
+      number=4, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='alarm_state', full_name='dmi.ComponentState.alarm_state', index=4,
+      number=5, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='standby_state', full_name='dmi.ComponentState.standby_state', index=5,
+      number=6, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=136,
+  serialized_end=445,
+)
+
+
+_COMPONENTSENSORDATA = _descriptor.Descriptor(
+  name='ComponentSensorData',
+  full_name='dmi.ComponentSensorData',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='value', full_name='dmi.ComponentSensorData.value', index=0,
+      number=1, type=5, cpp_type=1, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='type', full_name='dmi.ComponentSensorData.type', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='scale', full_name='dmi.ComponentSensorData.scale', index=2,
+      number=3, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='precision', full_name='dmi.ComponentSensorData.precision', index=3,
+      number=4, type=5, cpp_type=1, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='status', full_name='dmi.ComponentSensorData.status', index=4,
+      number=5, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='units_display', full_name='dmi.ComponentSensorData.units_display', index=5,
+      number=6, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='timestamp', full_name='dmi.ComponentSensorData.timestamp', index=6,
+      number=7, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='value_update_rate', full_name='dmi.ComponentSensorData.value_update_rate', index=7,
+      number=8, type=13, cpp_type=3, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='data_type', full_name='dmi.ComponentSensorData.data_type', index=8,
+      number=9, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=448,
+  serialized_end=728,
+)
+
+
+_COMPONENT = _descriptor.Descriptor(
+  name='Component',
+  full_name='dmi.Component',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='name', full_name='dmi.Component.name', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='class', full_name='dmi.Component.class', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='description', full_name='dmi.Component.description', index=2,
+      number=3, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='parent', full_name='dmi.Component.parent', index=3,
+      number=4, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='parent_rel_pos', full_name='dmi.Component.parent_rel_pos', index=4,
+      number=5, type=5, cpp_type=1, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='children', full_name='dmi.Component.children', index=5,
+      number=6, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='hardware_rev', full_name='dmi.Component.hardware_rev', index=6,
+      number=7, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='firmware_rev', full_name='dmi.Component.firmware_rev', index=7,
+      number=8, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='software_rev', full_name='dmi.Component.software_rev', index=8,
+      number=9, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='serial_num', full_name='dmi.Component.serial_num', index=9,
+      number=10, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='mfg_name', full_name='dmi.Component.mfg_name', index=10,
+      number=11, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='model_name', full_name='dmi.Component.model_name', index=11,
+      number=12, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='alias', full_name='dmi.Component.alias', index=12,
+      number=13, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='asset_id', full_name='dmi.Component.asset_id', index=13,
+      number=14, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='is_fru', full_name='dmi.Component.is_fru', index=14,
+      number=15, type=8, cpp_type=7, label=1,
+      has_default_value=False, default_value=False,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='mfg_date', full_name='dmi.Component.mfg_date', index=15,
+      number=16, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='uri', full_name='dmi.Component.uri', index=16,
+      number=17, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='uuid', full_name='dmi.Component.uuid', index=17,
+      number=18, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='state', full_name='dmi.Component.state', index=18,
+      number=19, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='sensor_data', full_name='dmi.Component.sensor_data', index=19,
+      number=20, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=731,
+  serialized_end=1236,
+)
+
+
+_HARDWARE = _descriptor.Descriptor(
+  name='Hardware',
+  full_name='dmi.Hardware',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='last_change', full_name='dmi.Hardware.last_change', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='root', full_name='dmi.Hardware.root', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=1238,
+  serialized_end=1327,
+)
+
+
+_MODIFIABLECOMPONENT = _descriptor.Descriptor(
+  name='ModifiableComponent',
+  full_name='dmi.ModifiableComponent',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='name', full_name='dmi.ModifiableComponent.name', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='class', full_name='dmi.ModifiableComponent.class', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='parent', full_name='dmi.ModifiableComponent.parent', index=2,
+      number=3, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='parent_rel_pos', full_name='dmi.ModifiableComponent.parent_rel_pos', index=3,
+      number=4, type=5, cpp_type=1, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='alias', full_name='dmi.ModifiableComponent.alias', index=4,
+      number=5, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='asset_id', full_name='dmi.ModifiableComponent.asset_id', index=5,
+      number=6, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='uri', full_name='dmi.ModifiableComponent.uri', index=6,
+      number=7, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='admin_state', full_name='dmi.ModifiableComponent.admin_state', index=7,
+      number=8, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=1330,
+  serialized_end=1559,
+)
+
+_HARDWAREID.fields_by_name['uuid'].message_type = _UUID
+_COMPONENTSTATE.fields_by_name['state_last_changed'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
+_COMPONENTSTATE.fields_by_name['admin_state'].enum_type = _COMPONENTADMINSTATE
+_COMPONENTSTATE.fields_by_name['oper_state'].enum_type = _COMPONENTOPERSTATE
+_COMPONENTSTATE.fields_by_name['usage_state'].enum_type = _COMPONENTUSAGESTATE
+_COMPONENTSTATE.fields_by_name['alarm_state'].enum_type = _COMPONENTALARMSTATE
+_COMPONENTSTATE.fields_by_name['standby_state'].enum_type = _COMPONENTSTANDBYSTATE
+_COMPONENTSENSORDATA.fields_by_name['type'].enum_type = _SENSORVALUETYPE
+_COMPONENTSENSORDATA.fields_by_name['scale'].enum_type = _SENSORVALUESCALE
+_COMPONENTSENSORDATA.fields_by_name['status'].enum_type = _SENSORSTATUS
+_COMPONENTSENSORDATA.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
+_COMPONENT.fields_by_name['class'].enum_type = _COMPONENTTYPE
+_COMPONENT.fields_by_name['children'].message_type = _COMPONENT
+_COMPONENT.fields_by_name['mfg_date'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
+_COMPONENT.fields_by_name['uri'].message_type = _URI
+_COMPONENT.fields_by_name['uuid'].message_type = _UUID
+_COMPONENT.fields_by_name['state'].message_type = _COMPONENTSTATE
+_COMPONENT.fields_by_name['sensor_data'].message_type = _COMPONENTSENSORDATA
+_HARDWARE.fields_by_name['last_change'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
+_HARDWARE.fields_by_name['root'].message_type = _COMPONENT
+_MODIFIABLECOMPONENT.fields_by_name['class'].enum_type = _COMPONENTTYPE
+_MODIFIABLECOMPONENT.fields_by_name['parent'].message_type = _COMPONENT
+_MODIFIABLECOMPONENT.fields_by_name['uri'].message_type = _URI
+_MODIFIABLECOMPONENT.fields_by_name['admin_state'].enum_type = _COMPONENTADMINSTATE
+DESCRIPTOR.message_types_by_name['Uuid'] = _UUID
+DESCRIPTOR.message_types_by_name['HardwareID'] = _HARDWAREID
+DESCRIPTOR.message_types_by_name['Uri'] = _URI
+DESCRIPTOR.message_types_by_name['ComponentState'] = _COMPONENTSTATE
+DESCRIPTOR.message_types_by_name['ComponentSensorData'] = _COMPONENTSENSORDATA
+DESCRIPTOR.message_types_by_name['Component'] = _COMPONENT
+DESCRIPTOR.message_types_by_name['Hardware'] = _HARDWARE
+DESCRIPTOR.message_types_by_name['ModifiableComponent'] = _MODIFIABLECOMPONENT
+DESCRIPTOR.enum_types_by_name['ComponentType'] = _COMPONENTTYPE
+DESCRIPTOR.enum_types_by_name['ComponentAdminState'] = _COMPONENTADMINSTATE
+DESCRIPTOR.enum_types_by_name['ComponentOperState'] = _COMPONENTOPERSTATE
+DESCRIPTOR.enum_types_by_name['ComponentUsageState'] = _COMPONENTUSAGESTATE
+DESCRIPTOR.enum_types_by_name['ComponentAlarmState'] = _COMPONENTALARMSTATE
+DESCRIPTOR.enum_types_by_name['ComponentStandbyState'] = _COMPONENTSTANDBYSTATE
+DESCRIPTOR.enum_types_by_name['SensorValueType'] = _SENSORVALUETYPE
+DESCRIPTOR.enum_types_by_name['SensorValueScale'] = _SENSORVALUESCALE
+DESCRIPTOR.enum_types_by_name['SensorStatus'] = _SENSORSTATUS
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+Uuid = _reflection.GeneratedProtocolMessageType('Uuid', (_message.Message,), dict(
+  DESCRIPTOR = _UUID,
+  __module__ = 'dmi.hw_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.Uuid)
+  ))
+_sym_db.RegisterMessage(Uuid)
+
+HardwareID = _reflection.GeneratedProtocolMessageType('HardwareID', (_message.Message,), dict(
+  DESCRIPTOR = _HARDWAREID,
+  __module__ = 'dmi.hw_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.HardwareID)
+  ))
+_sym_db.RegisterMessage(HardwareID)
+
+Uri = _reflection.GeneratedProtocolMessageType('Uri', (_message.Message,), dict(
+  DESCRIPTOR = _URI,
+  __module__ = 'dmi.hw_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.Uri)
+  ))
+_sym_db.RegisterMessage(Uri)
+
+ComponentState = _reflection.GeneratedProtocolMessageType('ComponentState', (_message.Message,), dict(
+  DESCRIPTOR = _COMPONENTSTATE,
+  __module__ = 'dmi.hw_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.ComponentState)
+  ))
+_sym_db.RegisterMessage(ComponentState)
+
+ComponentSensorData = _reflection.GeneratedProtocolMessageType('ComponentSensorData', (_message.Message,), dict(
+  DESCRIPTOR = _COMPONENTSENSORDATA,
+  __module__ = 'dmi.hw_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.ComponentSensorData)
+  ))
+_sym_db.RegisterMessage(ComponentSensorData)
+
+Component = _reflection.GeneratedProtocolMessageType('Component', (_message.Message,), dict(
+  DESCRIPTOR = _COMPONENT,
+  __module__ = 'dmi.hw_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.Component)
+  ))
+_sym_db.RegisterMessage(Component)
+
+Hardware = _reflection.GeneratedProtocolMessageType('Hardware', (_message.Message,), dict(
+  DESCRIPTOR = _HARDWARE,
+  __module__ = 'dmi.hw_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.Hardware)
+  ))
+_sym_db.RegisterMessage(Hardware)
+
+ModifiableComponent = _reflection.GeneratedProtocolMessageType('ModifiableComponent', (_message.Message,), dict(
+  DESCRIPTOR = _MODIFIABLECOMPONENT,
+  __module__ = 'dmi.hw_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.ModifiableComponent)
+  ))
+_sym_db.RegisterMessage(ModifiableComponent)
+
+
+DESCRIPTOR._options = None
+# @@protoc_insertion_point(module_scope)
diff --git a/python/dmi/sw_image_pb2.py b/python/dmi/sw_image_pb2.py
new file mode 100644
index 0000000..8a4497e
--- /dev/null
+++ b/python/dmi/sw_image_pb2.py
@@ -0,0 +1,296 @@
+# -*- coding: utf-8 -*-
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+# source: dmi/sw_image.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+from dmi import commons_pb2 as dmi_dot_commons__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+  name='dmi/sw_image.proto',
+  package='dmi',
+  syntax='proto3',
+  serialized_options=_b('Z9github.com/opencord/device-management-interface/v3/go/dmi'),
+  serialized_pb=_b('\n\x12\x64mi/sw_image.proto\x12\x03\x64mi\x1a\x11\x64mi/commons.proto\"3\n\x0cImageVersion\x12\x12\n\nimage_name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\"x\n\x10ImageInformation\x12 \n\x05image\x18\x01 \x01(\x0b\x32\x11.dmi.ImageVersion\x12\x1c\n\x14image_install_script\x18\x02 \x01(\t\x12\x11\n\timage_url\x18\x03 \x01(\t\x12\x11\n\tsha256sum\x18\x05 \x01(\t\"\xf9\x03\n\x0bImageStatus\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\'\n\x06reason\x18\x02 \x01(\x0e\x32\x17.dmi.ImageStatus.Reason\x12*\n\x05state\x18\x03 \x01(\x0e\x32\x1b.dmi.ImageStatus.ImageState\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\"\xcf\x01\n\nImageState\x12\x13\n\x0fUNDEFINED_STATE\x10\x00\x12\x11\n\rCOPYING_IMAGE\x10\x01\x12\x14\n\x10INSTALLING_IMAGE\x10\x02\x12\x13\n\x0f\x43OMMITING_IMAGE\x10\x03\x12\x14\n\x10REBOOTING_DEVICE\x10\x04\x12\x14\n\x10UPGRADE_COMPLETE\x10\x05\x12\x12\n\x0eUPGRADE_FAILED\x10\x06\x12\x17\n\x13\x41\x43TIVATION_COMPLETE\x10\x07\x12\x15\n\x11\x41\x43TIVATION_FAILED\x10\x08\"\x90\x01\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x14\n\x10\x45RROR_IN_REQUEST\x10\x01\x12\x12\n\x0eINTERNAL_ERROR\x10\x02\x12\x19\n\x15\x44\x45VICE_IN_WRONG_STATE\x10\x03\x12\x11\n\rINVALID_IMAGE\x10\x04\x12\x18\n\x14WRONG_IMAGE_CHECKSUM\x10\x05\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
+  ,
+  dependencies=[dmi_dot_commons__pb2.DESCRIPTOR,])
+
+
+
+_IMAGESTATUS_IMAGESTATE = _descriptor.EnumDescriptor(
+  name='ImageState',
+  full_name='dmi.ImageStatus.ImageState',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='UNDEFINED_STATE', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COPYING_IMAGE', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='INSTALLING_IMAGE', index=2, number=2,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='COMMITING_IMAGE', index=3, number=3,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='REBOOTING_DEVICE', index=4, number=4,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='UPGRADE_COMPLETE', index=5, number=5,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='UPGRADE_FAILED', index=6, number=6,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='ACTIVATION_COMPLETE', index=7, number=7,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='ACTIVATION_FAILED', index=8, number=8,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=373,
+  serialized_end=580,
+)
+_sym_db.RegisterEnumDescriptor(_IMAGESTATUS_IMAGESTATE)
+
+_IMAGESTATUS_REASON = _descriptor.EnumDescriptor(
+  name='Reason',
+  full_name='dmi.ImageStatus.Reason',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='UNDEFINED_REASON', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='ERROR_IN_REQUEST', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='INTERNAL_ERROR', index=2, number=2,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='DEVICE_IN_WRONG_STATE', index=3, number=3,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='INVALID_IMAGE', index=4, number=4,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='WRONG_IMAGE_CHECKSUM', index=5, number=5,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=583,
+  serialized_end=727,
+)
+_sym_db.RegisterEnumDescriptor(_IMAGESTATUS_REASON)
+
+
+_IMAGEVERSION = _descriptor.Descriptor(
+  name='ImageVersion',
+  full_name='dmi.ImageVersion',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='image_name', full_name='dmi.ImageVersion.image_name', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='version', full_name='dmi.ImageVersion.version', index=1,
+      number=2, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=46,
+  serialized_end=97,
+)
+
+
+_IMAGEINFORMATION = _descriptor.Descriptor(
+  name='ImageInformation',
+  full_name='dmi.ImageInformation',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='image', full_name='dmi.ImageInformation.image', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='image_install_script', full_name='dmi.ImageInformation.image_install_script', index=1,
+      number=2, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='image_url', full_name='dmi.ImageInformation.image_url', index=2,
+      number=3, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='sha256sum', full_name='dmi.ImageInformation.sha256sum', index=3,
+      number=5, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=99,
+  serialized_end=219,
+)
+
+
+_IMAGESTATUS = _descriptor.Descriptor(
+  name='ImageStatus',
+  full_name='dmi.ImageStatus',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='status', full_name='dmi.ImageStatus.status', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='reason', full_name='dmi.ImageStatus.reason', index=1,
+      number=2, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='state', full_name='dmi.ImageStatus.state', index=2,
+      number=3, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='description', full_name='dmi.ImageStatus.description', index=3,
+      number=4, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+    _IMAGESTATUS_IMAGESTATE,
+    _IMAGESTATUS_REASON,
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=222,
+  serialized_end=727,
+)
+
+_IMAGEINFORMATION.fields_by_name['image'].message_type = _IMAGEVERSION
+_IMAGESTATUS.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
+_IMAGESTATUS.fields_by_name['reason'].enum_type = _IMAGESTATUS_REASON
+_IMAGESTATUS.fields_by_name['state'].enum_type = _IMAGESTATUS_IMAGESTATE
+_IMAGESTATUS_IMAGESTATE.containing_type = _IMAGESTATUS
+_IMAGESTATUS_REASON.containing_type = _IMAGESTATUS
+DESCRIPTOR.message_types_by_name['ImageVersion'] = _IMAGEVERSION
+DESCRIPTOR.message_types_by_name['ImageInformation'] = _IMAGEINFORMATION
+DESCRIPTOR.message_types_by_name['ImageStatus'] = _IMAGESTATUS
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+ImageVersion = _reflection.GeneratedProtocolMessageType('ImageVersion', (_message.Message,), dict(
+  DESCRIPTOR = _IMAGEVERSION,
+  __module__ = 'dmi.sw_image_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.ImageVersion)
+  ))
+_sym_db.RegisterMessage(ImageVersion)
+
+ImageInformation = _reflection.GeneratedProtocolMessageType('ImageInformation', (_message.Message,), dict(
+  DESCRIPTOR = _IMAGEINFORMATION,
+  __module__ = 'dmi.sw_image_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.ImageInformation)
+  ))
+_sym_db.RegisterMessage(ImageInformation)
+
+ImageStatus = _reflection.GeneratedProtocolMessageType('ImageStatus', (_message.Message,), dict(
+  DESCRIPTOR = _IMAGESTATUS,
+  __module__ = 'dmi.sw_image_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.ImageStatus)
+  ))
+_sym_db.RegisterMessage(ImageStatus)
+
+
+DESCRIPTOR._options = None
+# @@protoc_insertion_point(module_scope)
diff --git a/python/dmi/sw_management_service_pb2.py b/python/dmi/sw_management_service_pb2.py
new file mode 100644
index 0000000..d9637b6
--- /dev/null
+++ b/python/dmi/sw_management_service_pb2.py
@@ -0,0 +1,182 @@
+# -*- coding: utf-8 -*-
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+# source: dmi/sw_management_service.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+from dmi import hw_pb2 as dmi_dot_hw__pb2
+from dmi import sw_image_pb2 as dmi_dot_sw__image__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+  name='dmi/sw_management_service.proto',
+  package='dmi',
+  syntax='proto3',
+  serialized_options=_b('Z9github.com/opencord/device-management-interface/v3/go/dmi'),
+  serialized_pb=_b('\n\x1f\x64mi/sw_management_service.proto\x12\x03\x64mi\x1a\x0c\x64mi/hw.proto\x1a\x12\x64mi/sw_image.proto\"u\n\x1aSoftwareVersionInformation\x12*\n\x0f\x61\x63tive_versions\x18\x01 \x03(\x0b\x32\x11.dmi.ImageVersion\x12+\n\x10standby_versions\x18\x02 \x03(\x0b\x32\x11.dmi.ImageVersion\"a\n\x14\x44ownloadImageRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12)\n\nimage_info\x18\x02 \x01(\x0b\x32\x15.dmi.ImageInformation2\x9c\x02\n\x1fNativeSoftwareManagementService\x12\x46\n\x12GetSoftwareVersion\x12\x0f.dmi.HardwareID\x1a\x1f.dmi.SoftwareVersionInformation\x12>\n\rDownloadImage\x12\x19.dmi.DownloadImageRequest\x1a\x10.dmi.ImageStatus0\x01\x12\x34\n\rActivateImage\x12\x0f.dmi.HardwareID\x1a\x10.dmi.ImageStatus0\x01\x12;\n\x14RevertToStandbyImage\x12\x0f.dmi.HardwareID\x1a\x10.dmi.ImageStatus0\x01\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
+  ,
+  dependencies=[dmi_dot_hw__pb2.DESCRIPTOR,dmi_dot_sw__image__pb2.DESCRIPTOR,])
+
+
+
+
+_SOFTWAREVERSIONINFORMATION = _descriptor.Descriptor(
+  name='SoftwareVersionInformation',
+  full_name='dmi.SoftwareVersionInformation',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='active_versions', full_name='dmi.SoftwareVersionInformation.active_versions', index=0,
+      number=1, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='standby_versions', full_name='dmi.SoftwareVersionInformation.standby_versions', index=1,
+      number=2, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=74,
+  serialized_end=191,
+)
+
+
+_DOWNLOADIMAGEREQUEST = _descriptor.Descriptor(
+  name='DownloadImageRequest',
+  full_name='dmi.DownloadImageRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='device_uuid', full_name='dmi.DownloadImageRequest.device_uuid', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='image_info', full_name='dmi.DownloadImageRequest.image_info', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=193,
+  serialized_end=290,
+)
+
+_SOFTWAREVERSIONINFORMATION.fields_by_name['active_versions'].message_type = dmi_dot_sw__image__pb2._IMAGEVERSION
+_SOFTWAREVERSIONINFORMATION.fields_by_name['standby_versions'].message_type = dmi_dot_sw__image__pb2._IMAGEVERSION
+_DOWNLOADIMAGEREQUEST.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
+_DOWNLOADIMAGEREQUEST.fields_by_name['image_info'].message_type = dmi_dot_sw__image__pb2._IMAGEINFORMATION
+DESCRIPTOR.message_types_by_name['SoftwareVersionInformation'] = _SOFTWAREVERSIONINFORMATION
+DESCRIPTOR.message_types_by_name['DownloadImageRequest'] = _DOWNLOADIMAGEREQUEST
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+SoftwareVersionInformation = _reflection.GeneratedProtocolMessageType('SoftwareVersionInformation', (_message.Message,), dict(
+  DESCRIPTOR = _SOFTWAREVERSIONINFORMATION,
+  __module__ = 'dmi.sw_management_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.SoftwareVersionInformation)
+  ))
+_sym_db.RegisterMessage(SoftwareVersionInformation)
+
+DownloadImageRequest = _reflection.GeneratedProtocolMessageType('DownloadImageRequest', (_message.Message,), dict(
+  DESCRIPTOR = _DOWNLOADIMAGEREQUEST,
+  __module__ = 'dmi.sw_management_service_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.DownloadImageRequest)
+  ))
+_sym_db.RegisterMessage(DownloadImageRequest)
+
+
+DESCRIPTOR._options = None
+
+_NATIVESOFTWAREMANAGEMENTSERVICE = _descriptor.ServiceDescriptor(
+  name='NativeSoftwareManagementService',
+  full_name='dmi.NativeSoftwareManagementService',
+  file=DESCRIPTOR,
+  index=0,
+  serialized_options=None,
+  serialized_start=293,
+  serialized_end=577,
+  methods=[
+  _descriptor.MethodDescriptor(
+    name='GetSoftwareVersion',
+    full_name='dmi.NativeSoftwareManagementService.GetSoftwareVersion',
+    index=0,
+    containing_service=None,
+    input_type=dmi_dot_hw__pb2._HARDWAREID,
+    output_type=_SOFTWAREVERSIONINFORMATION,
+    serialized_options=None,
+  ),
+  _descriptor.MethodDescriptor(
+    name='DownloadImage',
+    full_name='dmi.NativeSoftwareManagementService.DownloadImage',
+    index=1,
+    containing_service=None,
+    input_type=_DOWNLOADIMAGEREQUEST,
+    output_type=dmi_dot_sw__image__pb2._IMAGESTATUS,
+    serialized_options=None,
+  ),
+  _descriptor.MethodDescriptor(
+    name='ActivateImage',
+    full_name='dmi.NativeSoftwareManagementService.ActivateImage',
+    index=2,
+    containing_service=None,
+    input_type=dmi_dot_hw__pb2._HARDWAREID,
+    output_type=dmi_dot_sw__image__pb2._IMAGESTATUS,
+    serialized_options=None,
+  ),
+  _descriptor.MethodDescriptor(
+    name='RevertToStandbyImage',
+    full_name='dmi.NativeSoftwareManagementService.RevertToStandbyImage',
+    index=3,
+    containing_service=None,
+    input_type=dmi_dot_hw__pb2._HARDWAREID,
+    output_type=dmi_dot_sw__image__pb2._IMAGESTATUS,
+    serialized_options=None,
+  ),
+])
+_sym_db.RegisterServiceDescriptor(_NATIVESOFTWAREMANAGEMENTSERVICE)
+
+DESCRIPTOR.services_by_name['NativeSoftwareManagementService'] = _NATIVESOFTWAREMANAGEMENTSERVICE
+
+# @@protoc_insertion_point(module_scope)
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..de91cad
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,44 @@
+# Copyright 2019-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from setuptools import setup, find_packages
+
+
+def version():
+    with open('VERSION') as f:
+        return f.read()
+
+
+setup(
+    name='device-management-interface',
+    version=version(),
+    description='Protobuf interface definitions',
+    author='VOLTHA project',
+    author_email='voltha-dev@opencord.org',
+    url='https://otti@gerrit.opencord.org/a/device-management-interface',
+    license='Apache Software License',
+    classifiers=[
+        'Development Status :: 5 - Production/Stable',
+        'Intended Audience :: Developers',
+        'License :: OSI Approved :: Apache Software License',
+        'Programming Language :: Python :: 3.6',
+    ],
+    keywords='protobuf voltha',
+    packages = find_packages(where="python"),
+    package_dir = {"": "python"},
+    install_requires = [
+        "googleapis-common-protos~=1.5.6"
+    ],
+    include_package_data=True,
+)
diff --git a/test/test-python-proto-consistency.sh b/test/test-python-proto-consistency.sh
new file mode 100755
index 0000000..b938b01
--- /dev/null
+++ b/test/test-python-proto-consistency.sh
@@ -0,0 +1,52 @@
+#!/usr/bin/env bash
+
+# Copyright 2020-present Open Networking Foundation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# test-python-proto-consistency.sh
+#
+# This test validates that go proto outputs are committed to git.  It does this
+# by regenerating them and validating whether git thinks they are the same. If
+# they become out of sync, there can be problems for consumers of the protos.
+
+set -eu -o pipefail
+
+git status > /dev/null
+STAGED="$(git diff-index --quiet HEAD -- || echo 'staged')"
+UNTRACKED="$(git ls-files --exclude-standard --others)"
+
+if [ "$STAGED" == "staged" ] || [ "$UNTRACKED" != "" ]; then
+    echo "Please commit or ignore local changes before executing this test"
+    git status
+    exit 1
+fi
+
+# delete and regenerate python protos
+rm -rf python/dmi.pb2 python/*/*.pb2.py python_temp
+make python-protos
+
+# Running git status ensures correct git diff-index picks up changes
+git status > /dev/null
+STAGED_POST="$(git diff-index --quiet HEAD -- || echo "staged")"
+UNTRACKED_POST="$(git ls-files --exclude-standard --others)"
+
+if [ "$STAGED_POST" == "staged" ] || [ "$UNTRACKED_POST" != "" ] ; then
+    echo "You have python proto build outputs that are not committed."
+    echo "Check git status and commit updated files."
+    git status
+    exit 1
+else
+    echo "Test successful. All python proto build outputs are committed"
+    exit 0
+fi
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000..a91211e
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,31 @@
+
+
+; Copyright 2019-present Open Networking Foundation
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+[tox]
+envlist = py34,py35,py36,py37
+skip_missing_interpreters = true
+
+[testenv]
+deps =
+  coverage
+
+commands =
+  coverage report python/dmi/commons_pb2.py python/dmi/hw_management_service_pb2.py python/dmi/hw_pb2.py python/dmi/sw_management_service_pb2.py python/dmi/hw_events_mgmt_service_pb2.py python/dmi/hw_metrics_mgmt_service_pb2.py python/dmi/sw_image_pb2.py
+
+[flake8]
+max-line-length = 119
+
+
