diff --git a/VERSION b/VERSION
index 1cac385..0eed1a2 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.11.0
+1.12.0
diff --git a/cpp/dmi/hw_events_mgmt_service.pb.cc b/cpp/dmi/hw_events_mgmt_service.pb.cc
index ec75e95..e40c318 100644
--- a/cpp/dmi/hw_events_mgmt_service.pb.cc
+++ b/cpp/dmi/hw_events_mgmt_service.pb.cc
@@ -18,11 +18,11 @@
 
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Uuid_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_ValueType_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_EventCfg_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_EventMetaData_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_EventsCfg_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_Thresholds_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_WaterMarks_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto;
+extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_EventCfg_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_ThresholdInformation_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2ftimestamp_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto;
 namespace dmi {
@@ -149,9 +149,10 @@
   ::dmi::EventCfg::InitAsDefaultInstance();
 }
 
-::google::protobuf::internal::SCCInfo<1> scc_info_EventCfg_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsEventCfg_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto}, {
-      &scc_info_Thresholds_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto.base,}};
+::google::protobuf::internal::SCCInfo<2> scc_info_EventCfg_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsEventCfg_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto}, {
+      &scc_info_Thresholds_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto.base,
+      &scc_info_Uuid_dmi_2fhw_2eproto.base,}};
 
 static void InitDefaultsEventsCfg_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
@@ -304,6 +305,7 @@
   PROTOBUF_FIELD_OFFSET(::dmi::EventCfg, event_id_),
   PROTOBUF_FIELD_OFFSET(::dmi::EventCfg, is_configured_),
   PROTOBUF_FIELD_OFFSET(::dmi::EventCfg, thresholds_),
+  PROTOBUF_FIELD_OFFSET(::dmi::EventCfg, component_uuid_),
   ~0u,  // no _has_bits_
   PROTOBUF_FIELD_OFFSET(::dmi::EventsCfg, _internal_metadata_),
   ~0u,  // no _extensions_
@@ -327,7 +329,6 @@
   PROTOBUF_FIELD_OFFSET(::dmi::EventsConfigurationRequest, device_uuid_),
   offsetof(::dmi::EventsConfigurationRequestDefaultTypeInternal, changes_),
   offsetof(::dmi::EventsConfigurationRequestDefaultTypeInternal, reset_to_default_),
-  PROTOBUF_FIELD_OFFSET(::dmi::EventsConfigurationRequest, component_uuid_),
   PROTOBUF_FIELD_OFFSET(::dmi::EventsConfigurationRequest, operation_),
   ~0u,  // no _has_bits_
   PROTOBUF_FIELD_OFFSET(::dmi::EventsConfigurationResponse, _internal_metadata_),
@@ -362,9 +363,9 @@
   { 17, -1, sizeof(::dmi::Thresholds)},
   { 25, -1, sizeof(::dmi::ThresholdInformation)},
   { 32, -1, sizeof(::dmi::EventCfg)},
-  { 40, -1, sizeof(::dmi::EventsCfg)},
-  { 46, -1, sizeof(::dmi::ListEventsResponse)},
-  { 55, -1, sizeof(::dmi::EventsConfigurationRequest)},
+  { 41, -1, sizeof(::dmi::EventsCfg)},
+  { 47, -1, sizeof(::dmi::ListEventsResponse)},
+  { 56, -1, sizeof(::dmi::EventsConfigurationRequest)},
   { 65, -1, sizeof(::dmi::EventsConfigurationResponse)},
   { 73, -1, sizeof(::dmi::EventMetaData)},
   { 81, -1, sizeof(::dmi::Event)},
@@ -404,99 +405,99 @@
   "rMarksH\000B\013\n\tthreshold\"c\n\024ThresholdInform"
   "ation\022&\n\016observed_value\030\001 \001(\0132\016.dmi.Valu"
   "eType\022#\n\nthresholds\030\002 \001(\0132\017.dmi.Threshol"
-  "ds\"g\n\010EventCfg\022\037\n\010event_id\030\001 \001(\0162\r.dmi.E"
-  "ventIds\022\025\n\ris_configured\030\002 \001(\010\022#\n\nthresh"
-  "olds\030\003 \001(\0132\017.dmi.Thresholds\")\n\tEventsCfg"
-  "\022\034\n\005items\030\001 \003(\0132\r.dmi.EventCfg\"\370\001\n\022ListE"
-  "ventsResponse\022\033\n\006status\030\001 \001(\0162\013.dmi.Stat"
-  "us\022.\n\006reason\030\002 \001(\0162\036.dmi.ListEventsRespo"
-  "nse.Reason\022\036\n\006events\030\003 \001(\0132\016.dmi.EventsC"
-  "fg\022\025\n\rreason_detail\030\004 \001(\t\"^\n\006Reason\022\024\n\020U"
-  "NDEFINED_REASON\020\000\022\022\n\016UNKNOWN_DEVICE\020\001\022\022\n"
-  "\016INTERNAL_ERROR\020\002\022\026\n\022DEVICE_UNREACHABLE\020"
-  "\003\"\253\001\n\032EventsConfigurationRequest\022\036\n\013devi"
-  "ce_uuid\030\001 \001(\0132\t.dmi.Uuid\022!\n\007changes\030\002 \001("
-  "\0132\016.dmi.EventsCfgH\000\022\032\n\020reset_to_default\030"
-  "\003 \001(\010H\000\022!\n\016component_uuid\030\004 \001(\0132\t.dmi.Uu"
-  "idB\013\n\toperation\"\376\001\n\033EventsConfigurationR"
-  "esponse\022\033\n\006status\030\001 \001(\0162\013.dmi.Status\0227\n\006"
-  "reason\030\002 \001(\0162\'.dmi.EventsConfigurationRe"
-  "sponse.Reason\022\025\n\rreason_detail\030\003 \001(\t\"r\n\006"
-  "Reason\022\024\n\020UNDEFINED_REASON\020\000\022\022\n\016UNKNOWN_"
-  "DEVICE\020\001\022\022\n\016INTERNAL_ERROR\020\002\022\022\n\016INVALID_"
-  "CONFIG\020\003\022\026\n\022DEVICE_UNREACHABLE\020\004\"j\n\rEven"
-  "tMetaData\022\036\n\013device_uuid\030\001 \001(\0132\t.dmi.Uui"
-  "d\022!\n\016component_uuid\030\002 \001(\0132\t.dmi.Uuid\022\026\n\016"
-  "component_name\030\003 \001(\t\"\310\001\n\005Event\022*\n\016event_"
-  "metadata\030\001 \001(\0132\022.dmi.EventMetaData\022\037\n\010ev"
-  "ent_id\030\002 \001(\0162\r.dmi.EventIds\022-\n\traised_ts"
-  "\030\003 \001(\0132\032.google.protobuf.Timestamp\0221\n\016th"
-  "reshold_info\030\004 \001(\0132\031.dmi.ThresholdInform"
-  "ation\022\020\n\010add_info\030\005 \001(\t*\202\020\n\010EventIds\022\030\n\024"
-  "EVENT_NAME_UNDEFINED\020\000\022\036\n\032EVENT_TRANSCEI"
-  "VER_PLUG_OUT\020d\022\035\n\031EVENT_TRANSCEIVER_PLUG"
-  "_IN\020e\022-\n)EVENT_TRANSCEIVER_VOLTAGE_ABOVE"
-  "_THRESHOLD\020f\022-\n)EVENT_TRANSCEIVER_VOLTAG"
-  "E_BELOW_THRESHOLD\020g\0221\n-EVENT_TRANSCEIVER"
-  "_TEMPERATURE_ABOVE_THRESHOLD\020h\0221\n-EVENT_"
-  "TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD\020"
-  "i\022-\n)EVENT_TRANSCEIVER_CURRENT_ABOVE_THR"
-  "ESHOLD\020j\022-\n)EVENT_TRANSCEIVER_CURRENT_BE"
-  "LOW_THRESHOLD\020k\022.\n*EVENT_TRANSCEIVER_RX_"
-  "POWER_ABOVE_THRESHOLD\020l\022.\n*EVENT_TRANSCE"
-  "IVER_RX_POWER_BELOW_THRESHOLD\020m\022.\n*EVENT"
-  "_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD\020n\022"
-  ".\n*EVENT_TRANSCEIVER_TX_POWER_BELOW_THRE"
-  "SHOLD\020o\022\035\n\031EVENT_TRANSCEIVER_FAILURE\020p\0227"
-  "\n3EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESH"
-  "OLD_RECOVERED\020q\0227\n3EVENT_TRANSCEIVER_VOL"
-  "TAGE_BELOW_THRESHOLD_RECOVERED\020r\022;\n7EVEN"
-  "T_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOL"
-  "D_RECOVERED\020s\022;\n7EVENT_TRANSCEIVER_TEMPE"
-  "RATURE_BELOW_THRESHOLD_RECOVERED\020t\0227\n3EV"
-  "ENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_"
-  "RECOVERED\020u\0227\n3EVENT_TRANSCEIVER_CURRENT"
-  "_BELOW_THRESHOLD_RECOVERED\020v\0228\n4EVENT_TR"
-  "ANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOV"
-  "ERED\020w\0228\n4EVENT_TRANSCEIVER_RX_POWER_BEL"
-  "OW_THRESHOLD_RECOVERED\020x\0228\n4EVENT_TRANSC"
-  "EIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED"
-  "\020y\0228\n4EVENT_TRANSCEIVER_TX_POWER_BELOW_T"
-  "HRESHOLD_RECOVERED\020z\022\'\n#EVENT_TRANSCEIVE"
-  "R_FAILURE_RECOVERED\020{\022\027\n\022EVENT_PSU_PLUG_"
-  "OUT\020\310\001\022\026\n\021EVENT_PSU_PLUG_IN\020\311\001\022\026\n\021EVENT_"
-  "PSU_FAILURE\020\312\001\022 \n\033EVENT_PSU_FAILURE_RECO"
-  "VERED\020\313\001\022\026\n\021EVENT_FAN_FAILURE\020\254\002\022\027\n\022EVEN"
-  "T_FAN_PLUG_OUT\020\255\002\022\026\n\021EVENT_FAN_PLUG_IN\020\256"
-  "\002\022 \n\033EVENT_FAN_FAILURE_RECOVERED\020\257\002\022)\n$E"
-  "VENT_CPU_TEMPERATURE_ABOVE_CRITICAL\020\220\003\022&"
-  "\n!EVENT_CPU_TEMPERATURE_ABOVE_FATAL\020\221\003\0223"
-  "\n.EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_R"
-  "ECOVERED\020\222\003\0220\n+EVENT_CPU_TEMPERATURE_ABO"
-  "VE_FATAL_RECOVERED\020\223\003\022\032\n\025EVENT_HW_DEVICE"
-  "_RESET\020\364\003\022/\n*EVENT_HW_DEVICE_TEMPERATURE"
-  "_ABOVE_CRITICAL\020\365\003\022,\n\'EVENT_HW_DEVICE_TE"
-  "MPERATURE_ABOVE_FATAL\020\366\003\0229\n4EVENT_HW_DEV"
-  "ICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED"
-  "\020\367\003\0226\n1EVENT_HW_DEVICE_TEMPERATURE_ABOVE"
-  "_FATAL_RECOVERED\020\370\003\022\033\n\026EVENT_HW_DEVICE_R"
-  "EBOOT\020\371\003\022\'\n\"EVENT_HW_TEMPERATURE_SENSOR_"
-  "FAILED\020\372\003\022,\n\'EVENT_HW_ALL_TEMPERATURE_SE"
-  "NSORS_FAILED\020\373\003\022\035\n\030EVENT_LINE_CARD_PLUG_"
-  "OUT\020\330\004\022\034\n\027EVENT_LINE_CARD_PLUG_IN\020\331\0042\355\001\n"
-  "\035NativeEventsManagementService\0226\n\nListEv"
-  "ents\022\017.dmi.HardwareID\032\027.dmi.ListEventsRe"
-  "sponse\022^\n\031UpdateEventsConfiguration\022\037.dm"
-  "i.EventsConfigurationRequest\032 .dmi.Event"
-  "sConfigurationResponse\0224\n\014StreamEvents\022\026"
-  ".google.protobuf.Empty\032\n.dmi.Event0\001B;Z9"
-  "github.com/opencord/device-management-in"
-  "terface/v3/go/dmib\006proto3"
+  "ds\"\212\001\n\010EventCfg\022\037\n\010event_id\030\001 \001(\0162\r.dmi."
+  "EventIds\022\025\n\ris_configured\030\002 \001(\010\022#\n\nthres"
+  "holds\030\003 \001(\0132\017.dmi.Thresholds\022!\n\016componen"
+  "t_uuid\030\004 \001(\0132\t.dmi.Uuid\")\n\tEventsCfg\022\034\n\005"
+  "items\030\001 \003(\0132\r.dmi.EventCfg\"\370\001\n\022ListEvent"
+  "sResponse\022\033\n\006status\030\001 \001(\0162\013.dmi.Status\022."
+  "\n\006reason\030\002 \001(\0162\036.dmi.ListEventsResponse."
+  "Reason\022\036\n\006events\030\003 \001(\0132\016.dmi.EventsCfg\022\025"
+  "\n\rreason_detail\030\004 \001(\t\"^\n\006Reason\022\024\n\020UNDEF"
+  "INED_REASON\020\000\022\022\n\016UNKNOWN_DEVICE\020\001\022\022\n\016INT"
+  "ERNAL_ERROR\020\002\022\026\n\022DEVICE_UNREACHABLE\020\003\"\210\001"
+  "\n\032EventsConfigurationRequest\022\036\n\013device_u"
+  "uid\030\001 \001(\0132\t.dmi.Uuid\022!\n\007changes\030\002 \001(\0132\016."
+  "dmi.EventsCfgH\000\022\032\n\020reset_to_default\030\003 \001("
+  "\010H\000B\013\n\toperation\"\376\001\n\033EventsConfiguration"
+  "Response\022\033\n\006status\030\001 \001(\0162\013.dmi.Status\0227\n"
+  "\006reason\030\002 \001(\0162\'.dmi.EventsConfigurationR"
+  "esponse.Reason\022\025\n\rreason_detail\030\003 \001(\t\"r\n"
+  "\006Reason\022\024\n\020UNDEFINED_REASON\020\000\022\022\n\016UNKNOWN"
+  "_DEVICE\020\001\022\022\n\016INTERNAL_ERROR\020\002\022\022\n\016INVALID"
+  "_CONFIG\020\003\022\026\n\022DEVICE_UNREACHABLE\020\004\"j\n\rEve"
+  "ntMetaData\022\036\n\013device_uuid\030\001 \001(\0132\t.dmi.Uu"
+  "id\022!\n\016component_uuid\030\002 \001(\0132\t.dmi.Uuid\022\026\n"
+  "\016component_name\030\003 \001(\t\"\310\001\n\005Event\022*\n\016event"
+  "_metadata\030\001 \001(\0132\022.dmi.EventMetaData\022\037\n\010e"
+  "vent_id\030\002 \001(\0162\r.dmi.EventIds\022-\n\traised_t"
+  "s\030\003 \001(\0132\032.google.protobuf.Timestamp\0221\n\016t"
+  "hreshold_info\030\004 \001(\0132\031.dmi.ThresholdInfor"
+  "mation\022\020\n\010add_info\030\005 \001(\t*\202\020\n\010EventIds\022\030\n"
+  "\024EVENT_NAME_UNDEFINED\020\000\022\036\n\032EVENT_TRANSCE"
+  "IVER_PLUG_OUT\020d\022\035\n\031EVENT_TRANSCEIVER_PLU"
+  "G_IN\020e\022-\n)EVENT_TRANSCEIVER_VOLTAGE_ABOV"
+  "E_THRESHOLD\020f\022-\n)EVENT_TRANSCEIVER_VOLTA"
+  "GE_BELOW_THRESHOLD\020g\0221\n-EVENT_TRANSCEIVE"
+  "R_TEMPERATURE_ABOVE_THRESHOLD\020h\0221\n-EVENT"
+  "_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD"
+  "\020i\022-\n)EVENT_TRANSCEIVER_CURRENT_ABOVE_TH"
+  "RESHOLD\020j\022-\n)EVENT_TRANSCEIVER_CURRENT_B"
+  "ELOW_THRESHOLD\020k\022.\n*EVENT_TRANSCEIVER_RX"
+  "_POWER_ABOVE_THRESHOLD\020l\022.\n*EVENT_TRANSC"
+  "EIVER_RX_POWER_BELOW_THRESHOLD\020m\022.\n*EVEN"
+  "T_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD\020n"
+  "\022.\n*EVENT_TRANSCEIVER_TX_POWER_BELOW_THR"
+  "ESHOLD\020o\022\035\n\031EVENT_TRANSCEIVER_FAILURE\020p\022"
+  "7\n3EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRES"
+  "HOLD_RECOVERED\020q\0227\n3EVENT_TRANSCEIVER_VO"
+  "LTAGE_BELOW_THRESHOLD_RECOVERED\020r\022;\n7EVE"
+  "NT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHO"
+  "LD_RECOVERED\020s\022;\n7EVENT_TRANSCEIVER_TEMP"
+  "ERATURE_BELOW_THRESHOLD_RECOVERED\020t\0227\n3E"
+  "VENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD"
+  "_RECOVERED\020u\0227\n3EVENT_TRANSCEIVER_CURREN"
+  "T_BELOW_THRESHOLD_RECOVERED\020v\0228\n4EVENT_T"
+  "RANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECO"
+  "VERED\020w\0228\n4EVENT_TRANSCEIVER_RX_POWER_BE"
+  "LOW_THRESHOLD_RECOVERED\020x\0228\n4EVENT_TRANS"
+  "CEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERE"
+  "D\020y\0228\n4EVENT_TRANSCEIVER_TX_POWER_BELOW_"
+  "THRESHOLD_RECOVERED\020z\022\'\n#EVENT_TRANSCEIV"
+  "ER_FAILURE_RECOVERED\020{\022\027\n\022EVENT_PSU_PLUG"
+  "_OUT\020\310\001\022\026\n\021EVENT_PSU_PLUG_IN\020\311\001\022\026\n\021EVENT"
+  "_PSU_FAILURE\020\312\001\022 \n\033EVENT_PSU_FAILURE_REC"
+  "OVERED\020\313\001\022\026\n\021EVENT_FAN_FAILURE\020\254\002\022\027\n\022EVE"
+  "NT_FAN_PLUG_OUT\020\255\002\022\026\n\021EVENT_FAN_PLUG_IN\020"
+  "\256\002\022 \n\033EVENT_FAN_FAILURE_RECOVERED\020\257\002\022)\n$"
+  "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL\020\220\003\022"
+  "&\n!EVENT_CPU_TEMPERATURE_ABOVE_FATAL\020\221\003\022"
+  "3\n.EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_"
+  "RECOVERED\020\222\003\0220\n+EVENT_CPU_TEMPERATURE_AB"
+  "OVE_FATAL_RECOVERED\020\223\003\022\032\n\025EVENT_HW_DEVIC"
+  "E_RESET\020\364\003\022/\n*EVENT_HW_DEVICE_TEMPERATUR"
+  "E_ABOVE_CRITICAL\020\365\003\022,\n\'EVENT_HW_DEVICE_T"
+  "EMPERATURE_ABOVE_FATAL\020\366\003\0229\n4EVENT_HW_DE"
+  "VICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERE"
+  "D\020\367\003\0226\n1EVENT_HW_DEVICE_TEMPERATURE_ABOV"
+  "E_FATAL_RECOVERED\020\370\003\022\033\n\026EVENT_HW_DEVICE_"
+  "REBOOT\020\371\003\022\'\n\"EVENT_HW_TEMPERATURE_SENSOR"
+  "_FAILED\020\372\003\022,\n\'EVENT_HW_ALL_TEMPERATURE_S"
+  "ENSORS_FAILED\020\373\003\022\035\n\030EVENT_LINE_CARD_PLUG"
+  "_OUT\020\330\004\022\034\n\027EVENT_LINE_CARD_PLUG_IN\020\331\0042\355\001"
+  "\n\035NativeEventsManagementService\0226\n\nListE"
+  "vents\022\017.dmi.HardwareID\032\027.dmi.ListEventsR"
+  "esponse\022^\n\031UpdateEventsConfiguration\022\037.d"
+  "mi.EventsConfigurationRequest\032 .dmi.Even"
+  "tsConfigurationResponse\0224\n\014StreamEvents\022"
+  "\026.google.protobuf.Empty\032\n.dmi.Event0\001B;Z"
+  "9github.com/opencord/device-management-i"
+  "nterface/v3/go/dmib\006proto3"
   ;
 ::google::protobuf::internal::DescriptorTable descriptor_table_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto = {
   false, InitDefaults_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto, 
   descriptor_table_protodef_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto,
-  "dmi/hw_events_mgmt_service.proto", &assign_descriptors_table_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto, 4025,
+  "dmi/hw_events_mgmt_service.proto", &assign_descriptors_table_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto, 4026,
 };
 
 void AddDescriptors_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto() {
@@ -2201,20 +2202,34 @@
 void EventCfg::InitAsDefaultInstance() {
   ::dmi::_EventCfg_default_instance_._instance.get_mutable()->thresholds_ = const_cast< ::dmi::Thresholds*>(
       ::dmi::Thresholds::internal_default_instance());
+  ::dmi::_EventCfg_default_instance_._instance.get_mutable()->component_uuid_ = const_cast< ::dmi::Uuid*>(
+      ::dmi::Uuid::internal_default_instance());
 }
 class EventCfg::HasBitSetters {
  public:
   static const ::dmi::Thresholds& thresholds(const EventCfg* msg);
+  static const ::dmi::Uuid& component_uuid(const EventCfg* msg);
 };
 
 const ::dmi::Thresholds&
 EventCfg::HasBitSetters::thresholds(const EventCfg* msg) {
   return *msg->thresholds_;
 }
+const ::dmi::Uuid&
+EventCfg::HasBitSetters::component_uuid(const EventCfg* msg) {
+  return *msg->component_uuid_;
+}
+void EventCfg::clear_component_uuid() {
+  if (GetArenaNoVirtual() == nullptr && component_uuid_ != nullptr) {
+    delete component_uuid_;
+  }
+  component_uuid_ = nullptr;
+}
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int EventCfg::kEventIdFieldNumber;
 const int EventCfg::kIsConfiguredFieldNumber;
 const int EventCfg::kThresholdsFieldNumber;
+const int EventCfg::kComponentUuidFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 EventCfg::EventCfg()
@@ -2231,6 +2246,11 @@
   } else {
     thresholds_ = nullptr;
   }
+  if (from.has_component_uuid()) {
+    component_uuid_ = new ::dmi::Uuid(*from.component_uuid_);
+  } else {
+    component_uuid_ = nullptr;
+  }
   ::memcpy(&event_id_, &from.event_id_,
     static_cast<size_t>(reinterpret_cast<char*>(&is_configured_) -
     reinterpret_cast<char*>(&event_id_)) + sizeof(is_configured_));
@@ -2252,6 +2272,7 @@
 
 void EventCfg::SharedDtor() {
   if (this != internal_default_instance()) delete thresholds_;
+  if (this != internal_default_instance()) delete component_uuid_;
 }
 
 void EventCfg::SetCachedSize(int size) const {
@@ -2273,6 +2294,10 @@
     delete thresholds_;
   }
   thresholds_ = nullptr;
+  if (GetArenaNoVirtual() == nullptr && component_uuid_ != nullptr) {
+    delete component_uuid_;
+  }
+  component_uuid_ = nullptr;
   ::memset(&event_id_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&is_configured_) -
       reinterpret_cast<char*>(&event_id_)) + sizeof(is_configured_));
@@ -2320,6 +2345,19 @@
             {parser_till_end, object}, ptr - size, ptr));
         break;
       }
+      // .dmi.Uuid component_uuid = 4;
+      case 4: {
+        if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual;
+        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
+        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
+        parser_till_end = ::dmi::Uuid::_InternalParse;
+        object = msg->mutable_component_uuid();
+        if (size > end - ptr) goto len_delim_till_end;
+        ptr += size;
+        GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange(
+            {parser_till_end, object}, ptr - size, ptr));
+        break;
+      }
       default: {
       handle_unusual:
         if ((tag & 7) == 4 || tag == 0) {
@@ -2388,6 +2426,17 @@
         break;
       }
 
+      // .dmi.Uuid component_uuid = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_component_uuid()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
       default: {
       handle_unusual:
         if (tag == 0) {
@@ -2432,6 +2481,12 @@
       3, HasBitSetters::thresholds(this), output);
   }
 
+  // .dmi.Uuid component_uuid = 4;
+  if (this->has_component_uuid()) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      4, HasBitSetters::component_uuid(this), output);
+  }
+
   if (_internal_metadata_.have_unknown_fields()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
         _internal_metadata_.unknown_fields(), output);
@@ -2463,6 +2518,13 @@
         3, HasBitSetters::thresholds(this), target);
   }
 
+  // .dmi.Uuid component_uuid = 4;
+  if (this->has_component_uuid()) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        4, HasBitSetters::component_uuid(this), target);
+  }
+
   if (_internal_metadata_.have_unknown_fields()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
         _internal_metadata_.unknown_fields(), target);
@@ -2491,6 +2553,13 @@
         *thresholds_);
   }
 
+  // .dmi.Uuid component_uuid = 4;
+  if (this->has_component_uuid()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::MessageSize(
+        *component_uuid_);
+  }
+
   // .dmi.EventIds event_id = 1;
   if (this->event_id() != 0) {
     total_size += 1 +
@@ -2532,6 +2601,9 @@
   if (from.has_thresholds()) {
     mutable_thresholds()->::dmi::Thresholds::MergeFrom(from.thresholds());
   }
+  if (from.has_component_uuid()) {
+    mutable_component_uuid()->::dmi::Uuid::MergeFrom(from.component_uuid());
+  }
   if (from.event_id() != 0) {
     set_event_id(from.event_id());
   }
@@ -2566,6 +2638,7 @@
   using std::swap;
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(thresholds_, other->thresholds_);
+  swap(component_uuid_, other->component_uuid_);
   swap(event_id_, other->event_id_);
   swap(is_configured_, other->is_configured_);
 }
@@ -3326,14 +3399,11 @@
   ::dmi::_EventsConfigurationRequest_default_instance_.changes_ = const_cast< ::dmi::EventsCfg*>(
       ::dmi::EventsCfg::internal_default_instance());
   ::dmi::_EventsConfigurationRequest_default_instance_.reset_to_default_ = false;
-  ::dmi::_EventsConfigurationRequest_default_instance_._instance.get_mutable()->component_uuid_ = const_cast< ::dmi::Uuid*>(
-      ::dmi::Uuid::internal_default_instance());
 }
 class EventsConfigurationRequest::HasBitSetters {
  public:
   static const ::dmi::Uuid& device_uuid(const EventsConfigurationRequest* msg);
   static const ::dmi::EventsCfg& changes(const EventsConfigurationRequest* msg);
-  static const ::dmi::Uuid& component_uuid(const EventsConfigurationRequest* msg);
 };
 
 const ::dmi::Uuid&
@@ -3344,10 +3414,6 @@
 EventsConfigurationRequest::HasBitSetters::changes(const EventsConfigurationRequest* msg) {
   return *msg->operation_.changes_;
 }
-const ::dmi::Uuid&
-EventsConfigurationRequest::HasBitSetters::component_uuid(const EventsConfigurationRequest* msg) {
-  return *msg->component_uuid_;
-}
 void EventsConfigurationRequest::clear_device_uuid() {
   if (GetArenaNoVirtual() == nullptr && device_uuid_ != nullptr) {
     delete device_uuid_;
@@ -3368,17 +3434,10 @@
   }
   // @@protoc_insertion_point(field_set_allocated:dmi.EventsConfigurationRequest.changes)
 }
-void EventsConfigurationRequest::clear_component_uuid() {
-  if (GetArenaNoVirtual() == nullptr && component_uuid_ != nullptr) {
-    delete component_uuid_;
-  }
-  component_uuid_ = nullptr;
-}
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int EventsConfigurationRequest::kDeviceUuidFieldNumber;
 const int EventsConfigurationRequest::kChangesFieldNumber;
 const int EventsConfigurationRequest::kResetToDefaultFieldNumber;
-const int EventsConfigurationRequest::kComponentUuidFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 EventsConfigurationRequest::EventsConfigurationRequest()
@@ -3395,11 +3454,6 @@
   } else {
     device_uuid_ = nullptr;
   }
-  if (from.has_component_uuid()) {
-    component_uuid_ = new ::dmi::Uuid(*from.component_uuid_);
-  } else {
-    component_uuid_ = nullptr;
-  }
   clear_has_operation();
   switch (from.operation_case()) {
     case kChanges: {
@@ -3420,9 +3474,7 @@
 void EventsConfigurationRequest::SharedCtor() {
   ::google::protobuf::internal::InitSCC(
       &scc_info_EventsConfigurationRequest_dmi_2fhw_5fevents_5fmgmt_5fservice_2eproto.base);
-  ::memset(&device_uuid_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&component_uuid_) -
-      reinterpret_cast<char*>(&device_uuid_)) + sizeof(component_uuid_));
+  device_uuid_ = nullptr;
   clear_has_operation();
 }
 
@@ -3433,7 +3485,6 @@
 
 void EventsConfigurationRequest::SharedDtor() {
   if (this != internal_default_instance()) delete device_uuid_;
-  if (this != internal_default_instance()) delete component_uuid_;
   if (has_operation()) {
     clear_operation();
   }
@@ -3477,10 +3528,6 @@
     delete device_uuid_;
   }
   device_uuid_ = nullptr;
-  if (GetArenaNoVirtual() == nullptr && component_uuid_ != nullptr) {
-    delete component_uuid_;
-  }
-  component_uuid_ = nullptr;
   clear_operation();
   _internal_metadata_.Clear();
 }
@@ -3531,19 +3578,6 @@
         GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
         break;
       }
-      // .dmi.Uuid component_uuid = 4;
-      case 4: {
-        if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual;
-        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
-        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
-        parser_till_end = ::dmi::Uuid::_InternalParse;
-        object = msg->mutable_component_uuid();
-        if (size > end - ptr) goto len_delim_till_end;
-        ptr += size;
-        GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange(
-            {parser_till_end, object}, ptr - size, ptr));
-        break;
-      }
       default: {
       handle_unusual:
         if ((tag & 7) == 4 || tag == 0) {
@@ -3610,17 +3644,6 @@
         break;
       }
 
-      // .dmi.Uuid component_uuid = 4;
-      case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
-               input, mutable_component_uuid()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
       default: {
       handle_unusual:
         if (tag == 0) {
@@ -3665,12 +3688,6 @@
     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->reset_to_default(), output);
   }
 
-  // .dmi.Uuid component_uuid = 4;
-  if (this->has_component_uuid()) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      4, HasBitSetters::component_uuid(this), output);
-  }
-
   if (_internal_metadata_.have_unknown_fields()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
         _internal_metadata_.unknown_fields(), output);
@@ -3703,13 +3720,6 @@
     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->reset_to_default(), target);
   }
 
-  // .dmi.Uuid component_uuid = 4;
-  if (this->has_component_uuid()) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        4, HasBitSetters::component_uuid(this), target);
-  }
-
   if (_internal_metadata_.have_unknown_fields()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
         _internal_metadata_.unknown_fields(), target);
@@ -3738,13 +3748,6 @@
         *device_uuid_);
   }
 
-  // .dmi.Uuid component_uuid = 4;
-  if (this->has_component_uuid()) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::MessageSize(
-        *component_uuid_);
-  }
-
   switch (operation_case()) {
     // .dmi.EventsCfg changes = 2;
     case kChanges: {
@@ -3792,9 +3795,6 @@
   if (from.has_device_uuid()) {
     mutable_device_uuid()->::dmi::Uuid::MergeFrom(from.device_uuid());
   }
-  if (from.has_component_uuid()) {
-    mutable_component_uuid()->::dmi::Uuid::MergeFrom(from.component_uuid());
-  }
   switch (from.operation_case()) {
     case kChanges: {
       mutable_changes()->::dmi::EventsCfg::MergeFrom(from.changes());
@@ -3836,7 +3836,6 @@
   using std::swap;
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(device_uuid_, other->device_uuid_);
-  swap(component_uuid_, other->component_uuid_);
   swap(operation_, other->operation_);
   swap(_oneof_case_[0], other->_oneof_case_[0]);
 }
diff --git a/cpp/dmi/hw_events_mgmt_service.pb.h b/cpp/dmi/hw_events_mgmt_service.pb.h
index 62c840a..caacf28 100644
--- a/cpp/dmi/hw_events_mgmt_service.pb.h
+++ b/cpp/dmi/hw_events_mgmt_service.pb.h
@@ -879,6 +879,15 @@
   ::dmi::Thresholds* mutable_thresholds();
   void set_allocated_thresholds(::dmi::Thresholds* thresholds);
 
+  // .dmi.Uuid component_uuid = 4;
+  bool has_component_uuid() const;
+  void clear_component_uuid();
+  static const int kComponentUuidFieldNumber = 4;
+  const ::dmi::Uuid& component_uuid() const;
+  ::dmi::Uuid* release_component_uuid();
+  ::dmi::Uuid* mutable_component_uuid();
+  void set_allocated_component_uuid(::dmi::Uuid* component_uuid);
+
   // .dmi.EventIds event_id = 1;
   void clear_event_id();
   static const int kEventIdFieldNumber = 1;
@@ -897,6 +906,7 @@
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::dmi::Thresholds* thresholds_;
+  ::dmi::Uuid* component_uuid_;
   int event_id_;
   bool is_configured_;
   mutable ::google::protobuf::internal::CachedSize _cached_size_;
@@ -1306,15 +1316,6 @@
   ::dmi::Uuid* mutable_device_uuid();
   void set_allocated_device_uuid(::dmi::Uuid* device_uuid);
 
-  // .dmi.Uuid component_uuid = 4;
-  bool has_component_uuid() const;
-  void clear_component_uuid();
-  static const int kComponentUuidFieldNumber = 4;
-  const ::dmi::Uuid& component_uuid() const;
-  ::dmi::Uuid* release_component_uuid();
-  ::dmi::Uuid* mutable_component_uuid();
-  void set_allocated_component_uuid(::dmi::Uuid* component_uuid);
-
   // .dmi.EventsCfg changes = 2;
   bool has_changes() const;
   void clear_changes();
@@ -1346,7 +1347,6 @@
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::dmi::Uuid* device_uuid_;
-  ::dmi::Uuid* component_uuid_;
   union OperationUnion {
     OperationUnion() {}
     ::dmi::EventsCfg* changes_;
@@ -2331,6 +2331,51 @@
   // @@protoc_insertion_point(field_set_allocated:dmi.EventCfg.thresholds)
 }
 
+// .dmi.Uuid component_uuid = 4;
+inline bool EventCfg::has_component_uuid() const {
+  return this != internal_default_instance() && component_uuid_ != nullptr;
+}
+inline const ::dmi::Uuid& EventCfg::component_uuid() const {
+  const ::dmi::Uuid* p = component_uuid_;
+  // @@protoc_insertion_point(field_get:dmi.EventCfg.component_uuid)
+  return p != nullptr ? *p : *reinterpret_cast<const ::dmi::Uuid*>(
+      &::dmi::_Uuid_default_instance_);
+}
+inline ::dmi::Uuid* EventCfg::release_component_uuid() {
+  // @@protoc_insertion_point(field_release:dmi.EventCfg.component_uuid)
+  
+  ::dmi::Uuid* temp = component_uuid_;
+  component_uuid_ = nullptr;
+  return temp;
+}
+inline ::dmi::Uuid* EventCfg::mutable_component_uuid() {
+  
+  if (component_uuid_ == nullptr) {
+    auto* p = CreateMaybeMessage<::dmi::Uuid>(GetArenaNoVirtual());
+    component_uuid_ = p;
+  }
+  // @@protoc_insertion_point(field_mutable:dmi.EventCfg.component_uuid)
+  return component_uuid_;
+}
+inline void EventCfg::set_allocated_component_uuid(::dmi::Uuid* component_uuid) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  if (message_arena == nullptr) {
+    delete reinterpret_cast< ::google::protobuf::MessageLite*>(component_uuid_);
+  }
+  if (component_uuid) {
+    ::google::protobuf::Arena* submessage_arena = nullptr;
+    if (message_arena != submessage_arena) {
+      component_uuid = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, component_uuid, submessage_arena);
+    }
+    
+  } else {
+    
+  }
+  component_uuid_ = component_uuid;
+  // @@protoc_insertion_point(field_set_allocated:dmi.EventCfg.component_uuid)
+}
+
 // -------------------------------------------------------------------
 
 // EventsCfg
@@ -2620,51 +2665,6 @@
   // @@protoc_insertion_point(field_set:dmi.EventsConfigurationRequest.reset_to_default)
 }
 
-// .dmi.Uuid component_uuid = 4;
-inline bool EventsConfigurationRequest::has_component_uuid() const {
-  return this != internal_default_instance() && component_uuid_ != nullptr;
-}
-inline const ::dmi::Uuid& EventsConfigurationRequest::component_uuid() const {
-  const ::dmi::Uuid* p = component_uuid_;
-  // @@protoc_insertion_point(field_get:dmi.EventsConfigurationRequest.component_uuid)
-  return p != nullptr ? *p : *reinterpret_cast<const ::dmi::Uuid*>(
-      &::dmi::_Uuid_default_instance_);
-}
-inline ::dmi::Uuid* EventsConfigurationRequest::release_component_uuid() {
-  // @@protoc_insertion_point(field_release:dmi.EventsConfigurationRequest.component_uuid)
-  
-  ::dmi::Uuid* temp = component_uuid_;
-  component_uuid_ = nullptr;
-  return temp;
-}
-inline ::dmi::Uuid* EventsConfigurationRequest::mutable_component_uuid() {
-  
-  if (component_uuid_ == nullptr) {
-    auto* p = CreateMaybeMessage<::dmi::Uuid>(GetArenaNoVirtual());
-    component_uuid_ = p;
-  }
-  // @@protoc_insertion_point(field_mutable:dmi.EventsConfigurationRequest.component_uuid)
-  return component_uuid_;
-}
-inline void EventsConfigurationRequest::set_allocated_component_uuid(::dmi::Uuid* component_uuid) {
-  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
-  if (message_arena == nullptr) {
-    delete reinterpret_cast< ::google::protobuf::MessageLite*>(component_uuid_);
-  }
-  if (component_uuid) {
-    ::google::protobuf::Arena* submessage_arena = nullptr;
-    if (message_arena != submessage_arena) {
-      component_uuid = ::google::protobuf::internal::GetOwnedMessage(
-          message_arena, component_uuid, submessage_arena);
-    }
-    
-  } else {
-    
-  }
-  component_uuid_ = component_uuid;
-  // @@protoc_insertion_point(field_set_allocated:dmi.EventsConfigurationRequest.component_uuid)
-}
-
 inline bool EventsConfigurationRequest::has_operation() const {
   return operation_case() != OPERATION_NOT_SET;
 }
diff --git a/dmi.pb b/dmi.pb
index e960540..9baceb9 100644
--- a/dmi.pb
+++ b/dmi.pb
Binary files differ
diff --git a/go/dmi/hw_events_mgmt_service.pb.go b/go/dmi/hw_events_mgmt_service.pb.go
index 422f9df..066597a 100644
--- a/go/dmi/hw_events_mgmt_service.pb.go
+++ b/go/dmi/hw_events_mgmt_service.pb.go
@@ -548,10 +548,13 @@
 	EventId      EventIds `protobuf:"varint,1,opt,name=event_id,json=eventId,proto3,enum=dmi.EventIds" json:"event_id,omitempty"`
 	IsConfigured bool     `protobuf:"varint,2,opt,name=is_configured,json=isConfigured,proto3" json:"is_configured,omitempty"`
 	// Optional threshold values, applicable only for some specific events
-	Thresholds           *Thresholds `protobuf:"bytes,3,opt,name=thresholds,proto3" json:"thresholds,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
-	XXX_unrecognized     []byte      `json:"-"`
-	XXX_sizecache        int32       `json:"-"`
+	Thresholds *Thresholds `protobuf:"bytes,3,opt,name=thresholds,proto3" json:"thresholds,omitempty"`
+	// For events which can be configured on a particular component this id can be used to identify the component
+	// For e.g. for events of the transceivers
+	ComponentUuid        *Uuid    `protobuf:"bytes,4,opt,name=component_uuid,json=componentUuid,proto3" json:"component_uuid,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *EventCfg) Reset()         { *m = EventCfg{} }
@@ -600,6 +603,13 @@
 	return nil
 }
 
+func (m *EventCfg) GetComponentUuid() *Uuid {
+	if m != nil {
+		return m.ComponentUuid
+	}
+	return nil
+}
+
 type EventsCfg struct {
 	Items                []*EventCfg `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
@@ -707,13 +717,10 @@
 	// Types that are valid to be assigned to Operation:
 	//	*EventsConfigurationRequest_Changes
 	//	*EventsConfigurationRequest_ResetToDefault
-	Operation isEventsConfigurationRequest_Operation `protobuf_oneof:"operation"`
-	// For events which can be configured on a particular component this id can be used to identify the component
-	// For e.g. for events of the transceivers
-	ComponentUuid        *Uuid    `protobuf:"bytes,4,opt,name=component_uuid,json=componentUuid,proto3" json:"component_uuid,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Operation            isEventsConfigurationRequest_Operation `protobuf_oneof:"operation"`
+	XXX_NoUnkeyedLiteral struct{}                               `json:"-"`
+	XXX_unrecognized     []byte                                 `json:"-"`
+	XXX_sizecache        int32                                  `json:"-"`
 }
 
 func (m *EventsConfigurationRequest) Reset()         { *m = EventsConfigurationRequest{} }
@@ -785,13 +792,6 @@
 	return false
 }
 
-func (m *EventsConfigurationRequest) GetComponentUuid() *Uuid {
-	if m != nil {
-		return m.ComponentUuid
-	}
-	return nil
-}
-
 // XXX_OneofWrappers is for the internal use of the proto package.
 func (*EventsConfigurationRequest) XXX_OneofWrappers() []interface{} {
 	return []interface{}{
@@ -1004,106 +1004,106 @@
 func init() { proto.RegisterFile("dmi/hw_events_mgmt_service.proto", fileDescriptor_8962d785556e9979) }
 
 var fileDescriptor_8962d785556e9979 = []byte{
-	// 1577 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x4b, 0x73, 0xdb, 0x5e,
-	0x15, 0x8f, 0xad, 0x3c, 0xec, 0x93, 0xc4, 0xa8, 0x77, 0x4a, 0x9a, 0x38, 0xa4, 0x35, 0x0e, 0x34,
-	0x69, 0x20, 0x76, 0x9a, 0x94, 0x96, 0x4e, 0x17, 0xa0, 0xd8, 0x4a, 0xad, 0xc1, 0x91, 0x33, 0xd7,
-	0xb2, 0xc3, 0xb0, 0xa8, 0xe6, 0xc6, 0xba, 0xb6, 0x45, 0x2d, 0xc9, 0x95, 0xae, 0x13, 0x02, 0x33,
-	0x2c, 0xba, 0x64, 0xc5, 0x6b, 0x07, 0xc3, 0x27, 0xe0, 0xf1, 0x35, 0x78, 0x7c, 0x01, 0x58, 0xf1,
-	0x09, 0xd8, 0xf1, 0x66, 0xc3, 0xe8, 0x4a, 0xb6, 0x15, 0x3f, 0xd3, 0x99, 0xff, 0xce, 0x3a, 0xbf,
-	0xdf, 0xef, 0x9c, 0xdf, 0xd1, 0x3d, 0xba, 0xbe, 0x17, 0x32, 0x86, 0x65, 0xe6, 0xdb, 0x37, 0x3a,
-	0xbd, 0xa6, 0x36, 0xf3, 0x74, 0xab, 0x65, 0x31, 0xdd, 0xa3, 0xee, 0xb5, 0xd9, 0xa0, 0xb9, 0xae,
-	0xeb, 0x30, 0x07, 0x09, 0x86, 0x65, 0xa6, 0x1f, 0xf8, 0xb4, 0x86, 0x63, 0x59, 0x8e, 0xed, 0x05,
-	0xf1, 0xf4, 0x5a, 0xa0, 0x0c, 0x9f, 0x9e, 0xb4, 0x1c, 0xa7, 0xd5, 0xa1, 0x79, 0xfe, 0x74, 0xd5,
-	0x6b, 0xe6, 0x99, 0x69, 0x51, 0x8f, 0x11, 0xab, 0x1b, 0x12, 0xb6, 0x47, 0x09, 0xd4, 0xea, 0xb2,
-	0xdb, 0x00, 0xcc, 0xfe, 0x22, 0x06, 0xc9, 0x3a, 0xe9, 0xf4, 0xa8, 0x76, 0xdb, 0xa5, 0x68, 0x0b,
-	0x56, 0x4c, 0x9b, 0xe9, 0xd7, 0xa4, 0xb3, 0x19, 0xcb, 0xc4, 0xf6, 0x85, 0xd2, 0x02, 0x5e, 0x36,
-	0x6d, 0x56, 0x27, 0x1d, 0xb4, 0x0d, 0x89, 0x5e, 0x1f, 0x8b, 0x67, 0x62, 0xfb, 0x8b, 0xa5, 0x05,
-	0xbc, 0xd2, 0x0b, 0xc1, 0x1d, 0x48, 0x36, 0x3b, 0x0e, 0x09, 0x50, 0x21, 0x13, 0xdb, 0x8f, 0x97,
-	0x16, 0x70, 0x82, 0x87, 0x7c, 0xf8, 0x08, 0x92, 0xec, 0xb6, 0x4b, 0x2b, 0xcd, 0x3a, 0xe9, 0x6c,
-	0x2e, 0x66, 0x62, 0xfb, 0xa9, 0x63, 0x94, 0x33, 0x2c, 0x33, 0x57, 0x24, 0x8c, 0x0c, 0xaa, 0xe3,
-	0x21, 0xe9, 0x74, 0x09, 0x84, 0x6b, 0xd2, 0xc9, 0x62, 0x80, 0x4b, 0xc2, 0xa8, 0x7b, 0x4e, 0xdc,
-	0xf7, 0x1e, 0xca, 0xc2, 0x62, 0xdb, 0x6c, 0xb5, 0xb9, 0xb5, 0xd5, 0xe3, 0x14, 0xcf, 0x30, 0x54,
-	0x73, 0x0c, 0x65, 0x40, 0xe8, 0x38, 0x37, 0xdc, 0xe1, 0x38, 0xc5, 0x87, 0xb2, 0xef, 0x01, 0xb4,
-	0xb6, 0x4b, 0xbd, 0xb6, 0xd3, 0x31, 0x3c, 0xb4, 0x07, 0x4b, 0xbd, 0x6e, 0x97, 0xba, 0x61, 0xd2,
-	0xcf, 0x71, 0xc5, 0xb0, 0x66, 0x69, 0x01, 0x07, 0xb8, 0x4f, 0xec, 0x38, 0x37, 0xd4, 0x0d, 0x53,
-	0x4f, 0x22, 0x72, 0xfc, 0x74, 0x15, 0x92, 0xac, 0x9f, 0x3f, 0xfb, 0x43, 0x78, 0x38, 0x28, 0xa6,
-	0xd8, 0x4d, 0xc7, 0xb5, 0x08, 0x33, 0x1d, 0x1b, 0x7d, 0x0d, 0x52, 0xce, 0x95, 0xbf, 0xda, 0xd4,
-	0xf0, 0xdf, 0x59, 0x8f, 0x4e, 0x69, 0x6a, 0xbd, 0xcf, 0xe2, 0x21, 0x94, 0x07, 0x18, 0xe4, 0xf6,
-	0xee, 0x38, 0x19, 0xb6, 0x84, 0x23, 0x94, 0xec, 0x8f, 0x62, 0x90, 0x90, 0xfd, 0x01, 0x2b, 0x34,
-	0x5b, 0x68, 0x1f, 0x12, 0x7c, 0xd8, 0x74, 0xd3, 0xe0, 0xe5, 0x52, 0xc7, 0xeb, 0x5c, 0xcb, 0x09,
-	0x8a, 0xe1, 0xe1, 0x15, 0x1a, 0xfc, 0x42, 0xbb, 0xb0, 0x6e, 0x7a, 0x7a, 0xc3, 0xb1, 0x9b, 0x66,
-	0xab, 0xe7, 0x52, 0x83, 0x97, 0x4a, 0xe0, 0x35, 0xd3, 0x2b, 0x0c, 0x62, 0x23, 0x66, 0x84, 0xf9,
-	0x66, 0x8e, 0x20, 0xc9, 0x4b, 0x79, 0xbe, 0x99, 0x5d, 0x58, 0x32, 0x19, 0xb5, 0xbc, 0xcd, 0x58,
-	0x46, 0xd8, 0x5f, 0x8d, 0x3a, 0x29, 0x34, 0x5b, 0x38, 0xc0, 0xb2, 0xbf, 0x8a, 0x03, 0x2a, 0x9b,
-	0x1e, 0x0b, 0x64, 0x98, 0x7a, 0x5d, 0xc7, 0xf6, 0x28, 0xda, 0x85, 0x65, 0x8f, 0x11, 0xd6, 0xf3,
-	0xc2, 0x36, 0x56, 0xb9, 0xb8, 0xca, 0x43, 0x38, 0x84, 0xd0, 0x4b, 0x58, 0x76, 0x29, 0xf1, 0x1c,
-	0x9b, 0x9b, 0x4f, 0x1d, 0x3f, 0xe6, 0xa4, 0xf1, 0x6c, 0x39, 0xcc, 0x59, 0x38, 0x64, 0xa3, 0xa7,
-	0xb0, 0x1c, 0x7c, 0x92, 0x61, 0x4b, 0xa9, 0xa1, 0x33, 0xdf, 0x38, 0x0e, 0x51, 0xff, 0x1d, 0x05,
-	0x0a, 0xdd, 0xa0, 0x8c, 0x98, 0xc1, 0x60, 0x27, 0xf1, 0x5a, 0x10, 0x2c, 0xf2, 0x58, 0xf6, 0x1d,
-	0x2c, 0x07, 0xe9, 0xd1, 0x43, 0x10, 0x6b, 0x6a, 0x51, 0x3e, 0x53, 0x54, 0xb9, 0xa8, 0x63, 0x59,
-	0xaa, 0x56, 0x54, 0x71, 0x01, 0x21, 0x48, 0xd5, 0xd4, 0x6f, 0xa9, 0x95, 0x4b, 0x55, 0x2f, 0xca,
-	0x75, 0xa5, 0x20, 0x8b, 0x31, 0x3f, 0xa6, 0xa8, 0x9a, 0x8c, 0x55, 0xa9, 0xac, 0xcb, 0x18, 0x57,
-	0xb0, 0x18, 0x47, 0x1b, 0x80, 0x02, 0x5c, 0xaf, 0xa9, 0x58, 0x96, 0x0a, 0x25, 0xe9, 0xb4, 0x2c,
-	0x8b, 0x42, 0xf6, 0xaf, 0x31, 0x48, 0x87, 0xd6, 0xc2, 0x85, 0xe1, 0xf3, 0x85, 0xe9, 0x87, 0x1e,
-	0xf5, 0x18, 0x3a, 0x80, 0x55, 0x83, 0xfa, 0x3b, 0x8a, 0xde, 0xeb, 0x85, 0x8b, 0xbe, 0x7a, 0x9c,
-	0xe4, 0x0d, 0xd5, 0x7a, 0xa6, 0x81, 0x21, 0x40, 0xfd, 0xdf, 0xe8, 0x00, 0x56, 0x1a, 0x6d, 0x62,
-	0xb7, 0xa8, 0x77, 0xe7, 0xeb, 0x19, 0x34, 0xee, 0x7f, 0xef, 0x21, 0x01, 0x1d, 0x80, 0xe8, 0x52,
-	0x8f, 0x32, 0x9d, 0x39, 0xba, 0x41, 0x9b, 0xa4, 0xd7, 0x61, 0xfc, 0x6d, 0x25, 0x4a, 0x0b, 0x38,
-	0xc5, 0x11, 0xcd, 0x29, 0x06, 0x71, 0x74, 0x04, 0xa9, 0x86, 0x63, 0x75, 0x1d, 0xdb, 0x9f, 0x3c,
-	0x6e, 0x63, 0x71, 0xd4, 0xc6, 0xfa, 0x80, 0xe0, 0x3f, 0xfa, 0x5f, 0x90, 0xd3, 0xa5, 0x41, 0x27,
-	0xd9, 0x5f, 0xc6, 0x61, 0x7b, 0x62, 0x87, 0x9f, 0x32, 0x0b, 0xdf, 0x18, 0x99, 0x85, 0xbd, 0x68,
-	0x6b, 0x93, 0xd2, 0x8e, 0x0e, 0xc5, 0xd8, 0x62, 0x0b, 0x13, 0x16, 0xdb, 0xfd, 0x8c, 0x16, 0x9b,
-	0xc7, 0xea, 0x52, 0x59, 0x29, 0xea, 0x85, 0x8a, 0x7a, 0xa6, 0xbc, 0x15, 0x85, 0x29, 0x03, 0xb0,
-	0x98, 0xfd, 0x79, 0x0c, 0xd6, 0x79, 0x1f, 0xe7, 0x94, 0x11, 0x7f, 0x3b, 0xfd, 0xa4, 0x35, 0x1f,
-	0x5f, 0x9b, 0xf8, 0xec, 0xb5, 0x41, 0x5f, 0x8e, 0x2a, 0x6c, 0x62, 0xd1, 0xf0, 0x4d, 0x0c, 0x69,
-	0x2a, 0xb1, 0x68, 0xf6, 0x63, 0x1c, 0x96, 0xb8, 0x2d, 0xf4, 0x1a, 0x52, 0xc1, 0xa6, 0x63, 0x51,
-	0x46, 0x0c, 0xc2, 0x48, 0xe8, 0x08, 0x0d, 0x97, 0xa0, 0x6f, 0x1d, 0xaf, 0xd3, 0xfe, 0xa3, 0x4f,
-	0xbc, 0xb3, 0x5f, 0xc5, 0x67, 0xee, 0x57, 0xaf, 0x20, 0xe9, 0x12, 0xd3, 0xa3, 0x86, 0x3e, 0xf8,
-	0x6c, 0xd3, 0xb9, 0xe0, 0x6f, 0x2f, 0xd7, 0xff, 0xdb, 0xcb, 0x69, 0xfd, 0xff, 0x45, 0x9c, 0x08,
-	0xc8, 0x9a, 0x87, 0xbe, 0x09, 0xa9, 0xc1, 0x06, 0xa5, 0x9b, 0x76, 0xd3, 0x09, 0x87, 0x73, 0xeb,
-	0xee, 0x3e, 0x16, 0xd9, 0xba, 0xf1, 0x3a, 0x8b, 0x46, 0xd1, 0x16, 0x24, 0x88, 0x11, 0x6a, 0x97,
-	0xf8, 0xab, 0x58, 0x21, 0x06, 0x87, 0x0e, 0x3e, 0x8a, 0xe1, 0xe6, 0xab, 0x18, 0x1e, 0xda, 0x84,
-	0x87, 0x72, 0x5d, 0x56, 0x35, 0x5d, 0x95, 0xce, 0xfd, 0x45, 0x0c, 0xa7, 0x43, 0x5c, 0x40, 0x8f,
-	0x21, 0x1d, 0x20, 0x1a, 0x96, 0xd4, 0x6a, 0x41, 0x56, 0xea, 0x32, 0xd6, 0x2f, 0xca, 0xb5, 0xb7,
-	0x7a, 0xa5, 0xa6, 0x89, 0x06, 0xda, 0x81, 0xad, 0x29, 0xb8, 0xa2, 0x8a, 0x14, 0x1d, 0xc2, 0xb3,
-	0x71, 0xb8, 0x5e, 0x29, 0x6b, 0xd2, 0x5b, 0x59, 0x97, 0x4e, 0x2b, 0x75, 0x59, 0xd7, 0x4a, 0x58,
-	0xae, 0x96, 0x2a, 0xe5, 0xa2, 0xd8, 0x9c, 0x4d, 0x3f, 0x95, 0xcb, 0x95, 0xcb, 0x08, 0xbd, 0x85,
-	0x9e, 0xc3, 0xe1, 0x38, 0x5d, 0x93, 0xcf, 0x2f, 0x64, 0x2c, 0x69, 0x35, 0x3c, 0x5e, 0xa1, 0x3d,
-	0x5f, 0x32, 0x5a, 0xc5, 0x9c, 0x6c, 0xaa, 0x50, 0xc3, 0xd8, 0x8f, 0x8d, 0x56, 0xf8, 0xee, 0x6c,
-	0xfa, 0x68, 0xf6, 0xf7, 0x28, 0x07, 0x07, 0xe3, 0x74, 0xfc, 0x6d, 0xfd, 0xa2, 0x72, 0x29, 0xe3,
-	0xb1, 0xf4, 0x9d, 0x39, 0xfc, 0xd1, 0xfc, 0xd6, 0x64, 0xbe, 0x36, 0x2d, 0xbf, 0x3d, 0x87, 0x3f,
-	0x9a, 0xdf, 0x99, 0x3c, 0x00, 0x67, 0x92, 0x52, 0xae, 0x61, 0x59, 0xec, 0xa2, 0x57, 0x70, 0x72,
-	0xef, 0x01, 0xd0, 0xb1, 0x5c, 0xa8, 0xd4, 0x65, 0x2c, 0x17, 0xc5, 0x0f, 0xb3, 0x85, 0x23, 0x36,
-	0x22, 0x42, 0x17, 0xbd, 0x81, 0x57, 0x9f, 0x34, 0x14, 0x11, 0xb1, 0x37, 0x5f, 0x3c, 0xbd, 0x32,
-	0x9b, 0x6c, 0x79, 0xca, 0xa0, 0x44, 0x84, 0xbd, 0xd9, 0xc2, 0xe9, 0x15, 0xaf, 0xd1, 0xd7, 0xe1,
-	0xc5, 0xfd, 0x87, 0x27, 0xa2, 0xbc, 0x99, 0xa3, 0x9c, 0x5e, 0xf3, 0x7b, 0x93, 0x95, 0xda, 0xfc,
-	0x9a, 0xb7, 0x73, 0x94, 0xd3, 0x6b, 0x7e, 0x1f, 0xed, 0xc1, 0xee, 0xd4, 0x21, 0x8b, 0x10, 0x7f,
-	0x80, 0x1e, 0x01, 0x0a, 0x88, 0x17, 0xd5, 0xda, 0x70, 0x9b, 0xfa, 0x7d, 0x0c, 0x6d, 0xc0, 0x83,
-	0x11, 0x40, 0x51, 0xc5, 0x3f, 0x8c, 0xc4, 0xfb, 0x63, 0xfb, 0xc7, 0x18, 0xca, 0xc0, 0xf6, 0x58,
-	0x3c, 0x52, 0xe9, 0x4f, 0x11, 0xe5, 0x99, 0xa4, 0x0e, 0x94, 0xbf, 0x8e, 0x0f, 0x2d, 0xf8, 0xf1,
-	0x81, 0x85, 0xdf, 0xc4, 0xef, 0x0a, 0xfa, 0x16, 0x7e, 0x1b, 0x1f, 0x96, 0x8a, 0x24, 0x8a, 0x94,
-	0xfa, 0x5d, 0x1c, 0x3d, 0x83, 0x2f, 0x05, 0x8c, 0xc2, 0x45, 0x6d, 0xc2, 0x28, 0x17, 0xb0, 0xa2,
-	0x29, 0x05, 0xa9, 0x2c, 0xfe, 0x58, 0x40, 0x4f, 0xe1, 0x8b, 0xb3, 0xa8, 0x67, 0x92, 0x26, 0x95,
-	0xc5, 0x9f, 0x08, 0xe8, 0x04, 0x72, 0xf7, 0x49, 0x19, 0xf1, 0xf1, 0x53, 0x01, 0x1d, 0xc1, 0x57,
-	0xe6, 0x26, 0x8f, 0x28, 0x7e, 0x26, 0xa0, 0x34, 0x7c, 0x3e, 0x50, 0x94, 0x2e, 0xc3, 0x63, 0x85,
-	0x8e, 0xe5, 0xaa, 0xac, 0x89, 0x7f, 0x17, 0x50, 0xbe, 0xbf, 0xd3, 0x0c, 0xb1, 0x19, 0xbd, 0xfd,
-	0x43, 0x40, 0x5f, 0x85, 0xbd, 0xf9, 0x82, 0xa0, 0xc3, 0x7f, 0x0a, 0xe8, 0x75, 0x7f, 0xda, 0xee,
-	0x93, 0x3e, 0xe2, 0xfa, 0x5f, 0x02, 0x7a, 0x09, 0xcf, 0xef, 0x59, 0x28, 0xa2, 0xfb, 0xb7, 0x80,
-	0xb6, 0x61, 0x63, 0xbc, 0xdb, 0xd3, 0x4a, 0x45, 0x13, 0xff, 0x23, 0xa0, 0x3d, 0xc8, 0x0e, 0xc0,
-	0x68, 0xb6, 0xaa, 0xac, 0x56, 0x2b, 0xc1, 0x34, 0xcb, 0x45, 0xf1, 0xbf, 0x77, 0xdb, 0x94, 0xca,
-	0xe5, 0x09, 0xe4, 0x6a, 0x9f, 0xfd, 0x3f, 0x01, 0xed, 0xc0, 0x66, 0xc0, 0x2e, 0x2b, 0xaa, 0xac,
-	0x17, 0x24, 0x5c, 0x1c, 0x0e, 0xdd, 0x9f, 0x17, 0xd1, 0x17, 0xe0, 0xd1, 0x44, 0x58, 0x51, 0xc5,
-	0xbf, 0x2c, 0x1e, 0xff, 0x2d, 0x06, 0x3b, 0x2a, 0x61, 0xe6, 0x35, 0x0d, 0x8e, 0x9b, 0xe7, 0xc4,
-	0x26, 0x2d, 0x6a, 0x51, 0x9b, 0x55, 0x83, 0xcb, 0x3e, 0x7a, 0x09, 0x30, 0xbc, 0x95, 0xa0, 0xe0,
-	0x06, 0x55, 0x22, 0xae, 0x71, 0x43, 0x5c, 0xaa, 0x14, 0xd3, 0x8f, 0xa6, 0xdc, 0x5b, 0xd0, 0x3b,
-	0xd8, 0xaa, 0x75, 0x0d, 0xc2, 0xe8, 0x84, 0x73, 0x2c, 0x7a, 0x32, 0xfd, 0x84, 0xcb, 0xaf, 0x06,
-	0xe9, 0xcc, 0xbc, 0x23, 0x30, 0x7a, 0x01, 0x6b, 0x55, 0xe6, 0x52, 0x62, 0x85, 0xce, 0x36, 0xc6,
-	0x4e, 0x54, 0xb2, 0xd5, 0x65, 0xb7, 0x69, 0x18, 0x66, 0x3a, 0x8a, 0x9d, 0xbe, 0xf9, 0xce, 0xeb,
-	0x96, 0xc9, 0xda, 0xbd, 0xab, 0x5c, 0xc3, 0xb1, 0xf2, 0x4e, 0x97, 0xda, 0x0d, 0xc7, 0x35, 0xf2,
-	0xc1, 0xa1, 0xf3, 0xd0, 0x1a, 0x74, 0x7f, 0x68, 0xda, 0x8c, 0xba, 0x4d, 0xd2, 0xa0, 0xf9, 0xeb,
-	0x93, 0x7c, 0xcb, 0xc9, 0x1b, 0x96, 0x79, 0xb5, 0xcc, 0x53, 0x9f, 0xfc, 0x3f, 0x00, 0x00, 0xff,
-	0xff, 0x6f, 0x97, 0xb7, 0xd3, 0x1c, 0x11, 0x00, 0x00,
+	// 1582 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xdd, 0x72, 0xe3, 0x48,
+	0x15, 0x8e, 0xac, 0xfc, 0xd8, 0x27, 0x13, 0xa3, 0xed, 0x1a, 0x66, 0x12, 0x87, 0xd9, 0x35, 0x1e,
+	0xd8, 0x64, 0x03, 0x63, 0x67, 0x33, 0xcb, 0x0c, 0x53, 0x7b, 0x01, 0x8a, 0xad, 0x8c, 0x55, 0x38,
+	0x72, 0xaa, 0x2d, 0x3b, 0x14, 0x17, 0xab, 0xea, 0xb1, 0xda, 0xb6, 0x18, 0x4b, 0xf2, 0x4a, 0xed,
+	0x84, 0x40, 0x15, 0x17, 0xfb, 0x04, 0xfc, 0xdd, 0x41, 0xf1, 0x04, 0x0c, 0xbc, 0x00, 0x0f, 0xc0,
+	0xcf, 0x0b, 0xc0, 0x43, 0x70, 0xc7, 0x3f, 0x37, 0x94, 0xba, 0x65, 0x5b, 0xf1, 0x6f, 0xa6, 0x6a,
+	0xef, 0xac, 0x73, 0xbe, 0xef, 0x9c, 0xef, 0xe8, 0x9c, 0x3e, 0x6e, 0x41, 0xde, 0x76, 0x9d, 0x52,
+	0xef, 0xda, 0xa2, 0x57, 0xd4, 0x63, 0xa1, 0xe5, 0x76, 0x5d, 0x66, 0x85, 0x34, 0xb8, 0x72, 0xda,
+	0xb4, 0x38, 0x08, 0x7c, 0xe6, 0x23, 0xd9, 0x76, 0x9d, 0xdc, 0x3b, 0x11, 0xac, 0xed, 0xbb, 0xae,
+	0xef, 0x85, 0xc2, 0x9e, 0xbb, 0x27, 0x98, 0xf1, 0xd3, 0x7b, 0x5d, 0xdf, 0xef, 0xf6, 0x69, 0x89,
+	0x3f, 0xbd, 0x1a, 0x76, 0x4a, 0xcc, 0x71, 0x69, 0xc8, 0x88, 0x3b, 0x88, 0x01, 0xfb, 0xd3, 0x00,
+	0xea, 0x0e, 0xd8, 0x8d, 0x70, 0x16, 0x7e, 0x29, 0x41, 0xa6, 0x45, 0xfa, 0x43, 0x6a, 0xde, 0x0c,
+	0x28, 0xda, 0x83, 0x2d, 0xc7, 0x63, 0xd6, 0x15, 0xe9, 0xef, 0x4a, 0x79, 0xe9, 0x50, 0xae, 0xae,
+	0xe1, 0x4d, 0xc7, 0x63, 0x2d, 0xd2, 0x47, 0xfb, 0x90, 0x1e, 0x8e, 0x7c, 0xa9, 0xbc, 0x74, 0xb8,
+	0x5e, 0x5d, 0xc3, 0x5b, 0xc3, 0xd8, 0xf9, 0x08, 0x32, 0x9d, 0xbe, 0x4f, 0x84, 0x57, 0xce, 0x4b,
+	0x87, 0xa9, 0xea, 0x1a, 0x4e, 0x73, 0x53, 0xe4, 0x3e, 0x86, 0x0c, 0xbb, 0x19, 0xd0, 0x7a, 0xa7,
+	0x45, 0xfa, 0xbb, 0xeb, 0x79, 0xe9, 0x30, 0x7b, 0x82, 0x8a, 0xb6, 0xeb, 0x14, 0x2b, 0x84, 0x91,
+	0x71, 0x76, 0x3c, 0x01, 0x9d, 0x6e, 0x80, 0x7c, 0x45, 0xfa, 0x05, 0x0c, 0x70, 0x49, 0x18, 0x0d,
+	0xce, 0x49, 0xf0, 0x3a, 0x44, 0x05, 0x58, 0xef, 0x39, 0xdd, 0x1e, 0x97, 0xb6, 0x7d, 0x92, 0xe5,
+	0x11, 0x26, 0x6c, 0xee, 0x43, 0x79, 0x90, 0xfb, 0xfe, 0x35, 0x57, 0x38, 0x0b, 0x89, 0x5c, 0x85,
+	0xd7, 0x00, 0x66, 0x2f, 0xa0, 0x61, 0xcf, 0xef, 0xdb, 0x21, 0x3a, 0x80, 0x8d, 0xe1, 0x60, 0x40,
+	0x83, 0x38, 0xe8, 0x17, 0x38, 0x63, 0x92, 0xb3, 0xba, 0x86, 0x85, 0x3f, 0x02, 0xf6, 0xfd, 0x6b,
+	0x1a, 0xc4, 0xa1, 0xe7, 0x01, 0xb9, 0xff, 0x74, 0x1b, 0x32, 0x6c, 0x14, 0xbf, 0xf0, 0x63, 0xb8,
+	0x3f, 0x4e, 0xa6, 0x7b, 0x1d, 0x3f, 0x70, 0x09, 0x73, 0x7c, 0x0f, 0x7d, 0x03, 0xb2, 0xfe, 0xab,
+	0xa8, 0xdb, 0xd4, 0x8e, 0xde, 0xd9, 0x90, 0x2e, 0x28, 0x6a, 0x67, 0x84, 0xe2, 0x26, 0x54, 0x02,
+	0x18, 0xc7, 0x0e, 0x6f, 0x29, 0x99, 0x94, 0x84, 0x13, 0x90, 0xc2, 0xef, 0x25, 0x48, 0x6b, 0xd1,
+	0x80, 0x95, 0x3b, 0x5d, 0x74, 0x08, 0x69, 0x3e, 0x6c, 0x96, 0x63, 0xf3, 0x74, 0xd9, 0x93, 0x1d,
+	0xce, 0xe5, 0x00, 0xdd, 0x0e, 0xf1, 0x16, 0x15, 0xbf, 0xd0, 0x63, 0xd8, 0x71, 0x42, 0xab, 0xed,
+	0x7b, 0x1d, 0xa7, 0x3b, 0x0c, 0xa8, 0xcd, 0x53, 0xa5, 0xf1, 0x3d, 0x27, 0x2c, 0x8f, 0x6d, 0x53,
+	0x62, 0xe4, 0x95, 0x62, 0xd0, 0x31, 0x64, 0xdb, 0xbe, 0x3b, 0xf0, 0xbd, 0x48, 0xc3, 0x70, 0xe8,
+	0xd8, 0x7c, 0x16, 0xb6, 0x4f, 0x32, 0x9c, 0xd4, 0x1c, 0x3a, 0x36, 0xde, 0x19, 0x03, 0xa2, 0xc7,
+	0xc2, 0x31, 0x64, 0xb8, 0xb8, 0x30, 0x92, 0xff, 0x18, 0x36, 0x1c, 0x46, 0xdd, 0x70, 0x57, 0xca,
+	0xcb, 0x87, 0xdb, 0x49, 0xed, 0xe5, 0x4e, 0x17, 0x0b, 0x5f, 0xe1, 0xd7, 0x29, 0x40, 0x35, 0x27,
+	0x64, 0x82, 0x86, 0x69, 0x38, 0xf0, 0xbd, 0x90, 0xa2, 0xc7, 0xb0, 0x19, 0x32, 0xc2, 0x86, 0x61,
+	0x5c, 0xf8, 0x36, 0x27, 0x37, 0xb8, 0x09, 0xc7, 0x2e, 0xf4, 0x0c, 0x36, 0x03, 0x4a, 0x42, 0xdf,
+	0xe3, 0xe5, 0x66, 0x4f, 0xde, 0xe5, 0xa0, 0xd9, 0x68, 0x45, 0xcc, 0x51, 0x38, 0x46, 0xa3, 0xf7,
+	0x61, 0x53, 0x1c, 0xe2, 0xf8, 0x25, 0x64, 0x27, 0xca, 0x22, 0xe1, 0x38, 0xf6, 0x46, 0x6f, 0x55,
+	0x30, 0x2c, 0x9b, 0x32, 0xe2, 0x88, 0xa3, 0x90, 0xc1, 0xf7, 0x84, 0xb1, 0xc2, 0x6d, 0x85, 0x4f,
+	0x60, 0x53, 0x84, 0x47, 0xf7, 0x41, 0x69, 0x1a, 0x15, 0xed, 0x4c, 0x37, 0xb4, 0x8a, 0x85, 0x35,
+	0xb5, 0x51, 0x37, 0x94, 0x35, 0x84, 0x20, 0xdb, 0x34, 0xbe, 0x63, 0xd4, 0x2f, 0x0d, 0xab, 0xa2,
+	0xb5, 0xf4, 0xb2, 0xa6, 0x48, 0x91, 0x4d, 0x37, 0x4c, 0x0d, 0x1b, 0x6a, 0xcd, 0xd2, 0x30, 0xae,
+	0x63, 0x25, 0x85, 0x1e, 0x00, 0x12, 0x7e, 0xab, 0x69, 0x60, 0x4d, 0x2d, 0x57, 0xd5, 0xd3, 0x9a,
+	0xa6, 0xc8, 0x85, 0x37, 0x12, 0xe4, 0x62, 0x69, 0x71, 0x2b, 0xf9, 0x44, 0x62, 0xfa, 0xe9, 0x90,
+	0x86, 0x0c, 0x1d, 0xc1, 0xb6, 0x4d, 0xa3, 0x1d, 0x24, 0x1a, 0x24, 0x4d, 0x37, 0x08, 0x84, 0x37,
+	0xfa, 0x8d, 0x8e, 0x60, 0xab, 0xdd, 0x23, 0x5e, 0x97, 0x86, 0xb7, 0xce, 0xdb, 0xb8, 0xf0, 0x68,
+	0x43, 0xc4, 0x00, 0x74, 0x04, 0x4a, 0x40, 0x43, 0xca, 0x2c, 0xe6, 0x5b, 0x36, 0xed, 0x90, 0x61,
+	0x9f, 0xf1, 0xb7, 0x95, 0xae, 0xae, 0xe1, 0x2c, 0xf7, 0x98, 0x7e, 0x45, 0xd8, 0xa3, 0x13, 0xe4,
+	0x0f, 0xa8, 0xd0, 0x55, 0xf8, 0x55, 0x0a, 0xf6, 0xe7, 0xea, 0x7d, 0x9b, 0xce, 0x7e, 0x6b, 0xaa,
+	0xb3, 0x07, 0x49, 0xa1, 0xf3, 0xc2, 0x4e, 0xb7, 0x78, 0xa6, 0x75, 0xf2, 0x9c, 0xd6, 0x05, 0x9f,
+	0x53, 0xeb, 0xb8, 0xad, 0xa5, 0xd6, 0xf4, 0x8a, 0x55, 0xae, 0x1b, 0x67, 0xfa, 0x4b, 0x45, 0x5e,
+	0xd0, 0xce, 0xf5, 0xc2, 0x2f, 0x24, 0xd8, 0xe1, 0x75, 0x9c, 0x53, 0x46, 0xa2, 0x75, 0xfa, 0x56,
+	0x1d, 0x9c, 0x3d, 0x91, 0xa9, 0xe5, 0x27, 0x12, 0x7d, 0x35, 0xc9, 0xf0, 0x88, 0x4b, 0xe3, 0x37,
+	0x31, 0x81, 0x19, 0xc4, 0xa5, 0x85, 0xcf, 0x52, 0xb0, 0xc1, 0x65, 0xa1, 0x17, 0x90, 0x15, 0x4b,
+	0xc7, 0xa5, 0x8c, 0xd8, 0x84, 0x91, 0x58, 0x11, 0x9a, 0xb4, 0x60, 0x24, 0x1d, 0xef, 0xd0, 0xd1,
+	0x63, 0x04, 0xbc, 0xb5, 0xaf, 0x52, 0x4b, 0xf7, 0xd5, 0x73, 0xc8, 0x04, 0xc4, 0x09, 0xa9, 0x6d,
+	0x8d, 0x0f, 0x61, 0xae, 0x28, 0xfe, 0xf6, 0x8a, 0xa3, 0xbf, 0xbd, 0xa2, 0x39, 0xfa, 0x5f, 0xc4,
+	0x69, 0x01, 0x36, 0x43, 0xf4, 0x6d, 0xc8, 0x8e, 0x17, 0x94, 0xe5, 0x78, 0x1d, 0x3f, 0x5e, 0x49,
+	0x7b, 0xb7, 0xf7, 0x58, 0x62, 0x75, 0xe3, 0x1d, 0x96, 0xb4, 0xa2, 0x3d, 0x48, 0x13, 0x3b, 0xe6,
+	0x6e, 0xf0, 0x57, 0xb1, 0x45, 0x6c, 0xee, 0x3a, 0xfa, 0x4c, 0x89, 0x97, 0xaf, 0x6e, 0x87, 0x68,
+	0x17, 0xee, 0x6b, 0x2d, 0xcd, 0x30, 0x2d, 0x43, 0x3d, 0x8f, 0x9a, 0x18, 0x4f, 0x87, 0xb2, 0x86,
+	0xde, 0x85, 0x9c, 0xf0, 0x98, 0x58, 0x35, 0x1a, 0x65, 0x4d, 0x6f, 0x69, 0xd8, 0xba, 0xa8, 0x35,
+	0x5f, 0x5a, 0xf5, 0xa6, 0xa9, 0xd8, 0xe8, 0x11, 0xec, 0x2d, 0xf0, 0xeb, 0x86, 0x42, 0xd1, 0x13,
+	0xf8, 0x60, 0xd6, 0xdd, 0xaa, 0xd7, 0x4c, 0xf5, 0xa5, 0x66, 0xa9, 0xa7, 0xf5, 0x96, 0x66, 0x99,
+	0x55, 0xac, 0x35, 0xaa, 0xf5, 0x5a, 0x45, 0xe9, 0x2c, 0x87, 0x9f, 0x6a, 0xb5, 0xfa, 0x65, 0x02,
+	0xde, 0x45, 0x1f, 0xc2, 0x93, 0x59, 0xb8, 0xa9, 0x9d, 0x5f, 0x68, 0x58, 0x35, 0x9b, 0x78, 0x36,
+	0x43, 0x6f, 0x35, 0x65, 0x3a, 0x8b, 0x33, 0x5f, 0x54, 0xb9, 0x89, 0x71, 0x64, 0x9b, 0xce, 0xf0,
+	0xfd, 0xe5, 0xf0, 0xe9, 0xe8, 0xaf, 0x51, 0x11, 0x8e, 0x66, 0xe1, 0xf8, 0xbb, 0xd6, 0x45, 0xfd,
+	0x52, 0xc3, 0x33, 0xe1, 0xfb, 0x2b, 0xf0, 0xd3, 0xf1, 0xdd, 0xf9, 0x78, 0x73, 0x51, 0x7c, 0x6f,
+	0x05, 0x7e, 0x3a, 0xbe, 0x3f, 0x7f, 0x00, 0xce, 0x54, 0xbd, 0xd6, 0xc4, 0x9a, 0x32, 0x40, 0xcf,
+	0xe1, 0xe9, 0x9d, 0x07, 0xc0, 0xc2, 0x5a, 0xb9, 0xde, 0xd2, 0xb0, 0x56, 0x51, 0x3e, 0x5d, 0x4e,
+	0x9c, 0x92, 0x91, 0x20, 0x06, 0xe8, 0x63, 0x78, 0xfe, 0x56, 0x43, 0x91, 0x20, 0x87, 0xab, 0xc9,
+	0x8b, 0x33, 0xb3, 0xf9, 0x92, 0x17, 0x0c, 0x4a, 0x82, 0x38, 0x5c, 0x4e, 0x5c, 0x9c, 0xf1, 0x0a,
+	0x7d, 0x13, 0x3e, 0xba, 0xfb, 0xf0, 0x24, 0x98, 0xd7, 0x2b, 0x98, 0x8b, 0x73, 0xfe, 0x60, 0x3e,
+	0xd3, 0x5c, 0x9d, 0xf3, 0x66, 0x05, 0x73, 0x71, 0xce, 0x1f, 0xa2, 0x03, 0x78, 0xbc, 0x70, 0xc8,
+	0x12, 0xc0, 0x1f, 0xa1, 0x87, 0x80, 0x04, 0xf0, 0xa2, 0xd1, 0x9c, 0xac, 0xa9, 0x3f, 0x48, 0xe8,
+	0x01, 0xbc, 0x33, 0xe5, 0xd0, 0x0d, 0xe5, 0x8f, 0x53, 0xf6, 0xd1, 0xd8, 0xfe, 0x49, 0x42, 0x79,
+	0xd8, 0x9f, 0xb1, 0x27, 0x32, 0xfd, 0x39, 0xc1, 0x3c, 0x53, 0x8d, 0x31, 0xf3, 0x37, 0xa9, 0x89,
+	0x84, 0xc8, 0x3e, 0x96, 0xf0, 0x26, 0x75, 0x9b, 0x30, 0x92, 0xf0, 0xdb, 0xd4, 0x24, 0x55, 0x22,
+	0x50, 0x22, 0xd5, 0xef, 0x52, 0xe8, 0x03, 0xf8, 0x8a, 0x40, 0x94, 0x2f, 0x9a, 0x73, 0x46, 0xb9,
+	0x8c, 0x75, 0x53, 0x2f, 0xab, 0x35, 0xe5, 0x27, 0x32, 0x7a, 0x1f, 0xbe, 0xbc, 0x0c, 0x7a, 0xa6,
+	0x9a, 0x6a, 0x4d, 0xf9, 0xa9, 0x8c, 0x9e, 0x42, 0xf1, 0x2e, 0x21, 0x13, 0x3a, 0x7e, 0x26, 0xa3,
+	0x63, 0xf8, 0xda, 0xca, 0xe0, 0x09, 0xc6, 0xcf, 0x65, 0x94, 0x83, 0x2f, 0x0a, 0x46, 0xf5, 0x32,
+	0xbe, 0x56, 0x58, 0x58, 0x6b, 0x68, 0xa6, 0xf2, 0x77, 0x19, 0x95, 0x46, 0x9b, 0x66, 0xe2, 0x5b,
+	0x52, 0xdb, 0x3f, 0x64, 0xf4, 0x75, 0x38, 0x58, 0x4d, 0x10, 0x15, 0xfe, 0x53, 0x46, 0x2f, 0x46,
+	0xd3, 0x76, 0x97, 0xf0, 0x09, 0xd5, 0xff, 0x92, 0xd1, 0x33, 0xf8, 0xf0, 0x8e, 0x89, 0x12, 0xbc,
+	0x7f, 0xcb, 0x68, 0x1f, 0x1e, 0xcc, 0x56, 0x7b, 0x5a, 0xaf, 0x9b, 0xca, 0x7f, 0x64, 0x74, 0x00,
+	0x85, 0xb1, 0x33, 0x19, 0xad, 0xa1, 0x19, 0x8d, 0xba, 0x98, 0x66, 0xad, 0xa2, 0xfc, 0xf7, 0x76,
+	0x99, 0x6a, 0xad, 0x36, 0x07, 0xdc, 0x18, 0xa1, 0xff, 0x27, 0xa3, 0x47, 0xb0, 0x2b, 0xd0, 0x35,
+	0xdd, 0xd0, 0xac, 0xb2, 0x8a, 0x2b, 0x93, 0xa1, 0xfb, 0xcb, 0x3a, 0xfa, 0x12, 0x3c, 0x9c, 0xeb,
+	0xd6, 0x0d, 0xe5, 0xaf, 0xeb, 0x27, 0x7f, 0x93, 0xe0, 0x91, 0x41, 0x98, 0x73, 0x45, 0xc5, 0x75,
+	0xf3, 0x9c, 0x78, 0xa4, 0x4b, 0x5d, 0xea, 0xb1, 0x86, 0xf8, 0xd8, 0x47, 0xcf, 0x00, 0x26, 0xdf,
+	0x18, 0x48, 0x7c, 0x41, 0x55, 0x49, 0x60, 0x5f, 0x93, 0x80, 0xea, 0x95, 0xdc, 0xc3, 0x05, 0x5f,
+	0x21, 0xe8, 0x13, 0xd8, 0x6b, 0x0e, 0x6c, 0xc2, 0xe8, 0x9c, 0x7b, 0x2c, 0x7a, 0x6f, 0xf1, 0x0d,
+	0x97, 0x5f, 0xf4, 0x73, 0xf9, 0x55, 0x57, 0x60, 0xf4, 0x11, 0xdc, 0x6b, 0xb0, 0x80, 0x12, 0x37,
+	0x56, 0xf6, 0x60, 0xe6, 0x46, 0xa5, 0xb9, 0x03, 0x76, 0x93, 0x83, 0x49, 0xa4, 0x63, 0xe9, 0xf4,
+	0xe3, 0xef, 0xbd, 0xe8, 0x3a, 0xac, 0x37, 0x7c, 0x55, 0x6c, 0xfb, 0x6e, 0xc9, 0x1f, 0x50, 0xaf,
+	0xed, 0x07, 0x76, 0x49, 0x5c, 0x3a, 0x9f, 0xb8, 0xe3, 0xea, 0x9f, 0x38, 0x1e, 0xa3, 0x41, 0x87,
+	0xb4, 0x69, 0xe9, 0xea, 0x69, 0xa9, 0xeb, 0x97, 0x6c, 0xd7, 0x79, 0xb5, 0xc9, 0x43, 0x3f, 0xfd,
+	0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x8e, 0x2f, 0x9b, 0x85, 0x1c, 0x11, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/protos/dmi/hw_events_mgmt_service.proto b/protos/dmi/hw_events_mgmt_service.proto
index 1a7e0b0..08ed96a 100644
--- a/protos/dmi/hw_events_mgmt_service.proto
+++ b/protos/dmi/hw_events_mgmt_service.proto
@@ -115,6 +115,9 @@
     bool is_configured = 2;
     // Optional threshold values, applicable only for some specific events
     Thresholds thresholds = 3;
+    // For events which can be configured on a particular component this id can be used to identify the component
+    // For e.g. for events of the transceivers
+    Uuid component_uuid = 4;
 }
 
 message EventsCfg {
@@ -140,9 +143,6 @@
         EventsCfg changes = 2;
         bool reset_to_default = 3;
     }
-    // For events which can be configured on a particular component this id can be used to identify the component
-    // For e.g. for events of the transceivers
-    Uuid component_uuid = 4;
 }
 
 message EventsConfigurationResponse {
diff --git a/python/dmi/hw_events_mgmt_service_pb2.py b/python/dmi/hw_events_mgmt_service_pb2.py
index e7990e8..8101bb5 100644
--- a/python/dmi/hw_events_mgmt_service_pb2.py
+++ b/python/dmi/hw_events_mgmt_service_pb2.py
@@ -19,7 +19,7 @@
 from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
 
 
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(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\x1a\x1bgoogle/protobuf/empty.proto\"u\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\x12%\n\ttypeOfVal\x18\x04 \x01(\x0e\x32\x12.dmi.DataValueTypeB\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\"\xf8\x01\n\x12ListEventsResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12.\n\x06reason\x18\x02 \x01(\x0e\x32\x1e.dmi.ListEventsResponse.Reason\x12\x1e\n\x06\x65vents\x18\x03 \x01(\x0b\x32\x0e.dmi.EventsCfg\x12\x15\n\rreason_detail\x18\x04 \x01(\t\"^\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x12\n\x0eINTERNAL_ERROR\x10\x02\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x03\"\xab\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\x12!\n\x0e\x63omponent_uuid\x18\x04 \x01(\x0b\x32\t.dmi.UuidB\x0b\n\toperation\"\xfe\x01\n\x1b\x45ventsConfigurationResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x37\n\x06reason\x18\x02 \x01(\x0e\x32\'.dmi.EventsConfigurationResponse.Reason\x12\x15\n\rreason_detail\x18\x03 \x01(\t\"r\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x12\n\x0eINTERNAL_ERROR\x10\x02\x12\x12\n\x0eINVALID_CONFIG\x10\x03\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x04\"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*\x82\x10\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\x12\x1b\n\x16\x45VENT_HW_DEVICE_REBOOT\x10\xf9\x03\x12\'\n\"EVENT_HW_TEMPERATURE_SENSOR_FAILED\x10\xfa\x03\x12,\n\'EVENT_HW_ALL_TEMPERATURE_SENSORS_FAILED\x10\xfb\x03\x12\x1d\n\x18\x45VENT_LINE_CARD_PLUG_OUT\x10\xd8\x04\x12\x1c\n\x17\x45VENT_LINE_CARD_PLUG_IN\x10\xd9\x04\x32\xed\x01\n\x1dNativeEventsManagementService\x12\x36\n\nListEvents\x12\x0f.dmi.HardwareID\x1a\x17.dmi.ListEventsResponse\x12^\n\x19UpdateEventsConfiguration\x12\x1f.dmi.EventsConfigurationRequest\x1a .dmi.EventsConfigurationResponse\x12\x34\n\x0cStreamEvents\x12\x16.google.protobuf.Empty\x1a\n.dmi.Event0\x01\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(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\x1a\x1bgoogle/protobuf/empty.proto\"u\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\x12%\n\ttypeOfVal\x18\x04 \x01(\x0e\x32\x12.dmi.DataValueTypeB\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\"\x8a\x01\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\x12!\n\x0e\x63omponent_uuid\x18\x04 \x01(\x0b\x32\t.dmi.Uuid\")\n\tEventsCfg\x12\x1c\n\x05items\x18\x01 \x03(\x0b\x32\r.dmi.EventCfg\"\xf8\x01\n\x12ListEventsResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12.\n\x06reason\x18\x02 \x01(\x0e\x32\x1e.dmi.ListEventsResponse.Reason\x12\x1e\n\x06\x65vents\x18\x03 \x01(\x0b\x32\x0e.dmi.EventsCfg\x12\x15\n\rreason_detail\x18\x04 \x01(\t\"^\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x12\n\x0eINTERNAL_ERROR\x10\x02\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x03\"\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\"\xfe\x01\n\x1b\x45ventsConfigurationResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x37\n\x06reason\x18\x02 \x01(\x0e\x32\'.dmi.EventsConfigurationResponse.Reason\x12\x15\n\rreason_detail\x18\x03 \x01(\t\"r\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x12\n\x0eINTERNAL_ERROR\x10\x02\x12\x12\n\x0eINVALID_CONFIG\x10\x03\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x04\"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*\x82\x10\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\x12\x1b\n\x16\x45VENT_HW_DEVICE_REBOOT\x10\xf9\x03\x12\'\n\"EVENT_HW_TEMPERATURE_SENSOR_FAILED\x10\xfa\x03\x12,\n\'EVENT_HW_ALL_TEMPERATURE_SENSORS_FAILED\x10\xfb\x03\x12\x1d\n\x18\x45VENT_LINE_CARD_PLUG_OUT\x10\xd8\x04\x12\x1c\n\x17\x45VENT_LINE_CARD_PLUG_IN\x10\xd9\x04\x32\xed\x01\n\x1dNativeEventsManagementService\x12\x36\n\nListEvents\x12\x0f.dmi.HardwareID\x1a\x17.dmi.ListEventsResponse\x12^\n\x19UpdateEventsConfiguration\x12\x1f.dmi.EventsConfigurationRequest\x1a .dmi.EventsConfigurationResponse\x12\x34\n\x0cStreamEvents\x12\x16.google.protobuf.Empty\x1a\n.dmi.Event0\x01\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
 
 _EVENTIDS = DESCRIPTOR.enum_types_by_name['EventIds']
 EventIds = enum_type_wrapper.EnumTypeWrapper(_EVENTIDS)
@@ -167,8 +167,8 @@
 
   DESCRIPTOR._options = None
   DESCRIPTOR._serialized_options = b'Z9github.com/opencord/device-management-interface/v3/go/dmi'
-  _EVENTIDS._serialized_start=1666
-  _EVENTIDS._serialized_end=3716
+  _EVENTIDS._serialized_start=1667
+  _EVENTIDS._serialized_end=3717
   _VALUETYPE._serialized_start=136
   _VALUETYPE._serialized_end=253
   _WATERMARKS._serialized_start=255
@@ -177,24 +177,24 @@
   _THRESHOLDS._serialized_end=421
   _THRESHOLDINFORMATION._serialized_start=423
   _THRESHOLDINFORMATION._serialized_end=522
-  _EVENTCFG._serialized_start=524
-  _EVENTCFG._serialized_end=627
-  _EVENTSCFG._serialized_start=629
-  _EVENTSCFG._serialized_end=670
-  _LISTEVENTSRESPONSE._serialized_start=673
-  _LISTEVENTSRESPONSE._serialized_end=921
-  _LISTEVENTSRESPONSE_REASON._serialized_start=827
-  _LISTEVENTSRESPONSE_REASON._serialized_end=921
-  _EVENTSCONFIGURATIONREQUEST._serialized_start=924
-  _EVENTSCONFIGURATIONREQUEST._serialized_end=1095
-  _EVENTSCONFIGURATIONRESPONSE._serialized_start=1098
-  _EVENTSCONFIGURATIONRESPONSE._serialized_end=1352
-  _EVENTSCONFIGURATIONRESPONSE_REASON._serialized_start=1238
-  _EVENTSCONFIGURATIONRESPONSE_REASON._serialized_end=1352
-  _EVENTMETADATA._serialized_start=1354
-  _EVENTMETADATA._serialized_end=1460
-  _EVENT._serialized_start=1463
-  _EVENT._serialized_end=1663
-  _NATIVEEVENTSMANAGEMENTSERVICE._serialized_start=3719
-  _NATIVEEVENTSMANAGEMENTSERVICE._serialized_end=3956
+  _EVENTCFG._serialized_start=525
+  _EVENTCFG._serialized_end=663
+  _EVENTSCFG._serialized_start=665
+  _EVENTSCFG._serialized_end=706
+  _LISTEVENTSRESPONSE._serialized_start=709
+  _LISTEVENTSRESPONSE._serialized_end=957
+  _LISTEVENTSRESPONSE_REASON._serialized_start=863
+  _LISTEVENTSRESPONSE_REASON._serialized_end=957
+  _EVENTSCONFIGURATIONREQUEST._serialized_start=960
+  _EVENTSCONFIGURATIONREQUEST._serialized_end=1096
+  _EVENTSCONFIGURATIONRESPONSE._serialized_start=1099
+  _EVENTSCONFIGURATIONRESPONSE._serialized_end=1353
+  _EVENTSCONFIGURATIONRESPONSE_REASON._serialized_start=1239
+  _EVENTSCONFIGURATIONRESPONSE_REASON._serialized_end=1353
+  _EVENTMETADATA._serialized_start=1355
+  _EVENTMETADATA._serialized_end=1461
+  _EVENT._serialized_start=1464
+  _EVENT._serialized_end=1664
+  _NATIVEEVENTSMANAGEMENTSERVICE._serialized_start=3720
+  _NATIVEEVENTSMANAGEMENTSERVICE._serialized_end=3957
 # @@protoc_insertion_point(module_scope)
