diff --git a/VERSION b/VERSION
index 6085e94..23aa839 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.2.1
+1.2.2
diff --git a/cpp/dmi/hw.pb.cc b/cpp/dmi/hw.pb.cc
index 8c3af98..df8bd1a 100644
--- a/cpp/dmi/hw.pb.cc
+++ b/cpp/dmi/hw.pb.cc
@@ -19,6 +19,7 @@
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_ContainerComponentAttributes_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_PonIdConfig_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_PsuComponentAttributes_dmi_2fhw_2eproto;
+extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_TransceiverComponentChangeAttributes_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_TransceiverComponentsAttributes_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Uri_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Uuid_dmi_2fhw_2eproto;
@@ -57,6 +58,10 @@
  public:
   ::google::protobuf::internal::ExplicitlyConstructed<PortComponentChangeAttributes> _instance;
 } _PortComponentChangeAttributes_default_instance_;
+class TransceiverComponentChangeAttributesDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<TransceiverComponentChangeAttributes> _instance;
+} _TransceiverComponentChangeAttributes_default_instance_;
 class PonIdConfigDefaultTypeInternal {
  public:
   ::google::protobuf::internal::ExplicitlyConstructed<PonIdConfig> _instance;
@@ -89,6 +94,7 @@
  public:
   ::google::protobuf::internal::ExplicitlyConstructed<ModifiableComponent> _instance;
   const ::dmi::PortComponentChangeAttributes* port_attr_;
+  const ::dmi::TransceiverComponentChangeAttributes* trx_attr_;
 } _ModifiableComponent_default_instance_;
 }  // namespace dmi
 static void InitDefaultsUuid_dmi_2fhw_2eproto() {
@@ -194,6 +200,20 @@
     {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsPortComponentChangeAttributes_dmi_2fhw_2eproto}, {
       &scc_info_PonIdConfig_dmi_2fhw_2eproto.base,}};
 
+static void InitDefaultsTransceiverComponentChangeAttributes_dmi_2fhw_2eproto() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+  {
+    void* ptr = &::dmi::_TransceiverComponentChangeAttributes_default_instance_;
+    new (ptr) ::dmi::TransceiverComponentChangeAttributes();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::dmi::TransceiverComponentChangeAttributes::InitAsDefaultInstance();
+}
+
+::google::protobuf::internal::SCCInfo<0> scc_info_TransceiverComponentChangeAttributes_dmi_2fhw_2eproto =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsTransceiverComponentChangeAttributes_dmi_2fhw_2eproto}, {}};
+
 static void InitDefaultsPonIdConfig_dmi_2fhw_2eproto() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
@@ -300,11 +320,12 @@
   ::dmi::ModifiableComponent::InitAsDefaultInstance();
 }
 
-::google::protobuf::internal::SCCInfo<3> scc_info_ModifiableComponent_dmi_2fhw_2eproto =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsModifiableComponent_dmi_2fhw_2eproto}, {
+::google::protobuf::internal::SCCInfo<4> scc_info_ModifiableComponent_dmi_2fhw_2eproto =
+    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 4, InitDefaultsModifiableComponent_dmi_2fhw_2eproto}, {
       &scc_info_Component_dmi_2fhw_2eproto.base,
       &scc_info_Uri_dmi_2fhw_2eproto.base,
-      &scc_info_PortComponentChangeAttributes_dmi_2fhw_2eproto.base,}};
+      &scc_info_PortComponentChangeAttributes_dmi_2fhw_2eproto.base,
+      &scc_info_TransceiverComponentChangeAttributes_dmi_2fhw_2eproto.base,}};
 
 void InitDefaults_dmi_2fhw_2eproto() {
   ::google::protobuf::internal::InitSCC(&scc_info_Uuid_dmi_2fhw_2eproto.base);
@@ -314,6 +335,7 @@
   ::google::protobuf::internal::InitSCC(&scc_info_ComponentSensorData_dmi_2fhw_2eproto.base);
   ::google::protobuf::internal::InitSCC(&scc_info_PortComponentAttributes_dmi_2fhw_2eproto.base);
   ::google::protobuf::internal::InitSCC(&scc_info_PortComponentChangeAttributes_dmi_2fhw_2eproto.base);
+  ::google::protobuf::internal::InitSCC(&scc_info_TransceiverComponentChangeAttributes_dmi_2fhw_2eproto.base);
   ::google::protobuf::internal::InitSCC(&scc_info_PonIdConfig_dmi_2fhw_2eproto.base);
   ::google::protobuf::internal::InitSCC(&scc_info_ContainerComponentAttributes_dmi_2fhw_2eproto.base);
   ::google::protobuf::internal::InitSCC(&scc_info_PsuComponentAttributes_dmi_2fhw_2eproto.base);
@@ -323,7 +345,7 @@
   ::google::protobuf::internal::InitSCC(&scc_info_ModifiableComponent_dmi_2fhw_2eproto.base);
 }
 
-::google::protobuf::Metadata file_level_metadata_dmi_2fhw_2eproto[14];
+::google::protobuf::Metadata file_level_metadata_dmi_2fhw_2eproto[15];
 const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors_dmi_2fhw_2eproto[15];
 constexpr ::google::protobuf::ServiceDescriptor const** file_level_service_descriptors_dmi_2fhw_2eproto = nullptr;
 
@@ -390,6 +412,12 @@
   ~0u,  // no _weak_field_map_
   PROTOBUF_FIELD_OFFSET(::dmi::PortComponentChangeAttributes, pon_id_config_),
   ~0u,  // no _has_bits_
+  PROTOBUF_FIELD_OFFSET(::dmi::TransceiverComponentChangeAttributes, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  PROTOBUF_FIELD_OFFSET(::dmi::TransceiverComponentChangeAttributes, trans_type_),
+  ~0u,  // no _has_bits_
   PROTOBUF_FIELD_OFFSET(::dmi::PonIdConfig, _internal_metadata_),
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
@@ -472,6 +500,7 @@
   PROTOBUF_FIELD_OFFSET(::dmi::ModifiableComponent, uri_),
   PROTOBUF_FIELD_OFFSET(::dmi::ModifiableComponent, admin_state_),
   offsetof(::dmi::ModifiableComponentDefaultTypeInternal, port_attr_),
+  offsetof(::dmi::ModifiableComponentDefaultTypeInternal, trx_attr_),
   PROTOBUF_FIELD_OFFSET(::dmi::ModifiableComponent, specific_),
 };
 static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
@@ -482,13 +511,14 @@
   { 29, -1, sizeof(::dmi::ComponentSensorData)},
   { 43, -1, sizeof(::dmi::PortComponentAttributes)},
   { 55, -1, sizeof(::dmi::PortComponentChangeAttributes)},
-  { 61, -1, sizeof(::dmi::PonIdConfig)},
-  { 68, -1, sizeof(::dmi::ContainerComponentAttributes)},
-  { 74, -1, sizeof(::dmi::PsuComponentAttributes)},
-  { 80, -1, sizeof(::dmi::TransceiverComponentsAttributes)},
-  { 92, -1, sizeof(::dmi::Component)},
-  { 122, -1, sizeof(::dmi::Hardware)},
-  { 130, -1, sizeof(::dmi::ModifiableComponent)},
+  { 61, -1, sizeof(::dmi::TransceiverComponentChangeAttributes)},
+  { 67, -1, sizeof(::dmi::PonIdConfig)},
+  { 74, -1, sizeof(::dmi::ContainerComponentAttributes)},
+  { 80, -1, sizeof(::dmi::PsuComponentAttributes)},
+  { 86, -1, sizeof(::dmi::TransceiverComponentsAttributes)},
+  { 98, -1, sizeof(::dmi::Component)},
+  { 128, -1, sizeof(::dmi::Hardware)},
+  { 136, -1, sizeof(::dmi::ModifiableComponent)},
 };
 
 static ::google::protobuf::Message const * const file_default_instances[] = {
@@ -499,6 +529,7 @@
   reinterpret_cast<const ::google::protobuf::Message*>(&::dmi::_ComponentSensorData_default_instance_),
   reinterpret_cast<const ::google::protobuf::Message*>(&::dmi::_PortComponentAttributes_default_instance_),
   reinterpret_cast<const ::google::protobuf::Message*>(&::dmi::_PortComponentChangeAttributes_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::dmi::_TransceiverComponentChangeAttributes_default_instance_),
   reinterpret_cast<const ::google::protobuf::Message*>(&::dmi::_PonIdConfig_default_instance_),
   reinterpret_cast<const ::google::protobuf::Message*>(&::dmi::_ContainerComponentAttributes_default_instance_),
   reinterpret_cast<const ::google::protobuf::Message*>(&::dmi::_PsuComponentAttributes_default_instance_),
@@ -511,7 +542,7 @@
 ::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_dmi_2fhw_2eproto = {
   {}, AddDescriptors_dmi_2fhw_2eproto, "dmi/hw.proto", schemas,
   file_default_instances, TableStruct_dmi_2fhw_2eproto::offsets,
-  file_level_metadata_dmi_2fhw_2eproto, 14, file_level_enum_descriptors_dmi_2fhw_2eproto, file_level_service_descriptors_dmi_2fhw_2eproto,
+  file_level_metadata_dmi_2fhw_2eproto, 15, file_level_enum_descriptors_dmi_2fhw_2eproto, file_level_service_descriptors_dmi_2fhw_2eproto,
 };
 
 const char descriptor_table_protodef_dmi_2fhw_2eproto[] =
@@ -553,126 +584,130 @@
   "PON\020\003\022\n\n\006XGSPON\020\004\022\t\n\005GFAST\020\005\022\n\n\006SERIAL\020\006"
   "\022\010\n\004EPON\020\007\022\010\n\004BITS\020\010\"H\n\035PortComponentCha"
   "ngeAttributes\022\'\n\rpon_id_config\030\001 \001(\0132\020.d"
-  "mi.PonIdConfig\"B\n\013PonIdConfig\022\016\n\006pon_id\030"
-  "\001 \001(\014\022#\n\033pon_id_transmit_periodicity\030\002 \001"
-  "(\r\"6\n\034ContainerComponentAttributes\022\026\n\016ph"
-  "ysical_label\030\001 \001(\t\"\263\001\n\026PsuComponentAttri"
-  "butes\022G\n\021supported_voltage\030\001 \001(\0162,.dmi.P"
-  "suComponentAttributes.SupportedVoltage\"P"
-  "\n\020SupportedVoltage\022\037\n\033SUPPORTED_VOLTAGE_"
-  "UNDEFINED\020\000\022\007\n\003V48\020\001\022\010\n\004V230\020\002\022\010\n\004V115\020\003"
-  "\"\357\004\n\037TransceiverComponentsAttributes\022D\n\013"
-  "form_factor\030\001 \001(\0162/.dmi.TransceiverCompo"
-  "nentsAttributes.FormFactor\022=\n\ntrans_type"
-  "\030\002 \001(\0162).dmi.TransceiverComponentsAttrib"
-  "utes.Type\022\024\n\014max_distance\030\003 \001(\r\022+\n\022max_d"
-  "istance_scale\030\004 \001(\0162\017.dmi.ValueScale\022\025\n\r"
-  "rx_wavelength\030\005 \003(\r\022\025\n\rtx_wavelength\030\006 \003"
-  "(\r\022)\n\020wavelength_scale\030\007 \001(\0162\017.dmi.Value"
-  "Scale\"\300\001\n\nFormFactor\022\027\n\023FORM_FACTOR_UNKN"
-  "OWN\020\000\022\010\n\004QSFP\020\001\022\r\n\tQSFP_PLUS\020\002\022\n\n\006QSFP28"
-  "\020\003\022\007\n\003SFP\020\004\022\014\n\010SFP_PLUS\020\005\022\007\n\003XFP\020\006\022\010\n\004CF"
-  "P4\020\007\022\010\n\004CFP2\020\010\022\010\n\004CPAK\020\t\022\006\n\002X2\020\n\022\t\n\005OTHE"
-  "R\020\013\022\007\n\003CFP\020\014\022\014\n\010CFP2_ACO\020\r\022\014\n\010CFP2_DCO\020\016"
-  "\"h\n\004Type\022\020\n\014TYPE_UNKNOWN\020\000\022\014\n\010ETHERNET\020\001"
-  "\022\010\n\004GPON\020\002\022\t\n\005XGPON\020\003\022\n\n\006XGSPON\020\004\022\010\n\004CPO"
-  "N\020\005\022\013\n\007NG_PON2\020\006\022\010\n\004EPON\020\007\"\350\005\n\tComponent"
-  "\022\014\n\004name\030\001 \001(\t\022!\n\005class\030\002 \001(\0162\022.dmi.Comp"
-  "onentType\022\023\n\013description\030\003 \001(\t\022\016\n\006parent"
-  "\030\004 \001(\t\022\026\n\016parent_rel_pos\030\005 \001(\005\022 \n\010childr"
-  "en\030\006 \003(\0132\016.dmi.Component\022\024\n\014hardware_rev"
-  "\030\007 \001(\t\022\024\n\014firmware_rev\030\010 \001(\t\022\024\n\014software"
-  "_rev\030\t \001(\t\022\022\n\nserial_num\030\n \001(\t\022\020\n\010mfg_na"
-  "me\030\013 \001(\t\022\022\n\nmodel_name\030\014 \001(\t\022\r\n\005alias\030\r "
-  "\001(\t\022\020\n\010asset_id\030\016 \001(\t\022\016\n\006is_fru\030\017 \001(\010\022,\n"
-  "\010mfg_date\030\020 \001(\0132\032.google.protobuf.Timest"
-  "amp\022\025\n\003uri\030\021 \001(\0132\010.dmi.Uri\022\027\n\004uuid\030\022 \001(\013"
-  "2\t.dmi.Uuid\022\"\n\005state\030\023 \001(\0132\023.dmi.Compone"
-  "ntState\022-\n\013sensor_data\030\024 \003(\0132\030.dmi.Compo"
-  "nentSensorData\0221\n\tport_attr\0302 \001(\0132\034.dmi."
-  "PortComponentAttributesH\000\022;\n\016container_a"
-  "ttr\0303 \001(\0132!.dmi.ContainerComponentAttrib"
-  "utesH\000\022/\n\010psu_attr\0304 \001(\0132\033.dmi.PsuCompon"
-  "entAttributesH\000\022@\n\020transceiver_attr\0305 \001("
-  "\0132$.dmi.TransceiverComponentsAttributesH"
-  "\000B\n\n\010specific\"\212\001\n\010Hardware\022/\n\013last_chang"
-  "e\030\001 \001(\0132\032.google.protobuf.Timestamp\022\034\n\004r"
-  "oot\030\002 \001(\0132\016.dmi.Component\022/\n\013last_booted"
-  "\030\003 \001(\0132\032.google.protobuf.Timestamp\"\252\002\n\023M"
-  "odifiableComponent\022\014\n\004name\030\001 \001(\t\022!\n\005clas"
-  "s\030\002 \001(\0162\022.dmi.ComponentType\022\036\n\006parent\030\003 "
-  "\001(\0132\016.dmi.Component\022\026\n\016parent_rel_pos\030\004 "
-  "\001(\005\022\r\n\005alias\030\005 \001(\t\022\020\n\010asset_id\030\006 \001(\t\022\025\n\003"
-  "uri\030\007 \001(\0132\010.dmi.Uri\022-\n\013admin_state\030\010 \001(\016"
-  "2\030.dmi.ComponentAdminState\0227\n\tport_attr\030"
-  "2 \001(\0132\".dmi.PortComponentChangeAttribute"
-  "sH\000B\n\n\010specific*\264\003\n\rComponentType\022\034\n\030COM"
-  "PONENT_TYPE_UNDEFINED\020\000\022\032\n\026COMPONENT_TYP"
-  "E_UNKNOWN\020\001\022\032\n\026COMPONENT_TYPE_CHASSIS\020\002\022"
-  "\034\n\030COMPONENT_TYPE_BACKPLANE\020\003\022\034\n\030COMPONE"
-  "NT_TYPE_CONTAINER\020\004\022\037\n\033COMPONENT_TYPE_PO"
-  "WER_SUPPLY\020\005\022\026\n\022COMPONENT_TYPE_FAN\020\006\022\031\n\025"
-  "COMPONENT_TYPE_SENSOR\020\007\022\031\n\025COMPONENT_TYP"
-  "E_MODULE\020\010\022\027\n\023COMPONENT_TYPE_PORT\020\t\022\026\n\022C"
-  "OMPONENT_TYPE_CPU\020\n\022\032\n\026COMPONENT_TYPE_BA"
-  "TTERY\020\013\022\032\n\026COMPONENT_TYPE_STORAGE\020\014\022\031\n\025C"
-  "OMPONENT_TYPE_MEMORY\020\r\022\036\n\032COMPONENT_TYPE"
-  "_TRANSCEIVER\020\016*\263\001\n\023ComponentAdminState\022\036"
-  "\n\032COMP_ADMIN_STATE_UNDEFINED\020\000\022\034\n\030COMP_A"
-  "DMIN_STATE_UNKNOWN\020\001\022\033\n\027COMP_ADMIN_STATE"
-  "_LOCKED\020\002\022\"\n\036COMP_ADMIN_STATE_SHUTTING_D"
-  "OWN\020\003\022\035\n\031COMP_ADMIN_STATE_UNLOCKED\020\004*\250\001\n"
-  "\022ComponentOperState\022\035\n\031COMP_OPER_STATE_U"
-  "NDEFINED\020\000\022\033\n\027COMP_OPER_STATE_UNKNOWN\020\001\022"
-  "\034\n\030COMP_OPER_STATE_DISABLED\020\002\022\033\n\027COMP_OP"
-  "ER_STATE_ENABLED\020\003\022\033\n\027COMP_OPER_STATE_TE"
-  "STING\020\004*\246\001\n\023ComponentUsageState\022\036\n\032COMP_"
-  "USAGE_STATE_UNDEFINED\020\000\022\034\n\030COMP_USAGE_ST"
-  "ATE_UNKNOWN\020\001\022\031\n\025COMP_USAGE_STATE_IDLE\020\002"
-  "\022\033\n\027COMP_USAGE_STATE_ACTIVE\020\003\022\031\n\025COMP_US"
-  "AGE_STATE_BUSY\020\004*\217\002\n\023ComponentAlarmState"
-  "\022\036\n\032COMP_ALARM_STATE_UNDEFINED\020\000\022\034\n\030COMP"
-  "_ALARM_STATE_UNKNOWN\020\001\022!\n\035COMP_ALARM_STA"
-  "TE_UNDER_REPAIR\020\002\022\035\n\031COMP_ALARM_STATE_CR"
-  "ITICAL\020\003\022\032\n\026COMP_ALARM_STATE_MAJOR\020\004\022\032\n\026"
-  "COMP_ALARM_STATE_MINOR\020\005\022\034\n\030COMP_ALARM_S"
-  "TATE_WARNING\020\006\022\"\n\036COMP_ALARM_STATE_INDET"
-  "ERMINATE\020\007*\274\001\n\025ComponentStandbyState\022 \n\034"
-  "COMP_STANDBY_STATE_UNDEFINED\020\000\022\036\n\032COMP_S"
-  "TANDBY_STATE_UNKNOWN\020\001\022\032\n\026COMP_STANDBY_S"
-  "TATE_HOT\020\002\022\033\n\027COMP_STANDBY_STATE_COLD\020\003\022"
-  "(\n$COMP_STANDBY_STATE_PROVIDING_SERVICE\020"
-  "\004*\211\003\n\rDataValueType\022\030\n\024VALUE_TYPE_UNDEFI"
-  "NED\020\000\022\024\n\020VALUE_TYPE_OTHER\020\001\022\026\n\022VALUE_TYP"
-  "E_UNKNOWN\020\002\022\027\n\023VALUE_TYPE_VOLTS_AC\020\003\022\027\n\023"
-  "VALUE_TYPE_VOLTS_DC\020\004\022\026\n\022VALUE_TYPE_AMPE"
-  "RES\020\005\022\024\n\020VALUE_TYPE_WATTS\020\006\022\024\n\020VALUE_TYP"
-  "E_HERTZ\020\007\022\026\n\022VALUE_TYPE_CELSIUS\020\010\022\031\n\025VAL"
-  "UE_TYPE_PERCENT_RH\020\t\022\022\n\016VALUE_TYPE_RPM\020\n"
-  "\022\022\n\016VALUE_TYPE_CMM\020\013\022\032\n\026VALUE_TYPE_TRUTH"
-  "_VALUE\020\014\022\026\n\022VALUE_TYPE_PERCENT\020\r\022\025\n\021VALU"
-  "E_TYPE_METERS\020\016\022\024\n\020VALUE_TYPE_BYTES\020\017*\244\003"
-  "\n\nValueScale\022\031\n\025VALUE_SCALE_UNDEFINED\020\000\022"
-  "\025\n\021VALUE_SCALE_YOCTO\020\001\022\025\n\021VALUE_SCALE_ZE"
-  "PTO\020\002\022\024\n\020VALUE_SCALE_ATTO\020\003\022\025\n\021VALUE_SCA"
-  "LE_FEMTO\020\004\022\024\n\020VALUE_SCALE_PICO\020\005\022\024\n\020VALU"
-  "E_SCALE_NANO\020\006\022\025\n\021VALUE_SCALE_MICRO\020\007\022\025\n"
-  "\021VALUE_SCALE_MILLI\020\010\022\025\n\021VALUE_SCALE_UNIT"
-  "S\020\t\022\024\n\020VALUE_SCALE_KILO\020\n\022\024\n\020VALUE_SCALE"
-  "_MEGA\020\013\022\024\n\020VALUE_SCALE_GIGA\020\014\022\024\n\020VALUE_S"
-  "CALE_TERA\020\r\022\024\n\020VALUE_SCALE_PETA\020\016\022\023\n\017VAL"
-  "UE_SCALE_EXA\020\017\022\025\n\021VALUE_SCALE_ZETTA\020\020\022\025\n"
-  "\021VALUE_SCALE_YOTTA\020\021*\202\001\n\014SensorStatus\022\033\n"
-  "\027SENSOR_STATUS_UNDEFINED\020\000\022\024\n\020SENSOR_STA"
-  "TUS_OK\020\001\022\035\n\031SENSOR_STATUS_UNAVAILABLE\020\002\022"
-  " \n\034SENSOR_STATUS_NONOPERATIONAL\020\003B;Z9git"
-  "hub.com/opencord/device-management-inter"
-  "face/v3/go/dmib\006proto3"
+  "mi.PonIdConfig\"P\n$TransceiverComponentCh"
+  "angeAttributes\022(\n\ntrans_type\030\001 \001(\0162\024.dmi"
+  ".TransceiverType\"B\n\013PonIdConfig\022\016\n\006pon_i"
+  "d\030\001 \001(\014\022#\n\033pon_id_transmit_periodicity\030\002"
+  " \001(\r\"6\n\034ContainerComponentAttributes\022\026\n\016"
+  "physical_label\030\001 \001(\t\"\263\001\n\026PsuComponentAtt"
+  "ributes\022G\n\021supported_voltage\030\001 \001(\0162,.dmi"
+  ".PsuComponentAttributes.SupportedVoltage"
+  "\"P\n\020SupportedVoltage\022\037\n\033SUPPORTED_VOLTAG"
+  "E_UNDEFINED\020\000\022\007\n\003V48\020\001\022\010\n\004V230\020\002\022\010\n\004V115"
+  "\020\003\"\360\003\n\037TransceiverComponentsAttributes\022D"
+  "\n\013form_factor\030\001 \001(\0162/.dmi.TransceiverCom"
+  "ponentsAttributes.FormFactor\022(\n\ntrans_ty"
+  "pe\030\002 \001(\0162\024.dmi.TransceiverType\022\024\n\014max_di"
+  "stance\030\003 \001(\r\022+\n\022max_distance_scale\030\004 \001(\016"
+  "2\017.dmi.ValueScale\022\025\n\rrx_wavelength\030\005 \003(\r"
+  "\022\025\n\rtx_wavelength\030\006 \003(\r\022)\n\020wavelength_sc"
+  "ale\030\007 \001(\0162\017.dmi.ValueScale\"\300\001\n\nFormFacto"
+  "r\022\027\n\023FORM_FACTOR_UNKNOWN\020\000\022\010\n\004QSFP\020\001\022\r\n\t"
+  "QSFP_PLUS\020\002\022\n\n\006QSFP28\020\003\022\007\n\003SFP\020\004\022\014\n\010SFP_"
+  "PLUS\020\005\022\007\n\003XFP\020\006\022\010\n\004CFP4\020\007\022\010\n\004CFP2\020\010\022\010\n\004C"
+  "PAK\020\t\022\006\n\002X2\020\n\022\t\n\005OTHER\020\013\022\007\n\003CFP\020\014\022\014\n\010CFP"
+  "2_ACO\020\r\022\014\n\010CFP2_DCO\020\016\"\350\005\n\tComponent\022\014\n\004n"
+  "ame\030\001 \001(\t\022!\n\005class\030\002 \001(\0162\022.dmi.Component"
+  "Type\022\023\n\013description\030\003 \001(\t\022\016\n\006parent\030\004 \001("
+  "\t\022\026\n\016parent_rel_pos\030\005 \001(\005\022 \n\010children\030\006 "
+  "\003(\0132\016.dmi.Component\022\024\n\014hardware_rev\030\007 \001("
+  "\t\022\024\n\014firmware_rev\030\010 \001(\t\022\024\n\014software_rev\030"
+  "\t \001(\t\022\022\n\nserial_num\030\n \001(\t\022\020\n\010mfg_name\030\013 "
+  "\001(\t\022\022\n\nmodel_name\030\014 \001(\t\022\r\n\005alias\030\r \001(\t\022\020"
+  "\n\010asset_id\030\016 \001(\t\022\016\n\006is_fru\030\017 \001(\010\022,\n\010mfg_"
+  "date\030\020 \001(\0132\032.google.protobuf.Timestamp\022\025"
+  "\n\003uri\030\021 \001(\0132\010.dmi.Uri\022\027\n\004uuid\030\022 \001(\0132\t.dm"
+  "i.Uuid\022\"\n\005state\030\023 \001(\0132\023.dmi.ComponentSta"
+  "te\022-\n\013sensor_data\030\024 \003(\0132\030.dmi.ComponentS"
+  "ensorData\0221\n\tport_attr\0302 \001(\0132\034.dmi.PortC"
+  "omponentAttributesH\000\022;\n\016container_attr\0303"
+  " \001(\0132!.dmi.ContainerComponentAttributesH"
+  "\000\022/\n\010psu_attr\0304 \001(\0132\033.dmi.PsuComponentAt"
+  "tributesH\000\022@\n\020transceiver_attr\0305 \001(\0132$.d"
+  "mi.TransceiverComponentsAttributesH\000B\n\n\010"
+  "specific\"\212\001\n\010Hardware\022/\n\013last_change\030\001 \001"
+  "(\0132\032.google.protobuf.Timestamp\022\034\n\004root\030\002"
+  " \001(\0132\016.dmi.Component\022/\n\013last_booted\030\003 \001("
+  "\0132\032.google.protobuf.Timestamp\"\351\002\n\023Modifi"
+  "ableComponent\022\014\n\004name\030\001 \001(\t\022!\n\005class\030\002 \001"
+  "(\0162\022.dmi.ComponentType\022\036\n\006parent\030\003 \001(\0132\016"
+  ".dmi.Component\022\026\n\016parent_rel_pos\030\004 \001(\005\022\r"
+  "\n\005alias\030\005 \001(\t\022\020\n\010asset_id\030\006 \001(\t\022\025\n\003uri\030\007"
+  " \001(\0132\010.dmi.Uri\022-\n\013admin_state\030\010 \001(\0162\030.dm"
+  "i.ComponentAdminState\0227\n\tport_attr\0302 \001(\013"
+  "2\".dmi.PortComponentChangeAttributesH\000\022="
+  "\n\010trx_attr\0303 \001(\0132).dmi.TransceiverCompon"
+  "entChangeAttributesH\000B\n\n\010specific*\264\003\n\rCo"
+  "mponentType\022\034\n\030COMPONENT_TYPE_UNDEFINED\020"
+  "\000\022\032\n\026COMPONENT_TYPE_UNKNOWN\020\001\022\032\n\026COMPONE"
+  "NT_TYPE_CHASSIS\020\002\022\034\n\030COMPONENT_TYPE_BACK"
+  "PLANE\020\003\022\034\n\030COMPONENT_TYPE_CONTAINER\020\004\022\037\n"
+  "\033COMPONENT_TYPE_POWER_SUPPLY\020\005\022\026\n\022COMPON"
+  "ENT_TYPE_FAN\020\006\022\031\n\025COMPONENT_TYPE_SENSOR\020"
+  "\007\022\031\n\025COMPONENT_TYPE_MODULE\020\010\022\027\n\023COMPONEN"
+  "T_TYPE_PORT\020\t\022\026\n\022COMPONENT_TYPE_CPU\020\n\022\032\n"
+  "\026COMPONENT_TYPE_BATTERY\020\013\022\032\n\026COMPONENT_T"
+  "YPE_STORAGE\020\014\022\031\n\025COMPONENT_TYPE_MEMORY\020\r"
+  "\022\036\n\032COMPONENT_TYPE_TRANSCEIVER\020\016*\263\001\n\023Com"
+  "ponentAdminState\022\036\n\032COMP_ADMIN_STATE_UND"
+  "EFINED\020\000\022\034\n\030COMP_ADMIN_STATE_UNKNOWN\020\001\022\033"
+  "\n\027COMP_ADMIN_STATE_LOCKED\020\002\022\"\n\036COMP_ADMI"
+  "N_STATE_SHUTTING_DOWN\020\003\022\035\n\031COMP_ADMIN_ST"
+  "ATE_UNLOCKED\020\004*\250\001\n\022ComponentOperState\022\035\n"
+  "\031COMP_OPER_STATE_UNDEFINED\020\000\022\033\n\027COMP_OPE"
+  "R_STATE_UNKNOWN\020\001\022\034\n\030COMP_OPER_STATE_DIS"
+  "ABLED\020\002\022\033\n\027COMP_OPER_STATE_ENABLED\020\003\022\033\n\027"
+  "COMP_OPER_STATE_TESTING\020\004*\246\001\n\023ComponentU"
+  "sageState\022\036\n\032COMP_USAGE_STATE_UNDEFINED\020"
+  "\000\022\034\n\030COMP_USAGE_STATE_UNKNOWN\020\001\022\031\n\025COMP_"
+  "USAGE_STATE_IDLE\020\002\022\033\n\027COMP_USAGE_STATE_A"
+  "CTIVE\020\003\022\031\n\025COMP_USAGE_STATE_BUSY\020\004*\217\002\n\023C"
+  "omponentAlarmState\022\036\n\032COMP_ALARM_STATE_U"
+  "NDEFINED\020\000\022\034\n\030COMP_ALARM_STATE_UNKNOWN\020\001"
+  "\022!\n\035COMP_ALARM_STATE_UNDER_REPAIR\020\002\022\035\n\031C"
+  "OMP_ALARM_STATE_CRITICAL\020\003\022\032\n\026COMP_ALARM"
+  "_STATE_MAJOR\020\004\022\032\n\026COMP_ALARM_STATE_MINOR"
+  "\020\005\022\034\n\030COMP_ALARM_STATE_WARNING\020\006\022\"\n\036COMP"
+  "_ALARM_STATE_INDETERMINATE\020\007*\274\001\n\025Compone"
+  "ntStandbyState\022 \n\034COMP_STANDBY_STATE_UND"
+  "EFINED\020\000\022\036\n\032COMP_STANDBY_STATE_UNKNOWN\020\001"
+  "\022\032\n\026COMP_STANDBY_STATE_HOT\020\002\022\033\n\027COMP_STA"
+  "NDBY_STATE_COLD\020\003\022(\n$COMP_STANDBY_STATE_"
+  "PROVIDING_SERVICE\020\004*\211\003\n\rDataValueType\022\030\n"
+  "\024VALUE_TYPE_UNDEFINED\020\000\022\024\n\020VALUE_TYPE_OT"
+  "HER\020\001\022\026\n\022VALUE_TYPE_UNKNOWN\020\002\022\027\n\023VALUE_T"
+  "YPE_VOLTS_AC\020\003\022\027\n\023VALUE_TYPE_VOLTS_DC\020\004\022"
+  "\026\n\022VALUE_TYPE_AMPERES\020\005\022\024\n\020VALUE_TYPE_WA"
+  "TTS\020\006\022\024\n\020VALUE_TYPE_HERTZ\020\007\022\026\n\022VALUE_TYP"
+  "E_CELSIUS\020\010\022\031\n\025VALUE_TYPE_PERCENT_RH\020\t\022\022"
+  "\n\016VALUE_TYPE_RPM\020\n\022\022\n\016VALUE_TYPE_CMM\020\013\022\032"
+  "\n\026VALUE_TYPE_TRUTH_VALUE\020\014\022\026\n\022VALUE_TYPE"
+  "_PERCENT\020\r\022\025\n\021VALUE_TYPE_METERS\020\016\022\024\n\020VAL"
+  "UE_TYPE_BYTES\020\017*\244\003\n\nValueScale\022\031\n\025VALUE_"
+  "SCALE_UNDEFINED\020\000\022\025\n\021VALUE_SCALE_YOCTO\020\001"
+  "\022\025\n\021VALUE_SCALE_ZEPTO\020\002\022\024\n\020VALUE_SCALE_A"
+  "TTO\020\003\022\025\n\021VALUE_SCALE_FEMTO\020\004\022\024\n\020VALUE_SC"
+  "ALE_PICO\020\005\022\024\n\020VALUE_SCALE_NANO\020\006\022\025\n\021VALU"
+  "E_SCALE_MICRO\020\007\022\025\n\021VALUE_SCALE_MILLI\020\010\022\025"
+  "\n\021VALUE_SCALE_UNITS\020\t\022\024\n\020VALUE_SCALE_KIL"
+  "O\020\n\022\024\n\020VALUE_SCALE_MEGA\020\013\022\024\n\020VALUE_SCALE"
+  "_GIGA\020\014\022\024\n\020VALUE_SCALE_TERA\020\r\022\024\n\020VALUE_S"
+  "CALE_PETA\020\016\022\023\n\017VALUE_SCALE_EXA\020\017\022\025\n\021VALU"
+  "E_SCALE_ZETTA\020\020\022\025\n\021VALUE_SCALE_YOTTA\020\021*\202"
+  "\001\n\014SensorStatus\022\033\n\027SENSOR_STATUS_UNDEFIN"
+  "ED\020\000\022\024\n\020SENSOR_STATUS_OK\020\001\022\035\n\031SENSOR_STA"
+  "TUS_UNAVAILABLE\020\002\022 \n\034SENSOR_STATUS_NONOP"
+  "ERATIONAL\020\003*\215\001\n\017TransceiverType\022\022\n\016TYPE_"
+  "UNDEFINED\020\000\022\014\n\010ETHERNET\020\001\022\010\n\004GPON\020\002\022\t\n\005X"
+  "GPON\020\003\022\n\n\006XGSPON\020\004\022\010\n\004CPON\020\005\022\013\n\007NG_PON2\020"
+  "\006\022\010\n\004EPON\020\007\022\026\n\021TYPE_NOT_DETECTED\020\377\001B;Z9g"
+  "ithub.com/opencord/device-management-int"
+  "erface/v3/go/dmib\006proto3"
   ;
 ::google::protobuf::internal::DescriptorTable descriptor_table_dmi_2fhw_2eproto = {
   false, InitDefaults_dmi_2fhw_2eproto, 
   descriptor_table_protodef_dmi_2fhw_2eproto,
-  "dmi/hw.proto", &assign_descriptors_table_dmi_2fhw_2eproto, 6102,
+  "dmi/hw.proto", &assign_descriptors_table_dmi_2fhw_2eproto, 6264,
 };
 
 void AddDescriptors_dmi_2fhw_2eproto() {
@@ -859,42 +894,9 @@
 const TransceiverComponentsAttributes_FormFactor TransceiverComponentsAttributes::FormFactor_MAX;
 const int TransceiverComponentsAttributes::FormFactor_ARRAYSIZE;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-const ::google::protobuf::EnumDescriptor* TransceiverComponentsAttributes_Type_descriptor() {
-  ::google::protobuf::internal::AssignDescriptors(&assign_descriptors_table_dmi_2fhw_2eproto);
-  return file_level_enum_descriptors_dmi_2fhw_2eproto[5];
-}
-bool TransceiverComponentsAttributes_Type_IsValid(int value) {
-  switch (value) {
-    case 0:
-    case 1:
-    case 2:
-    case 3:
-    case 4:
-    case 5:
-    case 6:
-    case 7:
-      return true;
-    default:
-      return false;
-  }
-}
-
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
-const TransceiverComponentsAttributes_Type TransceiverComponentsAttributes::TYPE_UNKNOWN;
-const TransceiverComponentsAttributes_Type TransceiverComponentsAttributes::ETHERNET;
-const TransceiverComponentsAttributes_Type TransceiverComponentsAttributes::GPON;
-const TransceiverComponentsAttributes_Type TransceiverComponentsAttributes::XGPON;
-const TransceiverComponentsAttributes_Type TransceiverComponentsAttributes::XGSPON;
-const TransceiverComponentsAttributes_Type TransceiverComponentsAttributes::CPON;
-const TransceiverComponentsAttributes_Type TransceiverComponentsAttributes::NG_PON2;
-const TransceiverComponentsAttributes_Type TransceiverComponentsAttributes::EPON;
-const TransceiverComponentsAttributes_Type TransceiverComponentsAttributes::Type_MIN;
-const TransceiverComponentsAttributes_Type TransceiverComponentsAttributes::Type_MAX;
-const int TransceiverComponentsAttributes::Type_ARRAYSIZE;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 const ::google::protobuf::EnumDescriptor* ComponentType_descriptor() {
   ::google::protobuf::internal::AssignDescriptors(&assign_descriptors_table_dmi_2fhw_2eproto);
-  return file_level_enum_descriptors_dmi_2fhw_2eproto[6];
+  return file_level_enum_descriptors_dmi_2fhw_2eproto[5];
 }
 bool ComponentType_IsValid(int value) {
   switch (value) {
@@ -921,7 +923,7 @@
 
 const ::google::protobuf::EnumDescriptor* ComponentAdminState_descriptor() {
   ::google::protobuf::internal::AssignDescriptors(&assign_descriptors_table_dmi_2fhw_2eproto);
-  return file_level_enum_descriptors_dmi_2fhw_2eproto[7];
+  return file_level_enum_descriptors_dmi_2fhw_2eproto[6];
 }
 bool ComponentAdminState_IsValid(int value) {
   switch (value) {
@@ -938,7 +940,7 @@
 
 const ::google::protobuf::EnumDescriptor* ComponentOperState_descriptor() {
   ::google::protobuf::internal::AssignDescriptors(&assign_descriptors_table_dmi_2fhw_2eproto);
-  return file_level_enum_descriptors_dmi_2fhw_2eproto[8];
+  return file_level_enum_descriptors_dmi_2fhw_2eproto[7];
 }
 bool ComponentOperState_IsValid(int value) {
   switch (value) {
@@ -955,7 +957,7 @@
 
 const ::google::protobuf::EnumDescriptor* ComponentUsageState_descriptor() {
   ::google::protobuf::internal::AssignDescriptors(&assign_descriptors_table_dmi_2fhw_2eproto);
-  return file_level_enum_descriptors_dmi_2fhw_2eproto[9];
+  return file_level_enum_descriptors_dmi_2fhw_2eproto[8];
 }
 bool ComponentUsageState_IsValid(int value) {
   switch (value) {
@@ -972,7 +974,7 @@
 
 const ::google::protobuf::EnumDescriptor* ComponentAlarmState_descriptor() {
   ::google::protobuf::internal::AssignDescriptors(&assign_descriptors_table_dmi_2fhw_2eproto);
-  return file_level_enum_descriptors_dmi_2fhw_2eproto[10];
+  return file_level_enum_descriptors_dmi_2fhw_2eproto[9];
 }
 bool ComponentAlarmState_IsValid(int value) {
   switch (value) {
@@ -992,7 +994,7 @@
 
 const ::google::protobuf::EnumDescriptor* ComponentStandbyState_descriptor() {
   ::google::protobuf::internal::AssignDescriptors(&assign_descriptors_table_dmi_2fhw_2eproto);
-  return file_level_enum_descriptors_dmi_2fhw_2eproto[11];
+  return file_level_enum_descriptors_dmi_2fhw_2eproto[10];
 }
 bool ComponentStandbyState_IsValid(int value) {
   switch (value) {
@@ -1009,7 +1011,7 @@
 
 const ::google::protobuf::EnumDescriptor* DataValueType_descriptor() {
   ::google::protobuf::internal::AssignDescriptors(&assign_descriptors_table_dmi_2fhw_2eproto);
-  return file_level_enum_descriptors_dmi_2fhw_2eproto[12];
+  return file_level_enum_descriptors_dmi_2fhw_2eproto[11];
 }
 bool DataValueType_IsValid(int value) {
   switch (value) {
@@ -1037,7 +1039,7 @@
 
 const ::google::protobuf::EnumDescriptor* ValueScale_descriptor() {
   ::google::protobuf::internal::AssignDescriptors(&assign_descriptors_table_dmi_2fhw_2eproto);
-  return file_level_enum_descriptors_dmi_2fhw_2eproto[13];
+  return file_level_enum_descriptors_dmi_2fhw_2eproto[12];
 }
 bool ValueScale_IsValid(int value) {
   switch (value) {
@@ -1067,7 +1069,7 @@
 
 const ::google::protobuf::EnumDescriptor* SensorStatus_descriptor() {
   ::google::protobuf::internal::AssignDescriptors(&assign_descriptors_table_dmi_2fhw_2eproto);
-  return file_level_enum_descriptors_dmi_2fhw_2eproto[14];
+  return file_level_enum_descriptors_dmi_2fhw_2eproto[13];
 }
 bool SensorStatus_IsValid(int value) {
   switch (value) {
@@ -1081,6 +1083,27 @@
   }
 }
 
+const ::google::protobuf::EnumDescriptor* TransceiverType_descriptor() {
+  ::google::protobuf::internal::AssignDescriptors(&assign_descriptors_table_dmi_2fhw_2eproto);
+  return file_level_enum_descriptors_dmi_2fhw_2eproto[14];
+}
+bool TransceiverType_IsValid(int value) {
+  switch (value) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 255:
+      return true;
+    default:
+      return false;
+  }
+}
+
 
 // ===================================================================
 
@@ -4110,6 +4133,269 @@
 
 // ===================================================================
 
+void TransceiverComponentChangeAttributes::InitAsDefaultInstance() {
+}
+class TransceiverComponentChangeAttributes::HasBitSetters {
+ public:
+};
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int TransceiverComponentChangeAttributes::kTransTypeFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+TransceiverComponentChangeAttributes::TransceiverComponentChangeAttributes()
+  : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:dmi.TransceiverComponentChangeAttributes)
+}
+TransceiverComponentChangeAttributes::TransceiverComponentChangeAttributes(const TransceiverComponentChangeAttributes& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(nullptr) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  trans_type_ = from.trans_type_;
+  // @@protoc_insertion_point(copy_constructor:dmi.TransceiverComponentChangeAttributes)
+}
+
+void TransceiverComponentChangeAttributes::SharedCtor() {
+  trans_type_ = 0;
+}
+
+TransceiverComponentChangeAttributes::~TransceiverComponentChangeAttributes() {
+  // @@protoc_insertion_point(destructor:dmi.TransceiverComponentChangeAttributes)
+  SharedDtor();
+}
+
+void TransceiverComponentChangeAttributes::SharedDtor() {
+}
+
+void TransceiverComponentChangeAttributes::SetCachedSize(int size) const {
+  _cached_size_.Set(size);
+}
+const TransceiverComponentChangeAttributes& TransceiverComponentChangeAttributes::default_instance() {
+  ::google::protobuf::internal::InitSCC(&::scc_info_TransceiverComponentChangeAttributes_dmi_2fhw_2eproto.base);
+  return *internal_default_instance();
+}
+
+
+void TransceiverComponentChangeAttributes::Clear() {
+// @@protoc_insertion_point(message_clear_start:dmi.TransceiverComponentChangeAttributes)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  trans_type_ = 0;
+  _internal_metadata_.Clear();
+}
+
+#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+const char* TransceiverComponentChangeAttributes::_InternalParse(const char* begin, const char* end, void* object,
+                  ::google::protobuf::internal::ParseContext* ctx) {
+  auto msg = static_cast<TransceiverComponentChangeAttributes*>(object);
+  ::google::protobuf::int32 size; (void)size;
+  int depth; (void)depth;
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end;
+  auto ptr = begin;
+  while (ptr < end) {
+    ptr = ::google::protobuf::io::Parse32(ptr, &tag);
+    GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
+    switch (tag >> 3) {
+      // .dmi.TransceiverType trans_type = 1;
+      case 1: {
+        if (static_cast<::google::protobuf::uint8>(tag) != 8) goto handle_unusual;
+        ::google::protobuf::uint64 val = ::google::protobuf::internal::ReadVarint(&ptr);
+        msg->set_trans_type(static_cast<::dmi::TransceiverType>(val));
+        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
+        break;
+      }
+      default: {
+      handle_unusual:
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->EndGroup(tag);
+          return ptr;
+        }
+        auto res = UnknownFieldParse(tag, {_InternalParse, msg},
+          ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx);
+        ptr = res.first;
+        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr);
+        if (res.second) return ptr;
+      }
+    }  // switch
+  }  // while
+  return ptr;
+}
+#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+bool TransceiverComponentChangeAttributes::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:dmi.TransceiverComponentChangeAttributes)
+  for (;;) {
+    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // .dmi.TransceiverType trans_type = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) == (8 & 0xFF)) {
+          int value = 0;
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+                 input, &value)));
+          set_trans_type(static_cast< ::dmi::TransceiverType >(value));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:dmi.TransceiverComponentChangeAttributes)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:dmi.TransceiverComponentChangeAttributes)
+  return false;
+#undef DO_
+}
+#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+
+void TransceiverComponentChangeAttributes::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:dmi.TransceiverComponentChangeAttributes)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // .dmi.TransceiverType trans_type = 1;
+  if (this->trans_type() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteEnum(
+      1, this->trans_type(), output);
+  }
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        _internal_metadata_.unknown_fields(), output);
+  }
+  // @@protoc_insertion_point(serialize_end:dmi.TransceiverComponentChangeAttributes)
+}
+
+::google::protobuf::uint8* TransceiverComponentChangeAttributes::InternalSerializeWithCachedSizesToArray(
+    ::google::protobuf::uint8* target) const {
+  // @@protoc_insertion_point(serialize_to_array_start:dmi.TransceiverComponentChangeAttributes)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // .dmi.TransceiverType trans_type = 1;
+  if (this->trans_type() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
+      1, this->trans_type(), target);
+  }
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        _internal_metadata_.unknown_fields(), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:dmi.TransceiverComponentChangeAttributes)
+  return target;
+}
+
+size_t TransceiverComponentChangeAttributes::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:dmi.TransceiverComponentChangeAttributes)
+  size_t total_size = 0;
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        _internal_metadata_.unknown_fields());
+  }
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  // .dmi.TransceiverType trans_type = 1;
+  if (this->trans_type() != 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::EnumSize(this->trans_type());
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
+  return total_size;
+}
+
+void TransceiverComponentChangeAttributes::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:dmi.TransceiverComponentChangeAttributes)
+  GOOGLE_DCHECK_NE(&from, this);
+  const TransceiverComponentChangeAttributes* source =
+      ::google::protobuf::DynamicCastToGenerated<TransceiverComponentChangeAttributes>(
+          &from);
+  if (source == nullptr) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:dmi.TransceiverComponentChangeAttributes)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:dmi.TransceiverComponentChangeAttributes)
+    MergeFrom(*source);
+  }
+}
+
+void TransceiverComponentChangeAttributes::MergeFrom(const TransceiverComponentChangeAttributes& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:dmi.TransceiverComponentChangeAttributes)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.trans_type() != 0) {
+    set_trans_type(from.trans_type());
+  }
+}
+
+void TransceiverComponentChangeAttributes::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:dmi.TransceiverComponentChangeAttributes)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void TransceiverComponentChangeAttributes::CopyFrom(const TransceiverComponentChangeAttributes& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:dmi.TransceiverComponentChangeAttributes)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool TransceiverComponentChangeAttributes::IsInitialized() const {
+  return true;
+}
+
+void TransceiverComponentChangeAttributes::Swap(TransceiverComponentChangeAttributes* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void TransceiverComponentChangeAttributes::InternalSwap(TransceiverComponentChangeAttributes* other) {
+  using std::swap;
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(trans_type_, other->trans_type_);
+}
+
+::google::protobuf::Metadata TransceiverComponentChangeAttributes::GetMetadata() const {
+  ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_dmi_2fhw_2eproto);
+  return ::file_level_metadata_dmi_2fhw_2eproto[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
 void PonIdConfig::InitAsDefaultInstance() {
 }
 class PonIdConfig::HasBitSetters {
@@ -5090,11 +5376,11 @@
         GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
         break;
       }
-      // .dmi.TransceiverComponentsAttributes.Type trans_type = 2;
+      // .dmi.TransceiverType trans_type = 2;
       case 2: {
         if (static_cast<::google::protobuf::uint8>(tag) != 16) goto handle_unusual;
         ::google::protobuf::uint64 val = ::google::protobuf::internal::ReadVarint(&ptr);
-        msg->set_trans_type(static_cast<::dmi::TransceiverComponentsAttributes_Type>(val));
+        msg->set_trans_type(static_cast<::dmi::TransceiverType>(val));
         GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
         break;
       }
@@ -5205,14 +5491,14 @@
         break;
       }
 
-      // .dmi.TransceiverComponentsAttributes.Type trans_type = 2;
+      // .dmi.TransceiverType trans_type = 2;
       case 2: {
         if (static_cast< ::google::protobuf::uint8>(tag) == (16 & 0xFF)) {
           int value = 0;
           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                  input, &value)));
-          set_trans_type(static_cast< ::dmi::TransceiverComponentsAttributes_Type >(value));
+          set_trans_type(static_cast< ::dmi::TransceiverType >(value));
         } else {
           goto handle_unusual;
         }
@@ -5325,7 +5611,7 @@
       1, this->form_factor(), output);
   }
 
-  // .dmi.TransceiverComponentsAttributes.Type trans_type = 2;
+  // .dmi.TransceiverType trans_type = 2;
   if (this->trans_type() != 0) {
     ::google::protobuf::internal::WireFormatLite::WriteEnum(
       2, this->trans_type(), output);
@@ -5389,7 +5675,7 @@
       1, this->form_factor(), target);
   }
 
-  // .dmi.TransceiverComponentsAttributes.Type trans_type = 2;
+  // .dmi.TransceiverType trans_type = 2;
   if (this->trans_type() != 0) {
     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
       2, this->trans_type(), target);
@@ -5495,7 +5781,7 @@
       ::google::protobuf::internal::WireFormatLite::EnumSize(this->form_factor());
   }
 
-  // .dmi.TransceiverComponentsAttributes.Type trans_type = 2;
+  // .dmi.TransceiverType trans_type = 2;
   if (this->trans_type() != 0) {
     total_size += 1 +
       ::google::protobuf::internal::WireFormatLite::EnumSize(this->trans_type());
@@ -7947,12 +8233,15 @@
       ::dmi::Uri::internal_default_instance());
   ::dmi::_ModifiableComponent_default_instance_.port_attr_ = const_cast< ::dmi::PortComponentChangeAttributes*>(
       ::dmi::PortComponentChangeAttributes::internal_default_instance());
+  ::dmi::_ModifiableComponent_default_instance_.trx_attr_ = const_cast< ::dmi::TransceiverComponentChangeAttributes*>(
+      ::dmi::TransceiverComponentChangeAttributes::internal_default_instance());
 }
 class ModifiableComponent::HasBitSetters {
  public:
   static const ::dmi::Component& parent(const ModifiableComponent* msg);
   static const ::dmi::Uri& uri(const ModifiableComponent* msg);
   static const ::dmi::PortComponentChangeAttributes& port_attr(const ModifiableComponent* msg);
+  static const ::dmi::TransceiverComponentChangeAttributes& trx_attr(const ModifiableComponent* msg);
 };
 
 const ::dmi::Component&
@@ -7967,6 +8256,10 @@
 ModifiableComponent::HasBitSetters::port_attr(const ModifiableComponent* msg) {
   return *msg->specific_.port_attr_;
 }
+const ::dmi::TransceiverComponentChangeAttributes&
+ModifiableComponent::HasBitSetters::trx_attr(const ModifiableComponent* msg) {
+  return *msg->specific_.trx_attr_;
+}
 void ModifiableComponent::set_allocated_port_attr(::dmi::PortComponentChangeAttributes* port_attr) {
   ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
   clear_specific();
@@ -7981,6 +8274,20 @@
   }
   // @@protoc_insertion_point(field_set_allocated:dmi.ModifiableComponent.port_attr)
 }
+void ModifiableComponent::set_allocated_trx_attr(::dmi::TransceiverComponentChangeAttributes* trx_attr) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  clear_specific();
+  if (trx_attr) {
+    ::google::protobuf::Arena* submessage_arena = nullptr;
+    if (message_arena != submessage_arena) {
+      trx_attr = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, trx_attr, submessage_arena);
+    }
+    set_has_trx_attr();
+    specific_.trx_attr_ = trx_attr;
+  }
+  // @@protoc_insertion_point(field_set_allocated:dmi.ModifiableComponent.trx_attr)
+}
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ModifiableComponent::kNameFieldNumber;
 const int ModifiableComponent::kClassFieldNumber;
@@ -7991,6 +8298,7 @@
 const int ModifiableComponent::kUriFieldNumber;
 const int ModifiableComponent::kAdminStateFieldNumber;
 const int ModifiableComponent::kPortAttrFieldNumber;
+const int ModifiableComponent::kTrxAttrFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ModifiableComponent::ModifiableComponent()
@@ -8033,6 +8341,10 @@
       mutable_port_attr()->::dmi::PortComponentChangeAttributes::MergeFrom(from.port_attr());
       break;
     }
+    case kTrxAttr: {
+      mutable_trx_attr()->::dmi::TransceiverComponentChangeAttributes::MergeFrom(from.trx_attr());
+      break;
+    }
     case SPECIFIC_NOT_SET: {
       break;
     }
@@ -8084,6 +8396,10 @@
       delete specific_.port_attr_;
       break;
     }
+    case kTrxAttr: {
+      delete specific_.trx_attr_;
+      break;
+    }
     case SPECIFIC_NOT_SET: {
       break;
     }
@@ -8239,6 +8555,19 @@
             {parser_till_end, object}, ptr - size, ptr));
         break;
       }
+      // .dmi.TransceiverComponentChangeAttributes trx_attr = 51;
+      case 51: {
+        if (static_cast<::google::protobuf::uint8>(tag) != 154) goto handle_unusual;
+        ptr = ::google::protobuf::io::ReadSize(ptr, &size);
+        GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
+        parser_till_end = ::dmi::TransceiverComponentChangeAttributes::_InternalParse;
+        object = msg->mutable_trx_attr();
+        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) {
@@ -8392,6 +8721,17 @@
         break;
       }
 
+      // .dmi.TransceiverComponentChangeAttributes trx_attr = 51;
+      case 51: {
+        if (static_cast< ::google::protobuf::uint8>(tag) == (410 & 0xFF)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_trx_attr()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
       default: {
       handle_unusual:
         if (tag == 0) {
@@ -8484,6 +8824,12 @@
       50, HasBitSetters::port_attr(this), output);
   }
 
+  // .dmi.TransceiverComponentChangeAttributes trx_attr = 51;
+  if (has_trx_attr()) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      51, HasBitSetters::trx_attr(this), output);
+  }
+
   if (_internal_metadata_.have_unknown_fields()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
         _internal_metadata_.unknown_fields(), output);
@@ -8568,6 +8914,13 @@
         50, HasBitSetters::port_attr(this), target);
   }
 
+  // .dmi.TransceiverComponentChangeAttributes trx_attr = 51;
+  if (has_trx_attr()) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        51, HasBitSetters::trx_attr(this), target);
+  }
+
   if (_internal_metadata_.have_unknown_fields()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
         _internal_metadata_.unknown_fields(), target);
@@ -8651,6 +9004,13 @@
           *specific_.port_attr_);
       break;
     }
+    // .dmi.TransceiverComponentChangeAttributes trx_attr = 51;
+    case kTrxAttr: {
+      total_size += 2 +
+        ::google::protobuf::internal::WireFormatLite::MessageSize(
+          *specific_.trx_attr_);
+      break;
+    }
     case SPECIFIC_NOT_SET: {
       break;
     }
@@ -8714,6 +9074,10 @@
       mutable_port_attr()->::dmi::PortComponentChangeAttributes::MergeFrom(from.port_attr());
       break;
     }
+    case kTrxAttr: {
+      mutable_trx_attr()->::dmi::TransceiverComponentChangeAttributes::MergeFrom(from.trx_attr());
+      break;
+    }
     case SPECIFIC_NOT_SET: {
       break;
     }
@@ -8791,6 +9155,9 @@
 template<> PROTOBUF_NOINLINE ::dmi::PortComponentChangeAttributes* Arena::CreateMaybeMessage< ::dmi::PortComponentChangeAttributes >(Arena* arena) {
   return Arena::CreateInternal< ::dmi::PortComponentChangeAttributes >(arena);
 }
+template<> PROTOBUF_NOINLINE ::dmi::TransceiverComponentChangeAttributes* Arena::CreateMaybeMessage< ::dmi::TransceiverComponentChangeAttributes >(Arena* arena) {
+  return Arena::CreateInternal< ::dmi::TransceiverComponentChangeAttributes >(arena);
+}
 template<> PROTOBUF_NOINLINE ::dmi::PonIdConfig* Arena::CreateMaybeMessage< ::dmi::PonIdConfig >(Arena* arena) {
   return Arena::CreateInternal< ::dmi::PonIdConfig >(arena);
 }
diff --git a/cpp/dmi/hw.pb.h b/cpp/dmi/hw.pb.h
index ebe9767..a28a8bb 100644
--- a/cpp/dmi/hw.pb.h
+++ b/cpp/dmi/hw.pb.h
@@ -43,7 +43,7 @@
     PROTOBUF_SECTION_VARIABLE(protodesc_cold);
   static const ::google::protobuf::internal::AuxillaryParseTableField aux[]
     PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::google::protobuf::internal::ParseTable schema[14]
+  static const ::google::protobuf::internal::ParseTable schema[15]
     PROTOBUF_SECTION_VARIABLE(protodesc_cold);
   static const ::google::protobuf::internal::FieldMetadata field_metadata[];
   static const ::google::protobuf::internal::SerializationTable serialization_table[];
@@ -84,6 +84,9 @@
 class PsuComponentAttributes;
 class PsuComponentAttributesDefaultTypeInternal;
 extern PsuComponentAttributesDefaultTypeInternal _PsuComponentAttributes_default_instance_;
+class TransceiverComponentChangeAttributes;
+class TransceiverComponentChangeAttributesDefaultTypeInternal;
+extern TransceiverComponentChangeAttributesDefaultTypeInternal _TransceiverComponentChangeAttributes_default_instance_;
 class TransceiverComponentsAttributes;
 class TransceiverComponentsAttributesDefaultTypeInternal;
 extern TransceiverComponentsAttributesDefaultTypeInternal _TransceiverComponentsAttributes_default_instance_;
@@ -107,6 +110,7 @@
 template<> ::dmi::PortComponentAttributes* Arena::CreateMaybeMessage<::dmi::PortComponentAttributes>(Arena*);
 template<> ::dmi::PortComponentChangeAttributes* Arena::CreateMaybeMessage<::dmi::PortComponentChangeAttributes>(Arena*);
 template<> ::dmi::PsuComponentAttributes* Arena::CreateMaybeMessage<::dmi::PsuComponentAttributes>(Arena*);
+template<> ::dmi::TransceiverComponentChangeAttributes* Arena::CreateMaybeMessage<::dmi::TransceiverComponentChangeAttributes>(Arena*);
 template<> ::dmi::TransceiverComponentsAttributes* Arena::CreateMaybeMessage<::dmi::TransceiverComponentsAttributes>(Arena*);
 template<> ::dmi::Uri* Arena::CreateMaybeMessage<::dmi::Uri>(Arena*);
 template<> ::dmi::Uuid* Arena::CreateMaybeMessage<::dmi::Uuid>(Arena*);
@@ -253,33 +257,6 @@
   return ::google::protobuf::internal::ParseNamedEnum<TransceiverComponentsAttributes_FormFactor>(
     TransceiverComponentsAttributes_FormFactor_descriptor(), name, value);
 }
-enum TransceiverComponentsAttributes_Type {
-  TransceiverComponentsAttributes_Type_TYPE_UNKNOWN = 0,
-  TransceiverComponentsAttributes_Type_ETHERNET = 1,
-  TransceiverComponentsAttributes_Type_GPON = 2,
-  TransceiverComponentsAttributes_Type_XGPON = 3,
-  TransceiverComponentsAttributes_Type_XGSPON = 4,
-  TransceiverComponentsAttributes_Type_CPON = 5,
-  TransceiverComponentsAttributes_Type_NG_PON2 = 6,
-  TransceiverComponentsAttributes_Type_EPON = 7,
-  TransceiverComponentsAttributes_Type_TransceiverComponentsAttributes_Type_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::min(),
-  TransceiverComponentsAttributes_Type_TransceiverComponentsAttributes_Type_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::max()
-};
-bool TransceiverComponentsAttributes_Type_IsValid(int value);
-const TransceiverComponentsAttributes_Type TransceiverComponentsAttributes_Type_Type_MIN = TransceiverComponentsAttributes_Type_TYPE_UNKNOWN;
-const TransceiverComponentsAttributes_Type TransceiverComponentsAttributes_Type_Type_MAX = TransceiverComponentsAttributes_Type_EPON;
-const int TransceiverComponentsAttributes_Type_Type_ARRAYSIZE = TransceiverComponentsAttributes_Type_Type_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* TransceiverComponentsAttributes_Type_descriptor();
-inline const ::std::string& TransceiverComponentsAttributes_Type_Name(TransceiverComponentsAttributes_Type value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    TransceiverComponentsAttributes_Type_descriptor(), value);
-}
-inline bool TransceiverComponentsAttributes_Type_Parse(
-    const ::std::string& name, TransceiverComponentsAttributes_Type* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<TransceiverComponentsAttributes_Type>(
-    TransceiverComponentsAttributes_Type_descriptor(), name, value);
-}
 enum ComponentType {
   COMPONENT_TYPE_UNDEFINED = 0,
   COMPONENT_TYPE_UNKNOWN = 1,
@@ -532,6 +509,34 @@
   return ::google::protobuf::internal::ParseNamedEnum<SensorStatus>(
     SensorStatus_descriptor(), name, value);
 }
+enum TransceiverType {
+  TYPE_UNDEFINED = 0,
+  ETHERNET = 1,
+  GPON = 2,
+  XGPON = 3,
+  XGSPON = 4,
+  CPON = 5,
+  NG_PON2 = 6,
+  EPON = 7,
+  TYPE_NOT_DETECTED = 255,
+  TransceiverType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::min(),
+  TransceiverType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::max()
+};
+bool TransceiverType_IsValid(int value);
+const TransceiverType TransceiverType_MIN = TYPE_UNDEFINED;
+const TransceiverType TransceiverType_MAX = TYPE_NOT_DETECTED;
+const int TransceiverType_ARRAYSIZE = TransceiverType_MAX + 1;
+
+const ::google::protobuf::EnumDescriptor* TransceiverType_descriptor();
+inline const ::std::string& TransceiverType_Name(TransceiverType value) {
+  return ::google::protobuf::internal::NameOfEnum(
+    TransceiverType_descriptor(), value);
+}
+inline bool TransceiverType_Parse(
+    const ::std::string& name, TransceiverType* value) {
+  return ::google::protobuf::internal::ParseNamedEnum<TransceiverType>(
+    TransceiverType_descriptor(), name, value);
+}
 // ===================================================================
 
 class Uuid final :
@@ -1630,6 +1635,118 @@
 };
 // -------------------------------------------------------------------
 
+class TransceiverComponentChangeAttributes final :
+    public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:dmi.TransceiverComponentChangeAttributes) */ {
+ public:
+  TransceiverComponentChangeAttributes();
+  virtual ~TransceiverComponentChangeAttributes();
+
+  TransceiverComponentChangeAttributes(const TransceiverComponentChangeAttributes& from);
+
+  inline TransceiverComponentChangeAttributes& operator=(const TransceiverComponentChangeAttributes& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  TransceiverComponentChangeAttributes(TransceiverComponentChangeAttributes&& from) noexcept
+    : TransceiverComponentChangeAttributes() {
+    *this = ::std::move(from);
+  }
+
+  inline TransceiverComponentChangeAttributes& operator=(TransceiverComponentChangeAttributes&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor() {
+    return default_instance().GetDescriptor();
+  }
+  static const TransceiverComponentChangeAttributes& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const TransceiverComponentChangeAttributes* internal_default_instance() {
+    return reinterpret_cast<const TransceiverComponentChangeAttributes*>(
+               &_TransceiverComponentChangeAttributes_default_instance_);
+  }
+  static constexpr int kIndexInFileMessages =
+    7;
+
+  void Swap(TransceiverComponentChangeAttributes* other);
+  friend void swap(TransceiverComponentChangeAttributes& a, TransceiverComponentChangeAttributes& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline TransceiverComponentChangeAttributes* New() const final {
+    return CreateMaybeMessage<TransceiverComponentChangeAttributes>(nullptr);
+  }
+
+  TransceiverComponentChangeAttributes* New(::google::protobuf::Arena* arena) const final {
+    return CreateMaybeMessage<TransceiverComponentChangeAttributes>(arena);
+  }
+  void CopyFrom(const ::google::protobuf::Message& from) final;
+  void MergeFrom(const ::google::protobuf::Message& from) final;
+  void CopyFrom(const TransceiverComponentChangeAttributes& from);
+  void MergeFrom(const TransceiverComponentChangeAttributes& from);
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
+  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
+  #else
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) final;
+  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const final;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      ::google::protobuf::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const final;
+  void InternalSwap(TransceiverComponentChangeAttributes* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return nullptr;
+  }
+  inline void* MaybeArenaPtr() const {
+    return nullptr;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const final;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // .dmi.TransceiverType trans_type = 1;
+  void clear_trans_type();
+  static const int kTransTypeFieldNumber = 1;
+  ::dmi::TransceiverType trans_type() const;
+  void set_trans_type(::dmi::TransceiverType value);
+
+  // @@protoc_insertion_point(class_scope:dmi.TransceiverComponentChangeAttributes)
+ private:
+  class HasBitSetters;
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  int trans_type_;
+  mutable ::google::protobuf::internal::CachedSize _cached_size_;
+  friend struct ::TableStruct_dmi_2fhw_2eproto;
+};
+// -------------------------------------------------------------------
+
 class PonIdConfig final :
     public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:dmi.PonIdConfig) */ {
  public:
@@ -1668,7 +1785,7 @@
                &_PonIdConfig_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    7;
+    8;
 
   void Swap(PonIdConfig* other);
   friend void swap(PonIdConfig& a, PonIdConfig& b) {
@@ -1795,7 +1912,7 @@
                &_ContainerComponentAttributes_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    8;
+    9;
 
   void Swap(ContainerComponentAttributes* other);
   friend void swap(ContainerComponentAttributes& a, ContainerComponentAttributes& b) {
@@ -1915,7 +2032,7 @@
                &_PsuComponentAttributes_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    9;
+    10;
 
   void Swap(PsuComponentAttributes* other);
   friend void swap(PsuComponentAttributes& a, PsuComponentAttributes& b) {
@@ -2057,7 +2174,7 @@
                &_TransceiverComponentsAttributes_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    10;
+    11;
 
   void Swap(TransceiverComponentsAttributes* other);
   friend void swap(TransceiverComponentsAttributes& a, TransceiverComponentsAttributes& b) {
@@ -2164,44 +2281,6 @@
     return TransceiverComponentsAttributes_FormFactor_Parse(name, value);
   }
 
-  typedef TransceiverComponentsAttributes_Type Type;
-  static const Type TYPE_UNKNOWN =
-    TransceiverComponentsAttributes_Type_TYPE_UNKNOWN;
-  static const Type ETHERNET =
-    TransceiverComponentsAttributes_Type_ETHERNET;
-  static const Type GPON =
-    TransceiverComponentsAttributes_Type_GPON;
-  static const Type XGPON =
-    TransceiverComponentsAttributes_Type_XGPON;
-  static const Type XGSPON =
-    TransceiverComponentsAttributes_Type_XGSPON;
-  static const Type CPON =
-    TransceiverComponentsAttributes_Type_CPON;
-  static const Type NG_PON2 =
-    TransceiverComponentsAttributes_Type_NG_PON2;
-  static const Type EPON =
-    TransceiverComponentsAttributes_Type_EPON;
-  static inline bool Type_IsValid(int value) {
-    return TransceiverComponentsAttributes_Type_IsValid(value);
-  }
-  static const Type Type_MIN =
-    TransceiverComponentsAttributes_Type_Type_MIN;
-  static const Type Type_MAX =
-    TransceiverComponentsAttributes_Type_Type_MAX;
-  static const int Type_ARRAYSIZE =
-    TransceiverComponentsAttributes_Type_Type_ARRAYSIZE;
-  static inline const ::google::protobuf::EnumDescriptor*
-  Type_descriptor() {
-    return TransceiverComponentsAttributes_Type_descriptor();
-  }
-  static inline const ::std::string& Type_Name(Type value) {
-    return TransceiverComponentsAttributes_Type_Name(value);
-  }
-  static inline bool Type_Parse(const ::std::string& name,
-      Type* value) {
-    return TransceiverComponentsAttributes_Type_Parse(name, value);
-  }
-
   // accessors -------------------------------------------------------
 
   // repeated uint32 rx_wavelength = 5;
@@ -2234,11 +2313,11 @@
   ::dmi::TransceiverComponentsAttributes_FormFactor form_factor() const;
   void set_form_factor(::dmi::TransceiverComponentsAttributes_FormFactor value);
 
-  // .dmi.TransceiverComponentsAttributes.Type trans_type = 2;
+  // .dmi.TransceiverType trans_type = 2;
   void clear_trans_type();
   static const int kTransTypeFieldNumber = 2;
-  ::dmi::TransceiverComponentsAttributes_Type trans_type() const;
-  void set_trans_type(::dmi::TransceiverComponentsAttributes_Type value);
+  ::dmi::TransceiverType trans_type() const;
+  void set_trans_type(::dmi::TransceiverType value);
 
   // uint32 max_distance = 3;
   void clear_max_distance();
@@ -2323,7 +2402,7 @@
                &_Component_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    11;
+    12;
 
   void Swap(Component* other);
   friend void swap(Component& a, Component& b) {
@@ -2734,7 +2813,7 @@
                &_Hardware_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    12;
+    13;
 
   void Swap(Hardware* other);
   friend void swap(Hardware& a, Hardware& b) {
@@ -2865,6 +2944,7 @@
 
   enum SpecificCase {
     kPortAttr = 50,
+    kTrxAttr = 51,
     SPECIFIC_NOT_SET = 0,
   };
 
@@ -2874,7 +2954,7 @@
                &_ModifiableComponent_default_instance_);
   }
   static constexpr int kIndexInFileMessages =
-    13;
+    14;
 
   void Swap(ModifiableComponent* other);
   friend void swap(ModifiableComponent& a, ModifiableComponent& b) {
@@ -3018,12 +3098,22 @@
   ::dmi::PortComponentChangeAttributes* mutable_port_attr();
   void set_allocated_port_attr(::dmi::PortComponentChangeAttributes* port_attr);
 
+  // .dmi.TransceiverComponentChangeAttributes trx_attr = 51;
+  bool has_trx_attr() const;
+  void clear_trx_attr();
+  static const int kTrxAttrFieldNumber = 51;
+  const ::dmi::TransceiverComponentChangeAttributes& trx_attr() const;
+  ::dmi::TransceiverComponentChangeAttributes* release_trx_attr();
+  ::dmi::TransceiverComponentChangeAttributes* mutable_trx_attr();
+  void set_allocated_trx_attr(::dmi::TransceiverComponentChangeAttributes* trx_attr);
+
   void clear_specific();
   SpecificCase specific_case() const;
   // @@protoc_insertion_point(class_scope:dmi.ModifiableComponent)
  private:
   class HasBitSetters;
   void set_has_port_attr();
+  void set_has_trx_attr();
 
   inline bool has_specific() const;
   inline void clear_has_specific();
@@ -3040,6 +3130,7 @@
   union SpecificUnion {
     SpecificUnion() {}
     ::dmi::PortComponentChangeAttributes* port_attr_;
+    ::dmi::TransceiverComponentChangeAttributes* trx_attr_;
   } specific_;
   mutable ::google::protobuf::internal::CachedSize _cached_size_;
   ::google::protobuf::uint32 _oneof_case_[1];
@@ -3856,6 +3947,24 @@
 
 // -------------------------------------------------------------------
 
+// TransceiverComponentChangeAttributes
+
+// .dmi.TransceiverType trans_type = 1;
+inline void TransceiverComponentChangeAttributes::clear_trans_type() {
+  trans_type_ = 0;
+}
+inline ::dmi::TransceiverType TransceiverComponentChangeAttributes::trans_type() const {
+  // @@protoc_insertion_point(field_get:dmi.TransceiverComponentChangeAttributes.trans_type)
+  return static_cast< ::dmi::TransceiverType >(trans_type_);
+}
+inline void TransceiverComponentChangeAttributes::set_trans_type(::dmi::TransceiverType value) {
+  
+  trans_type_ = value;
+  // @@protoc_insertion_point(field_set:dmi.TransceiverComponentChangeAttributes.trans_type)
+}
+
+// -------------------------------------------------------------------
+
 // PonIdConfig
 
 // bytes pon_id = 1;
@@ -4018,15 +4127,15 @@
   // @@protoc_insertion_point(field_set:dmi.TransceiverComponentsAttributes.form_factor)
 }
 
-// .dmi.TransceiverComponentsAttributes.Type trans_type = 2;
+// .dmi.TransceiverType trans_type = 2;
 inline void TransceiverComponentsAttributes::clear_trans_type() {
   trans_type_ = 0;
 }
-inline ::dmi::TransceiverComponentsAttributes_Type TransceiverComponentsAttributes::trans_type() const {
+inline ::dmi::TransceiverType TransceiverComponentsAttributes::trans_type() const {
   // @@protoc_insertion_point(field_get:dmi.TransceiverComponentsAttributes.trans_type)
-  return static_cast< ::dmi::TransceiverComponentsAttributes_Type >(trans_type_);
+  return static_cast< ::dmi::TransceiverType >(trans_type_);
 }
-inline void TransceiverComponentsAttributes::set_trans_type(::dmi::TransceiverComponentsAttributes_Type value) {
+inline void TransceiverComponentsAttributes::set_trans_type(::dmi::TransceiverType value) {
   
   trans_type_ = value;
   // @@protoc_insertion_point(field_set:dmi.TransceiverComponentsAttributes.trans_type)
@@ -5690,6 +5799,47 @@
   return specific_.port_attr_;
 }
 
+// .dmi.TransceiverComponentChangeAttributes trx_attr = 51;
+inline bool ModifiableComponent::has_trx_attr() const {
+  return specific_case() == kTrxAttr;
+}
+inline void ModifiableComponent::set_has_trx_attr() {
+  _oneof_case_[0] = kTrxAttr;
+}
+inline void ModifiableComponent::clear_trx_attr() {
+  if (has_trx_attr()) {
+    delete specific_.trx_attr_;
+    clear_has_specific();
+  }
+}
+inline ::dmi::TransceiverComponentChangeAttributes* ModifiableComponent::release_trx_attr() {
+  // @@protoc_insertion_point(field_release:dmi.ModifiableComponent.trx_attr)
+  if (has_trx_attr()) {
+    clear_has_specific();
+      ::dmi::TransceiverComponentChangeAttributes* temp = specific_.trx_attr_;
+    specific_.trx_attr_ = nullptr;
+    return temp;
+  } else {
+    return nullptr;
+  }
+}
+inline const ::dmi::TransceiverComponentChangeAttributes& ModifiableComponent::trx_attr() const {
+  // @@protoc_insertion_point(field_get:dmi.ModifiableComponent.trx_attr)
+  return has_trx_attr()
+      ? *specific_.trx_attr_
+      : *reinterpret_cast< ::dmi::TransceiverComponentChangeAttributes*>(&::dmi::_TransceiverComponentChangeAttributes_default_instance_);
+}
+inline ::dmi::TransceiverComponentChangeAttributes* ModifiableComponent::mutable_trx_attr() {
+  if (!has_trx_attr()) {
+    clear_specific();
+    set_has_trx_attr();
+    specific_.trx_attr_ = CreateMaybeMessage< ::dmi::TransceiverComponentChangeAttributes >(
+        GetArenaNoVirtual());
+  }
+  // @@protoc_insertion_point(field_mutable:dmi.ModifiableComponent.trx_attr)
+  return specific_.trx_attr_;
+}
+
 inline bool ModifiableComponent::has_specific() const {
   return specific_case() != SPECIFIC_NOT_SET;
 }
@@ -5728,6 +5878,8 @@
 
 // -------------------------------------------------------------------
 
+// -------------------------------------------------------------------
+
 
 // @@protoc_insertion_point(namespace_scope)
 
@@ -5761,11 +5913,6 @@
 inline const EnumDescriptor* GetEnumDescriptor< ::dmi::TransceiverComponentsAttributes_FormFactor>() {
   return ::dmi::TransceiverComponentsAttributes_FormFactor_descriptor();
 }
-template <> struct is_proto_enum< ::dmi::TransceiverComponentsAttributes_Type> : ::std::true_type {};
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ::dmi::TransceiverComponentsAttributes_Type>() {
-  return ::dmi::TransceiverComponentsAttributes_Type_descriptor();
-}
 template <> struct is_proto_enum< ::dmi::ComponentType> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::dmi::ComponentType>() {
@@ -5811,6 +5958,11 @@
 inline const EnumDescriptor* GetEnumDescriptor< ::dmi::SensorStatus>() {
   return ::dmi::SensorStatus_descriptor();
 }
+template <> struct is_proto_enum< ::dmi::TransceiverType> : ::std::true_type {};
+template <>
+inline const EnumDescriptor* GetEnumDescriptor< ::dmi::TransceiverType>() {
+  return ::dmi::TransceiverType_descriptor();
+}
 
 }  // namespace protobuf
 }  // namespace google
diff --git a/cpp/dmi/hw_management_service.pb.cc b/cpp/dmi/hw_management_service.pb.cc
index eda5b7b..4beefa2 100644
--- a/cpp/dmi/hw_management_service.pb.cc
+++ b/cpp/dmi/hw_management_service.pb.cc
@@ -18,7 +18,7 @@
 
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Uuid_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_Hardware_dmi_2fhw_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_ModifiableComponent_dmi_2fhw_2eproto;
+extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<4> scc_info_ModifiableComponent_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_2eproto ::google::protobuf::internal::SCCInfo<9> scc_info_Component_dmi_2fhw_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_5fmanagement_5fservice_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_EntitiesLogLevel_dmi_2fhw_5fmanagement_5fservice_2eproto;
 extern PROTOBUF_INTERNAL_EXPORT_dmi_2fhw_5fmanagement_5fservice_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_ManagedDeviceInfo_dmi_2fhw_5fmanagement_5fservice_2eproto;
@@ -809,128 +809,129 @@
   "_uuid\030\001 \001(\0132\t.dmi.Uuid\022!\n\016component_uuid"
   "\030\002 \001(\0132\t.dmi.Uuid\022\026\n\016component_name\030\003 \001("
   "\t\022)\n\007changes\030\004 \001(\0132\030.dmi.ModifiableCompo"
-  "nent\"\224\002\n\032HWComponentInfoSetResponse\022\033\n\006s"
+  "nent\"\251\002\n\032HWComponentInfoSetResponse\022\033\n\006s"
   "tatus\030\001 \001(\0162\013.dmi.Status\0226\n\006reason\030\002 \001(\016"
   "2&.dmi.HWComponentInfoSetResponse.Reason"
-  "\022\025\n\rreason_detail\030\003 \001(\t\"\211\001\n\006Reason\022\024\n\020UN"
+  "\022\025\n\rreason_detail\030\003 \001(\t\"\236\001\n\006Reason\022\024\n\020UN"
   "DEFINED_REASON\020\000\022\022\n\016UNKNOWN_DEVICE\020\001\022\025\n\021"
   "UNKNOWN_COMPONENT\020\002\022\022\n\016INVALID_PARAMS\020\003\022"
   "\022\n\016INTERNAL_ERROR\020\004\022\026\n\022DEVICE_UNREACHABL"
-  "E\020\005\"\347\002\n\033StartManagingDeviceResponse\022\033\n\006s"
-  "tatus\030\001 \001(\0162\013.dmi.Status\0227\n\006reason\030\002 \001(\016"
-  "2\'.dmi.StartManagingDeviceResponse.Reaso"
-  "n\022\036\n\013device_uuid\030\003 \001(\0132\t.dmi.Uuid\022\025\n\rrea"
-  "son_detail\030\004 \001(\t\"\272\001\n\006Reason\022\024\n\020UNDEFINED"
-  "_REASON\020\000\022\032\n\026DEVICE_ALREADY_MANAGED\020\001\022!\n"
-  "\035OPERATION_ALREADY_IN_PROGRESS\020\002\022\022\n\016INVA"
-  "LID_PARAMS\020\003\022\022\n\016INTERNAL_ERROR\020\004\022\032\n\026AUTH"
-  "ENTICATION_FAILURE\020\005\022\027\n\023INCOMPATIBLE_DEV"
-  "ICE\020\006\")\n\031StopManagingDeviceRequest\022\014\n\004na"
-  "me\030\001 \001(\t\"\274\001\n\032StopManagingDeviceResponse\022"
-  "\033\n\006status\030\001 \001(\0162\013.dmi.Status\0226\n\006reason\030\002"
-  " \001(\0162&.dmi.StopManagingDeviceResponse.Re"
-  "ason\022\025\n\rreason_detail\030\003 \001(\t\"2\n\006Reason\022\024\n"
-  "\020UNDEFINED_REASON\020\000\022\022\n\016UNKNOWN_DEVICE\020\001\""
-  "[\n\021ManagedDeviceInfo\022&\n\004info\030\001 \001(\0132\030.dmi"
-  ".ModifiableComponent\022\036\n\013device_uuid\030\002 \001("
-  "\0132\t.dmi.Uuid\"\306\001\n\026ManagedDevicesResponse\022"
-  "\033\n\006status\030\001 \001(\0162\013.dmi.Status\0222\n\006reason\030\002"
-  " \001(\0162\".dmi.ManagedDevicesResponse.Reason"
-  "\022\'\n\007devices\030\003 \003(\0132\026.dmi.ManagedDeviceInf"
-  "o\"2\n\006Reason\022\024\n\020UNDEFINED_REASON\020\000\022\022\n\016INT"
-  "ERNAL_ERROR\020\001\"o\n\031SetLoggingEndpointReque"
-  "st\022\036\n\013device_uuid\030\001 \001(\0132\t.dmi.Uuid\022\030\n\020lo"
-  "gging_endpoint\030\002 \001(\t\022\030\n\020logging_protocol"
-  "\030\003 \001(\t\"\303\002\n\031SetRemoteEndpointResponse\022\033\n\006"
-  "status\030\001 \001(\0162\013.dmi.Status\0225\n\006reason\030\002 \001("
-  "\0162%.dmi.SetRemoteEndpointResponse.Reason"
-  "\022\025\n\rreason_detail\030\003 \001(\t\"\272\001\n\006Reason\022\024\n\020UN"
+  "E\020\005\022\023\n\017SET_UNSUPPORTED\020\006\"\347\002\n\033StartManagi"
+  "ngDeviceResponse\022\033\n\006status\030\001 \001(\0162\013.dmi.S"
+  "tatus\0227\n\006reason\030\002 \001(\0162\'.dmi.StartManagin"
+  "gDeviceResponse.Reason\022\036\n\013device_uuid\030\003 "
+  "\001(\0132\t.dmi.Uuid\022\025\n\rreason_detail\030\004 \001(\t\"\272\001"
+  "\n\006Reason\022\024\n\020UNDEFINED_REASON\020\000\022\032\n\026DEVICE"
+  "_ALREADY_MANAGED\020\001\022!\n\035OPERATION_ALREADY_"
+  "IN_PROGRESS\020\002\022\022\n\016INVALID_PARAMS\020\003\022\022\n\016INT"
+  "ERNAL_ERROR\020\004\022\032\n\026AUTHENTICATION_FAILURE\020"
+  "\005\022\027\n\023INCOMPATIBLE_DEVICE\020\006\")\n\031StopManagi"
+  "ngDeviceRequest\022\014\n\004name\030\001 \001(\t\"\274\001\n\032StopMa"
+  "nagingDeviceResponse\022\033\n\006status\030\001 \001(\0162\013.d"
+  "mi.Status\0226\n\006reason\030\002 \001(\0162&.dmi.StopMana"
+  "gingDeviceResponse.Reason\022\025\n\rreason_deta"
+  "il\030\003 \001(\t\"2\n\006Reason\022\024\n\020UNDEFINED_REASON\020\000"
+  "\022\022\n\016UNKNOWN_DEVICE\020\001\"[\n\021ManagedDeviceInf"
+  "o\022&\n\004info\030\001 \001(\0132\030.dmi.ModifiableComponen"
+  "t\022\036\n\013device_uuid\030\002 \001(\0132\t.dmi.Uuid\"\306\001\n\026Ma"
+  "nagedDevicesResponse\022\033\n\006status\030\001 \001(\0162\013.d"
+  "mi.Status\0222\n\006reason\030\002 \001(\0162\".dmi.ManagedD"
+  "evicesResponse.Reason\022\'\n\007devices\030\003 \003(\0132\026"
+  ".dmi.ManagedDeviceInfo\"2\n\006Reason\022\024\n\020UNDE"
+  "FINED_REASON\020\000\022\022\n\016INTERNAL_ERROR\020\001\"o\n\031Se"
+  "tLoggingEndpointRequest\022\036\n\013device_uuid\030\001"
+  " \001(\0132\t.dmi.Uuid\022\030\n\020logging_endpoint\030\002 \001("
+  "\t\022\030\n\020logging_protocol\030\003 \001(\t\"\303\002\n\031SetRemot"
+  "eEndpointResponse\022\033\n\006status\030\001 \001(\0162\013.dmi."
+  "Status\0225\n\006reason\030\002 \001(\0162%.dmi.SetRemoteEn"
+  "dpointResponse.Reason\022\025\n\rreason_detail\030\003"
+  " \001(\t\"\272\001\n\006Reason\022\024\n\020UNDEFINED_REASON\020\000\022\022\n"
+  "\016UNKNOWN_DEVICE\020\001\022\022\n\016INTERNAL_ERROR\020\002\022\032\n"
+  "\026LOGGING_ENDPOINT_ERROR\020\003\022#\n\037LOGGING_END"
+  "POINT_PROTOCOL_ERROR\020\004\022\031\n\025MSGBUS_ENDPOIN"
+  "T_ERROR\020\005\022\026\n\022DEVICE_UNREACHABLE\020\006\"\234\002\n\032Ge"
+  "tLoggingEndpointResponse\022\033\n\006status\030\001 \001(\016"
+  "2\013.dmi.Status\0226\n\006reason\030\002 \001(\0162&.dmi.GetL"
+  "oggingEndpointResponse.Reason\022\030\n\020logging"
+  "_endpoint\030\003 \001(\t\022\030\n\020logging_protocol\030\004 \001("
+  "\t\022\025\n\rreason_detail\030\005 \001(\t\"^\n\006Reason\022\024\n\020UN"
   "DEFINED_REASON\020\000\022\022\n\016UNKNOWN_DEVICE\020\001\022\022\n\016"
-  "INTERNAL_ERROR\020\002\022\032\n\026LOGGING_ENDPOINT_ERR"
-  "OR\020\003\022#\n\037LOGGING_ENDPOINT_PROTOCOL_ERROR\020"
-  "\004\022\031\n\025MSGBUS_ENDPOINT_ERROR\020\005\022\026\n\022DEVICE_U"
-  "NREACHABLE\020\006\"\234\002\n\032GetLoggingEndpointRespo"
-  "nse\022\033\n\006status\030\001 \001(\0162\013.dmi.Status\0226\n\006reas"
-  "on\030\002 \001(\0162&.dmi.GetLoggingEndpointRespons"
-  "e.Reason\022\030\n\020logging_endpoint\030\003 \001(\t\022\030\n\020lo"
-  "gging_protocol\030\004 \001(\t\022\025\n\rreason_detail\030\005 "
-  "\001(\t\"^\n\006Reason\022\024\n\020UNDEFINED_REASON\020\000\022\022\n\016U"
-  "NKNOWN_DEVICE\020\001\022\022\n\016INTERNAL_ERROR\020\002\022\026\n\022D"
-  "EVICE_UNREACHABLE\020\003\"3\n\030SetMsgBusEndpoint"
-  "Request\022\027\n\017msgbus_endpoint\030\001 \001(\t\"\353\001\n\031Get"
-  "MsgBusEndpointResponse\022\033\n\006status\030\001 \001(\0162\013"
-  ".dmi.Status\0225\n\006reason\030\002 \001(\0162%.dmi.GetMsg"
-  "BusEndpointResponse.Reason\022\027\n\017msgbus_end"
-  "point\030\003 \001(\t\022\025\n\rreason_detail\030\004 \001(\t\"J\n\006Re"
-  "ason\022\024\n\020UNDEFINED_REASON\020\000\022\022\n\016INTERNAL_E"
-  "RROR\020\001\022\026\n\022DEVICE_UNREACHABLE\020\002\"E\n\020Entiti"
-  "esLogLevel\022\037\n\010logLevel\030\001 \001(\0162\r.dmi.LogLe"
-  "vel\022\020\n\010entities\030\002 \003(\t\"^\n\022SetLogLevelRequ"
-  "est\022\036\n\013device_uuid\030\001 \001(\0132\t.dmi.Uuid\022(\n\tl"
-  "oglevels\030\002 \003(\0132\025.dmi.EntitiesLogLevel\"\222\002"
-  "\n\023SetLogLevelResponse\022\036\n\013device_uuid\030\001 \001"
-  "(\0132\t.dmi.Uuid\022\033\n\006status\030\002 \001(\0162\013.dmi.Stat"
-  "us\022/\n\006reason\030\003 \001(\0162\037.dmi.SetLogLevelResp"
-  "onse.Reason\022\025\n\rreason_detail\030\004 \001(\t\"v\n\006Re"
-  "ason\022\024\n\020UNDEFINED_REASON\020\000\022\022\n\016UNKNOWN_DE"
-  "VICE\020\001\022\022\n\016INTERNAL_ERROR\020\002\022\026\n\022UNKNOWN_LO"
-  "G_ENTITY\020\003\022\026\n\022DEVICE_UNREACHABLE\020\004\"F\n\022Ge"
-  "tLogLevelRequest\022\036\n\013device_uuid\030\001 \001(\0132\t."
-  "dmi.Uuid\022\020\n\010entities\030\002 \003(\t\"\274\002\n\023GetLogLev"
-  "elResponse\022\036\n\013device_uuid\030\001 \001(\0132\t.dmi.Uu"
-  "id\022(\n\tlogLevels\030\002 \003(\0132\025.dmi.EntitiesLogL"
-  "evel\022\033\n\006status\030\003 \001(\0162\013.dmi.Status\022/\n\006rea"
-  "son\030\004 \001(\0162\037.dmi.GetLogLevelResponse.Reas"
-  "on\022\025\n\rreason_detail\030\005 \001(\t\"v\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\022UNKNOWN_LOG_ENTITY\020"
-  "\003\022\026\n\022DEVICE_UNREACHABLE\020\004\"<\n\032GetLoggable"
-  "EntitiesRequest\022\036\n\013device_uuid\030\001 \001(\0132\t.d"
-  "mi.Uuid\"(\n\tHeartbeat\022\033\n\023heartbeat_signat"
-  "ure\030\001 \001(\007\"5\n\023RebootDeviceRequest\022\036\n\013devi"
-  "ce_uuid\030\001 \001(\0132\t.dmi.Uuid\"\334\001\n\024RebootDevic"
-  "eResponse\022\033\n\006status\030\003 \001(\0162\013.dmi.Status\0220"
-  "\n\006reason\030\004 \001(\0162 .dmi.RebootDeviceRespons"
-  "e.Reason\022\025\n\rreason_detail\030\005 \001(\t\"^\n\006Reaso"
-  "n\022\024\n\020UNDEFINED_REASON\020\000\022\022\n\016UNKNOWN_DEVIC"
-  "E\020\001\022\022\n\016INTERNAL_ERROR\020\002\022\026\n\022DEVICE_UNREAC"
-  "HABLE\020\0032\256\t\n\031NativeHWManagementService\022S\n"
-  "\023StartManagingDevice\022\030.dmi.ModifiableCom"
-  "ponent\032 .dmi.StartManagingDeviceResponse"
-  "0\001\022U\n\022StopManagingDevice\022\036.dmi.StopManag"
-  "ingDeviceRequest\032\037.dmi.StopManagingDevic"
-  "eResponse\022H\n\021GetManagedDevices\022\026.google."
-  "protobuf.Empty\032\033.dmi.ManagedDevicesRespo"
-  "nse\022W\n\024GetPhysicalInventory\022\035.dmi.Physic"
-  "alInventoryRequest\032\036.dmi.PhysicalInvento"
-  "ryResponse0\001\022W\n\022GetHWComponentInfo\022\036.dmi"
-  ".HWComponentInfoGetRequest\032\037.dmi.HWCompo"
-  "nentInfoGetResponse0\001\022U\n\022SetHWComponentI"
-  "nfo\022\036.dmi.HWComponentInfoSetRequest\032\037.dm"
-  "i.HWComponentInfoSetResponse\022T\n\022SetLoggi"
-  "ngEndpoint\022\036.dmi.SetLoggingEndpointReque"
-  "st\032\036.dmi.SetRemoteEndpointResponse\022F\n\022Ge"
-  "tLoggingEndpoint\022\017.dmi.HardwareID\032\037.dmi."
-  "GetLoggingEndpointResponse\022R\n\021SetMsgBusE"
-  "ndpoint\022\035.dmi.SetMsgBusEndpointRequest\032\036"
-  ".dmi.SetRemoteEndpointResponse\022K\n\021GetMsg"
-  "BusEndpoint\022\026.google.protobuf.Empty\032\036.dm"
-  "i.GetMsgBusEndpointResponse\022P\n\023GetLoggab"
-  "leEntities\022\037.dmi.GetLoggableEntitiesRequ"
-  "est\032\030.dmi.GetLogLevelResponse\022@\n\013SetLogL"
-  "evel\022\027.dmi.SetLogLevelRequest\032\030.dmi.SetL"
-  "ogLevelResponse\022@\n\013GetLogLevel\022\027.dmi.Get"
-  "LogLevelRequest\032\030.dmi.GetLogLevelRespons"
-  "e\0228\n\016HeartbeatCheck\022\026.google.protobuf.Em"
-  "pty\032\016.dmi.Heartbeat\022C\n\014RebootDevice\022\030.dm"
-  "i.RebootDeviceRequest\032\031.dmi.RebootDevice"
-  "ResponseB;Z9github.com/opencord/device-m"
-  "anagement-interface/v3/go/dmib\006proto3"
+  "INTERNAL_ERROR\020\002\022\026\n\022DEVICE_UNREACHABLE\020\003"
+  "\"3\n\030SetMsgBusEndpointRequest\022\027\n\017msgbus_e"
+  "ndpoint\030\001 \001(\t\"\353\001\n\031GetMsgBusEndpointRespo"
+  "nse\022\033\n\006status\030\001 \001(\0162\013.dmi.Status\0225\n\006reas"
+  "on\030\002 \001(\0162%.dmi.GetMsgBusEndpointResponse"
+  ".Reason\022\027\n\017msgbus_endpoint\030\003 \001(\t\022\025\n\rreas"
+  "on_detail\030\004 \001(\t\"J\n\006Reason\022\024\n\020UNDEFINED_R"
+  "EASON\020\000\022\022\n\016INTERNAL_ERROR\020\001\022\026\n\022DEVICE_UN"
+  "REACHABLE\020\002\"E\n\020EntitiesLogLevel\022\037\n\010logLe"
+  "vel\030\001 \001(\0162\r.dmi.LogLevel\022\020\n\010entities\030\002 \003"
+  "(\t\"^\n\022SetLogLevelRequest\022\036\n\013device_uuid\030"
+  "\001 \001(\0132\t.dmi.Uuid\022(\n\tloglevels\030\002 \003(\0132\025.dm"
+  "i.EntitiesLogLevel\"\222\002\n\023SetLogLevelRespon"
+  "se\022\036\n\013device_uuid\030\001 \001(\0132\t.dmi.Uuid\022\033\n\006st"
+  "atus\030\002 \001(\0162\013.dmi.Status\022/\n\006reason\030\003 \001(\0162"
+  "\037.dmi.SetLogLevelResponse.Reason\022\025\n\rreas"
+  "on_detail\030\004 \001(\t\"v\n\006Reason\022\024\n\020UNDEFINED_R"
+  "EASON\020\000\022\022\n\016UNKNOWN_DEVICE\020\001\022\022\n\016INTERNAL_"
+  "ERROR\020\002\022\026\n\022UNKNOWN_LOG_ENTITY\020\003\022\026\n\022DEVIC"
+  "E_UNREACHABLE\020\004\"F\n\022GetLogLevelRequest\022\036\n"
+  "\013device_uuid\030\001 \001(\0132\t.dmi.Uuid\022\020\n\010entitie"
+  "s\030\002 \003(\t\"\274\002\n\023GetLogLevelResponse\022\036\n\013devic"
+  "e_uuid\030\001 \001(\0132\t.dmi.Uuid\022(\n\tlogLevels\030\002 \003"
+  "(\0132\025.dmi.EntitiesLogLevel\022\033\n\006status\030\003 \001("
+  "\0162\013.dmi.Status\022/\n\006reason\030\004 \001(\0162\037.dmi.Get"
+  "LogLevelResponse.Reason\022\025\n\rreason_detail"
+  "\030\005 \001(\t\"v\n\006Reason\022\024\n\020UNDEFINED_REASON\020\000\022\022"
+  "\n\016UNKNOWN_DEVICE\020\001\022\022\n\016INTERNAL_ERROR\020\002\022\026"
+  "\n\022UNKNOWN_LOG_ENTITY\020\003\022\026\n\022DEVICE_UNREACH"
+  "ABLE\020\004\"<\n\032GetLoggableEntitiesRequest\022\036\n\013"
+  "device_uuid\030\001 \001(\0132\t.dmi.Uuid\"(\n\tHeartbea"
+  "t\022\033\n\023heartbeat_signature\030\001 \001(\007\"5\n\023Reboot"
+  "DeviceRequest\022\036\n\013device_uuid\030\001 \001(\0132\t.dmi"
+  ".Uuid\"\334\001\n\024RebootDeviceResponse\022\033\n\006status"
+  "\030\003 \001(\0162\013.dmi.Status\0220\n\006reason\030\004 \001(\0162 .dm"
+  "i.RebootDeviceResponse.Reason\022\025\n\rreason_"
+  "detail\030\005 \001(\t\"^\n\006Reason\022\024\n\020UNDEFINED_REAS"
+  "ON\020\000\022\022\n\016UNKNOWN_DEVICE\020\001\022\022\n\016INTERNAL_ERR"
+  "OR\020\002\022\026\n\022DEVICE_UNREACHABLE\020\0032\256\t\n\031NativeH"
+  "WManagementService\022S\n\023StartManagingDevic"
+  "e\022\030.dmi.ModifiableComponent\032 .dmi.StartM"
+  "anagingDeviceResponse0\001\022U\n\022StopManagingD"
+  "evice\022\036.dmi.StopManagingDeviceRequest\032\037."
+  "dmi.StopManagingDeviceResponse\022H\n\021GetMan"
+  "agedDevices\022\026.google.protobuf.Empty\032\033.dm"
+  "i.ManagedDevicesResponse\022W\n\024GetPhysicalI"
+  "nventory\022\035.dmi.PhysicalInventoryRequest\032"
+  "\036.dmi.PhysicalInventoryResponse0\001\022W\n\022Get"
+  "HWComponentInfo\022\036.dmi.HWComponentInfoGet"
+  "Request\032\037.dmi.HWComponentInfoGetResponse"
+  "0\001\022U\n\022SetHWComponentInfo\022\036.dmi.HWCompone"
+  "ntInfoSetRequest\032\037.dmi.HWComponentInfoSe"
+  "tResponse\022T\n\022SetLoggingEndpoint\022\036.dmi.Se"
+  "tLoggingEndpointRequest\032\036.dmi.SetRemoteE"
+  "ndpointResponse\022F\n\022GetLoggingEndpoint\022\017."
+  "dmi.HardwareID\032\037.dmi.GetLoggingEndpointR"
+  "esponse\022R\n\021SetMsgBusEndpoint\022\035.dmi.SetMs"
+  "gBusEndpointRequest\032\036.dmi.SetRemoteEndpo"
+  "intResponse\022K\n\021GetMsgBusEndpoint\022\026.googl"
+  "e.protobuf.Empty\032\036.dmi.GetMsgBusEndpoint"
+  "Response\022P\n\023GetLoggableEntities\022\037.dmi.Ge"
+  "tLoggableEntitiesRequest\032\030.dmi.GetLogLev"
+  "elResponse\022@\n\013SetLogLevel\022\027.dmi.SetLogLe"
+  "velRequest\032\030.dmi.SetLogLevelResponse\022@\n\013"
+  "GetLogLevel\022\027.dmi.GetLogLevelRequest\032\030.d"
+  "mi.GetLogLevelResponse\0228\n\016HeartbeatCheck"
+  "\022\026.google.protobuf.Empty\032\016.dmi.Heartbeat"
+  "\022C\n\014RebootDevice\022\030.dmi.RebootDeviceReque"
+  "st\032\031.dmi.RebootDeviceResponseB;Z9github."
+  "com/opencord/device-management-interface"
+  "/v3/go/dmib\006proto3"
   ;
 ::google::protobuf::internal::DescriptorTable descriptor_table_dmi_2fhw_5fmanagement_5fservice_2eproto = {
   false, InitDefaults_dmi_2fhw_5fmanagement_5fservice_2eproto, 
   descriptor_table_protodef_dmi_2fhw_5fmanagement_5fservice_2eproto,
-  "dmi/hw_management_service.proto", &assign_descriptors_table_dmi_2fhw_5fmanagement_5fservice_2eproto, 5677,
+  "dmi/hw_management_service.proto", &assign_descriptors_table_dmi_2fhw_5fmanagement_5fservice_2eproto, 5698,
 };
 
 void AddDescriptors_dmi_2fhw_5fmanagement_5fservice_2eproto() {
@@ -1010,6 +1011,7 @@
     case 3:
     case 4:
     case 5:
+    case 6:
       return true;
     default:
       return false;
@@ -1023,6 +1025,7 @@
 const HWComponentInfoSetResponse_Reason HWComponentInfoSetResponse::INVALID_PARAMS;
 const HWComponentInfoSetResponse_Reason HWComponentInfoSetResponse::INTERNAL_ERROR;
 const HWComponentInfoSetResponse_Reason HWComponentInfoSetResponse::DEVICE_UNREACHABLE;
+const HWComponentInfoSetResponse_Reason HWComponentInfoSetResponse::SET_UNSUPPORTED;
 const HWComponentInfoSetResponse_Reason HWComponentInfoSetResponse::Reason_MIN;
 const HWComponentInfoSetResponse_Reason HWComponentInfoSetResponse::Reason_MAX;
 const int HWComponentInfoSetResponse::Reason_ARRAYSIZE;
diff --git a/cpp/dmi/hw_management_service.pb.h b/cpp/dmi/hw_management_service.pb.h
index fe01fa4..c350b06 100644
--- a/cpp/dmi/hw_management_service.pb.h
+++ b/cpp/dmi/hw_management_service.pb.h
@@ -214,12 +214,13 @@
   HWComponentInfoSetResponse_Reason_INVALID_PARAMS = 3,
   HWComponentInfoSetResponse_Reason_INTERNAL_ERROR = 4,
   HWComponentInfoSetResponse_Reason_DEVICE_UNREACHABLE = 5,
+  HWComponentInfoSetResponse_Reason_SET_UNSUPPORTED = 6,
   HWComponentInfoSetResponse_Reason_HWComponentInfoSetResponse_Reason_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::min(),
   HWComponentInfoSetResponse_Reason_HWComponentInfoSetResponse_Reason_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::max()
 };
 bool HWComponentInfoSetResponse_Reason_IsValid(int value);
 const HWComponentInfoSetResponse_Reason HWComponentInfoSetResponse_Reason_Reason_MIN = HWComponentInfoSetResponse_Reason_UNDEFINED_REASON;
-const HWComponentInfoSetResponse_Reason HWComponentInfoSetResponse_Reason_Reason_MAX = HWComponentInfoSetResponse_Reason_DEVICE_UNREACHABLE;
+const HWComponentInfoSetResponse_Reason HWComponentInfoSetResponse_Reason_Reason_MAX = HWComponentInfoSetResponse_Reason_SET_UNSUPPORTED;
 const int HWComponentInfoSetResponse_Reason_Reason_ARRAYSIZE = HWComponentInfoSetResponse_Reason_Reason_MAX + 1;
 
 const ::google::protobuf::EnumDescriptor* HWComponentInfoSetResponse_Reason_descriptor();
@@ -1305,6 +1306,8 @@
     HWComponentInfoSetResponse_Reason_INTERNAL_ERROR;
   static const Reason DEVICE_UNREACHABLE =
     HWComponentInfoSetResponse_Reason_DEVICE_UNREACHABLE;
+  static const Reason SET_UNSUPPORTED =
+    HWComponentInfoSetResponse_Reason_SET_UNSUPPORTED;
   static inline bool Reason_IsValid(int value) {
     return HWComponentInfoSetResponse_Reason_IsValid(value);
   }
diff --git a/dmi.pb b/dmi.pb
index f965fe1..50bad52 100644
--- a/dmi.pb
+++ b/dmi.pb
Binary files differ
diff --git a/docs/ManagingDevice.md b/docs/ManagingDevice.md
index b5a1c01..18202b2 100644
--- a/docs/ManagingDevice.md
+++ b/docs/ManagingDevice.md
@@ -83,4 +83,16 @@
 Operators currently do not require runtime configuration of the NNI because it's not an element that is expected to change
 at all once initial deployment is performed.
 
+## Transceiver Technology Configuration
+If the transceiver technology cannot be automatically detected on the OLT, the transceiver technology is set to `TYPE_NOT_DETECTED`
+when the transceiver object is added to the model. In this case the `SetHWComponentInfo` API on the DMI can
+be used to set the transceiver technology. Set `HWComponentInfoSetRequest.ModifiableComponent.TransceiverComponentChangeAttributes.TransceiverType`
+to the relevant transceiver technology.
+
+If the DM does not support setting transceiver technology, it should return the error code `SET_UNSUPPORTED` in `HWComponentInfoSetResponse`
+if the user tries to change/set the technology.
+
+The [Combo and Any PON support](https://docs.google.com/document/d/129YDzShMvYACsrM0dWV60tV79BRPI6SsBpf_nm0Byxc/edit#heading=h.ejk2hfj4lhh7) has
+more details about dynamic detection and configuration of PON technology. Although this document focuses on PON technology configuration aspects,
+it still has some general concepts applicable for any other non-PON transceiver types.
 
diff --git a/go/dmi/hw.pb.go b/go/dmi/hw.pb.go
index 0dad292..55c458f 100644
--- a/go/dmi/hw.pb.go
+++ b/go/dmi/hw.pb.go
@@ -436,6 +436,52 @@
 	return fileDescriptor_d7c33d745c4ab367, []int{8}
 }
 
+type TransceiverType int32
+
+const (
+	TransceiverType_TYPE_UNDEFINED    TransceiverType = 0
+	TransceiverType_ETHERNET          TransceiverType = 1
+	TransceiverType_GPON              TransceiverType = 2
+	TransceiverType_XGPON             TransceiverType = 3
+	TransceiverType_XGSPON            TransceiverType = 4
+	TransceiverType_CPON              TransceiverType = 5
+	TransceiverType_NG_PON2           TransceiverType = 6
+	TransceiverType_EPON              TransceiverType = 7
+	TransceiverType_TYPE_NOT_DETECTED TransceiverType = 255
+)
+
+var TransceiverType_name = map[int32]string{
+	0:   "TYPE_UNDEFINED",
+	1:   "ETHERNET",
+	2:   "GPON",
+	3:   "XGPON",
+	4:   "XGSPON",
+	5:   "CPON",
+	6:   "NG_PON2",
+	7:   "EPON",
+	255: "TYPE_NOT_DETECTED",
+}
+
+var TransceiverType_value = map[string]int32{
+	"TYPE_UNDEFINED":    0,
+	"ETHERNET":          1,
+	"GPON":              2,
+	"XGPON":             3,
+	"XGSPON":            4,
+	"CPON":              5,
+	"NG_PON2":           6,
+	"EPON":              7,
+	"TYPE_NOT_DETECTED": 255,
+}
+
+func (x TransceiverType) String() string {
+	return proto.EnumName(TransceiverType_name, int32(x))
+}
+
+func (TransceiverType) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{9}
+}
+
 type PortComponentAttributes_ConnectorType int32
 
 const (
@@ -596,7 +642,7 @@
 }
 
 func (PsuComponentAttributes_SupportedVoltage) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{9, 0}
+	return fileDescriptor_d7c33d745c4ab367, []int{10, 0}
 }
 
 type TransceiverComponentsAttributes_FormFactor int32
@@ -660,50 +706,7 @@
 }
 
 func (TransceiverComponentsAttributes_FormFactor) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{10, 0}
-}
-
-type TransceiverComponentsAttributes_Type int32
-
-const (
-	TransceiverComponentsAttributes_TYPE_UNKNOWN TransceiverComponentsAttributes_Type = 0
-	TransceiverComponentsAttributes_ETHERNET     TransceiverComponentsAttributes_Type = 1
-	TransceiverComponentsAttributes_GPON         TransceiverComponentsAttributes_Type = 2
-	TransceiverComponentsAttributes_XGPON        TransceiverComponentsAttributes_Type = 3
-	TransceiverComponentsAttributes_XGSPON       TransceiverComponentsAttributes_Type = 4
-	TransceiverComponentsAttributes_CPON         TransceiverComponentsAttributes_Type = 5
-	TransceiverComponentsAttributes_NG_PON2      TransceiverComponentsAttributes_Type = 6
-	TransceiverComponentsAttributes_EPON         TransceiverComponentsAttributes_Type = 7
-)
-
-var TransceiverComponentsAttributes_Type_name = map[int32]string{
-	0: "TYPE_UNKNOWN",
-	1: "ETHERNET",
-	2: "GPON",
-	3: "XGPON",
-	4: "XGSPON",
-	5: "CPON",
-	6: "NG_PON2",
-	7: "EPON",
-}
-
-var TransceiverComponentsAttributes_Type_value = map[string]int32{
-	"TYPE_UNKNOWN": 0,
-	"ETHERNET":     1,
-	"GPON":         2,
-	"XGPON":        3,
-	"XGSPON":       4,
-	"CPON":         5,
-	"NG_PON2":      6,
-	"EPON":         7,
-}
-
-func (x TransceiverComponentsAttributes_Type) String() string {
-	return proto.EnumName(TransceiverComponentsAttributes_Type_name, int32(x))
-}
-
-func (TransceiverComponentsAttributes_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{10, 1}
+	return fileDescriptor_d7c33d745c4ab367, []int{11, 0}
 }
 
 type Uuid struct {
@@ -1135,6 +1138,45 @@
 	return nil
 }
 
+type TransceiverComponentChangeAttributes struct {
+	TransType            TransceiverType `protobuf:"varint,1,opt,name=trans_type,json=transType,proto3,enum=dmi.TransceiverType" json:"trans_type,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
+	XXX_unrecognized     []byte          `json:"-"`
+	XXX_sizecache        int32           `json:"-"`
+}
+
+func (m *TransceiverComponentChangeAttributes) Reset()         { *m = TransceiverComponentChangeAttributes{} }
+func (m *TransceiverComponentChangeAttributes) String() string { return proto.CompactTextString(m) }
+func (*TransceiverComponentChangeAttributes) ProtoMessage()    {}
+func (*TransceiverComponentChangeAttributes) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{7}
+}
+
+func (m *TransceiverComponentChangeAttributes) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_TransceiverComponentChangeAttributes.Unmarshal(m, b)
+}
+func (m *TransceiverComponentChangeAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_TransceiverComponentChangeAttributes.Marshal(b, m, deterministic)
+}
+func (m *TransceiverComponentChangeAttributes) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_TransceiverComponentChangeAttributes.Merge(m, src)
+}
+func (m *TransceiverComponentChangeAttributes) XXX_Size() int {
+	return xxx_messageInfo_TransceiverComponentChangeAttributes.Size(m)
+}
+func (m *TransceiverComponentChangeAttributes) XXX_DiscardUnknown() {
+	xxx_messageInfo_TransceiverComponentChangeAttributes.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_TransceiverComponentChangeAttributes proto.InternalMessageInfo
+
+func (m *TransceiverComponentChangeAttributes) GetTransType() TransceiverType {
+	if m != nil {
+		return m.TransType
+	}
+	return TransceiverType_TYPE_UNDEFINED
+}
+
 type PonIdConfig struct {
 	// The pon_id and pon_id_transmit_periodicity attributes are valid only for ports of type GPON, XGPON and XGSPON
 	// For GPON pon_id is a 7 byte value
@@ -1150,7 +1192,7 @@
 func (m *PonIdConfig) String() string { return proto.CompactTextString(m) }
 func (*PonIdConfig) ProtoMessage()    {}
 func (*PonIdConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{7}
+	return fileDescriptor_d7c33d745c4ab367, []int{8}
 }
 
 func (m *PonIdConfig) XXX_Unmarshal(b []byte) error {
@@ -1196,7 +1238,7 @@
 func (m *ContainerComponentAttributes) String() string { return proto.CompactTextString(m) }
 func (*ContainerComponentAttributes) ProtoMessage()    {}
 func (*ContainerComponentAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{8}
+	return fileDescriptor_d7c33d745c4ab367, []int{9}
 }
 
 func (m *ContainerComponentAttributes) XXX_Unmarshal(b []byte) error {
@@ -1235,7 +1277,7 @@
 func (m *PsuComponentAttributes) String() string { return proto.CompactTextString(m) }
 func (*PsuComponentAttributes) ProtoMessage()    {}
 func (*PsuComponentAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{9}
+	return fileDescriptor_d7c33d745c4ab367, []int{10}
 }
 
 func (m *PsuComponentAttributes) XXX_Unmarshal(b []byte) error {
@@ -1265,7 +1307,7 @@
 
 type TransceiverComponentsAttributes struct {
 	FormFactor TransceiverComponentsAttributes_FormFactor `protobuf:"varint,1,opt,name=form_factor,json=formFactor,proto3,enum=dmi.TransceiverComponentsAttributes_FormFactor" json:"form_factor,omitempty"`
-	TransType  TransceiverComponentsAttributes_Type       `protobuf:"varint,2,opt,name=trans_type,json=transType,proto3,enum=dmi.TransceiverComponentsAttributes_Type" json:"trans_type,omitempty"`
+	TransType  TransceiverType                            `protobuf:"varint,2,opt,name=trans_type,json=transType,proto3,enum=dmi.TransceiverType" json:"trans_type,omitempty"`
 	// The maximum reach that can be achieved by this transceiver
 	MaxDistance      uint32     `protobuf:"varint,3,opt,name=max_distance,json=maxDistance,proto3" json:"max_distance,omitempty"`
 	MaxDistanceScale ValueScale `protobuf:"varint,4,opt,name=max_distance_scale,json=maxDistanceScale,proto3,enum=dmi.ValueScale" json:"max_distance_scale,omitempty"`
@@ -1282,7 +1324,7 @@
 func (m *TransceiverComponentsAttributes) String() string { return proto.CompactTextString(m) }
 func (*TransceiverComponentsAttributes) ProtoMessage()    {}
 func (*TransceiverComponentsAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{10}
+	return fileDescriptor_d7c33d745c4ab367, []int{11}
 }
 
 func (m *TransceiverComponentsAttributes) XXX_Unmarshal(b []byte) error {
@@ -1310,11 +1352,11 @@
 	return TransceiverComponentsAttributes_FORM_FACTOR_UNKNOWN
 }
 
-func (m *TransceiverComponentsAttributes) GetTransType() TransceiverComponentsAttributes_Type {
+func (m *TransceiverComponentsAttributes) GetTransType() TransceiverType {
 	if m != nil {
 		return m.TransType
 	}
-	return TransceiverComponentsAttributes_TYPE_UNKNOWN
+	return TransceiverType_TYPE_UNDEFINED
 }
 
 func (m *TransceiverComponentsAttributes) GetMaxDistance() uint32 {
@@ -1395,7 +1437,7 @@
 func (m *Component) String() string { return proto.CompactTextString(m) }
 func (*Component) ProtoMessage()    {}
 func (*Component) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{11}
+	return fileDescriptor_d7c33d745c4ab367, []int{12}
 }
 
 func (m *Component) XXX_Unmarshal(b []byte) error {
@@ -1646,7 +1688,7 @@
 func (m *Hardware) String() string { return proto.CompactTextString(m) }
 func (*Hardware) ProtoMessage()    {}
 func (*Hardware) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{12}
+	return fileDescriptor_d7c33d745c4ab367, []int{13}
 }
 
 func (m *Hardware) XXX_Unmarshal(b []byte) error {
@@ -1704,6 +1746,7 @@
 	//
 	// Types that are valid to be assigned to Specific:
 	//	*ModifiableComponent_PortAttr
+	//	*ModifiableComponent_TrxAttr
 	Specific             isModifiableComponent_Specific `protobuf_oneof:"specific"`
 	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
 	XXX_unrecognized     []byte                         `json:"-"`
@@ -1714,7 +1757,7 @@
 func (m *ModifiableComponent) String() string { return proto.CompactTextString(m) }
 func (*ModifiableComponent) ProtoMessage()    {}
 func (*ModifiableComponent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{13}
+	return fileDescriptor_d7c33d745c4ab367, []int{14}
 }
 
 func (m *ModifiableComponent) XXX_Unmarshal(b []byte) error {
@@ -1799,8 +1842,14 @@
 	PortAttr *PortComponentChangeAttributes `protobuf:"bytes,50,opt,name=port_attr,json=portAttr,proto3,oneof"`
 }
 
+type ModifiableComponent_TrxAttr struct {
+	TrxAttr *TransceiverComponentChangeAttributes `protobuf:"bytes,51,opt,name=trx_attr,json=trxAttr,proto3,oneof"`
+}
+
 func (*ModifiableComponent_PortAttr) isModifiableComponent_Specific() {}
 
+func (*ModifiableComponent_TrxAttr) isModifiableComponent_Specific() {}
+
 func (m *ModifiableComponent) GetSpecific() isModifiableComponent_Specific {
 	if m != nil {
 		return m.Specific
@@ -1815,10 +1864,18 @@
 	return nil
 }
 
+func (m *ModifiableComponent) GetTrxAttr() *TransceiverComponentChangeAttributes {
+	if x, ok := m.GetSpecific().(*ModifiableComponent_TrxAttr); ok {
+		return x.TrxAttr
+	}
+	return nil
+}
+
 // XXX_OneofWrappers is for the internal use of the proto package.
 func (*ModifiableComponent) XXX_OneofWrappers() []interface{} {
 	return []interface{}{
 		(*ModifiableComponent_PortAttr)(nil),
+		(*ModifiableComponent_TrxAttr)(nil),
 	}
 }
 
@@ -1832,12 +1889,12 @@
 	proto.RegisterEnum("dmi.DataValueType", DataValueType_name, DataValueType_value)
 	proto.RegisterEnum("dmi.ValueScale", ValueScale_name, ValueScale_value)
 	proto.RegisterEnum("dmi.SensorStatus", SensorStatus_name, SensorStatus_value)
+	proto.RegisterEnum("dmi.TransceiverType", TransceiverType_name, TransceiverType_value)
 	proto.RegisterEnum("dmi.PortComponentAttributes_ConnectorType", PortComponentAttributes_ConnectorType_name, PortComponentAttributes_ConnectorType_value)
 	proto.RegisterEnum("dmi.PortComponentAttributes_Speed", PortComponentAttributes_Speed_name, PortComponentAttributes_Speed_value)
 	proto.RegisterEnum("dmi.PortComponentAttributes_Protocol", PortComponentAttributes_Protocol_name, PortComponentAttributes_Protocol_value)
 	proto.RegisterEnum("dmi.PsuComponentAttributes_SupportedVoltage", PsuComponentAttributes_SupportedVoltage_name, PsuComponentAttributes_SupportedVoltage_value)
 	proto.RegisterEnum("dmi.TransceiverComponentsAttributes_FormFactor", TransceiverComponentsAttributes_FormFactor_name, TransceiverComponentsAttributes_FormFactor_value)
-	proto.RegisterEnum("dmi.TransceiverComponentsAttributes_Type", TransceiverComponentsAttributes_Type_name, TransceiverComponentsAttributes_Type_value)
 	proto.RegisterType((*Uuid)(nil), "dmi.Uuid")
 	proto.RegisterType((*HardwareID)(nil), "dmi.HardwareID")
 	proto.RegisterType((*Uri)(nil), "dmi.Uri")
@@ -1845,6 +1902,7 @@
 	proto.RegisterType((*ComponentSensorData)(nil), "dmi.ComponentSensorData")
 	proto.RegisterType((*PortComponentAttributes)(nil), "dmi.PortComponentAttributes")
 	proto.RegisterType((*PortComponentChangeAttributes)(nil), "dmi.PortComponentChangeAttributes")
+	proto.RegisterType((*TransceiverComponentChangeAttributes)(nil), "dmi.TransceiverComponentChangeAttributes")
 	proto.RegisterType((*PonIdConfig)(nil), "dmi.PonIdConfig")
 	proto.RegisterType((*ContainerComponentAttributes)(nil), "dmi.ContainerComponentAttributes")
 	proto.RegisterType((*PsuComponentAttributes)(nil), "dmi.PsuComponentAttributes")
@@ -1857,178 +1915,181 @@
 func init() { proto.RegisterFile("dmi/hw.proto", fileDescriptor_d7c33d745c4ab367) }
 
 var fileDescriptor_d7c33d745c4ab367 = []byte{
-	// 2760 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4f, 0x8f, 0xdb, 0xc6,
-	0x15, 0xb7, 0xfe, 0x4b, 0x4f, 0xd2, 0xee, 0x78, 0xfc, 0x4f, 0x59, 0xdb, 0x89, 0xa3, 0x26, 0x81,
-	0xb3, 0x6d, 0x76, 0xd7, 0xf2, 0xba, 0x70, 0x1a, 0x04, 0x05, 0x97, 0xa2, 0x56, 0x8c, 0x25, 0x92,
-	0x19, 0x52, 0x6b, 0x6f, 0x2e, 0x04, 0x57, 0xe2, 0x6a, 0x09, 0x48, 0xa4, 0x40, 0x52, 0x1b, 0x1b,
-	0xe8, 0xa9, 0xe8, 0xa5, 0xa7, 0x7e, 0x89, 0xa2, 0xc8, 0xa9, 0x97, 0xf6, 0xd8, 0x43, 0x7b, 0xe8,
-	0x17, 0xe8, 0xad, 0x9f, 0xa1, 0x5f, 0xa0, 0xc7, 0x62, 0x66, 0x48, 0x89, 0xa2, 0x68, 0xc7, 0x01,
-	0x7a, 0x1b, 0xbe, 0xdf, 0xef, 0xbd, 0x79, 0xf3, 0xe6, 0xcd, 0x9b, 0x37, 0x84, 0xc6, 0x64, 0xee,
-	0x1c, 0x5e, 0x7d, 0x7f, 0xb0, 0xf0, 0xbd, 0xd0, 0xc3, 0x85, 0xc9, 0xdc, 0xd9, 0xfb, 0x68, 0xea,
-	0x79, 0xd3, 0x99, 0x7d, 0xc8, 0x44, 0x17, 0xcb, 0xcb, 0xc3, 0xd0, 0x99, 0xdb, 0x41, 0x68, 0xcd,
-	0x17, 0x9c, 0xd5, 0xde, 0x83, 0xe2, 0x68, 0xe9, 0x4c, 0x30, 0x86, 0xe2, 0x72, 0xe9, 0x4c, 0x5a,
-	0xb9, 0x47, 0xb9, 0xc7, 0x35, 0xc2, 0xc6, 0xed, 0x9f, 0x03, 0xf4, 0x2d, 0x7f, 0xf2, 0xbd, 0xe5,
-	0xdb, 0x72, 0x17, 0x3f, 0x4c, 0x30, 0xea, 0x9d, 0xda, 0xc1, 0x64, 0xee, 0x1c, 0x50, 0xd5, 0x88,
-	0x7c, 0x0f, 0x0a, 0x23, 0xdf, 0xc1, 0x08, 0x0a, 0x4b, 0xdf, 0x89, 0xcc, 0xd0, 0x61, 0xfb, 0x77,
-	0x05, 0xd8, 0x11, 0xbd, 0xf9, 0xc2, 0x73, 0x6d, 0x37, 0xd4, 0x43, 0x2b, 0xb4, 0x71, 0x1f, 0x70,
-	0x40, 0x07, 0xe6, 0xcc, 0x0a, 0x42, 0x73, 0x7c, 0x65, 0xb9, 0x53, 0x3b, 0x36, 0xbc, 0x77, 0xc0,
-	0x5d, 0x3e, 0x88, 0x5d, 0x3e, 0x30, 0x62, 0x97, 0x09, 0x62, 0x5a, 0x03, 0x2b, 0x08, 0x45, 0xae,
-	0x83, 0xbf, 0x84, 0xba, 0x35, 0x99, 0x3b, 0xae, 0xc9, 0x90, 0x56, 0xfe, 0x51, 0xee, 0xf1, 0x4e,
-	0xa7, 0xc5, 0x7c, 0x5b, 0xcd, 0x29, 0x50, 0x02, 0x9b, 0x98, 0x80, 0xb5, 0x1a, 0xe3, 0x5f, 0x02,
-	0x78, 0x0b, 0xdb, 0x8f, 0x34, 0x0b, 0x4c, 0xf3, 0xde, 0xa6, 0xa6, 0xba, 0xb0, 0x7d, 0xae, 0x58,
-	0xf3, 0xe2, 0x21, 0x9d, 0x72, 0x19, 0x58, 0x53, 0x3b, 0x52, 0x2c, 0x66, 0x4d, 0x39, 0xa2, 0x84,
-	0x68, 0xca, 0xe5, 0x6a, 0xcc, 0xbc, 0x9d, 0x59, 0xfe, 0x3c, 0x52, 0x2d, 0x65, 0x7a, 0x4b, 0x09,
-	0xb1, 0xb7, 0xab, 0x31, 0xfe, 0x35, 0x34, 0x83, 0xd0, 0x72, 0x27, 0x17, 0x6f, 0x22, 0xe5, 0x32,
-	0x53, 0xde, 0xdb, 0x54, 0xd6, 0x39, 0x85, 0xab, 0x37, 0x82, 0xc4, 0x57, 0xfb, 0x3f, 0x79, 0xb8,
-	0xb5, 0xe6, 0xd9, 0x6e, 0xe0, 0xf9, 0x5d, 0x2b, 0xb4, 0xf0, 0x6d, 0x28, 0x5d, 0x5b, 0xb3, 0xa5,
-	0xcd, 0xc2, 0x5f, 0x22, 0xfc, 0x03, 0x7f, 0x06, 0xc5, 0xf0, 0xcd, 0x22, 0x0e, 0x28, 0x66, 0xb3,
-	0x50, 0xfa, 0x19, 0x45, 0x8d, 0x37, 0x0b, 0x9b, 0x30, 0x1c, 0x7f, 0x0a, 0xa5, 0x60, 0x6c, 0xcd,
-	0xe2, 0xf8, 0xed, 0x32, 0x22, 0x23, 0xe9, 0x54, 0x4c, 0x38, 0x8a, 0x1f, 0x40, 0x6d, 0xe1, 0xdb,
-	0x63, 0x27, 0x70, 0x3c, 0x97, 0x45, 0xac, 0x44, 0xd6, 0x02, 0xfc, 0x39, 0x94, 0xe9, 0x9a, 0x96,
-	0x41, 0x14, 0x91, 0x9b, 0xcc, 0x0a, 0xf7, 0x51, 0x67, 0x00, 0x89, 0x08, 0xf8, 0x67, 0xd0, 0x5c,
-	0xba, 0x4e, 0x18, 0x98, 0x13, 0x27, 0x58, 0xcc, 0xac, 0x37, 0x2c, 0x0c, 0x35, 0xd2, 0x60, 0xc2,
-	0x2e, 0x97, 0xe1, 0xe7, 0x50, 0x5b, 0xa5, 0x79, 0xab, 0xf2, 0xa3, 0x59, 0xb5, 0x26, 0xe3, 0x7d,
-	0xb8, 0xc9, 0xd6, 0x6f, 0x2e, 0x17, 0x13, 0x9a, 0x9f, 0x3e, 0x8d, 0x74, 0xf5, 0x51, 0xee, 0x71,
-	0x93, 0xec, 0x32, 0x60, 0xc4, 0xe4, 0x84, 0xee, 0xc8, 0x7d, 0xa8, 0x4d, 0xac, 0xd0, 0x32, 0x59,
-	0x9c, 0x6a, 0xcc, 0x8d, 0x2a, 0x15, 0xd0, 0xe8, 0xb4, 0xff, 0x51, 0x86, 0x7b, 0x9a, 0xe7, 0x87,
-	0xeb, 0x6d, 0x0d, 0x43, 0xdf, 0xb9, 0x58, 0x86, 0x76, 0x80, 0xbf, 0x85, 0x9d, 0xb1, 0xe7, 0xba,
-	0xf6, 0x38, 0xf4, 0x7c, 0xae, 0x9d, 0x63, 0xcb, 0xde, 0x67, 0xcb, 0x7e, 0x8b, 0xd6, 0x81, 0x18,
-	0xab, 0xb0, 0xe8, 0x37, 0xc7, 0xc9, 0x4f, 0xfc, 0x1c, 0x4a, 0xc1, 0xc2, 0xb6, 0x27, 0xd1, 0x7e,
-	0xb5, 0xdf, 0x69, 0x49, 0xa7, 0x4c, 0xc2, 0x15, 0xb0, 0x00, 0x55, 0x16, 0x92, 0xb1, 0x37, 0x8b,
-	0xf6, 0xf0, 0xd3, 0x77, 0x2a, 0x6b, 0x11, 0x99, 0xac, 0xd4, 0xf0, 0xa7, 0xb0, 0xb3, 0xb8, 0x7a,
-	0x13, 0x38, 0x63, 0x6b, 0x66, 0xce, 0xac, 0x0b, 0x7b, 0xc6, 0x76, 0xb8, 0x46, 0x9a, 0xb1, 0x74,
-	0x40, 0x85, 0x74, 0xeb, 0xe6, 0xd6, 0x62, 0xe1, 0xb8, 0xd3, 0x88, 0x55, 0xe2, 0x5b, 0x17, 0x09,
-	0x39, 0xe9, 0x18, 0x9a, 0x0b, 0xcf, 0x35, 0x9d, 0x89, 0x39, 0xf6, 0xdc, 0x4b, 0x67, 0xca, 0xf6,
-	0xb7, 0xde, 0x41, 0x91, 0x4f, 0xae, 0x3c, 0x11, 0x99, 0x9c, 0xd4, 0x17, 0xeb, 0x0f, 0xfc, 0x14,
-	0xee, 0xb0, 0xd5, 0x98, 0xd6, 0x32, 0xf4, 0x5c, 0x7b, 0xea, 0x85, 0x8e, 0x15, 0xd2, 0x54, 0xa3,
-	0x9b, 0x5f, 0x25, 0xb7, 0x19, 0x28, 0x6c, 0x62, 0xed, 0x05, 0x34, 0x37, 0x62, 0x8a, 0x1f, 0x40,
-	0x4b, 0x54, 0x15, 0x45, 0x12, 0x0d, 0x95, 0x98, 0xc6, 0xb9, 0x26, 0x99, 0x23, 0xa5, 0x2b, 0xf5,
-	0x64, 0x45, 0xea, 0xa2, 0x1b, 0xb8, 0x0a, 0x45, 0xf2, 0xcd, 0xf1, 0x33, 0x94, 0xc3, 0x0d, 0xa8,
-	0xf6, 0xe4, 0x13, 0x89, 0x98, 0x03, 0x11, 0xe5, 0xf1, 0x2e, 0xd4, 0xf9, 0x97, 0x2e, 0x9a, 0x9a,
-	0x88, 0x0a, 0xb8, 0x09, 0x35, 0x2e, 0x18, 0x6a, 0x2a, 0x2a, 0xe2, 0x1a, 0x94, 0x88, 0xde, 0x79,
-	0xda, 0x41, 0xa5, 0xf6, 0x9f, 0x73, 0x50, 0x62, 0xc1, 0xc7, 0xb7, 0x60, 0x57, 0xd7, 0x24, 0xa9,
-	0xbb, 0x31, 0x43, 0x1d, 0x2a, 0xdd, 0x73, 0x45, 0x18, 0xca, 0x22, 0xca, 0x51, 0x2b, 0xa7, 0xf2,
-	0xa9, 0x70, 0x22, 0x1b, 0xe6, 0x13, 0x94, 0xc7, 0x3b, 0x00, 0xab, 0xcf, 0x23, 0x54, 0x48, 0x7e,
-	0x77, 0x9e, 0xa1, 0x62, 0xf2, 0xfb, 0xf8, 0x08, 0x95, 0xa8, 0x57, 0x6b, 0xfe, 0x11, 0x2a, 0x27,
-	0x05, 0xc7, 0x47, 0x47, 0xa8, 0x82, 0x11, 0x34, 0x86, 0x52, 0x6c, 0xe1, 0xe8, 0x08, 0x55, 0x93,
-	0x92, 0x27, 0x9d, 0x67, 0x47, 0xa8, 0xd6, 0xfe, 0x0d, 0x54, 0xe3, 0xfd, 0xc6, 0x77, 0x01, 0x6b,
-	0x44, 0x35, 0x54, 0x51, 0x1d, 0x6c, 0x78, 0xdd, 0x80, 0xaa, 0x64, 0xf4, 0x25, 0xa2, 0x48, 0x06,
-	0xca, 0xd1, 0x28, 0x9d, 0x6a, 0xaa, 0x82, 0xf2, 0x74, 0xdd, 0xaf, 0xd8, 0xb0, 0x80, 0x01, 0xca,
-	0xaf, 0x4e, 0x75, 0x3a, 0x66, 0xe1, 0x38, 0xed, 0x09, 0xba, 0x81, 0x4a, 0x54, 0xac, 0x4b, 0x44,
-	0x16, 0x06, 0xa8, 0x4c, 0xf5, 0x24, 0x4a, 0xa8, 0xd0, 0xd1, 0x89, 0x6c, 0xe8, 0xa8, 0xda, 0x1e,
-	0xc1, 0xc3, 0x8d, 0x2c, 0xe4, 0x35, 0x3f, 0x71, 0x90, 0xb6, 0x92, 0x25, 0xf7, 0x1e, 0xc9, 0xd2,
-	0x1e, 0x43, 0x3d, 0x81, 0xe1, 0x3b, 0x50, 0xe6, 0x46, 0x98, 0x76, 0x83, 0x94, 0x18, 0x17, 0x7f,
-	0x0d, 0xf7, 0x23, 0xdb, 0xa1, 0x6f, 0xb9, 0xc1, 0xdc, 0x09, 0xcd, 0x85, 0xed, 0x3b, 0xde, 0xc4,
-	0x19, 0x3b, 0xe1, 0x1b, 0x76, 0xce, 0x9a, 0xa4, 0xc5, 0xb8, 0x46, 0x44, 0xd0, 0xd6, 0x78, 0x5b,
-	0x82, 0x07, 0xa2, 0xe7, 0x86, 0x96, 0xe3, 0xda, 0x7e, 0x56, 0x0d, 0xd8, 0x3e, 0x33, 0xb9, 0x8c,
-	0x33, 0xd3, 0xfe, 0x67, 0x0e, 0xee, 0x6a, 0xc1, 0x32, 0xcb, 0xc2, 0x39, 0xdc, 0x0c, 0x96, 0x8b,
-	0x85, 0xe7, 0x87, 0xf6, 0xc4, 0xbc, 0xf6, 0x66, 0xa1, 0x35, 0x8d, 0x0b, 0xc9, 0x2f, 0x78, 0x00,
-	0x32, 0xf5, 0x0e, 0xf4, 0x58, 0xe9, 0x8c, 0xeb, 0x10, 0x14, 0xa4, 0x24, 0x6d, 0x0d, 0x50, 0x9a,
-	0x85, 0x3f, 0x82, 0xfb, 0xfa, 0x48, 0xd3, 0x54, 0x62, 0x48, 0x5d, 0xf3, 0x4c, 0x1d, 0x18, 0xc2,
-	0xe9, 0xe6, 0xf9, 0xa8, 0x40, 0xe1, 0xec, 0xf8, 0x39, 0x4f, 0x81, 0xb3, 0xce, 0xd3, 0x23, 0x94,
-	0x67, 0xa3, 0x27, 0x4f, 0x9e, 0xa1, 0x42, 0xfb, 0x5f, 0x25, 0xf8, 0x88, 0x85, 0x69, 0x6c, 0x3b,
-	0xd7, 0x89, 0x88, 0x04, 0x89, 0x05, 0x69, 0x50, 0xbf, 0xf4, 0xfc, 0xb9, 0x79, 0x69, 0xd1, 0x13,
-	0x19, 0x2d, 0xe5, 0x90, 0x2d, 0xe5, 0x47, 0x54, 0x0f, 0x7a, 0x9e, 0x3f, 0xef, 0x31, 0x35, 0x02,
-	0x97, 0xab, 0x31, 0xee, 0x03, 0xb0, 0xcd, 0x33, 0x13, 0x57, 0xd9, 0xe7, 0xef, 0x65, 0x90, 0xd5,
-	0xd8, 0x1a, 0x53, 0x66, 0xa5, 0xe1, 0x63, 0x68, 0xcc, 0xad, 0xd7, 0xf4, 0xd2, 0x09, 0x2d, 0x77,
-	0xcc, 0x6f, 0xbb, 0x26, 0xa9, 0xcf, 0xad, 0xd7, 0xdd, 0x48, 0x84, 0xbf, 0x06, 0x9c, 0xa4, 0x98,
-	0xfc, 0x5a, 0x2c, 0x66, 0x5f, 0x8b, 0x28, 0xa1, 0xc9, 0x24, 0xb4, 0x3a, 0xfa, 0xaf, 0xcd, 0xef,
-	0xad, 0x6b, 0x7b, 0x66, 0xbb, 0xd3, 0xf0, 0xaa, 0x55, 0x7a, 0x54, 0x78, 0xdc, 0x24, 0x0d, 0xff,
-	0xf5, 0xcb, 0x95, 0x8c, 0x92, 0xc2, 0x0d, 0x52, 0x99, 0x93, 0xc2, 0x24, 0xe9, 0x57, 0x80, 0xd6,
-	0x8c, 0xc8, 0x8d, 0x4a, 0xb6, 0x1b, 0xbb, 0x6b, 0x22, 0x13, 0xb4, 0xff, 0x9e, 0x03, 0x58, 0x07,
-	0x13, 0xdf, 0x83, 0x5b, 0x3d, 0x95, 0x0c, 0xcd, 0x9e, 0xc0, 0x6a, 0xe2, 0x48, 0x79, 0xa1, 0xa8,
-	0x2f, 0x15, 0x5e, 0x0c, 0xbf, 0xd5, 0x7b, 0x1a, 0xaf, 0x53, 0x74, 0x64, 0x6a, 0x83, 0x91, 0x8e,
-	0xf2, 0xf4, 0x4c, 0xd3, 0xcf, 0xce, 0x73, 0x54, 0xa0, 0x19, 0x41, 0x39, 0x45, 0x5a, 0x22, 0x56,
-	0x94, 0x12, 0x15, 0xbf, 0xea, 0x69, 0xfc, 0xcc, 0x8b, 0x3d, 0xed, 0x98, 0x9f, 0x79, 0xb1, 0xa7,
-	0x75, 0x50, 0x95, 0x8d, 0x34, 0xe1, 0x05, 0xaa, 0xe1, 0x32, 0xe4, 0x5f, 0x75, 0x10, 0xd0, 0x82,
-	0xa1, 0xd2, 0xfa, 0x82, 0xea, 0x54, 0x53, 0xec, 0x69, 0xa8, 0x41, 0x0d, 0x52, 0xbe, 0x29, 0x88,
-	0x2a, 0x6a, 0xae, 0xbe, 0xba, 0xa2, 0x8a, 0x76, 0xda, 0x57, 0x50, 0x64, 0x5b, 0x86, 0xa0, 0x11,
-	0xd5, 0xf0, 0xd8, 0xe9, 0x9f, 0x58, 0xa9, 0x98, 0x2b, 0xaa, 0x82, 0x4a, 0xb4, 0x30, 0x2b, 0xa7,
-	0xa6, 0xa6, 0x2a, 0x9d, 0x64, 0xa5, 0x6a, 0xff, 0xbb, 0x02, 0xb5, 0x55, 0xf6, 0xd0, 0x06, 0xda,
-	0xb5, 0xe6, 0x76, 0xdc, 0x40, 0xd3, 0x31, 0x7e, 0x0c, 0xa5, 0xf1, 0xcc, 0x0a, 0x82, 0x8d, 0x36,
-	0x6a, 0xa5, 0xc2, 0x92, 0x8c, 0x13, 0xf0, 0x23, 0xa8, 0x4f, 0xec, 0x60, 0xec, 0x3b, 0x0b, 0x76,
-	0x6f, 0x15, 0x98, 0x91, 0xa4, 0x08, 0xdf, 0x85, 0xf2, 0xc2, 0xf2, 0x6d, 0x37, 0x8c, 0x6e, 0xd7,
-	0xe8, 0x0b, 0x7f, 0x02, 0x3b, 0x7c, 0x64, 0xfa, 0xf6, 0xcc, 0x5c, 0x78, 0xbc, 0x89, 0x2a, 0x91,
-	0x06, 0x97, 0x12, 0x7b, 0xa6, 0x79, 0x01, 0xde, 0x87, 0xea, 0xf8, 0xca, 0x99, 0x4d, 0x7c, 0xdb,
-	0x65, 0x49, 0x53, 0xef, 0xec, 0x6c, 0x3a, 0x43, 0x56, 0x38, 0x4d, 0xf6, 0xab, 0xa8, 0xed, 0x37,
-	0x7d, 0xfb, 0x9a, 0x25, 0x4f, 0x8d, 0xd4, 0x63, 0x19, 0xb1, 0xaf, 0x29, 0xe5, 0xd2, 0xf1, 0xe7,
-	0x2b, 0x4a, 0x95, 0x53, 0x62, 0x59, 0x44, 0x09, 0xbc, 0xcb, 0x70, 0x45, 0xe1, 0x1d, 0x52, 0x3d,
-	0x96, 0x51, 0xca, 0x43, 0x80, 0xc0, 0xf6, 0x1d, 0x6b, 0x66, 0xba, 0xcb, 0x79, 0x0b, 0x18, 0xa1,
-	0xc6, 0x25, 0xca, 0x72, 0x8e, 0x3f, 0x80, 0xea, 0xfc, 0x72, 0x6a, 0xb2, 0xa8, 0xd6, 0x19, 0x58,
-	0x99, 0x5f, 0x4e, 0x15, 0x1a, 0xd8, 0x87, 0x00, 0x73, 0x6f, 0x62, 0xcf, 0x38, 0xd8, 0xe0, 0x9a,
-	0x4c, 0xc2, 0xe0, 0xdb, 0x50, 0xb2, 0x66, 0x8e, 0x15, 0xb4, 0x9a, 0x0c, 0xe1, 0x1f, 0xd4, 0x9e,
-	0x15, 0x04, 0x76, 0x48, 0x6b, 0xfd, 0x0e, 0xb7, 0xc7, 0xbe, 0xe5, 0x09, 0xbd, 0x04, 0x9c, 0xc0,
-	0xbc, 0xf4, 0x97, 0xad, 0x5d, 0xd6, 0x31, 0x94, 0x9c, 0xa0, 0xe7, 0x2f, 0xf1, 0x33, 0xee, 0x01,
-	0x6d, 0xf9, 0x5a, 0xe8, 0x47, 0xfb, 0x48, 0xea, 0x5d, 0x97, 0x76, 0x86, 0x7b, 0xfc, 0x0d, 0x74,
-	0x93, 0x69, 0x54, 0xf9, 0x43, 0xc9, 0x77, 0xd8, 0x6b, 0x68, 0xf5, 0x8a, 0xc2, 0x99, 0xaf, 0x28,
-	0xfc, 0x39, 0x94, 0x78, 0x7b, 0x7f, 0x8b, 0xe1, 0xb7, 0xb6, 0xda, 0xfb, 0x90, 0xf6, 0xd4, 0xf1,
-	0x63, 0x22, 0x60, 0x2d, 0x32, 0xf5, 0xcf, 0x6a, 0xdd, 0x66, 0xbb, 0x9a, 0x7a, 0x4c, 0xac, 0xfb,
-	0x7c, 0x02, 0xc1, 0xba, 0xe7, 0xff, 0x0a, 0x6a, 0xb4, 0xba, 0x9b, 0x56, 0x18, 0xfa, 0xad, 0x0e,
-	0x9b, 0xe9, 0xc1, 0xbb, 0xba, 0xbe, 0xfe, 0x0d, 0x52, 0xa5, 0x0a, 0x54, 0x82, 0xbf, 0x61, 0xed,
-	0x2b, 0xbf, 0xda, 0xb8, 0x85, 0xa7, 0xcc, 0xc2, 0xc7, 0xd1, 0xd4, 0x6f, 0xbf, 0xf5, 0xfa, 0x37,
-	0x58, 0xdf, 0xca, 0x71, 0x66, 0xeb, 0x39, 0x54, 0x17, 0xc1, 0x92, 0x5b, 0x39, 0x66, 0x56, 0xee,
-	0xbf, 0xe3, 0xee, 0xea, 0xdf, 0x20, 0x95, 0x45, 0xb0, 0x64, 0x9a, 0xdf, 0x02, 0x0a, 0xd7, 0x45,
-	0x9c, 0x5b, 0x78, 0xc6, 0x2c, 0x7c, 0xf2, 0x3e, 0x15, 0xbe, 0x7f, 0x83, 0xec, 0x26, 0xf4, 0x29,
-	0x70, 0x02, 0x50, 0x0d, 0x16, 0xf6, 0xd8, 0xb9, 0x74, 0xc6, 0xed, 0x1f, 0x72, 0x50, 0x8d, 0xdf,
-	0xbe, 0xf8, 0x2b, 0xa8, 0x27, 0x1e, 0xaa, 0xef, 0xf1, 0x4e, 0x85, 0xd9, 0xea, 0x89, 0x8a, 0xdb,
-	0x50, 0xf4, 0x3d, 0x2f, 0x64, 0x25, 0x60, 0xfb, 0xd4, 0x31, 0x6c, 0x35, 0xc1, 0x85, 0xe7, 0x85,
-	0xf6, 0x84, 0x9d, 0xfe, 0xf7, 0x98, 0xe0, 0x84, 0xb1, 0xdb, 0xff, 0xcd, 0xc3, 0xad, 0xa1, 0x37,
-	0x71, 0x2e, 0x1d, 0xeb, 0x62, 0x66, 0xff, 0xbf, 0x0a, 0xd2, 0x67, 0xab, 0x72, 0x53, 0xc8, 0x74,
-	0xfc, 0xed, 0xe5, 0xa7, 0x98, 0x51, 0x7e, 0x56, 0x07, 0xb2, 0xf4, 0xb6, 0x03, 0x59, 0xde, 0x3c,
-	0x90, 0xd1, 0x11, 0xaa, 0x64, 0x1d, 0xa1, 0xd4, 0x9b, 0xbf, 0xfa, 0x13, 0xde, 0xfc, 0xc2, 0x76,
-	0xe2, 0x67, 0xbc, 0x95, 0xd2, 0x8d, 0x66, 0x32, 0xfd, 0x93, 0x59, 0xb2, 0xff, 0xd7, 0x02, 0x7d,
-	0x43, 0x24, 0xa2, 0xc7, 0xdf, 0x10, 0x43, 0x4d, 0x55, 0x24, 0xc5, 0xd8, 0x7e, 0x43, 0xec, 0xc1,
-	0xdd, 0x2d, 0x94, 0xdf, 0x4e, 0xb9, 0x0c, 0x4c, 0xec, 0x0b, 0xba, 0x2e, 0xd3, 0x5b, 0x75, 0xdb,
-	0xea, 0x89, 0x20, 0xbe, 0xd0, 0x06, 0x82, 0x22, 0xa1, 0x42, 0x06, 0x2a, 0xaa, 0x8a, 0x21, 0xc8,
-	0x8a, 0x44, 0x50, 0x91, 0x36, 0x6e, 0x29, 0x54, 0x53, 0x5f, 0xd2, 0xe7, 0xca, 0x48, 0xd3, 0x06,
-	0xe7, 0xa8, 0x44, 0x1b, 0xfb, 0x14, 0xa1, 0x27, 0x28, 0xa8, 0x8c, 0x3f, 0x80, 0x3b, 0x29, 0xb9,
-	0x2e, 0x29, 0xba, 0x4a, 0x50, 0x25, 0x03, 0x1a, 0xaa, 0xdd, 0xd1, 0x40, 0x42, 0x55, 0xda, 0x32,
-	0x6c, 0x4d, 0x47, 0x0c, 0x54, 0xcb, 0x98, 0x46, 0xd4, 0x46, 0x08, 0x32, 0xd6, 0x7d, 0x22, 0x18,
-	0x86, 0x44, 0xce, 0x51, 0x3d, 0x03, 0xd3, 0x0d, 0x95, 0x08, 0xa7, 0x12, 0x6a, 0x64, 0xf9, 0x20,
-	0x0d, 0x55, 0x72, 0x8e, 0x9a, 0xf8, 0x43, 0xd8, 0x4b, 0x41, 0x06, 0x11, 0x14, 0x5d, 0x94, 0xe4,
-	0x33, 0x89, 0xa0, 0x9d, 0xfd, 0xbf, 0xe4, 0x12, 0xbf, 0x42, 0xd6, 0x99, 0x12, 0xeb, 0x99, 0x42,
-	0x77, 0x28, 0x2b, 0xa6, 0x6e, 0x08, 0xc6, 0xe6, 0xf6, 0x45, 0x81, 0x4e, 0xe1, 0xf1, 0x06, 0xde,
-	0x87, 0x7b, 0x5b, 0xe8, 0x40, 0x15, 0x5f, 0x48, 0x5d, 0x94, 0xc7, 0x6d, 0xf8, 0x70, 0x0b, 0xd4,
-	0xfb, 0x23, 0xc3, 0x90, 0x95, 0x53, 0xb3, 0x4b, 0x0d, 0x14, 0xf0, 0x43, 0xf8, 0x20, 0xc3, 0x7c,
-	0x64, 0xa2, 0xb8, 0xff, 0x43, 0x0e, 0xf0, 0xf6, 0x9f, 0xa9, 0x95, 0x96, 0xaa, 0xd1, 0x4d, 0xdd,
-	0xf2, 0x39, 0xf6, 0x6a, 0x03, 0x8e, 0x5d, 0x8e, 0x17, 0x94, 0x00, 0xbb, 0xb2, 0x2e, 0x9c, 0x0c,
-	0x98, 0xcf, 0x19, 0xaa, 0x92, 0xc2, 0xc1, 0x42, 0x16, 0x68, 0x48, 0x3a, 0x5d, 0x0e, 0x2a, 0xee,
-	0xff, 0x29, 0x19, 0xe0, 0xf5, 0xbf, 0xb0, 0x55, 0x80, 0x47, 0x3a, 0x7d, 0x3d, 0xbc, 0x3d, 0xc0,
-	0x9b, 0x78, 0xec, 0x6d, 0xb4, 0xe3, 0x1b, 0xa8, 0xdc, 0x1d, 0x48, 0x09, 0x57, 0x93, 0x90, 0x20,
-	0x1a, 0xf2, 0x19, 0x3d, 0x1f, 0x59, 0x7a, 0x27, 0x23, 0xfd, 0x1c, 0x15, 0xf7, 0xff, 0x90, 0xfc,
-	0x29, 0xb6, 0xfe, 0xf3, 0xb6, 0xce, 0x84, 0x81, 0x40, 0x86, 0xef, 0xca, 0x84, 0x0d, 0x3c, 0x76,
-	0xf4, 0x63, 0x78, 0x98, 0xa9, 0x4d, 0x4c, 0x22, 0x69, 0x82, 0x4c, 0x50, 0x7e, 0xbd, 0xd7, 0x09,
-	0x8a, 0x48, 0x64, 0x43, 0x16, 0x85, 0x01, 0x2a, 0xc4, 0x89, 0xbf, 0x01, 0x0f, 0x85, 0x6f, 0x54,
-	0x7a, 0xa0, 0x33, 0x31, 0x59, 0x51, 0x09, 0x2a, 0x65, 0xfa, 0xf5, 0x52, 0x20, 0x0a, 0xdd, 0x96,
-	0xf2, 0x3a, 0x09, 0x13, 0xa8, 0xac, 0x74, 0x25, 0x43, 0x22, 0x43, 0x59, 0x11, 0x0c, 0x09, 0x55,
-	0xf6, 0xff, 0x96, 0x83, 0x3b, 0x99, 0xbf, 0x13, 0xf1, 0x23, 0x78, 0xc0, 0xb4, 0x75, 0x43, 0x50,
-	0xba, 0x27, 0xe7, 0x19, 0x51, 0x89, 0xa3, 0x96, 0x66, 0xa4, 0x4a, 0x5c, 0x0a, 0xef, 0xab, 0x46,
-	0x62, 0x07, 0x37, 0x31, 0x51, 0x1d, 0xd0, 0x64, 0x7b, 0x0c, 0x9f, 0x64, 0x80, 0x1a, 0x51, 0xcf,
-	0xe4, 0x2e, 0x3d, 0x40, 0xba, 0x44, 0xce, 0x64, 0x51, 0x42, 0xc5, 0xfd, 0xdf, 0x17, 0xa0, 0xb9,
-	0xf1, 0x9f, 0x12, 0xb7, 0xe0, 0xf6, 0x99, 0x30, 0x18, 0x49, 0xdb, 0xd5, 0xf8, 0x36, 0xa0, 0x04,
-	0xc2, 0x1f, 0x19, 0x39, 0x5a, 0xa7, 0x36, 0xf8, 0xdc, 0xf9, 0x3c, 0x2d, 0x6c, 0x09, 0x39, 0x7d,
-	0x01, 0xeb, 0xa6, 0x20, 0xa2, 0x42, 0x26, 0xd0, 0x15, 0x51, 0x31, 0x65, 0x49, 0x18, 0x6a, 0x12,
-	0x91, 0xe8, 0x03, 0x68, 0x73, 0xde, 0x97, 0x82, 0x61, 0xe8, 0xa8, 0x9c, 0x92, 0xf6, 0x25, 0x62,
-	0x7c, 0x87, 0x2a, 0x29, 0x1b, 0xa2, 0x34, 0xd0, 0xe5, 0x91, 0x8e, 0xaa, 0x34, 0xa7, 0x13, 0x72,
-	0x4d, 0x22, 0x22, 0xad, 0x75, 0xa4, 0x8f, 0x6a, 0x18, 0xc3, 0x4e, 0x02, 0x22, 0xda, 0x10, 0x41,
-	0x4a, 0x26, 0x0e, 0x87, 0xbc, 0xb8, 0x26, 0x64, 0x06, 0x19, 0x19, 0x7d, 0x93, 0x09, 0x50, 0x23,
-	0x35, 0x6d, 0x64, 0x1e, 0x35, 0xf1, 0x1d, 0xb8, 0x99, 0x90, 0x0f, 0x69, 0xe6, 0xe8, 0x68, 0x27,
-	0xe5, 0xfb, 0xc9, 0xb9, 0x21, 0xe9, 0x68, 0x77, 0xff, 0x8f, 0x05, 0x80, 0xf5, 0x63, 0x73, 0xed,
-	0xb2, 0x2e, 0x0a, 0x83, 0xcd, 0x9d, 0x58, 0x99, 0xe5, 0xd0, 0xb9, 0x2a, 0x1a, 0x2a, 0xca, 0xa5,
-	0xc5, 0xdf, 0x49, 0x9a, 0xa1, 0xa2, 0xfc, 0x7a, 0x36, 0x2e, 0x16, 0x0c, 0x43, 0x45, 0x85, 0x34,
-	0xb9, 0x27, 0x0d, 0x0d, 0x15, 0x15, 0xd3, 0x64, 0x4d, 0x16, 0xd5, 0xe4, 0x16, 0x70, 0xa9, 0x22,
-	0x28, 0x2a, 0x2a, 0xa7, 0x4d, 0x0c, 0x65, 0x91, 0xa8, 0xa8, 0xb2, 0x2d, 0x1e, 0x0c, 0x64, 0x54,
-	0x4d, 0x8b, 0x47, 0x8a, 0x6c, 0xe8, 0xa8, 0x96, 0x36, 0xfd, 0x42, 0x1e, 0xa8, 0x08, 0xd2, 0xd2,
-	0xa1, 0x74, 0x2a, 0xa0, 0x7a, 0x5a, 0x7a, 0x2a, 0x9f, 0x0a, 0xa8, 0x91, 0x96, 0x1a, 0x12, 0x11,
-	0x50, 0x73, 0x6b, 0x21, 0x92, 0x21, 0xa0, 0x1d, 0x7c, 0x0b, 0x76, 0x93, 0x52, 0xe9, 0x95, 0x80,
-	0x76, 0xb7, 0xe3, 0x66, 0x18, 0x02, 0x42, 0xdb, 0x51, 0xa6, 0xe2, 0x9b, 0xfb, 0xbf, 0xcd, 0x41,
-	0x23, 0xf9, 0xaf, 0x9d, 0x1e, 0x45, 0x7e, 0xd3, 0xb3, 0x73, 0x36, 0xd2, 0xd3, 0x87, 0x66, 0x13,
-	0x54, 0x5f, 0xa0, 0x1c, 0x2d, 0x67, 0x69, 0x15, 0xe1, 0x4c, 0x90, 0x07, 0xf4, 0xb6, 0x40, 0x79,
-	0x5a, 0x3a, 0x36, 0x61, 0x45, 0x55, 0xe8, 0xc5, 0x21, 0x18, 0xb2, 0xaa, 0xd0, 0x82, 0x77, 0xf2,
-	0xd5, 0x77, 0x5f, 0x4e, 0x9d, 0xf0, 0x6a, 0x79, 0x71, 0x30, 0xf6, 0xe6, 0x87, 0xde, 0xc2, 0x76,
-	0xc7, 0x9e, 0x3f, 0x39, 0x9c, 0xd8, 0xd7, 0xce, 0xd8, 0xfe, 0x62, 0x6e, 0xb9, 0xd6, 0xd4, 0x9e,
-	0xdb, 0x6e, 0xf8, 0x85, 0xe3, 0x86, 0xb6, 0x7f, 0x69, 0x8d, 0xed, 0xc3, 0xeb, 0xa7, 0x87, 0x53,
-	0xef, 0x70, 0x32, 0x77, 0x2e, 0xca, 0xac, 0x43, 0x7e, 0xfa, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff,
-	0x3b, 0x2e, 0xf2, 0xc9, 0x00, 0x1b, 0x00, 0x00,
+	// 2812 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x72, 0xe3, 0xc6,
+	0xf1, 0x5f, 0x7e, 0x93, 0x4d, 0x52, 0x9a, 0x9d, 0xfd, 0xa2, 0xf7, 0xc3, 0x5e, 0xf3, 0xbf, 0x76,
+	0xad, 0xf5, 0x8f, 0x25, 0x2d, 0xa5, 0x4d, 0xad, 0xe3, 0x72, 0xa5, 0x20, 0x10, 0x94, 0xe0, 0x25,
+	0x01, 0x78, 0x00, 0x6a, 0x57, 0xce, 0x01, 0x05, 0x91, 0x10, 0x85, 0x2a, 0x12, 0x60, 0x01, 0xa0,
+	0xbc, 0x5b, 0x95, 0x53, 0x2a, 0x97, 0x1c, 0x52, 0x79, 0x89, 0x54, 0xca, 0xa7, 0x5c, 0x92, 0x63,
+	0x0e, 0xce, 0x21, 0x4f, 0x90, 0x53, 0x9e, 0x21, 0x0f, 0x91, 0xd4, 0xcc, 0x00, 0x24, 0x08, 0x42,
+	0xeb, 0x75, 0x55, 0x6e, 0x33, 0xfd, 0xfb, 0x75, 0x4f, 0xa3, 0xbb, 0xa7, 0x67, 0x06, 0xd0, 0x18,
+	0xcf, 0x9c, 0xbd, 0xcb, 0xef, 0x76, 0xe7, 0xbe, 0x17, 0x7a, 0xb8, 0x30, 0x9e, 0x39, 0xf7, 0x3f,
+	0x9a, 0x78, 0xde, 0x64, 0x6a, 0xef, 0x31, 0xd1, 0xf9, 0xe2, 0x62, 0x2f, 0x74, 0x66, 0x76, 0x10,
+	0x5a, 0xb3, 0x39, 0x67, 0xb5, 0xef, 0x43, 0x71, 0xb8, 0x70, 0xc6, 0x18, 0x43, 0x71, 0xb1, 0x70,
+	0xc6, 0xad, 0xdc, 0xe3, 0xdc, 0xd3, 0x1a, 0x61, 0xe3, 0xf6, 0xff, 0x03, 0x9c, 0x58, 0xfe, 0xf8,
+	0x3b, 0xcb, 0xb7, 0xe5, 0x2e, 0x7e, 0x94, 0x60, 0xd4, 0x3b, 0xb5, 0xdd, 0xf1, 0xcc, 0xd9, 0xa5,
+	0xaa, 0x11, 0xf9, 0x1e, 0x14, 0x86, 0xbe, 0x83, 0x11, 0x14, 0x16, 0xbe, 0x13, 0x99, 0xa1, 0xc3,
+	0xf6, 0x6f, 0x0b, 0xb0, 0x25, 0x7a, 0xb3, 0xb9, 0xe7, 0xda, 0x6e, 0xa8, 0x87, 0x56, 0x68, 0xe3,
+	0x13, 0xc0, 0x01, 0x1d, 0x98, 0x53, 0x2b, 0x08, 0xcd, 0xd1, 0xa5, 0xe5, 0x4e, 0xec, 0xd8, 0xf0,
+	0xfd, 0x5d, 0xee, 0xf2, 0x6e, 0xec, 0xf2, 0xae, 0x11, 0xbb, 0x4c, 0x10, 0xd3, 0xea, 0x5b, 0x41,
+	0x28, 0x72, 0x1d, 0xfc, 0x05, 0xd4, 0xad, 0xf1, 0xcc, 0x71, 0x4d, 0x86, 0xb4, 0xf2, 0x8f, 0x73,
+	0x4f, 0xb7, 0x3a, 0x2d, 0xe6, 0xdb, 0x72, 0x4d, 0x81, 0x12, 0xd8, 0xc2, 0x04, 0xac, 0xe5, 0x18,
+	0xff, 0x1c, 0xc0, 0x9b, 0xdb, 0x7e, 0xa4, 0x59, 0x60, 0x9a, 0xf7, 0xd6, 0x35, 0xd5, 0xb9, 0xed,
+	0x73, 0xc5, 0x9a, 0x17, 0x0f, 0xe9, 0x92, 0x8b, 0xc0, 0x9a, 0xd8, 0x91, 0x62, 0x31, 0x6b, 0xc9,
+	0x21, 0x25, 0x44, 0x4b, 0x2e, 0x96, 0x63, 0xe6, 0xed, 0xd4, 0xf2, 0x67, 0x91, 0x6a, 0x29, 0xd3,
+	0x5b, 0x4a, 0x88, 0xbd, 0x5d, 0x8e, 0xf1, 0x2f, 0xa1, 0x19, 0x84, 0x96, 0x3b, 0x3e, 0x7f, 0x1b,
+	0x29, 0x97, 0x99, 0xf2, 0xfd, 0x75, 0x65, 0x9d, 0x53, 0xb8, 0x7a, 0x23, 0x48, 0xcc, 0xda, 0xff,
+	0xce, 0xc3, 0xad, 0x15, 0xcf, 0x76, 0x03, 0xcf, 0xef, 0x5a, 0xa1, 0x85, 0x6f, 0x43, 0xe9, 0xca,
+	0x9a, 0x2e, 0x6c, 0x16, 0xfe, 0x12, 0xe1, 0x13, 0xfc, 0x29, 0x14, 0xc3, 0xb7, 0xf3, 0x38, 0xa0,
+	0x98, 0xad, 0x42, 0xe9, 0xa7, 0x14, 0x35, 0xde, 0xce, 0x6d, 0xc2, 0x70, 0xfc, 0x09, 0x94, 0x82,
+	0x91, 0x35, 0x8d, 0xe3, 0xb7, 0xcd, 0x88, 0x8c, 0xa4, 0x53, 0x31, 0xe1, 0x28, 0x7e, 0x08, 0xb5,
+	0xb9, 0x6f, 0x8f, 0x9c, 0xc0, 0xf1, 0x5c, 0x16, 0xb1, 0x12, 0x59, 0x09, 0xf0, 0x67, 0x50, 0xa6,
+	0xdf, 0xb4, 0x08, 0xa2, 0x88, 0xdc, 0x64, 0x56, 0xb8, 0x8f, 0x3a, 0x03, 0x48, 0x44, 0xc0, 0xff,
+	0x07, 0xcd, 0x85, 0xeb, 0x84, 0x81, 0x39, 0x76, 0x82, 0xf9, 0xd4, 0x7a, 0xcb, 0xc2, 0x50, 0x23,
+	0x0d, 0x26, 0xec, 0x72, 0x19, 0x7e, 0x01, 0xb5, 0x65, 0x99, 0xb7, 0x2a, 0x3f, 0x5a, 0x55, 0x2b,
+	0x32, 0xde, 0x81, 0x9b, 0xec, 0xfb, 0xcd, 0xc5, 0x7c, 0x4c, 0xeb, 0xd3, 0xa7, 0x91, 0xae, 0x3e,
+	0xce, 0x3d, 0x6d, 0x92, 0x6d, 0x06, 0x0c, 0x99, 0x9c, 0xd0, 0x8c, 0x3c, 0x80, 0xda, 0xd8, 0x0a,
+	0x2d, 0x93, 0xc5, 0xa9, 0xc6, 0xdc, 0xa8, 0x52, 0x01, 0x8d, 0x4e, 0xfb, 0xef, 0x65, 0xb8, 0xa7,
+	0x79, 0x7e, 0xb8, 0x4a, 0x6b, 0x18, 0xfa, 0xce, 0xf9, 0x22, 0xb4, 0x03, 0xfc, 0x0d, 0x6c, 0x8d,
+	0x3c, 0xd7, 0xb5, 0x47, 0xa1, 0xe7, 0x73, 0xed, 0x1c, 0xfb, 0xec, 0x1d, 0xf6, 0xd9, 0xd7, 0x68,
+	0xed, 0x8a, 0xb1, 0x0a, 0x8b, 0x7e, 0x73, 0x94, 0x9c, 0xe2, 0x17, 0x50, 0x0a, 0xe6, 0xb6, 0x3d,
+	0x8e, 0xf2, 0xd5, 0x7e, 0xa7, 0x25, 0x9d, 0x32, 0x09, 0x57, 0xc0, 0x02, 0x54, 0x59, 0x48, 0x46,
+	0xde, 0x34, 0xca, 0xe1, 0x27, 0xef, 0x54, 0xd6, 0x22, 0x32, 0x59, 0xaa, 0xe1, 0x4f, 0x60, 0x6b,
+	0x7e, 0xf9, 0x36, 0x70, 0x46, 0xd6, 0xd4, 0x9c, 0x5a, 0xe7, 0xf6, 0x94, 0x65, 0xb8, 0x46, 0x9a,
+	0xb1, 0xb4, 0x4f, 0x85, 0x34, 0x75, 0x33, 0x6b, 0x3e, 0x77, 0xdc, 0x49, 0xc4, 0x2a, 0xf1, 0xd4,
+	0x45, 0x42, 0x4e, 0x3a, 0x84, 0xe6, 0xdc, 0x73, 0x4d, 0x67, 0x6c, 0x8e, 0x3c, 0xf7, 0xc2, 0x99,
+	0xb0, 0xfc, 0xd6, 0x3b, 0x28, 0xf2, 0xc9, 0x95, 0xc7, 0x22, 0x93, 0x93, 0xfa, 0x7c, 0x35, 0xc1,
+	0x07, 0x70, 0x87, 0x7d, 0x8d, 0x69, 0x2d, 0x42, 0xcf, 0xb5, 0x27, 0x5e, 0xe8, 0x58, 0x21, 0x2d,
+	0x35, 0x9a, 0xfc, 0x2a, 0xb9, 0xcd, 0x40, 0x61, 0x1d, 0x6b, 0xcf, 0xa1, 0xb9, 0x16, 0x53, 0xfc,
+	0x10, 0x5a, 0xa2, 0xaa, 0x28, 0x92, 0x68, 0xa8, 0xc4, 0x34, 0xce, 0x34, 0xc9, 0x1c, 0x2a, 0x5d,
+	0xa9, 0x27, 0x2b, 0x52, 0x17, 0xdd, 0xc0, 0x55, 0x28, 0x92, 0xaf, 0x0f, 0x9f, 0xa3, 0x1c, 0x6e,
+	0x40, 0xb5, 0x27, 0x1f, 0x49, 0xc4, 0xec, 0x8b, 0x28, 0x8f, 0xb7, 0xa1, 0xce, 0x67, 0xba, 0x68,
+	0x6a, 0x22, 0x2a, 0xe0, 0x26, 0xd4, 0xb8, 0x60, 0xa0, 0xa9, 0xa8, 0x88, 0x6b, 0x50, 0x22, 0x7a,
+	0xe7, 0xa0, 0x83, 0x4a, 0xed, 0x3f, 0xe7, 0xa0, 0xc4, 0x82, 0x8f, 0x6f, 0xc1, 0xb6, 0xae, 0x49,
+	0x52, 0x77, 0x6d, 0x85, 0x3a, 0x54, 0xba, 0x67, 0x8a, 0x30, 0x90, 0x45, 0x94, 0xa3, 0x56, 0x8e,
+	0xe5, 0x63, 0xe1, 0x48, 0x36, 0xcc, 0x67, 0x28, 0x8f, 0xb7, 0x00, 0x96, 0xd3, 0x7d, 0x54, 0x48,
+	0xce, 0x3b, 0xcf, 0x51, 0x31, 0x39, 0x3f, 0xdc, 0x47, 0x25, 0xea, 0xd5, 0x8a, 0xbf, 0x8f, 0xca,
+	0x49, 0xc1, 0xe1, 0xfe, 0x3e, 0xaa, 0x60, 0x04, 0x8d, 0x81, 0x14, 0x5b, 0xd8, 0xdf, 0x47, 0xd5,
+	0xa4, 0xe4, 0x59, 0xe7, 0xf9, 0x3e, 0xaa, 0xb5, 0x7f, 0x0d, 0xd5, 0x38, 0xdf, 0xf8, 0x2e, 0x60,
+	0x8d, 0xa8, 0x86, 0x2a, 0xaa, 0xfd, 0x35, 0xaf, 0x1b, 0x50, 0x95, 0x8c, 0x13, 0x89, 0x28, 0x92,
+	0x81, 0x72, 0x34, 0x4a, 0xc7, 0x9a, 0xaa, 0xa0, 0x3c, 0xfd, 0xee, 0xd7, 0x6c, 0x58, 0xc0, 0x00,
+	0xe5, 0xd7, 0xc7, 0x3a, 0x1d, 0xb3, 0x70, 0x1c, 0xf7, 0x04, 0xdd, 0x40, 0x25, 0x2a, 0xd6, 0x25,
+	0x22, 0x0b, 0x7d, 0x54, 0xa6, 0x7a, 0x12, 0x25, 0x54, 0xe8, 0xe8, 0x48, 0x36, 0x74, 0x54, 0x6d,
+	0x0f, 0xe1, 0xd1, 0x5a, 0x15, 0xf2, 0x9e, 0x9f, 0xd8, 0x48, 0x1b, 0xc5, 0x92, 0x7b, 0x8f, 0x62,
+	0x69, 0xff, 0x0a, 0x9e, 0x18, 0xbe, 0xe5, 0x06, 0x23, 0xdb, 0xb9, 0xb2, 0xfd, 0xeb, 0xad, 0x1f,
+	0x00, 0x84, 0x94, 0x97, 0xdc, 0xa2, 0xb7, 0x99, 0xe9, 0x84, 0x3a, 0xdb, 0x8c, 0x35, 0xc6, 0x63,
+	0xfb, 0x7e, 0x04, 0xf5, 0xc4, 0xc2, 0xf8, 0x0e, 0x94, 0xb9, 0x87, 0x4c, 0xbf, 0x41, 0x4a, 0xcc,
+	0x11, 0xfc, 0x15, 0x3c, 0x88, 0x1c, 0x67, 0x9a, 0x33, 0x27, 0x34, 0xe7, 0xb6, 0xef, 0x78, 0x63,
+	0x67, 0xe4, 0x84, 0x6f, 0xd9, 0x26, 0x6e, 0x92, 0x16, 0xe3, 0x1a, 0x11, 0x41, 0x5b, 0xe1, 0x6d,
+	0x09, 0x1e, 0x8a, 0x9e, 0x1b, 0x5a, 0x8e, 0x9b, 0xf0, 0x3f, 0xe1, 0xf9, 0xe6, 0x86, 0xcc, 0x65,
+	0x6c, 0xc8, 0xf6, 0x3f, 0x72, 0x70, 0x57, 0x0b, 0x16, 0x59, 0x16, 0xce, 0xe0, 0x66, 0xb0, 0x98,
+	0xcf, 0x3d, 0x3f, 0xb4, 0xc7, 0xe6, 0x95, 0x37, 0x0d, 0xad, 0x49, 0x1c, 0x82, 0x9f, 0xf1, 0xe8,
+	0x66, 0xea, 0xed, 0xea, 0xb1, 0xd2, 0x29, 0xd7, 0x21, 0x28, 0x48, 0x49, 0xda, 0x1a, 0xa0, 0x34,
+	0x0b, 0x7f, 0x04, 0x0f, 0xf4, 0xa1, 0xa6, 0xa9, 0xc4, 0x90, 0xba, 0xe6, 0xa9, 0xda, 0x37, 0x84,
+	0xe3, 0xf5, 0xcd, 0x57, 0x81, 0xc2, 0xe9, 0xe1, 0x0b, 0x5e, 0x5f, 0xa7, 0x9d, 0x83, 0x7d, 0x94,
+	0x67, 0xa3, 0x67, 0xcf, 0x9e, 0xa3, 0x42, 0xfb, 0x9f, 0x45, 0xf8, 0x28, 0x2b, 0xa3, 0x41, 0xe2,
+	0x83, 0x34, 0xa8, 0x5f, 0x78, 0xfe, 0xcc, 0xbc, 0xb0, 0xe8, 0x76, 0x8f, 0x3e, 0x65, 0x2f, 0x9d,
+	0xcd, 0x2c, 0xd5, 0xdd, 0x9e, 0xe7, 0xcf, 0x7a, 0x4c, 0x8d, 0xc0, 0xc5, 0x72, 0x9c, 0x2a, 0x8f,
+	0xfc, 0x7b, 0x95, 0x07, 0xfe, 0x18, 0x1a, 0x33, 0xeb, 0x0d, 0x3d, 0xbc, 0x42, 0xcb, 0x1d, 0xf1,
+	0x53, 0xb3, 0x49, 0xea, 0x33, 0xeb, 0x4d, 0x37, 0x12, 0xe1, 0xaf, 0x00, 0x27, 0x29, 0x26, 0x3f,
+	0x5e, 0x8b, 0xd9, 0xc7, 0x2b, 0x4a, 0x68, 0x32, 0x09, 0xed, 0xb2, 0xfe, 0x1b, 0xf3, 0x3b, 0xeb,
+	0xca, 0x9e, 0xda, 0xee, 0x24, 0xbc, 0x6c, 0x95, 0x1e, 0x17, 0x9e, 0x36, 0x49, 0xc3, 0x7f, 0xf3,
+	0x6a, 0x29, 0xa3, 0xa4, 0x70, 0x8d, 0x54, 0xe6, 0xa4, 0x30, 0x49, 0xfa, 0x05, 0xa0, 0x15, 0x23,
+	0x72, 0xa3, 0x92, 0xed, 0xc6, 0xf6, 0x8a, 0xc8, 0x04, 0xed, 0x1f, 0x72, 0x00, 0xab, 0xb8, 0xe1,
+	0x7b, 0x70, 0xab, 0xa7, 0x92, 0x81, 0xd9, 0x13, 0x58, 0x6f, 0x1d, 0x2a, 0x2f, 0x15, 0xf5, 0x95,
+	0xc2, 0x9b, 0xea, 0x37, 0x7a, 0x4f, 0xe3, 0xfd, 0x8e, 0x8e, 0x4c, 0xad, 0x3f, 0xd4, 0x51, 0x9e,
+	0xf6, 0x06, 0x3a, 0xed, 0xbc, 0x40, 0x05, 0x9a, 0x7c, 0xca, 0x29, 0xd2, 0x56, 0xb3, 0xa4, 0x94,
+	0xa8, 0xf8, 0x75, 0x4f, 0xe3, 0xbd, 0x43, 0xec, 0x69, 0x87, 0xbc, 0x77, 0x88, 0x3d, 0xad, 0x83,
+	0xaa, 0x6c, 0xa4, 0x09, 0x2f, 0x51, 0x0d, 0x97, 0x21, 0xff, 0xba, 0x83, 0x80, 0x36, 0x1e, 0x95,
+	0xf6, 0x29, 0x54, 0xa7, 0x9a, 0x62, 0x4f, 0x43, 0x0d, 0x6a, 0x90, 0xf2, 0x4d, 0x41, 0x54, 0x51,
+	0x73, 0x39, 0xeb, 0x8a, 0x2a, 0xda, 0x6a, 0xff, 0xab, 0x02, 0xb5, 0x65, 0x3d, 0xd0, 0xeb, 0xb1,
+	0x6b, 0xcd, 0xec, 0xf8, 0x7a, 0x4c, 0xc7, 0xf8, 0x29, 0x94, 0x46, 0x53, 0x2b, 0x08, 0xd6, 0x2e,
+	0x49, 0x4b, 0x15, 0x96, 0x7a, 0x4e, 0xc0, 0x8f, 0xa1, 0x3e, 0xb6, 0x83, 0x91, 0xef, 0xcc, 0xd9,
+	0xa9, 0x54, 0x60, 0x46, 0x92, 0x22, 0x7c, 0x17, 0xca, 0x73, 0xcb, 0xb7, 0xdd, 0x30, 0x3a, 0x3b,
+	0xa3, 0x19, 0x7e, 0x02, 0x5b, 0x7c, 0x64, 0xfa, 0xf6, 0xd4, 0x9c, 0x7b, 0xfc, 0x8a, 0x54, 0x22,
+	0x0d, 0x2e, 0x25, 0xf6, 0x54, 0xf3, 0x02, 0xbc, 0x03, 0xd5, 0xd1, 0xa5, 0x33, 0x1d, 0xfb, 0xb6,
+	0xcb, 0x52, 0x59, 0xef, 0x6c, 0xad, 0x3b, 0x43, 0x96, 0x38, 0x2d, 0xc1, 0xcb, 0xe8, 0x52, 0x6f,
+	0xfa, 0xf6, 0x15, 0x4b, 0x69, 0x8d, 0xd4, 0x63, 0x19, 0xb1, 0xaf, 0x28, 0xe5, 0xc2, 0xf1, 0x67,
+	0x4b, 0x4a, 0x95, 0x53, 0x62, 0x59, 0x44, 0x09, 0xbc, 0x8b, 0x70, 0x49, 0xe1, 0xf7, 0x9f, 0x7a,
+	0x2c, 0xa3, 0x94, 0x47, 0x00, 0x81, 0xed, 0x3b, 0xd6, 0xd4, 0x74, 0x17, 0xb3, 0x16, 0x30, 0x42,
+	0x8d, 0x4b, 0x94, 0xc5, 0x0c, 0x7f, 0x00, 0xd5, 0xd9, 0xc5, 0xc4, 0x64, 0x51, 0xad, 0x33, 0xb0,
+	0x32, 0xbb, 0x98, 0x28, 0x34, 0xb0, 0x8f, 0x00, 0x66, 0xde, 0xd8, 0x9e, 0x72, 0xb0, 0xc1, 0x35,
+	0x99, 0x84, 0xc1, 0xb7, 0xa1, 0x64, 0x4d, 0x1d, 0x2b, 0x68, 0x35, 0x19, 0xc2, 0x27, 0xd4, 0x9e,
+	0x15, 0x04, 0x76, 0x48, 0x9b, 0xed, 0x16, 0xb7, 0xc7, 0xe6, 0xf2, 0x98, 0x76, 0x61, 0x27, 0x30,
+	0x2f, 0xfc, 0x45, 0x6b, 0x9b, 0xdd, 0x07, 0x4a, 0x4e, 0xd0, 0xf3, 0x17, 0xf8, 0x39, 0xf7, 0x80,
+	0x5e, 0xe8, 0x5a, 0xe8, 0x47, 0x6f, 0x89, 0xd4, 0xbb, 0x2e, 0xbd, 0xf7, 0xdd, 0xe7, 0x2f, 0x9c,
+	0x9b, 0x4c, 0xa3, 0xca, 0x9f, 0x41, 0xbe, 0xc3, 0xde, 0x3a, 0xcb, 0x37, 0x12, 0xce, 0x7c, 0x23,
+	0xe1, 0xcf, 0xa0, 0xc4, 0x2f, 0xef, 0xb7, 0x18, 0x7e, 0x6b, 0xe3, 0xf2, 0x1e, 0xd2, 0x1b, 0x73,
+	0xfc, 0x54, 0x08, 0xd8, 0x05, 0x98, 0xfa, 0x67, 0xb5, 0x6e, 0xb3, 0xac, 0xa6, 0x9e, 0x0a, 0xab,
+	0x5b, 0x3c, 0x81, 0x60, 0x75, 0xa3, 0xff, 0x12, 0x6a, 0xb4, 0xbd, 0x9a, 0x56, 0x18, 0xfa, 0xad,
+	0x0e, 0x5b, 0xe9, 0xe1, 0xbb, 0xee, 0x74, 0x27, 0x37, 0x48, 0x95, 0x2a, 0x50, 0x09, 0xfe, 0x9a,
+	0x5d, 0x4e, 0xf9, 0xd9, 0xc2, 0x2d, 0x1c, 0x30, 0x0b, 0x1f, 0x47, 0x4b, 0x5f, 0x7f, 0xec, 0x9c,
+	0xdc, 0x60, 0xb7, 0x52, 0x8e, 0x33, 0x5b, 0x2f, 0xa0, 0x3a, 0x0f, 0x16, 0xdc, 0xca, 0x21, 0xb3,
+	0xf2, 0xe0, 0x1d, 0x87, 0xc7, 0xc9, 0x0d, 0x52, 0x99, 0x07, 0x0b, 0xa6, 0xf9, 0x0d, 0xa0, 0x70,
+	0xd5, 0x45, 0xb9, 0x85, 0xe7, 0xcc, 0xc2, 0x93, 0xf7, 0xe9, 0xd9, 0x27, 0x37, 0xc8, 0x76, 0x42,
+	0x9f, 0x02, 0x47, 0x00, 0xd5, 0x60, 0x6e, 0x8f, 0x9c, 0x0b, 0x67, 0xd4, 0xfe, 0x3e, 0x07, 0xd5,
+	0xf8, 0x65, 0x8b, 0xbf, 0x84, 0x7a, 0xe2, 0x19, 0xfa, 0x1e, 0xaf, 0x50, 0x98, 0x2e, 0x1f, 0xa0,
+	0xb8, 0x0d, 0x45, 0xdf, 0xf3, 0x42, 0xd6, 0x02, 0x36, 0x77, 0x1d, 0xc3, 0x96, 0x0b, 0x9c, 0x7b,
+	0x5e, 0x68, 0x8f, 0xd9, 0xee, 0x7f, 0x8f, 0x05, 0x8e, 0x18, 0xbb, 0xfd, 0x43, 0x01, 0x6e, 0x0d,
+	0xbc, 0xb1, 0x73, 0xe1, 0x58, 0xe7, 0x53, 0xfb, 0x7f, 0xd5, 0x90, 0x3e, 0x5d, 0xb6, 0x9b, 0x42,
+	0xa6, 0xe3, 0xd7, 0xb7, 0x9f, 0x62, 0x46, 0xfb, 0x59, 0x6e, 0xc8, 0xd2, 0x75, 0x1b, 0xb2, 0xbc,
+	0xbe, 0x21, 0xa3, 0x2d, 0x54, 0xc9, 0xda, 0x42, 0xa9, 0x17, 0x7d, 0xf5, 0x27, 0xbc, 0xe8, 0x85,
+	0xcd, 0xc2, 0xcf, 0x78, 0x09, 0xa5, 0x2f, 0x7a, 0x6b, 0xe5, 0xdf, 0x83, 0x6a, 0xe8, 0xbf, 0x49,
+	0x16, 0xfe, 0x67, 0xd7, 0x16, 0x5c, 0x86, 0xa1, 0x4a, 0xe8, 0xbf, 0x49, 0x57, 0xdb, 0xce, 0x5f,
+	0x0b, 0xf4, 0xa5, 0x91, 0xc8, 0x02, 0x7f, 0x69, 0x0c, 0x34, 0x55, 0x91, 0x14, 0x63, 0xf3, 0xa5,
+	0x71, 0x1f, 0xee, 0x6e, 0xa0, 0xfc, 0xc0, 0xcc, 0x65, 0x60, 0xe2, 0x89, 0xa0, 0xeb, 0x32, 0x3d,
+	0x33, 0x37, 0xad, 0x1e, 0x09, 0xe2, 0x4b, 0xad, 0x2f, 0x28, 0x12, 0x2a, 0x64, 0xa0, 0xa2, 0xaa,
+	0x18, 0x82, 0xac, 0x48, 0x04, 0x15, 0xe9, 0x0d, 0x2c, 0x85, 0x6a, 0xea, 0x2b, 0xfa, 0xa8, 0x19,
+	0x6a, 0x5a, 0xff, 0x0c, 0x95, 0xe8, 0xf5, 0x3f, 0x45, 0xe8, 0x09, 0x0a, 0x2a, 0xe3, 0x0f, 0xe0,
+	0x4e, 0x4a, 0xae, 0x4b, 0x8a, 0xae, 0x12, 0x54, 0xc9, 0x80, 0x06, 0x6a, 0x77, 0xd8, 0x97, 0x50,
+	0x95, 0x5e, 0x08, 0x36, 0x96, 0x23, 0x06, 0xaa, 0x65, 0x2c, 0x23, 0x6a, 0x43, 0x04, 0x19, 0xdf,
+	0x7d, 0x24, 0x18, 0x86, 0x44, 0xce, 0x50, 0x3d, 0x03, 0xd3, 0x0d, 0x95, 0x08, 0xc7, 0x12, 0x6a,
+	0x64, 0xf9, 0x20, 0x0d, 0x54, 0x72, 0x86, 0x9a, 0xf8, 0x43, 0xb8, 0x9f, 0x82, 0x0c, 0x22, 0x28,
+	0xba, 0x28, 0xc9, 0xa7, 0x12, 0x41, 0x5b, 0x3b, 0x7f, 0xc9, 0x25, 0x7e, 0x98, 0xac, 0x2a, 0x2e,
+	0xd6, 0x33, 0x85, 0xee, 0x40, 0x56, 0x4c, 0xdd, 0x10, 0x8c, 0xf5, 0xf4, 0x45, 0x81, 0x4e, 0xe1,
+	0x71, 0x02, 0x1f, 0xc0, 0xbd, 0x0d, 0xb4, 0xaf, 0x8a, 0x2f, 0xa5, 0x2e, 0xca, 0xe3, 0x36, 0x7c,
+	0xb8, 0x01, 0xea, 0x27, 0x43, 0xc3, 0x90, 0x95, 0x63, 0xb3, 0x4b, 0x0d, 0x14, 0xf0, 0x23, 0xf8,
+	0x20, 0xc3, 0x7c, 0x64, 0xa2, 0xb8, 0xf3, 0x7d, 0x0e, 0xf0, 0xe6, 0xff, 0xab, 0xa5, 0x96, 0xaa,
+	0xd1, 0xa4, 0x6e, 0xf8, 0x1c, 0x7b, 0xb5, 0x06, 0xc7, 0x2e, 0xc7, 0x1f, 0x94, 0x00, 0xbb, 0xb2,
+	0x2e, 0x1c, 0xf5, 0x99, 0xcf, 0x19, 0xaa, 0x92, 0xc2, 0xc1, 0x42, 0x16, 0x68, 0x48, 0x3a, 0xfd,
+	0x1c, 0x54, 0xdc, 0xf9, 0x53, 0x32, 0xc0, 0xab, 0x3f, 0x66, 0xcb, 0x00, 0x0f, 0x75, 0xfa, 0x0c,
+	0xb8, 0x3e, 0xc0, 0xeb, 0x78, 0xec, 0x6d, 0x94, 0xf1, 0x35, 0x54, 0xee, 0xf6, 0xa5, 0x84, 0xab,
+	0x49, 0x48, 0x10, 0x0d, 0xf9, 0x94, 0xee, 0x8f, 0x2c, 0xbd, 0xa3, 0xa1, 0x7e, 0x86, 0x8a, 0x3b,
+	0x7f, 0x48, 0xfe, 0x3a, 0x5b, 0xfd, 0x9f, 0x5b, 0x55, 0x42, 0x5f, 0x20, 0x83, 0x77, 0x55, 0xc2,
+	0x1a, 0x1e, 0x3b, 0xfa, 0x31, 0x3c, 0xca, 0xd4, 0x26, 0x26, 0x91, 0x34, 0x41, 0x26, 0x28, 0xbf,
+	0xca, 0x75, 0x82, 0x22, 0x12, 0xd9, 0x90, 0x45, 0xa1, 0x8f, 0x0a, 0x71, 0xe1, 0xaf, 0xc1, 0x03,
+	0xe1, 0x6b, 0x95, 0x6e, 0xe8, 0x4c, 0x4c, 0x56, 0x54, 0x82, 0x4a, 0x99, 0x7e, 0xbd, 0x12, 0x88,
+	0x42, 0xd3, 0x52, 0x5e, 0x15, 0x61, 0x02, 0x95, 0x95, 0xae, 0x64, 0x48, 0x64, 0x20, 0x2b, 0x82,
+	0x21, 0xa1, 0xca, 0xce, 0xdf, 0x72, 0x70, 0x27, 0xf3, 0xa7, 0x23, 0x7e, 0x0c, 0x0f, 0x99, 0xb6,
+	0x6e, 0x08, 0x4a, 0xf7, 0xe8, 0x2c, 0x23, 0x2a, 0x71, 0xd4, 0xd2, 0x8c, 0x54, 0x8b, 0x4b, 0xe1,
+	0x27, 0xaa, 0x91, 0xc8, 0xe0, 0x3a, 0x26, 0xaa, 0x7d, 0x5a, 0x6c, 0x4f, 0xe1, 0x49, 0x06, 0xa8,
+	0x11, 0xf5, 0x54, 0xee, 0xd2, 0x0d, 0xa4, 0x4b, 0xe4, 0x54, 0x16, 0x25, 0x54, 0xdc, 0xf9, 0x5d,
+	0x01, 0x9a, 0x6b, 0x7f, 0x33, 0x71, 0x0b, 0x6e, 0x9f, 0x0a, 0xfd, 0xa1, 0xb4, 0xd9, 0x8d, 0x6f,
+	0x03, 0x4a, 0x20, 0xfc, 0x09, 0x91, 0xa3, 0x7d, 0x6a, 0x8d, 0xcf, 0x9d, 0xcf, 0xd3, 0xc6, 0x96,
+	0x90, 0xd3, 0xa7, 0xac, 0x6e, 0x0a, 0x22, 0x2a, 0x64, 0x02, 0x5d, 0x11, 0x15, 0x53, 0x96, 0x84,
+	0x81, 0x26, 0x11, 0x89, 0x3e, 0x6f, 0xd6, 0xd7, 0x7d, 0x25, 0x18, 0x86, 0x8e, 0xca, 0x29, 0xe9,
+	0x89, 0x44, 0x8c, 0x6f, 0x51, 0x25, 0x65, 0x43, 0x94, 0xfa, 0xba, 0x3c, 0xd4, 0x51, 0x95, 0xd6,
+	0x74, 0x42, 0xae, 0x49, 0x44, 0xa4, 0xbd, 0x8e, 0x9c, 0xa0, 0x1a, 0xc6, 0xb0, 0x95, 0x80, 0x88,
+	0x36, 0x40, 0x90, 0x92, 0x89, 0x83, 0x01, 0x6f, 0xae, 0x09, 0x99, 0x41, 0x86, 0xc6, 0x89, 0xc9,
+	0x04, 0xa8, 0x91, 0x5a, 0x36, 0x32, 0x8f, 0x9a, 0xf8, 0x0e, 0xdc, 0x4c, 0xc8, 0x07, 0xb4, 0x72,
+	0x74, 0xb4, 0x95, 0xf2, 0xfd, 0xe8, 0xcc, 0x90, 0x74, 0xb4, 0xbd, 0xf3, 0xc7, 0x02, 0xc0, 0xea,
+	0x29, 0xb9, 0x72, 0x59, 0x17, 0x85, 0xfe, 0x7a, 0x26, 0x96, 0x66, 0x39, 0x74, 0xa6, 0x8a, 0x86,
+	0x8a, 0x72, 0x69, 0xf1, 0xb7, 0x92, 0x66, 0xa8, 0x28, 0xbf, 0x5a, 0x8d, 0x8b, 0x05, 0xc3, 0x50,
+	0x51, 0x21, 0x4d, 0xee, 0x49, 0x03, 0x43, 0x45, 0xc5, 0x34, 0x59, 0x93, 0x45, 0x35, 0x99, 0x02,
+	0x2e, 0x55, 0x04, 0x45, 0x45, 0xe5, 0xb4, 0x89, 0x81, 0x2c, 0x12, 0x15, 0x55, 0x36, 0xc5, 0xfd,
+	0xbe, 0x8c, 0xaa, 0x69, 0xf1, 0x50, 0x91, 0x0d, 0x1d, 0xd5, 0xd2, 0xa6, 0x5f, 0xca, 0x7d, 0x15,
+	0x41, 0x5a, 0x3a, 0x90, 0x8e, 0x05, 0x54, 0x4f, 0x4b, 0x8f, 0xe5, 0x63, 0x01, 0x35, 0xd2, 0x52,
+	0x43, 0x22, 0x02, 0x6a, 0x6e, 0x7c, 0x88, 0x64, 0x08, 0x68, 0x0b, 0xdf, 0x82, 0xed, 0xa4, 0x54,
+	0x7a, 0x2d, 0xa0, 0xed, 0xcd, 0xb8, 0x19, 0x86, 0x80, 0xd0, 0x66, 0x94, 0xa9, 0xf8, 0xe6, 0xce,
+	0x6f, 0x72, 0xd0, 0x48, 0xfe, 0x91, 0xa7, 0x5b, 0x91, 0x9f, 0xf4, 0x6c, 0x9f, 0x0d, 0xf5, 0xf4,
+	0xa6, 0x59, 0x07, 0xd5, 0x97, 0x28, 0x47, 0xdb, 0x59, 0x5a, 0x45, 0x38, 0x15, 0xe4, 0x3e, 0x3d,
+	0x2d, 0x50, 0x9e, 0xb6, 0x8e, 0x75, 0x58, 0x51, 0x15, 0x7a, 0x70, 0x08, 0x86, 0xac, 0x2a, 0xb4,
+	0xe1, 0xed, 0xfc, 0x3e, 0x07, 0xdb, 0xa9, 0xbf, 0x2b, 0xb4, 0x68, 0x37, 0xf6, 0xec, 0x4f, 0xfc,
+	0x27, 0xc9, 0x7e, 0x16, 0xa8, 0x0a, 0x2a, 0xe1, 0x3a, 0x54, 0x94, 0x63, 0x53, 0x53, 0x95, 0xce,
+	0xda, 0x3f, 0xc9, 0xbb, 0x70, 0x93, 0xad, 0xa1, 0xa8, 0x86, 0x49, 0x1b, 0xa1, 0x68, 0x48, 0x5d,
+	0xf4, 0x9f, 0xdc, 0xd1, 0x97, 0xdf, 0x7e, 0x31, 0x71, 0xc2, 0xcb, 0xc5, 0xf9, 0xee, 0xc8, 0x9b,
+	0xed, 0x79, 0x73, 0xdb, 0x1d, 0x79, 0xfe, 0x78, 0x6f, 0x6c, 0x5f, 0x39, 0x23, 0xfb, 0xf3, 0x99,
+	0xe5, 0x5a, 0x13, 0x7b, 0x66, 0xbb, 0xe1, 0xe7, 0x8e, 0x1b, 0xda, 0xfe, 0x85, 0x35, 0xb2, 0xf7,
+	0xae, 0x0e, 0xf6, 0x26, 0xde, 0xde, 0x78, 0xe6, 0x9c, 0x97, 0xd9, 0xcd, 0xff, 0xe0, 0xbf, 0x01,
+	0x00, 0x00, 0xff, 0xff, 0x0b, 0xcd, 0x0a, 0xae, 0xb6, 0x1b, 0x00, 0x00,
 }
diff --git a/go/dmi/hw_management_service.pb.go b/go/dmi/hw_management_service.pb.go
index bd81132..50bd972 100644
--- a/go/dmi/hw_management_service.pb.go
+++ b/go/dmi/hw_management_service.pb.go
@@ -99,6 +99,7 @@
 	HWComponentInfoSetResponse_INVALID_PARAMS     HWComponentInfoSetResponse_Reason = 3
 	HWComponentInfoSetResponse_INTERNAL_ERROR     HWComponentInfoSetResponse_Reason = 4
 	HWComponentInfoSetResponse_DEVICE_UNREACHABLE HWComponentInfoSetResponse_Reason = 5
+	HWComponentInfoSetResponse_SET_UNSUPPORTED    HWComponentInfoSetResponse_Reason = 6
 )
 
 var HWComponentInfoSetResponse_Reason_name = map[int32]string{
@@ -108,6 +109,7 @@
 	3: "INVALID_PARAMS",
 	4: "INTERNAL_ERROR",
 	5: "DEVICE_UNREACHABLE",
+	6: "SET_UNSUPPORTED",
 }
 
 var HWComponentInfoSetResponse_Reason_value = map[string]int32{
@@ -117,6 +119,7 @@
 	"INVALID_PARAMS":     3,
 	"INTERNAL_ERROR":     4,
 	"DEVICE_UNREACHABLE": 5,
+	"SET_UNSUPPORTED":    6,
 }
 
 func (x HWComponentInfoSetResponse_Reason) String() string {
@@ -1798,106 +1801,107 @@
 func init() { proto.RegisterFile("dmi/hw_management_service.proto", fileDescriptor_eae902e73066286d) }
 
 var fileDescriptor_eae902e73066286d = []byte{
-	// 1571 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x6e, 0xdb, 0xc6,
-	0x16, 0xbe, 0x94, 0x6c, 0x27, 0x3a, 0x4e, 0x1c, 0x79, 0x9c, 0x38, 0x12, 0x83, 0xd8, 0xbe, 0x0c,
-	0x72, 0xe3, 0xdc, 0x9b, 0x48, 0x86, 0xb2, 0xb8, 0xb9, 0xff, 0x97, 0x96, 0x68, 0x8a, 0x8d, 0x44,
-	0x09, 0x43, 0x29, 0x46, 0x8a, 0xa2, 0x02, 0x2d, 0x8d, 0x65, 0xa2, 0x22, 0xa9, 0x8a, 0x94, 0x03,
-	0x3f, 0x42, 0x97, 0x5d, 0x76, 0x51, 0xa0, 0x4f, 0x50, 0xa0, 0x5d, 0x06, 0x7d, 0x83, 0x6e, 0xbb,
-	0x2a, 0x0a, 0x14, 0x7d, 0x84, 0x6e, 0xbb, 0x2a, 0x34, 0x43, 0xea, 0x87, 0x22, 0x65, 0x49, 0x4e,
-	0xd0, 0xec, 0xc4, 0x99, 0x33, 0x1f, 0x0f, 0xcf, 0xf7, 0xcd, 0x99, 0x33, 0x47, 0xb0, 0xdb, 0x32,
-	0x8d, 0xec, 0xd9, 0xeb, 0x86, 0xa9, 0x5b, 0x7a, 0x9b, 0x98, 0xc4, 0x72, 0x1b, 0x0e, 0xe9, 0x9d,
-	0x1b, 0x4d, 0x92, 0xe9, 0xf6, 0x6c, 0xd7, 0x46, 0xf1, 0x96, 0x69, 0xf0, 0x9b, 0x03, 0xab, 0xa6,
-	0x6d, 0x9a, 0xb6, 0xe5, 0xb0, 0x71, 0xfe, 0x06, 0x5b, 0xe8, 0x3d, 0xdd, 0x6b, 0xdb, 0x76, 0xbb,
-	0x43, 0xb2, 0xf4, 0xe9, 0xa4, 0x7f, 0x9a, 0x25, 0x66, 0xd7, 0xbd, 0x60, 0x93, 0xc2, 0x11, 0xa4,
-	0xaa, 0x67, 0x17, 0x8e, 0xd1, 0xd4, 0x3b, 0x8a, 0x75, 0x4e, 0x2c, 0xd7, 0xee, 0x5d, 0x60, 0xf2,
-	0x69, 0x9f, 0x38, 0x2e, 0xfa, 0x2b, 0xac, 0xb7, 0xc8, 0xe0, 0x75, 0x8d, 0x7e, 0xdf, 0x68, 0xa5,
-	0xb8, 0x3d, 0x6e, 0x7f, 0x3d, 0x97, 0xc8, 0xb4, 0x4c, 0x23, 0x53, 0xef, 0x1b, 0x2d, 0x0c, 0x6c,
-	0x76, 0xf0, 0x5b, 0xf8, 0x26, 0x06, 0xe9, 0x10, 0x20, 0xa7, 0x6b, 0x5b, 0x0e, 0x41, 0x0f, 0x60,
-	0xcd, 0x71, 0x75, 0xb7, 0xef, 0x50, 0x90, 0x8d, 0xdc, 0x3a, 0x05, 0xd1, 0xe8, 0x10, 0xf6, 0xa6,
-	0xd0, 0x7f, 0x60, 0xad, 0x47, 0x74, 0xc7, 0xb6, 0x52, 0x31, 0x6a, 0xf4, 0x90, 0x1a, 0x45, 0x82,
-	0x66, 0x30, 0x35, 0xc6, 0xde, 0x22, 0xf4, 0x37, 0x48, 0x18, 0xbe, 0x4d, 0x2a, 0x4e, 0x7d, 0xbd,
-	0x49, 0x11, 0x8a, 0x7a, 0xaf, 0xf5, 0x5a, 0xef, 0x11, 0x3c, 0x9a, 0x47, 0x0f, 0xe0, 0x26, 0x5b,
-	0xd6, 0x68, 0x11, 0x57, 0x37, 0x3a, 0xa9, 0x95, 0x3d, 0x6e, 0x3f, 0x81, 0x6f, 0xb0, 0xc1, 0x02,
-	0x1d, 0x13, 0x3e, 0x86, 0x35, 0xf6, 0x0e, 0x74, 0x1b, 0x92, 0x75, 0xb5, 0x20, 0x1d, 0x29, 0xaa,
-	0x54, 0x68, 0x60, 0x49, 0xd4, 0x2a, 0x6a, 0xf2, 0x4f, 0x08, 0xc1, 0x46, 0x5d, 0x7d, 0xa1, 0x56,
-	0x8e, 0xd5, 0x46, 0x41, 0x7a, 0xa9, 0xe4, 0xa5, 0x24, 0x37, 0x18, 0x53, 0xd4, 0x9a, 0x84, 0x55,
-	0xb1, 0xd4, 0x90, 0x30, 0xae, 0xe0, 0x64, 0x0c, 0x6d, 0x03, 0x62, 0xf3, 0x8d, 0xba, 0x8a, 0x25,
-	0x31, 0x5f, 0x14, 0x0f, 0x4b, 0x52, 0x32, 0x2e, 0x7c, 0xc5, 0x41, 0xba, 0x78, 0x9c, 0xb7, 0xcd,
-	0xae, 0x6d, 0x11, 0xcb, 0x55, 0xac, 0x53, 0x5b, 0x26, 0xee, 0x12, 0xd1, 0x47, 0x07, 0xb0, 0xd1,
-	0xf4, 0x61, 0x98, 0x79, 0x2c, 0x68, 0x7e, 0x73, 0x68, 0x40, 0x57, 0x3c, 0x1c, 0x5f, 0x61, 0xe9,
-	0x26, 0xa1, 0x21, 0x4b, 0x8c, 0x99, 0xa9, 0xba, 0x49, 0x84, 0xef, 0x63, 0xc0, 0x87, 0xb9, 0xb8,
-	0x08, 0xaf, 0xff, 0x0d, 0xf0, 0xfa, 0x17, 0xc6, 0x4a, 0x24, 0x6a, 0x90, 0xd8, 0x27, 0x90, 0x18,
-	0x3a, 0xe5, 0x11, 0xbb, 0x41, 0x21, 0x86, 0x00, 0x78, 0x64, 0x30, 0x1f, 0xb3, 0xfd, 0x25, 0x98,
-	0xbd, 0x03, 0x9b, 0xfe, 0x58, 0xbe, 0x52, 0xae, 0x56, 0x54, 0x49, 0xad, 0x25, 0x63, 0x21, 0x84,
-	0xc7, 0x23, 0x08, 0x5f, 0x11, 0x7e, 0x98, 0x26, 0x5c, 0x7b, 0xbf, 0x08, 0x47, 0x39, 0xb8, 0xd6,
-	0x3c, 0xd3, 0xad, 0x36, 0x71, 0x68, 0xe0, 0xd6, 0x73, 0x29, 0x8a, 0x58, 0xb6, 0x5b, 0xc6, 0xa9,
-	0xa1, 0x9f, 0x74, 0xc8, 0x28, 0xe8, 0xbe, 0xa1, 0xf0, 0xed, 0xb4, 0x48, 0xb4, 0x77, 0x22, 0x12,
-	0x2d, 0x5a, 0x24, 0x53, 0xb4, 0xc7, 0x43, 0x68, 0xff, 0x8c, 0x7b, 0xcb, 0xbc, 0xbf, 0x14, 0x4b,
-	0x4a, 0xa1, 0x51, 0x15, 0xb1, 0x58, 0xd6, 0x92, 0xf1, 0x10, 0x2d, 0xac, 0x44, 0x68, 0x61, 0x55,
-	0xf8, 0x3c, 0x0e, 0xf7, 0x34, 0x57, 0xef, 0xb9, 0xe5, 0x41, 0x76, 0x37, 0xac, 0x76, 0x81, 0xb2,
-	0xbb, 0x58, 0xd4, 0xfe, 0x17, 0x88, 0xda, 0x23, 0xdf, 0x28, 0x0a, 0x36, 0x18, 0xb6, 0x80, 0xe6,
-	0xe2, 0xb3, 0x34, 0x37, 0xd7, 0xce, 0x7a, 0x73, 0x59, 0x88, 0x79, 0xd8, 0xf6, 0xe2, 0x21, 0x96,
-	0xb0, 0x24, 0x16, 0x5e, 0x35, 0xca, 0xa2, 0x2a, 0xca, 0x52, 0x21, 0xc9, 0xa1, 0x3f, 0xc3, 0xfd,
-	0x4a, 0x55, 0xc2, 0x62, 0x4d, 0xa9, 0xa8, 0xc3, 0x69, 0x45, 0x6d, 0x54, 0x71, 0x45, 0xc6, 0x92,
-	0xa6, 0x2d, 0x10, 0x76, 0x1e, 0xb6, 0xc5, 0x7a, 0xad, 0x28, 0xa9, 0x35, 0x25, 0xcf, 0xf0, 0x8e,
-	0x44, 0xa5, 0x54, 0xc7, 0x52, 0x72, 0x15, 0xdd, 0x85, 0x2d, 0x45, 0x1d, 0x70, 0x29, 0xd6, 0x94,
-	0xc3, 0x92, 0xe4, 0x53, 0xbd, 0x26, 0x64, 0x21, 0xad, 0xb9, 0x76, 0x37, 0x18, 0x3a, 0xb6, 0x3d,
-	0x11, 0xac, 0xd0, 0x6d, 0xc3, 0xd1, 0xaf, 0xa6, 0xbf, 0x85, 0x1f, 0x39, 0xe0, 0xc3, 0x56, 0x5c,
-	0x5d, 0xf9, 0xd1, 0xa8, 0x4b, 0x29, 0x3f, 0xb7, 0xb8, 0xf0, 0x05, 0x13, 0x36, 0xa9, 0x07, 0xa4,
-	0xc5, 0x1c, 0x18, 0xec, 0x40, 0xf4, 0x04, 0x56, 0x0c, 0xeb, 0xd4, 0xf6, 0xb2, 0x53, 0x74, 0x72,
-	0xa0, 0x56, 0x41, 0x79, 0xc5, 0x66, 0x55, 0x10, 0x3f, 0x73, 0xb0, 0x3d, 0xf1, 0x3e, 0x67, 0xb1,
-	0x38, 0xfe, 0x33, 0x10, 0x47, 0x81, 0xf9, 0x16, 0x8a, 0x18, 0x8c, 0xe1, 0x01, 0x5c, 0x63, 0x9e,
-	0x38, 0xa9, 0xf8, 0x5e, 0x7c, 0x7f, 0x3d, 0xb7, 0x3d, 0xbd, 0x78, 0xf0, 0xf9, 0xd8, 0x37, 0x9b,
-	0x27, 0xa0, 0x01, 0x4d, 0x72, 0xc2, 0x97, 0x1c, 0xa4, 0x35, 0xe2, 0x96, 0xec, 0xf6, 0x80, 0x55,
-	0xc9, 0x6a, 0x75, 0x6d, 0xc3, 0x5a, 0x2a, 0xfd, 0x3f, 0x86, 0x64, 0x87, 0xa1, 0x34, 0x88, 0x07,
-	0x43, 0xbf, 0x3a, 0x81, 0x6f, 0x75, 0x26, 0xd1, 0xc7, 0x4d, 0x69, 0xc5, 0xd7, 0xb4, 0x7d, 0x85,
-	0xf8, 0xa6, 0x55, 0x6f, 0x58, 0xf8, 0x25, 0x46, 0xfd, 0xc3, 0xc4, 0xb4, 0x5d, 0x32, 0x72, 0xef,
-	0xea, 0x35, 0x5c, 0x24, 0xe8, 0x52, 0x5a, 0x7e, 0xc3, 0xbd, 0xa5, 0xba, 0x8c, 0x87, 0xed, 0x52,
-	0x45, 0x96, 0x15, 0x55, 0x6e, 0x48, 0x6a, 0xa1, 0x5a, 0x51, 0xd4, 0xda, 0xf0, 0x08, 0x7f, 0x00,
-	0xbb, 0x53, 0x73, 0x55, 0x5c, 0xa9, 0x55, 0xf2, 0x95, 0x51, 0x92, 0x49, 0xc3, 0x9d, 0xb2, 0x26,
-	0x1f, 0xd6, 0xb5, 0xe0, 0xfa, 0xd5, 0x88, 0xb4, 0xbf, 0x26, 0xfc, 0x14, 0x03, 0x5e, 0x0e, 0xd1,
-	0xc0, 0xd5, 0x33, 0x46, 0x34, 0x6a, 0x30, 0xca, 0x61, 0xea, 0x89, 0xcf, 0xaf, 0x9e, 0x95, 0x50,
-	0xf5, 0x4c, 0x73, 0xb7, 0xfa, 0x07, 0x94, 0xd4, 0x79, 0x48, 0x69, 0xc4, 0x2d, 0x3b, 0xed, 0xc3,
-	0xbe, 0x13, 0xdc, 0x60, 0x8f, 0xe0, 0x96, 0xe9, 0xb4, 0x4f, 0xfa, 0xce, 0xe8, 0xab, 0x59, 0x2e,
-	0xdf, 0x60, 0xc3, 0xbe, 0xbd, 0xf0, 0x45, 0x0c, 0xd2, 0xf2, 0x34, 0xca, 0xd5, 0xf7, 0x41, 0x24,
-	0x68, 0x90, 0xa1, 0x10, 0x57, 0xe3, 0x61, 0xae, 0xce, 0x77, 0x26, 0x7f, 0xb0, 0x78, 0xae, 0x8a,
-	0x08, 0x70, 0x4c, 0x78, 0x05, 0x49, 0xc9, 0x72, 0x0d, 0xd7, 0x20, 0x4e, 0xc9, 0x6e, 0x97, 0xc8,
-	0x39, 0xe9, 0xa0, 0xc7, 0x70, 0xbd, 0xe3, 0xfd, 0xf6, 0x62, 0xc2, 0x2e, 0x5e, 0xbe, 0x01, 0x1e,
-	0x4e, 0x23, 0x1e, 0xae, 0x13, 0x6f, 0x79, 0x2a, 0xb6, 0x17, 0xdf, 0x4f, 0xe0, 0xe1, 0xb3, 0xd0,
-	0x07, 0xc4, 0xb2, 0x23, 0x5b, 0xb4, 0x44, 0x5a, 0x7c, 0x06, 0x89, 0xce, 0xe0, 0xaa, 0x7b, 0x4e,
-	0x3a, 0x0c, 0x7e, 0x3d, 0x77, 0x87, 0x5a, 0x06, 0x5d, 0xc6, 0x23, 0x3b, 0xe1, 0xbb, 0x18, 0x6c,
-	0x4d, 0xbc, 0xd7, 0xe3, 0x79, 0x91, 0x17, 0x8f, 0x34, 0x11, 0x8b, 0xd6, 0xc4, 0xdf, 0x87, 0x9a,
-	0x88, 0x53, 0xa3, 0x5d, 0x3f, 0x37, 0x06, 0x5f, 0x7d, 0x69, 0x56, 0x0c, 0x23, 0xf9, 0xfc, 0xed,
-	0xed, 0x2c, 0xdf, 0xae, 0x54, 0x19, 0x24, 0xbf, 0x9a, 0x52, 0x7b, 0x35, 0xe3, 0x4e, 0xf3, 0x11,
-	0x20, 0xf9, 0x6a, 0xac, 0xcd, 0xd2, 0xc4, 0xaf, 0x31, 0xd8, 0x92, 0xaf, 0x48, 0x0e, 0x53, 0x45,
-	0x69, 0x4e, 0x55, 0x30, 0xbb, 0x31, 0x46, 0xe3, 0xf3, 0x30, 0xba, 0x32, 0xc6, 0xa8, 0xbc, 0x04,
-	0xa3, 0xab, 0xef, 0x11, 0xa3, 0xc5, 0xe1, 0x09, 0x35, 0x28, 0xe9, 0xfc, 0x20, 0x2d, 0xd3, 0x14,
-	0xfa, 0x37, 0x24, 0x8a, 0x44, 0xef, 0xb9, 0x27, 0x44, 0x77, 0x51, 0x16, 0xb6, 0xce, 0xfc, 0x87,
-	0x86, 0x63, 0xb4, 0x2d, 0xdd, 0xed, 0xf7, 0x58, 0x39, 0x7d, 0x0d, 0xa3, 0xe1, 0x94, 0xe6, 0xcf,
-	0x08, 0x22, 0x6c, 0x61, 0x72, 0x62, 0xdb, 0xee, 0x64, 0x1d, 0xbe, 0x88, 0x03, 0xbf, 0x71, 0x70,
-	0x7b, 0x12, 0x63, 0x2a, 0x89, 0xcf, 0xa0, 0xf7, 0x79, 0x80, 0xde, 0x3d, 0x6a, 0x14, 0x86, 0xb7,
-	0x14, 0xbf, 0xef, 0xf8, 0x2c, 0xcc, 0x7d, 0x9d, 0x80, 0xb4, 0xaa, 0xbb, 0xc6, 0x39, 0x29, 0x1e,
-	0x97, 0x87, 0x2d, 0x44, 0x8d, 0x75, 0x10, 0x91, 0x06, 0x5b, 0x21, 0xf7, 0x44, 0x14, 0x59, 0xd1,
-	0xf3, 0x7b, 0x97, 0xdd, 0x2d, 0x0f, 0x38, 0x54, 0x07, 0x34, 0x7d, 0x71, 0x41, 0x3b, 0x91, 0x37,
-	0x1a, 0xca, 0x28, 0xbf, 0x7b, 0xc9, 0x8d, 0x07, 0x15, 0x61, 0x73, 0x70, 0x74, 0x4e, 0x94, 0xf2,
-	0x68, 0x3b, 0xc3, 0xfa, 0x9a, 0x19, 0xbf, 0xaf, 0x99, 0x91, 0xcc, 0xae, 0x7b, 0xc1, 0xdf, 0x9b,
-	0x51, 0xf7, 0xa3, 0x63, 0xb8, 0x2d, 0x13, 0x77, 0xaa, 0xa7, 0x88, 0xee, 0x47, 0xf5, 0x1a, 0x99,
-	0x87, 0x3b, 0xb3, 0x5b, 0x91, 0x07, 0x1c, 0x3a, 0xa6, 0x69, 0x30, 0xd0, 0xaf, 0xf0, 0xbe, 0x3c,
-	0xb2, 0xc7, 0xe7, 0x7d, 0x79, 0x74, 0x2b, 0xcc, 0x0b, 0xe9, 0x9c, 0xc0, 0xda, 0x25, 0xc0, 0xe3,
-	0x4d, 0x99, 0x9a, 0x7f, 0xd8, 0x4e, 0x94, 0x7b, 0x3b, 0x63, 0x47, 0x52, 0xc8, 0x1d, 0x85, 0xdf,
-	0x99, 0x5d, 0xce, 0xa3, 0x23, 0xff, 0x30, 0x98, 0x40, 0xbd, 0x35, 0xd1, 0x86, 0x55, 0x0a, 0xfc,
-	0xee, 0x25, 0x05, 0x2b, 0xc2, 0xb0, 0x39, 0x55, 0xc6, 0x79, 0x1c, 0x45, 0x95, 0x77, 0x97, 0xfa,
-	0xf6, 0x82, 0x89, 0x68, 0x12, 0x33, 0x4a, 0x44, 0x3b, 0xb3, 0xeb, 0x35, 0x54, 0xf5, 0x8f, 0xa5,
-	0x89, 0x1c, 0x89, 0x26, 0x3e, 0x2c, 0x24, 0x7b, 0xf2, 0xa9, 0xa8, 0x13, 0x02, 0xfd, 0x1f, 0xd6,
-	0xc7, 0x4a, 0x01, 0x74, 0x77, 0xba, 0x38, 0x18, 0x47, 0xd0, 0xc2, 0x11, 0xe4, 0x29, 0x04, 0x39,
-	0x0a, 0x21, 0xcc, 0x87, 0xe7, 0xb0, 0x31, 0xcc, 0xd7, 0xf9, 0x33, 0xd2, 0xfc, 0x24, 0x32, 0x3e,
-	0xac, 0x01, 0x3b, 0x4a, 0xee, 0x79, 0xb8, 0x31, 0x9e, 0x17, 0xbd, 0x34, 0x12, 0x92, 0xbe, 0xf9,
-	0x74, 0x64, 0x12, 0x3d, 0xfc, 0xd7, 0x87, 0xff, 0x68, 0x1b, 0xee, 0x59, 0xff, 0x24, 0xd3, 0xb4,
-	0xcd, 0xac, 0xdd, 0x25, 0x56, 0xd3, 0xee, 0xb5, 0xb2, 0x2c, 0x9f, 0x3f, 0x1d, 0xfd, 0x0b, 0xf2,
-	0xd4, 0xb0, 0x5c, 0xd2, 0x3b, 0xd5, 0x9b, 0x24, 0x7b, 0xfe, 0x2c, 0xdb, 0xb6, 0xb3, 0x2d, 0xd3,
-	0x38, 0x59, 0xa3, 0x1e, 0x3e, 0xfb, 0x3d, 0x00, 0x00, 0xff, 0xff, 0x80, 0x19, 0x9e, 0xf1, 0x35,
-	0x19, 0x00, 0x00,
+	// 1585 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4d, 0x6f, 0xdb, 0x46,
+	0x13, 0x7e, 0x29, 0xd9, 0x4e, 0x34, 0x4e, 0x6c, 0x79, 0x9d, 0x38, 0x12, 0x83, 0xd8, 0x7e, 0x19,
+	0xa4, 0x71, 0xda, 0x44, 0x32, 0x94, 0x43, 0xd3, 0xef, 0xd2, 0x12, 0x2d, 0xb1, 0x91, 0x28, 0x61,
+	0x29, 0xc5, 0x48, 0x51, 0x54, 0xa0, 0xa5, 0xb5, 0x4c, 0x54, 0x24, 0x55, 0x91, 0x72, 0xe0, 0x9f,
+	0xd1, 0x63, 0x0f, 0x2d, 0xfa, 0x0b, 0x0a, 0xf4, 0x1a, 0xf4, 0xde, 0x43, 0xaf, 0x3d, 0x15, 0x05,
+	0x8a, 0xfe, 0x84, 0x5e, 0x7b, 0x2a, 0xb4, 0x4b, 0xea, 0x83, 0x22, 0x65, 0x49, 0x4e, 0xd0, 0xdc,
+	0xc4, 0xdd, 0xd9, 0x67, 0x67, 0xe7, 0x99, 0x9d, 0x99, 0x1d, 0xc1, 0x4e, 0xd3, 0xd0, 0xd3, 0xa7,
+	0x2f, 0xea, 0x86, 0x66, 0x6a, 0x2d, 0x62, 0x10, 0xd3, 0xa9, 0xdb, 0xa4, 0x7b, 0xa6, 0x37, 0x48,
+	0xaa, 0xd3, 0xb5, 0x1c, 0x0b, 0x45, 0x9b, 0x86, 0xce, 0x6f, 0xf4, 0xa5, 0x1a, 0x96, 0x61, 0x58,
+	0xa6, 0xcd, 0xc6, 0xf9, 0x6b, 0x6c, 0xa1, 0xfb, 0x75, 0xbb, 0x65, 0x59, 0xad, 0x36, 0x49, 0xd3,
+	0xaf, 0xe3, 0xde, 0x49, 0x9a, 0x18, 0x1d, 0xe7, 0x9c, 0x4d, 0x0a, 0x87, 0x90, 0xa8, 0x9c, 0x9e,
+	0xdb, 0x7a, 0x43, 0x6b, 0xcb, 0xe6, 0x19, 0x31, 0x1d, 0xab, 0x7b, 0x8e, 0xc9, 0xd7, 0x3d, 0x62,
+	0x3b, 0xe8, 0x6d, 0x58, 0x6d, 0x92, 0xfe, 0x76, 0xf5, 0x5e, 0x4f, 0x6f, 0x26, 0xb8, 0x5d, 0x6e,
+	0x6f, 0x35, 0x13, 0x4b, 0x35, 0x0d, 0x3d, 0x55, 0xeb, 0xe9, 0x4d, 0x0c, 0x6c, 0xb6, 0xff, 0x5b,
+	0xf8, 0x29, 0x02, 0xc9, 0x00, 0x20, 0xbb, 0x63, 0x99, 0x36, 0x41, 0x77, 0x61, 0xc5, 0x76, 0x34,
+	0xa7, 0x67, 0x53, 0x90, 0xb5, 0xcc, 0x2a, 0x05, 0x51, 0xe9, 0x10, 0x76, 0xa7, 0xd0, 0x47, 0xb0,
+	0xd2, 0x25, 0x9a, 0x6d, 0x99, 0x89, 0x08, 0x15, 0xba, 0x47, 0x85, 0x42, 0x41, 0x53, 0x98, 0x0a,
+	0x63, 0x77, 0x11, 0x7a, 0x07, 0x62, 0xba, 0x27, 0x93, 0x88, 0x52, 0x5d, 0xaf, 0x53, 0x84, 0x82,
+	0xd6, 0x6d, 0xbe, 0xd0, 0xba, 0x04, 0x0f, 0xe7, 0xd1, 0x5d, 0xb8, 0xce, 0x96, 0xd5, 0x9b, 0xc4,
+	0xd1, 0xf4, 0x76, 0x62, 0x69, 0x97, 0xdb, 0x8b, 0xe1, 0x6b, 0x6c, 0x30, 0x47, 0xc7, 0x84, 0x2f,
+	0x61, 0x85, 0xed, 0x81, 0x6e, 0x40, 0xbc, 0xa6, 0xe4, 0xa4, 0x43, 0x59, 0x91, 0x72, 0x75, 0x2c,
+	0x89, 0x6a, 0x59, 0x89, 0xff, 0x0f, 0x21, 0x58, 0xab, 0x29, 0x4f, 0x95, 0xf2, 0x91, 0x52, 0xcf,
+	0x49, 0xcf, 0xe4, 0xac, 0x14, 0xe7, 0xfa, 0x63, 0xb2, 0x52, 0x95, 0xb0, 0x22, 0x16, 0xeb, 0x12,
+	0xc6, 0x65, 0x1c, 0x8f, 0xa0, 0x2d, 0x40, 0x6c, 0xbe, 0x5e, 0x53, 0xb0, 0x24, 0x66, 0x0b, 0xe2,
+	0x41, 0x51, 0x8a, 0x47, 0x85, 0x1f, 0x38, 0x48, 0x16, 0x8e, 0xb2, 0x96, 0xd1, 0xb1, 0x4c, 0x62,
+	0x3a, 0xb2, 0x79, 0x62, 0xe5, 0x89, 0xb3, 0x80, 0xf5, 0xd1, 0x3e, 0xac, 0x35, 0x3c, 0x18, 0x26,
+	0x1e, 0xf1, 0x8b, 0x5f, 0x1f, 0x08, 0xd0, 0x15, 0xf7, 0x46, 0x57, 0x98, 0x9a, 0x41, 0xa8, 0xc9,
+	0x62, 0x23, 0x62, 0x8a, 0x66, 0x10, 0xe1, 0xd7, 0x08, 0xf0, 0x41, 0x2a, 0xce, 0xc3, 0xeb, 0xc7,
+	0x3e, 0x5e, 0xdf, 0x62, 0xac, 0x84, 0xa2, 0xfa, 0x89, 0x7d, 0x08, 0xb1, 0x81, 0x52, 0x2e, 0xb1,
+	0x6b, 0x14, 0x62, 0x00, 0x80, 0x87, 0x02, 0xb3, 0x31, 0xdb, 0x5b, 0x80, 0xd9, 0x9b, 0xb0, 0xe1,
+	0x8d, 0x65, 0xcb, 0xa5, 0x4a, 0x59, 0x91, 0x94, 0x6a, 0x3c, 0x12, 0x40, 0x78, 0x34, 0x84, 0xf0,
+	0x25, 0xe1, 0xb7, 0x49, 0xc2, 0xd5, 0x37, 0x8b, 0x70, 0x94, 0x81, 0x2b, 0x8d, 0x53, 0xcd, 0x6c,
+	0x11, 0x9b, 0x1a, 0x6e, 0x35, 0x93, 0xa0, 0x88, 0x25, 0xab, 0xa9, 0x9f, 0xe8, 0xda, 0x71, 0x9b,
+	0x0c, 0x8d, 0xee, 0x09, 0x0a, 0xbf, 0x4c, 0x3a, 0x89, 0xfa, 0x5a, 0x9c, 0x44, 0x0d, 0x77, 0x92,
+	0x09, 0xda, 0xa3, 0x01, 0xb4, 0x7f, 0xcf, 0xbd, 0x62, 0xde, 0x9f, 0x89, 0x45, 0x39, 0x57, 0xaf,
+	0x88, 0x58, 0x2c, 0xa9, 0xf1, 0x68, 0x80, 0x2f, 0x2c, 0x85, 0xf8, 0xc2, 0x32, 0xda, 0x84, 0x75,
+	0x55, 0xaa, 0xd6, 0x6b, 0x8a, 0x5a, 0xab, 0x54, 0xca, 0xb8, 0x2a, 0xe5, 0xe2, 0x2b, 0xc2, 0x37,
+	0x51, 0xb8, 0xad, 0x3a, 0x5a, 0xd7, 0x29, 0xf5, 0x43, 0xbe, 0x6e, 0xb6, 0x72, 0x94, 0xf2, 0xf9,
+	0x4c, 0xf9, 0x89, 0xcf, 0x94, 0xf7, 0x3d, 0xa1, 0x30, 0x58, 0xbf, 0x2d, 0x7d, 0x8e, 0x18, 0x9d,
+	0xe6, 0x88, 0x33, 0x5d, 0xb7, 0x97, 0x17, 0xd9, 0x9d, 0x87, 0x2d, 0xd7, 0x48, 0x62, 0x11, 0x4b,
+	0x62, 0xee, 0x79, 0xbd, 0x24, 0x2a, 0x62, 0x5e, 0xca, 0xc5, 0x39, 0xf4, 0x7f, 0xb8, 0x53, 0xae,
+	0x48, 0x58, 0xac, 0xca, 0x65, 0x65, 0x30, 0x2d, 0x2b, 0xf5, 0x0a, 0x2e, 0xe7, 0xb1, 0xa4, 0xaa,
+	0x73, 0x70, 0xc1, 0xc3, 0x96, 0x58, 0xab, 0x16, 0x24, 0xa5, 0x2a, 0x67, 0x19, 0xde, 0xa1, 0x28,
+	0x17, 0x6b, 0xb8, 0xcf, 0xc7, 0x2d, 0xd8, 0x94, 0x95, 0x3e, 0xc1, 0x62, 0x55, 0x3e, 0x28, 0x4a,
+	0x1e, 0xff, 0x2b, 0x42, 0x1a, 0x92, 0xaa, 0x63, 0x75, 0xfc, 0xa6, 0x63, 0x77, 0x16, 0xc1, 0x12,
+	0xbd, 0x4b, 0x1c, 0x3d, 0x35, 0xfd, 0x2d, 0xfc, 0xce, 0x01, 0x1f, 0xb4, 0xe2, 0xf2, 0xd7, 0x21,
+	0x1c, 0x75, 0xa1, 0xeb, 0x90, 0x99, 0xff, 0x36, 0x08, 0x06, 0x6c, 0x50, 0x0d, 0x48, 0x93, 0x29,
+	0xd0, 0xbf, 0x96, 0xe8, 0x21, 0x2c, 0xe9, 0xe6, 0x89, 0xe5, 0x86, 0xac, 0xf0, 0x88, 0x41, 0xa5,
+	0xfc, 0xee, 0x15, 0x99, 0x56, 0x56, 0xfc, 0xc9, 0xc1, 0xd6, 0xd8, 0x7e, 0xf6, 0x7c, 0x76, 0x7c,
+	0xdf, 0x67, 0x47, 0x81, 0xe9, 0x16, 0x88, 0xe8, 0xb7, 0xe1, 0x3e, 0x5c, 0x61, 0x9a, 0xd8, 0x89,
+	0xe8, 0x6e, 0x74, 0x6f, 0x35, 0xb3, 0x35, 0xb9, 0xb8, 0x7f, 0x7c, 0xec, 0x89, 0xcd, 0x62, 0x50,
+	0x9f, 0x4f, 0x72, 0xc2, 0x77, 0x1c, 0x24, 0x55, 0xe2, 0x14, 0xad, 0x56, 0x9f, 0x55, 0xc9, 0x6c,
+	0x76, 0x2c, 0xdd, 0x5c, 0x28, 0x27, 0x3c, 0x80, 0x78, 0x9b, 0xa1, 0xd4, 0x89, 0x0b, 0x43, 0x4f,
+	0x1d, 0xc3, 0xeb, 0xed, 0x71, 0xf4, 0x51, 0x51, 0x5a, 0x06, 0x36, 0x2c, 0xcf, 0x43, 0x3c, 0xd1,
+	0x8a, 0x3b, 0x2c, 0xfc, 0x15, 0xa1, 0xfa, 0x61, 0x62, 0x58, 0x0e, 0x19, 0xaa, 0x77, 0xf9, 0xc2,
+	0x2e, 0x14, 0x74, 0x21, 0x5f, 0x7e, 0xc9, 0xbd, 0xa2, 0x62, 0x8d, 0x87, 0xad, 0x62, 0x39, 0x9f,
+	0x97, 0x95, 0x7c, 0x5d, 0x52, 0x72, 0x95, 0xb2, 0xac, 0x54, 0x07, 0x79, 0xfd, 0x2e, 0xec, 0x4c,
+	0xcc, 0x55, 0x70, 0xb9, 0x5a, 0xce, 0x96, 0x87, 0x41, 0x26, 0x09, 0x37, 0x4b, 0x6a, 0xfe, 0xa0,
+	0xa6, 0xfa, 0xd7, 0x2f, 0x87, 0xe4, 0x82, 0x15, 0xe1, 0x8f, 0x08, 0xf0, 0xf9, 0x00, 0x1f, 0xb8,
+	0x7c, 0xc4, 0x08, 0x47, 0xf5, 0x5b, 0x39, 0xc8, 0x7b, 0xa2, 0xb3, 0x7b, 0xcf, 0x52, 0xa0, 0xf7,
+	0x4c, 0x72, 0xb7, 0xfc, 0x1f, 0xd4, 0xd9, 0x59, 0x48, 0xa8, 0xc4, 0x29, 0xd9, 0xad, 0x83, 0x9e,
+	0xed, 0xbf, 0x60, 0xf7, 0x61, 0xdd, 0xb0, 0x5b, 0xc7, 0x3d, 0x7b, 0x78, 0x6a, 0x16, 0xcb, 0xd7,
+	0xd8, 0xb0, 0x27, 0x2f, 0x7c, 0x1b, 0x81, 0x64, 0x7e, 0x12, 0xe5, 0xf2, 0xf7, 0x20, 0x14, 0xd4,
+	0xcf, 0x50, 0x80, 0xaa, 0xd1, 0x20, 0x55, 0x67, 0xcb, 0xc9, 0x9f, 0xcd, 0x1f, 0xab, 0x42, 0x0c,
+	0x1c, 0x11, 0x9e, 0x43, 0x5c, 0x32, 0x1d, 0xdd, 0xd1, 0x89, 0x5d, 0xb4, 0x5a, 0x45, 0x72, 0x46,
+	0xda, 0xe8, 0x01, 0x5c, 0x6d, 0xbb, 0xbf, 0x5d, 0x9b, 0xb0, 0xd7, 0x98, 0x27, 0x80, 0x07, 0xd3,
+	0x88, 0x87, 0xab, 0xc4, 0x5d, 0x9e, 0x88, 0xec, 0x46, 0xf7, 0x62, 0x78, 0xf0, 0x2d, 0xf4, 0x00,
+	0xb1, 0xe8, 0xc8, 0x16, 0x2d, 0x10, 0x16, 0x1f, 0x43, 0xac, 0xdd, 0x7f, 0xff, 0x9e, 0x91, 0x36,
+	0x83, 0x5f, 0xcd, 0xdc, 0xa4, 0x92, 0x7e, 0x95, 0xf1, 0x50, 0x4e, 0xf8, 0x39, 0x02, 0x9b, 0x63,
+	0xfb, 0xba, 0x3c, 0xcf, 0xb3, 0xf1, 0xd0, 0x27, 0x22, 0xe1, 0x3e, 0xf1, 0xee, 0xc0, 0x27, 0xa2,
+	0x54, 0x68, 0xc7, 0x8b, 0x8d, 0xfe, 0xad, 0x2f, 0x8c, 0x8a, 0x41, 0x24, 0x9f, 0xbd, 0xba, 0x9b,
+	0xe5, 0xc9, 0x15, 0xcb, 0xfd, 0xe0, 0x57, 0x95, 0xab, 0xcf, 0xa7, 0x3c, 0x74, 0xbe, 0x00, 0x94,
+	0xbf, 0x1c, 0x6b, 0xd3, 0x7c, 0xe2, 0xef, 0x08, 0x6c, 0xe6, 0x2f, 0x49, 0x0e, 0xf3, 0x8a, 0xe2,
+	0x8c, 0x5e, 0xc1, 0xe4, 0x46, 0x18, 0x8d, 0xce, 0xc2, 0xe8, 0xd2, 0x08, 0xa3, 0xf9, 0x05, 0x18,
+	0x5d, 0x7e, 0x83, 0x18, 0x2d, 0x0c, 0x32, 0x54, 0xbf, 0xa4, 0xf3, 0x8c, 0xb4, 0x48, 0xa7, 0xe8,
+	0x43, 0x88, 0x15, 0x88, 0xd6, 0x75, 0x8e, 0x89, 0xe6, 0xa0, 0x34, 0x6c, 0x9e, 0x7a, 0x1f, 0x75,
+	0x5b, 0x6f, 0x99, 0x9a, 0xd3, 0xeb, 0xb2, 0x72, 0xfa, 0x0a, 0x46, 0x83, 0x29, 0xd5, 0x9b, 0x11,
+	0x44, 0xd8, 0xc4, 0xe4, 0xd8, 0xb2, 0x9c, 0xf1, 0x3a, 0x7c, 0x1e, 0x05, 0xfe, 0xe1, 0xe0, 0xc6,
+	0x38, 0xc6, 0x44, 0x10, 0x9f, 0x42, 0xef, 0x13, 0x1f, 0xbd, 0xbb, 0x54, 0x28, 0x08, 0x6f, 0x21,
+	0x7e, 0x5f, 0x73, 0x2e, 0xcc, 0xfc, 0x18, 0x83, 0xa4, 0xa2, 0x39, 0xfa, 0x19, 0x29, 0x1c, 0x95,
+	0x06, 0x7d, 0x45, 0x95, 0xb5, 0x15, 0x91, 0x0a, 0x9b, 0x01, 0xef, 0x44, 0x14, 0x5a, 0xd1, 0xf3,
+	0xbb, 0x17, 0xbd, 0x2d, 0xf7, 0x39, 0x54, 0x03, 0x34, 0xf9, 0x70, 0x41, 0xdb, 0xa1, 0x2f, 0x1a,
+	0xca, 0x28, 0xbf, 0x73, 0xc1, 0x8b, 0x07, 0x15, 0x60, 0xa3, 0x9f, 0x3a, 0xc7, 0x4a, 0x79, 0xb4,
+	0x95, 0x62, 0xcd, 0xce, 0x94, 0xd7, 0xec, 0x4c, 0x49, 0x46, 0xc7, 0x39, 0xe7, 0x6f, 0x4f, 0xa9,
+	0xfb, 0xd1, 0x11, 0xdc, 0xc8, 0x13, 0x67, 0xa2, 0xd1, 0x88, 0xee, 0x84, 0x35, 0x20, 0x99, 0x86,
+	0xdb, 0xd3, 0xfb, 0x93, 0xfb, 0x1c, 0x3a, 0xa2, 0x61, 0xd0, 0xd7, 0xc4, 0x70, 0x4f, 0x1e, 0xda,
+	0xf8, 0x73, 0x4f, 0x1e, 0xde, 0x1f, 0x73, 0x4d, 0x3a, 0x23, 0xb0, 0x7a, 0x01, 0xf0, 0x68, 0xa7,
+	0xa6, 0xea, 0x25, 0xdb, 0xb1, 0x72, 0x6f, 0x7b, 0x24, 0x25, 0x05, 0xbc, 0x51, 0xf8, 0xed, 0xe9,
+	0xe5, 0x3c, 0x3a, 0xf4, 0x92, 0xc1, 0x18, 0xea, 0xfa, 0x58, 0x6f, 0x56, 0xce, 0xf1, 0x3b, 0x17,
+	0x14, 0xac, 0x08, 0xc3, 0xc6, 0x44, 0x19, 0xe7, 0x72, 0x14, 0x56, 0xde, 0x5d, 0xa8, 0xdb, 0x53,
+	0xe6, 0x44, 0xe3, 0x98, 0x61, 0x4e, 0xb4, 0x3d, 0xbd, 0x5e, 0x43, 0x15, 0x2f, 0x2d, 0x8d, 0xc5,
+	0x48, 0x34, 0x76, 0xb0, 0x80, 0xe8, 0xc9, 0x27, 0xc2, 0x32, 0x04, 0xfa, 0x14, 0x56, 0x47, 0x4a,
+	0x01, 0x74, 0x6b, 0xb2, 0x38, 0x18, 0x45, 0x50, 0x83, 0x11, 0xf2, 0x13, 0x08, 0xf9, 0x30, 0x84,
+	0x20, 0x1d, 0x9e, 0xc0, 0xda, 0x20, 0x5e, 0x67, 0x4f, 0x49, 0xe3, 0xab, 0x50, 0xfb, 0xb0, 0xae,
+	0xec, 0x30, 0xb8, 0x67, 0xe1, 0xda, 0x68, 0x5c, 0x74, 0xc3, 0x48, 0x40, 0xf8, 0xe6, 0x93, 0xa1,
+	0x41, 0xf4, 0xe0, 0x83, 0xcf, 0xdf, 0x6b, 0xe9, 0xce, 0x69, 0xef, 0x38, 0xd5, 0xb0, 0x8c, 0xb4,
+	0xd5, 0x21, 0x66, 0xc3, 0xea, 0x36, 0xd3, 0x2c, 0x9e, 0x3f, 0x1a, 0xfe, 0x35, 0xf2, 0x48, 0x37,
+	0x1d, 0xd2, 0x3d, 0xd1, 0x1a, 0x24, 0x7d, 0xf6, 0x38, 0xdd, 0xb2, 0xd2, 0x4d, 0x43, 0x3f, 0x5e,
+	0xa1, 0x1a, 0x3e, 0xfe, 0x37, 0x00, 0x00, 0xff, 0xff, 0x4a, 0x85, 0x2d, 0x68, 0x4a, 0x19, 0x00,
+	0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/protos/dmi/hw.proto b/protos/dmi/hw.proto
index eb6feb2..37c2cfe 100644
--- a/protos/dmi/hw.proto
+++ b/protos/dmi/hw.proto
@@ -137,6 +137,20 @@
     SENSOR_STATUS_NONOPERATIONAL = 3;
 }
 
+enum TransceiverType {
+    TYPE_UNDEFINED = 0;
+    ETHERNET = 1;
+    GPON = 2;
+    XGPON = 3;
+    XGSPON = 4;
+    CPON = 5;
+    NG_PON2 = 6;
+    EPON = 7;
+    // Add more here
+
+    TYPE_NOT_DETECTED = 255;
+}
+
 message ComponentSensorData {
     int32 value = 1;
     DataValueType type = 2;
@@ -198,6 +212,10 @@
     PonIdConfig pon_id_config = 1;
 }
 
+message TransceiverComponentChangeAttributes {
+    TransceiverType trans_type = 1;
+}
+
 message PonIdConfig {
     // The pon_id and pon_id_transmit_periodicity attributes are valid only for ports of type GPON, XGPON and XGSPON
     // For GPON pon_id is a 7 byte value
@@ -239,18 +257,8 @@
         CFP2_DCO = 14;
     }
 
-    enum Type {
-        TYPE_UNKNOWN = 0;
-        ETHERNET = 1;
-        GPON = 2;
-        XGPON = 3;
-        XGSPON = 4;
-        CPON = 5;
-        NG_PON2 = 6;
-        EPON = 7;
-    }
     FormFactor form_factor = 1;
-    Type trans_type = 2;
+    TransceiverType trans_type = 2;
     // The maximum reach that can be achieved by this transceiver
     uint32 max_distance = 3;
     ValueScale max_distance_scale = 4;
@@ -320,5 +328,6 @@
     // The attribute 'specific' can be populated for specific class of components
     oneof specific {
         PortComponentChangeAttributes port_attr = 50;
+        TransceiverComponentChangeAttributes trx_attr = 51;
     }
 }
diff --git a/protos/dmi/hw_management_service.proto b/protos/dmi/hw_management_service.proto
index 7b24925..e98a0be 100644
--- a/protos/dmi/hw_management_service.proto
+++ b/protos/dmi/hw_management_service.proto
@@ -64,6 +64,7 @@
         INVALID_PARAMS = 3;
         INTERNAL_ERROR = 4;
         DEVICE_UNREACHABLE = 5;
+        SET_UNSUPPORTED = 6;
     }
     Status status = 1;
     Reason reason = 2;
diff --git a/python/dmi/commons_pb2.py b/python/dmi/commons_pb2.py
index 65deceb..46008a9 100644
--- a/python/dmi/commons_pb2.py
+++ b/python/dmi/commons_pb2.py
@@ -4,6 +4,7 @@
 """Generated protocol buffer code."""
 from google.protobuf.internal import enum_type_wrapper
 from google.protobuf import descriptor as _descriptor
+from google.protobuf import descriptor_pool as _descriptor_pool
 from google.protobuf import message as _message
 from google.protobuf import reflection as _reflection
 from google.protobuf import symbol_database as _symbol_database
@@ -14,86 +15,11 @@
 
 
 
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='dmi/commons.proto',
-  package='dmi',
-  syntax='proto3',
-  serialized_options=b'Z9github.com/opencord/device-management-interface/v3/go/dmi',
-  create_key=_descriptor._internal_create_key,
-  serialized_pb=b'\n\x11\x64mi/commons.proto\x12\x03\x64mi*?\n\x06Status\x12\x14\n\x10UNDEFINED_STATUS\x10\x00\x12\r\n\tOK_STATUS\x10\x01\x12\x10\n\x0c\x45RROR_STATUS\x10\x02*?\n\x08LogLevel\x12\t\n\x05TRACE\x10\x00\x12\t\n\x05\x44\x45\x42UG\x10\x01\x12\x08\n\x04INFO\x10\x02\x12\x08\n\x04WARN\x10\x03\x12\t\n\x05\x45RROR\x10\x04\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3'
-)
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x64mi/commons.proto\x12\x03\x64mi*?\n\x06Status\x12\x14\n\x10UNDEFINED_STATUS\x10\x00\x12\r\n\tOK_STATUS\x10\x01\x12\x10\n\x0c\x45RROR_STATUS\x10\x02*?\n\x08LogLevel\x12\t\n\x05TRACE\x10\x00\x12\t\n\x05\x44\x45\x42UG\x10\x01\x12\x08\n\x04INFO\x10\x02\x12\x08\n\x04WARN\x10\x03\x12\t\n\x05\x45RROR\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,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_STATUS', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='OK_STATUS', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='ERROR_STATUS', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=26,
-  serialized_end=89,
-)
-_sym_db.RegisterEnumDescriptor(_STATUS)
-
+_STATUS = DESCRIPTOR.enum_types_by_name['Status']
 Status = enum_type_wrapper.EnumTypeWrapper(_STATUS)
-_LOGLEVEL = _descriptor.EnumDescriptor(
-  name='LogLevel',
-  full_name='dmi.LogLevel',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='TRACE', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEBUG', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INFO', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='WARN', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='ERROR', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=91,
-  serialized_end=154,
-)
-_sym_db.RegisterEnumDescriptor(_LOGLEVEL)
-
+_LOGLEVEL = DESCRIPTOR.enum_types_by_name['LogLevel']
 LogLevel = enum_type_wrapper.EnumTypeWrapper(_LOGLEVEL)
 UNDEFINED_STATUS = 0
 OK_STATUS = 1
@@ -105,10 +31,12 @@
 ERROR = 4
 
 
-DESCRIPTOR.enum_types_by_name['Status'] = _STATUS
-DESCRIPTOR.enum_types_by_name['LogLevel'] = _LOGLEVEL
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+if _descriptor._USE_C_DESCRIPTORS == False:
 
-
-DESCRIPTOR._options = None
+  DESCRIPTOR._options = None
+  DESCRIPTOR._serialized_options = b'Z9github.com/opencord/device-management-interface/v3/go/dmi'
+  _STATUS._serialized_start=26
+  _STATUS._serialized_end=89
+  _LOGLEVEL._serialized_start=91
+  _LOGLEVEL._serialized_end=154
 # @@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
index 0ac0030..3e83d00 100644
--- a/python/dmi/hw_events_mgmt_service_pb2.py
+++ b/python/dmi/hw_events_mgmt_service_pb2.py
@@ -4,6 +4,7 @@
 """Generated protocol buffer code."""
 from google.protobuf.internal import enum_type_wrapper
 from google.protobuf import descriptor as _descriptor
+from google.protobuf import descriptor_pool as _descriptor_pool
 from google.protobuf import message as _message
 from google.protobuf import reflection as _reflection
 from google.protobuf import symbol_database as _symbol_database
@@ -18,256 +19,9 @@
 from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__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',
-  create_key=_descriptor._internal_create_key,
-  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\x1a\x1bgoogle/protobuf/empty.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\"\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*\xc5\x0f\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\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'
-  ,
-  dependencies=[dmi_dot_commons__pb2.DESCRIPTOR,dmi_dot_hw__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,])
+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\"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\"\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*\xc5\x0f\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\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.EnumDescriptor(
-  name='EventIds',
-  full_name='dmi.EventIds',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_NAME_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_PLUG_OUT', index=1, number=100,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_PLUG_IN', index=2, number=101,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD', index=3, number=102,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD', index=4, number=103,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD', index=5, number=104,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD', index=6, number=105,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD', index=7, number=106,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD', index=8, number=107,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD', index=9, number=108,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD', index=10, number=109,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD', index=11, number=110,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD', index=12, number=111,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_FAILURE', index=13, number=112,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED', index=14, number=113,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED', index=15, number=114,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED', index=16, number=115,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED', index=17, number=116,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED', index=18, number=117,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED', index=19, number=118,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED', index=20, number=119,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED', index=21, number=120,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED', index=22, number=121,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED', index=23, number=122,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_TRANSCEIVER_FAILURE_RECOVERED', index=24, number=123,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_PSU_PLUG_OUT', index=25, number=200,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_PSU_PLUG_IN', index=26, number=201,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_PSU_FAILURE', index=27, number=202,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_PSU_FAILURE_RECOVERED', index=28, number=203,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_FAN_FAILURE', index=29, number=300,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_FAN_PLUG_OUT', index=30, number=301,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_FAN_PLUG_IN', index=31, number=302,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_FAN_FAILURE_RECOVERED', index=32, number=303,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL', index=33, number=400,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_CPU_TEMPERATURE_ABOVE_FATAL', index=34, number=401,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED', index=35, number=402,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED', index=36, number=403,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_HW_DEVICE_RESET', index=37, number=500,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL', index=38, number=501,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL', index=39, number=502,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED', index=40, number=503,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED', index=41, number=504,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_HW_DEVICE_REBOOT', index=42, number=505,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_HW_TEMPERATURE_SENSOR_FAILED', index=43, number=506,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EVENT_HW_ALL_TEMPERATURE_SENSORS_FAILED', index=44, number=507,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=1592,
-  serialized_end=3581,
-)
-_sym_db.RegisterEnumDescriptor(_EVENTIDS)
-
+_EVENTIDS = DESCRIPTOR.enum_types_by_name['EventIds']
 EventIds = enum_type_wrapper.EnumTypeWrapper(_EVENTIDS)
 EVENT_NAME_UNDEFINED = 0
 EVENT_TRANSCEIVER_PLUG_OUT = 100
@@ -316,649 +70,19 @@
 EVENT_HW_ALL_TEMPERATURE_SENSORS_FAILED = 507
 
 
-_LISTEVENTSRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.ListEventsResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=788,
-  serialized_end=882,
-)
-_sym_db.RegisterEnumDescriptor(_LISTEVENTSRESPONSE_REASON)
-
-_EVENTSCONFIGURATIONRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.EventsConfigurationResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INVALID_CONFIG', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=1164,
-  serialized_end=1278,
-)
-_sym_db.RegisterEnumDescriptor(_EVENTSCONFIGURATIONRESPONSE_REASON)
-
-
-_VALUETYPE = _descriptor.Descriptor(
-  name='ValueType',
-  full_name='dmi.ValueType',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  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,
-      create_key=_descriptor._internal_create_key,
-    fields=[]),
-  ],
-  serialized_start=136,
-  serialized_end=214,
-)
-
-
-_WATERMARKS = _descriptor.Descriptor(
-  name='WaterMarks',
-  full_name='dmi.WaterMarks',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=216,
-  serialized_end=287,
-)
-
-
-_THRESHOLDS = _descriptor.Descriptor(
-  name='Thresholds',
-  full_name='dmi.Thresholds',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  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,
-      create_key=_descriptor._internal_create_key,
-    fields=[]),
-  ],
-  serialized_start=289,
-  serialized_end=382,
-)
-
-
-_THRESHOLDINFORMATION = _descriptor.Descriptor(
-  name='ThresholdInformation',
-  full_name='dmi.ThresholdInformation',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=384,
-  serialized_end=483,
-)
-
-
-_EVENTCFG = _descriptor.Descriptor(
-  name='EventCfg',
-  full_name='dmi.EventCfg',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=485,
-  serialized_end=588,
-)
-
-
-_EVENTSCFG = _descriptor.Descriptor(
-  name='EventsCfg',
-  full_name='dmi.EventsCfg',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=590,
-  serialized_end=631,
-)
-
-
-_LISTEVENTSRESPONSE = _descriptor.Descriptor(
-  name='ListEventsResponse',
-  full_name='dmi.ListEventsResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.ListEventsResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _LISTEVENTSRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=634,
-  serialized_end=882,
-)
-
-
-_EVENTSCONFIGURATIONREQUEST = _descriptor.Descriptor(
-  name='EventsConfigurationRequest',
-  full_name='dmi.EventsConfigurationRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  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,
-      create_key=_descriptor._internal_create_key,
-    fields=[]),
-  ],
-  serialized_start=885,
-  serialized_end=1021,
-)
-
-
-_EVENTSCONFIGURATIONRESPONSE = _descriptor.Descriptor(
-  name='EventsConfigurationResponse',
-  full_name='dmi.EventsConfigurationResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.EventsConfigurationResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _EVENTSCONFIGURATIONRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1024,
-  serialized_end=1278,
-)
-
-
-_EVENTMETADATA = _descriptor.Descriptor(
-  name='EventMetaData',
-  full_name='dmi.EventMetaData',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1280,
-  serialized_end=1386,
-)
-
-
-_EVENT = _descriptor.Descriptor(
-  name='Event',
-  full_name='dmi.Event',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1389,
-  serialized_end=1589,
-)
-
-_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 = _LISTEVENTSRESPONSE_REASON
-_LISTEVENTSRESPONSE.fields_by_name['events'].message_type = _EVENTSCFG
-_LISTEVENTSRESPONSE_REASON.containing_type = _LISTEVENTSRESPONSE
-_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 = _EVENTSCONFIGURATIONRESPONSE_REASON
-_EVENTSCONFIGURATIONRESPONSE_REASON.containing_type = _EVENTSCONFIGURATIONRESPONSE
-_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 = DESCRIPTOR.message_types_by_name['ValueType']
+_WATERMARKS = DESCRIPTOR.message_types_by_name['WaterMarks']
+_THRESHOLDS = DESCRIPTOR.message_types_by_name['Thresholds']
+_THRESHOLDINFORMATION = DESCRIPTOR.message_types_by_name['ThresholdInformation']
+_EVENTCFG = DESCRIPTOR.message_types_by_name['EventCfg']
+_EVENTSCFG = DESCRIPTOR.message_types_by_name['EventsCfg']
+_LISTEVENTSRESPONSE = DESCRIPTOR.message_types_by_name['ListEventsResponse']
+_EVENTSCONFIGURATIONREQUEST = DESCRIPTOR.message_types_by_name['EventsConfigurationRequest']
+_EVENTSCONFIGURATIONRESPONSE = DESCRIPTOR.message_types_by_name['EventsConfigurationResponse']
+_EVENTMETADATA = DESCRIPTOR.message_types_by_name['EventMetaData']
+_EVENT = DESCRIPTOR.message_types_by_name['Event']
+_LISTEVENTSRESPONSE_REASON = _LISTEVENTSRESPONSE.enum_types_by_name['Reason']
+_EVENTSCONFIGURATIONRESPONSE_REASON = _EVENTSCONFIGURATIONRESPONSE.enum_types_by_name['Reason']
 ValueType = _reflection.GeneratedProtocolMessageType('ValueType', (_message.Message,), {
   'DESCRIPTOR' : _VALUETYPE,
   '__module__' : 'dmi.hw_events_mgmt_service_pb2'
@@ -1036,52 +160,39 @@
   })
 _sym_db.RegisterMessage(Event)
 
+_NATIVEEVENTSMANAGEMENTSERVICE = DESCRIPTOR.services_by_name['NativeEventsManagementService']
+if _descriptor._USE_C_DESCRIPTORS == False:
 
-DESCRIPTOR._options = None
-
-_NATIVEEVENTSMANAGEMENTSERVICE = _descriptor.ServiceDescriptor(
-  name='NativeEventsManagementService',
-  full_name='dmi.NativeEventsManagementService',
-  file=DESCRIPTOR,
-  index=0,
-  serialized_options=None,
-  create_key=_descriptor._internal_create_key,
-  serialized_start=3584,
-  serialized_end=3821,
-  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,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='UpdateEventsConfiguration',
-    full_name='dmi.NativeEventsManagementService.UpdateEventsConfiguration',
-    index=1,
-    containing_service=None,
-    input_type=_EVENTSCONFIGURATIONREQUEST,
-    output_type=_EVENTSCONFIGURATIONRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='StreamEvents',
-    full_name='dmi.NativeEventsManagementService.StreamEvents',
-    index=2,
-    containing_service=None,
-    input_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
-    output_type=_EVENT,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-])
-_sym_db.RegisterServiceDescriptor(_NATIVEEVENTSMANAGEMENTSERVICE)
-
-DESCRIPTOR.services_by_name['NativeEventsManagementService'] = _NATIVEEVENTSMANAGEMENTSERVICE
-
+  DESCRIPTOR._options = None
+  DESCRIPTOR._serialized_options = b'Z9github.com/opencord/device-management-interface/v3/go/dmi'
+  _EVENTIDS._serialized_start=1592
+  _EVENTIDS._serialized_end=3581
+  _VALUETYPE._serialized_start=136
+  _VALUETYPE._serialized_end=214
+  _WATERMARKS._serialized_start=216
+  _WATERMARKS._serialized_end=287
+  _THRESHOLDS._serialized_start=289
+  _THRESHOLDS._serialized_end=382
+  _THRESHOLDINFORMATION._serialized_start=384
+  _THRESHOLDINFORMATION._serialized_end=483
+  _EVENTCFG._serialized_start=485
+  _EVENTCFG._serialized_end=588
+  _EVENTSCFG._serialized_start=590
+  _EVENTSCFG._serialized_end=631
+  _LISTEVENTSRESPONSE._serialized_start=634
+  _LISTEVENTSRESPONSE._serialized_end=882
+  _LISTEVENTSRESPONSE_REASON._serialized_start=788
+  _LISTEVENTSRESPONSE_REASON._serialized_end=882
+  _EVENTSCONFIGURATIONREQUEST._serialized_start=885
+  _EVENTSCONFIGURATIONREQUEST._serialized_end=1021
+  _EVENTSCONFIGURATIONRESPONSE._serialized_start=1024
+  _EVENTSCONFIGURATIONRESPONSE._serialized_end=1278
+  _EVENTSCONFIGURATIONRESPONSE_REASON._serialized_start=1164
+  _EVENTSCONFIGURATIONRESPONSE_REASON._serialized_end=1278
+  _EVENTMETADATA._serialized_start=1280
+  _EVENTMETADATA._serialized_end=1386
+  _EVENT._serialized_start=1389
+  _EVENT._serialized_end=1589
+  _NATIVEEVENTSMANAGEMENTSERVICE._serialized_start=3584
+  _NATIVEEVENTSMANAGEMENTSERVICE._serialized_end=3821
 # @@protoc_insertion_point(module_scope)
diff --git a/python/dmi/hw_management_service_pb2.py b/python/dmi/hw_management_service_pb2.py
index 1bf0e85..3b6cbed 100644
--- a/python/dmi/hw_management_service_pb2.py
+++ b/python/dmi/hw_management_service_pb2.py
@@ -3,6 +3,7 @@
 # source: dmi/hw_management_service.proto
 """Generated protocol buffer code."""
 from google.protobuf import descriptor as _descriptor
+from google.protobuf import descriptor_pool as _descriptor_pool
 from google.protobuf import message as _message
 from google.protobuf import reflection as _reflection
 from google.protobuf import symbol_database as _symbol_database
@@ -16,1673 +17,47 @@
 from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__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',
-  create_key=_descriptor._internal_create_key,
-  serialized_pb=b'\n\x1f\x64mi/hw_management_service.proto\x12\x03\x64mi\x1a\x11\x64mi/commons.proto\x1a\x0c\x64mi/hw.proto\x1a\x1bgoogle/protobuf/empty.proto\":\n\x18PhysicalInventoryRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\"\x88\x02\n\x19PhysicalInventoryResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x35\n\x06reason\x18\x02 \x01(\x0e\x32%.dmi.PhysicalInventoryResponse.Reason\x12 \n\tinventory\x18\x03 \x01(\x0b\x32\r.dmi.Hardware\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\"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\"\xa2\x02\n\x1aHWComponentInfoGetResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x36\n\x06reason\x18\x02 \x01(\x0e\x32&.dmi.HWComponentInfoGetResponse.Reason\x12!\n\tcomponent\x18\x03 \x01(\x0b\x32\x0e.dmi.Component\x12\x15\n\rreason_detail\x18\x04 \x01(\t\"u\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x15\n\x11UNKNOWN_COMPONENT\x10\x02\x12\x12\n\x0eINTERNAL_ERROR\x10\x03\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x04\"\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\"\x94\x02\n\x1aHWComponentInfoSetResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x36\n\x06reason\x18\x02 \x01(\x0e\x32&.dmi.HWComponentInfoSetResponse.Reason\x12\x15\n\rreason_detail\x18\x03 \x01(\t\"\x89\x01\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x15\n\x11UNKNOWN_COMPONENT\x10\x02\x12\x12\n\x0eINVALID_PARAMS\x10\x03\x12\x12\n\x0eINTERNAL_ERROR\x10\x04\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x05\"\xe7\x02\n\x1bStartManagingDeviceResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x37\n\x06reason\x18\x02 \x01(\x0e\x32\'.dmi.StartManagingDeviceResponse.Reason\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x03 \x01(\x0b\x32\t.dmi.Uuid\x12\x15\n\rreason_detail\x18\x04 \x01(\t\"\xba\x01\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x1a\n\x16\x44\x45VICE_ALREADY_MANAGED\x10\x01\x12!\n\x1dOPERATION_ALREADY_IN_PROGRESS\x10\x02\x12\x12\n\x0eINVALID_PARAMS\x10\x03\x12\x12\n\x0eINTERNAL_ERROR\x10\x04\x12\x1a\n\x16\x41UTHENTICATION_FAILURE\x10\x05\x12\x17\n\x13INCOMPATIBLE_DEVICE\x10\x06\")\n\x19StopManagingDeviceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xbc\x01\n\x1aStopManagingDeviceResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x36\n\x06reason\x18\x02 \x01(\x0e\x32&.dmi.StopManagingDeviceResponse.Reason\x12\x15\n\rreason_detail\x18\x03 \x01(\t\"2\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\"[\n\x11ManagedDeviceInfo\x12&\n\x04info\x18\x01 \x01(\x0b\x32\x18.dmi.ModifiableComponent\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x02 \x01(\x0b\x32\t.dmi.Uuid\"\xc6\x01\n\x16ManagedDevicesResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x32\n\x06reason\x18\x02 \x01(\x0e\x32\".dmi.ManagedDevicesResponse.Reason\x12\'\n\x07\x64\x65vices\x18\x03 \x03(\x0b\x32\x16.dmi.ManagedDeviceInfo\"2\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eINTERNAL_ERROR\x10\x01\"o\n\x19SetLoggingEndpointRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12\x18\n\x10logging_endpoint\x18\x02 \x01(\t\x12\x18\n\x10logging_protocol\x18\x03 \x01(\t\"\xc3\x02\n\x19SetRemoteEndpointResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x35\n\x06reason\x18\x02 \x01(\x0e\x32%.dmi.SetRemoteEndpointResponse.Reason\x12\x15\n\rreason_detail\x18\x03 \x01(\t\"\xba\x01\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x12\n\x0eINTERNAL_ERROR\x10\x02\x12\x1a\n\x16LOGGING_ENDPOINT_ERROR\x10\x03\x12#\n\x1fLOGGING_ENDPOINT_PROTOCOL_ERROR\x10\x04\x12\x19\n\x15MSGBUS_ENDPOINT_ERROR\x10\x05\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x06\"\x9c\x02\n\x1aGetLoggingEndpointResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x36\n\x06reason\x18\x02 \x01(\x0e\x32&.dmi.GetLoggingEndpointResponse.Reason\x12\x18\n\x10logging_endpoint\x18\x03 \x01(\t\x12\x18\n\x10logging_protocol\x18\x04 \x01(\t\x12\x15\n\rreason_detail\x18\x05 \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\"3\n\x18SetMsgBusEndpointRequest\x12\x17\n\x0fmsgbus_endpoint\x18\x01 \x01(\t\"\xeb\x01\n\x19GetMsgBusEndpointResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x35\n\x06reason\x18\x02 \x01(\x0e\x32%.dmi.GetMsgBusEndpointResponse.Reason\x12\x17\n\x0fmsgbus_endpoint\x18\x03 \x01(\t\x12\x15\n\rreason_detail\x18\x04 \x01(\t\"J\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eINTERNAL_ERROR\x10\x01\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x02\"E\n\x10\x45ntitiesLogLevel\x12\x1f\n\x08logLevel\x18\x01 \x01(\x0e\x32\r.dmi.LogLevel\x12\x10\n\x08\x65ntities\x18\x02 \x03(\t\"^\n\x12SetLogLevelRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12(\n\tloglevels\x18\x02 \x03(\x0b\x32\x15.dmi.EntitiesLogLevel\"\x92\x02\n\x13SetLogLevelResponse\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12\x1b\n\x06status\x18\x02 \x01(\x0e\x32\x0b.dmi.Status\x12/\n\x06reason\x18\x03 \x01(\x0e\x32\x1f.dmi.SetLogLevelResponse.Reason\x12\x15\n\rreason_detail\x18\x04 \x01(\t\"v\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\x12UNKNOWN_LOG_ENTITY\x10\x03\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x04\"F\n\x12GetLogLevelRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12\x10\n\x08\x65ntities\x18\x02 \x03(\t\"\xbc\x02\n\x13GetLogLevelResponse\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12(\n\tlogLevels\x18\x02 \x03(\x0b\x32\x15.dmi.EntitiesLogLevel\x12\x1b\n\x06status\x18\x03 \x01(\x0e\x32\x0b.dmi.Status\x12/\n\x06reason\x18\x04 \x01(\x0e\x32\x1f.dmi.GetLogLevelResponse.Reason\x12\x15\n\rreason_detail\x18\x05 \x01(\t\"v\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\x12UNKNOWN_LOG_ENTITY\x10\x03\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x04\"<\n\x1aGetLoggableEntitiesRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\"(\n\tHeartbeat\x12\x1b\n\x13heartbeat_signature\x18\x01 \x01(\x07\"5\n\x13RebootDeviceRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\"\xdc\x01\n\x14RebootDeviceResponse\x12\x1b\n\x06status\x18\x03 \x01(\x0e\x32\x0b.dmi.Status\x12\x30\n\x06reason\x18\x04 \x01(\x0e\x32 .dmi.RebootDeviceResponse.Reason\x12\x15\n\rreason_detail\x18\x05 \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\x32\xae\t\n\x19NativeHWManagementService\x12S\n\x13StartManagingDevice\x12\x18.dmi.ModifiableComponent\x1a .dmi.StartManagingDeviceResponse0\x01\x12U\n\x12StopManagingDevice\x12\x1e.dmi.StopManagingDeviceRequest\x1a\x1f.dmi.StopManagingDeviceResponse\x12H\n\x11GetManagedDevices\x12\x16.google.protobuf.Empty\x1a\x1b.dmi.ManagedDevicesResponse\x12W\n\x14GetPhysicalInventory\x12\x1d.dmi.PhysicalInventoryRequest\x1a\x1e.dmi.PhysicalInventoryResponse0\x01\x12W\n\x12GetHWComponentInfo\x12\x1e.dmi.HWComponentInfoGetRequest\x1a\x1f.dmi.HWComponentInfoGetResponse0\x01\x12U\n\x12SetHWComponentInfo\x12\x1e.dmi.HWComponentInfoSetRequest\x1a\x1f.dmi.HWComponentInfoSetResponse\x12T\n\x12SetLoggingEndpoint\x12\x1e.dmi.SetLoggingEndpointRequest\x1a\x1e.dmi.SetRemoteEndpointResponse\x12\x46\n\x12GetLoggingEndpoint\x12\x0f.dmi.HardwareID\x1a\x1f.dmi.GetLoggingEndpointResponse\x12R\n\x11SetMsgBusEndpoint\x12\x1d.dmi.SetMsgBusEndpointRequest\x1a\x1e.dmi.SetRemoteEndpointResponse\x12K\n\x11GetMsgBusEndpoint\x12\x16.google.protobuf.Empty\x1a\x1e.dmi.GetMsgBusEndpointResponse\x12P\n\x13GetLoggableEntities\x12\x1f.dmi.GetLoggableEntitiesRequest\x1a\x18.dmi.GetLogLevelResponse\x12@\n\x0bSetLogLevel\x12\x17.dmi.SetLogLevelRequest\x1a\x18.dmi.SetLogLevelResponse\x12@\n\x0bGetLogLevel\x12\x17.dmi.GetLogLevelRequest\x1a\x18.dmi.GetLogLevelResponse\x12\x38\n\x0eHeartbeatCheck\x12\x16.google.protobuf.Empty\x1a\x0e.dmi.Heartbeat\x12\x43\n\x0cRebootDevice\x12\x18.dmi.RebootDeviceRequest\x1a\x19.dmi.RebootDeviceResponseB;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_empty__pb2.DESCRIPTOR,])
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x64mi/hw_management_service.proto\x12\x03\x64mi\x1a\x11\x64mi/commons.proto\x1a\x0c\x64mi/hw.proto\x1a\x1bgoogle/protobuf/empty.proto\":\n\x18PhysicalInventoryRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\"\x88\x02\n\x19PhysicalInventoryResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x35\n\x06reason\x18\x02 \x01(\x0e\x32%.dmi.PhysicalInventoryResponse.Reason\x12 \n\tinventory\x18\x03 \x01(\x0b\x32\r.dmi.Hardware\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\"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\"\xa2\x02\n\x1aHWComponentInfoGetResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x36\n\x06reason\x18\x02 \x01(\x0e\x32&.dmi.HWComponentInfoGetResponse.Reason\x12!\n\tcomponent\x18\x03 \x01(\x0b\x32\x0e.dmi.Component\x12\x15\n\rreason_detail\x18\x04 \x01(\t\"u\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x15\n\x11UNKNOWN_COMPONENT\x10\x02\x12\x12\n\x0eINTERNAL_ERROR\x10\x03\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x04\"\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\"\xa9\x02\n\x1aHWComponentInfoSetResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x36\n\x06reason\x18\x02 \x01(\x0e\x32&.dmi.HWComponentInfoSetResponse.Reason\x12\x15\n\rreason_detail\x18\x03 \x01(\t\"\x9e\x01\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x15\n\x11UNKNOWN_COMPONENT\x10\x02\x12\x12\n\x0eINVALID_PARAMS\x10\x03\x12\x12\n\x0eINTERNAL_ERROR\x10\x04\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x05\x12\x13\n\x0fSET_UNSUPPORTED\x10\x06\"\xe7\x02\n\x1bStartManagingDeviceResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x37\n\x06reason\x18\x02 \x01(\x0e\x32\'.dmi.StartManagingDeviceResponse.Reason\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x03 \x01(\x0b\x32\t.dmi.Uuid\x12\x15\n\rreason_detail\x18\x04 \x01(\t\"\xba\x01\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x1a\n\x16\x44\x45VICE_ALREADY_MANAGED\x10\x01\x12!\n\x1dOPERATION_ALREADY_IN_PROGRESS\x10\x02\x12\x12\n\x0eINVALID_PARAMS\x10\x03\x12\x12\n\x0eINTERNAL_ERROR\x10\x04\x12\x1a\n\x16\x41UTHENTICATION_FAILURE\x10\x05\x12\x17\n\x13INCOMPATIBLE_DEVICE\x10\x06\")\n\x19StopManagingDeviceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xbc\x01\n\x1aStopManagingDeviceResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x36\n\x06reason\x18\x02 \x01(\x0e\x32&.dmi.StopManagingDeviceResponse.Reason\x12\x15\n\rreason_detail\x18\x03 \x01(\t\"2\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\"[\n\x11ManagedDeviceInfo\x12&\n\x04info\x18\x01 \x01(\x0b\x32\x18.dmi.ModifiableComponent\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x02 \x01(\x0b\x32\t.dmi.Uuid\"\xc6\x01\n\x16ManagedDevicesResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x32\n\x06reason\x18\x02 \x01(\x0e\x32\".dmi.ManagedDevicesResponse.Reason\x12\'\n\x07\x64\x65vices\x18\x03 \x03(\x0b\x32\x16.dmi.ManagedDeviceInfo\"2\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eINTERNAL_ERROR\x10\x01\"o\n\x19SetLoggingEndpointRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12\x18\n\x10logging_endpoint\x18\x02 \x01(\t\x12\x18\n\x10logging_protocol\x18\x03 \x01(\t\"\xc3\x02\n\x19SetRemoteEndpointResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x35\n\x06reason\x18\x02 \x01(\x0e\x32%.dmi.SetRemoteEndpointResponse.Reason\x12\x15\n\rreason_detail\x18\x03 \x01(\t\"\xba\x01\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x12\n\x0eINTERNAL_ERROR\x10\x02\x12\x1a\n\x16LOGGING_ENDPOINT_ERROR\x10\x03\x12#\n\x1fLOGGING_ENDPOINT_PROTOCOL_ERROR\x10\x04\x12\x19\n\x15MSGBUS_ENDPOINT_ERROR\x10\x05\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x06\"\x9c\x02\n\x1aGetLoggingEndpointResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x36\n\x06reason\x18\x02 \x01(\x0e\x32&.dmi.GetLoggingEndpointResponse.Reason\x12\x18\n\x10logging_endpoint\x18\x03 \x01(\t\x12\x18\n\x10logging_protocol\x18\x04 \x01(\t\x12\x15\n\rreason_detail\x18\x05 \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\"3\n\x18SetMsgBusEndpointRequest\x12\x17\n\x0fmsgbus_endpoint\x18\x01 \x01(\t\"\xeb\x01\n\x19GetMsgBusEndpointResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x35\n\x06reason\x18\x02 \x01(\x0e\x32%.dmi.GetMsgBusEndpointResponse.Reason\x12\x17\n\x0fmsgbus_endpoint\x18\x03 \x01(\t\x12\x15\n\rreason_detail\x18\x04 \x01(\t\"J\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eINTERNAL_ERROR\x10\x01\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x02\"E\n\x10\x45ntitiesLogLevel\x12\x1f\n\x08logLevel\x18\x01 \x01(\x0e\x32\r.dmi.LogLevel\x12\x10\n\x08\x65ntities\x18\x02 \x03(\t\"^\n\x12SetLogLevelRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12(\n\tloglevels\x18\x02 \x03(\x0b\x32\x15.dmi.EntitiesLogLevel\"\x92\x02\n\x13SetLogLevelResponse\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12\x1b\n\x06status\x18\x02 \x01(\x0e\x32\x0b.dmi.Status\x12/\n\x06reason\x18\x03 \x01(\x0e\x32\x1f.dmi.SetLogLevelResponse.Reason\x12\x15\n\rreason_detail\x18\x04 \x01(\t\"v\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\x12UNKNOWN_LOG_ENTITY\x10\x03\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x04\"F\n\x12GetLogLevelRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12\x10\n\x08\x65ntities\x18\x02 \x03(\t\"\xbc\x02\n\x13GetLogLevelResponse\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12(\n\tlogLevels\x18\x02 \x03(\x0b\x32\x15.dmi.EntitiesLogLevel\x12\x1b\n\x06status\x18\x03 \x01(\x0e\x32\x0b.dmi.Status\x12/\n\x06reason\x18\x04 \x01(\x0e\x32\x1f.dmi.GetLogLevelResponse.Reason\x12\x15\n\rreason_detail\x18\x05 \x01(\t\"v\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\x12UNKNOWN_LOG_ENTITY\x10\x03\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x04\"<\n\x1aGetLoggableEntitiesRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\"(\n\tHeartbeat\x12\x1b\n\x13heartbeat_signature\x18\x01 \x01(\x07\"5\n\x13RebootDeviceRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\"\xdc\x01\n\x14RebootDeviceResponse\x12\x1b\n\x06status\x18\x03 \x01(\x0e\x32\x0b.dmi.Status\x12\x30\n\x06reason\x18\x04 \x01(\x0e\x32 .dmi.RebootDeviceResponse.Reason\x12\x15\n\rreason_detail\x18\x05 \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\x32\xae\t\n\x19NativeHWManagementService\x12S\n\x13StartManagingDevice\x12\x18.dmi.ModifiableComponent\x1a .dmi.StartManagingDeviceResponse0\x01\x12U\n\x12StopManagingDevice\x12\x1e.dmi.StopManagingDeviceRequest\x1a\x1f.dmi.StopManagingDeviceResponse\x12H\n\x11GetManagedDevices\x12\x16.google.protobuf.Empty\x1a\x1b.dmi.ManagedDevicesResponse\x12W\n\x14GetPhysicalInventory\x12\x1d.dmi.PhysicalInventoryRequest\x1a\x1e.dmi.PhysicalInventoryResponse0\x01\x12W\n\x12GetHWComponentInfo\x12\x1e.dmi.HWComponentInfoGetRequest\x1a\x1f.dmi.HWComponentInfoGetResponse0\x01\x12U\n\x12SetHWComponentInfo\x12\x1e.dmi.HWComponentInfoSetRequest\x1a\x1f.dmi.HWComponentInfoSetResponse\x12T\n\x12SetLoggingEndpoint\x12\x1e.dmi.SetLoggingEndpointRequest\x1a\x1e.dmi.SetRemoteEndpointResponse\x12\x46\n\x12GetLoggingEndpoint\x12\x0f.dmi.HardwareID\x1a\x1f.dmi.GetLoggingEndpointResponse\x12R\n\x11SetMsgBusEndpoint\x12\x1d.dmi.SetMsgBusEndpointRequest\x1a\x1e.dmi.SetRemoteEndpointResponse\x12K\n\x11GetMsgBusEndpoint\x12\x16.google.protobuf.Empty\x1a\x1e.dmi.GetMsgBusEndpointResponse\x12P\n\x13GetLoggableEntities\x12\x1f.dmi.GetLoggableEntitiesRequest\x1a\x18.dmi.GetLogLevelResponse\x12@\n\x0bSetLogLevel\x12\x17.dmi.SetLogLevelRequest\x1a\x18.dmi.SetLogLevelResponse\x12@\n\x0bGetLogLevel\x12\x17.dmi.GetLogLevelRequest\x1a\x18.dmi.GetLogLevelResponse\x12\x38\n\x0eHeartbeatCheck\x12\x16.google.protobuf.Empty\x1a\x0e.dmi.Heartbeat\x12\x43\n\x0cRebootDevice\x12\x18.dmi.RebootDeviceRequest\x1a\x19.dmi.RebootDeviceResponseB;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
 
 
 
-_PHYSICALINVENTORYRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.PhysicalInventoryResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=333,
-  serialized_end=427,
-)
-_sym_db.RegisterEnumDescriptor(_PHYSICALINVENTORYRESPONSE_REASON)
-
-_HWCOMPONENTINFOGETRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.HWComponentInfoGetResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_COMPONENT', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=723,
-  serialized_end=840,
-)
-_sym_db.RegisterEnumDescriptor(_HWCOMPONENTINFOGETRESPONSE_REASON)
-
-_HWCOMPONENTINFOSETRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.HWComponentInfoSetResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_COMPONENT', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INVALID_PARAMS', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=1146,
-  serialized_end=1283,
-)
-_sym_db.RegisterEnumDescriptor(_HWCOMPONENTINFOSETRESPONSE_REASON)
-
-_STARTMANAGINGDEVICERESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.StartManagingDeviceResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_ALREADY_MANAGED', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='OPERATION_ALREADY_IN_PROGRESS', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INVALID_PARAMS', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='AUTHENTICATION_FAILURE', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INCOMPATIBLE_DEVICE', index=6, number=6,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=1459,
-  serialized_end=1645,
-)
-_sym_db.RegisterEnumDescriptor(_STARTMANAGINGDEVICERESPONSE_REASON)
-
-_STOPMANAGINGDEVICERESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.StopManagingDeviceResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=333,
-  serialized_end=383,
-)
-_sym_db.RegisterEnumDescriptor(_STOPMANAGINGDEVICERESPONSE_REASON)
-
-_MANAGEDDEVICESRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.ManagedDevicesResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=2123,
-  serialized_end=2173,
-)
-_sym_db.RegisterEnumDescriptor(_MANAGEDDEVICESRESPONSE_REASON)
-
-_SETREMOTEENDPOINTRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.SetRemoteEndpointResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='LOGGING_ENDPOINT_ERROR', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='LOGGING_ENDPOINT_PROTOCOL_ERROR', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='MSGBUS_ENDPOINT_ERROR', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=6, number=6,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=2426,
-  serialized_end=2612,
-)
-_sym_db.RegisterEnumDescriptor(_SETREMOTEENDPOINTRESPONSE_REASON)
-
-_GETLOGGINGENDPOINTRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.GetLoggingEndpointResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=333,
-  serialized_end=427,
-)
-_sym_db.RegisterEnumDescriptor(_GETLOGGINGENDPOINTRESPONSE_REASON)
-
-_GETMSGBUSENDPOINTRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.GetMsgBusEndpointResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=3116,
-  serialized_end=3190,
-)
-_sym_db.RegisterEnumDescriptor(_GETMSGBUSENDPOINTRESPONSE_REASON)
-
-_SETLOGLEVELRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.SetLogLevelResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_LOG_ENTITY', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=3516,
-  serialized_end=3634,
-)
-_sym_db.RegisterEnumDescriptor(_SETLOGLEVELRESPONSE_REASON)
-
-_GETLOGLEVELRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.GetLogLevelResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_LOG_ENTITY', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=3516,
-  serialized_end=3634,
-)
-_sym_db.RegisterEnumDescriptor(_GETLOGLEVELRESPONSE_REASON)
-
-_REBOOTDEVICERESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.RebootDeviceResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=333,
-  serialized_end=427,
-)
-_sym_db.RegisterEnumDescriptor(_REBOOTDEVICERESPONSE_REASON)
-
-
-_PHYSICALINVENTORYREQUEST = _descriptor.Descriptor(
-  name='PhysicalInventoryRequest',
-  full_name='dmi.PhysicalInventoryRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=102,
-  serialized_end=160,
-)
-
-
-_PHYSICALINVENTORYRESPONSE = _descriptor.Descriptor(
-  name='PhysicalInventoryResponse',
-  full_name='dmi.PhysicalInventoryResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.PhysicalInventoryResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _PHYSICALINVENTORYRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=163,
-  serialized_end=427,
-)
-
-
-_HWCOMPONENTINFOGETREQUEST = _descriptor.Descriptor(
-  name='HWComponentInfoGetRequest',
-  full_name='dmi.HWComponentInfoGetRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=429,
-  serialized_end=547,
-)
-
-
-_HWCOMPONENTINFOGETRESPONSE = _descriptor.Descriptor(
-  name='HWComponentInfoGetResponse',
-  full_name='dmi.HWComponentInfoGetResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='status', full_name='dmi.HWComponentInfoGetResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='dmi.HWComponentInfoGetResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='component', full_name='dmi.HWComponentInfoGetResponse.component', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.HWComponentInfoGetResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _HWCOMPONENTINFOGETRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=550,
-  serialized_end=840,
-)
-
-
-_HWCOMPONENTINFOSETREQUEST = _descriptor.Descriptor(
-  name='HWComponentInfoSetRequest',
-  full_name='dmi.HWComponentInfoSetRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=843,
-  serialized_end=1004,
-)
-
-
-_HWCOMPONENTINFOSETRESPONSE = _descriptor.Descriptor(
-  name='HWComponentInfoSetResponse',
-  full_name='dmi.HWComponentInfoSetResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.HWComponentInfoSetResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _HWCOMPONENTINFOSETRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1007,
-  serialized_end=1283,
-)
-
-
-_STARTMANAGINGDEVICERESPONSE = _descriptor.Descriptor(
-  name='StartManagingDeviceResponse',
-  full_name='dmi.StartManagingDeviceResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.StartManagingDeviceResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _STARTMANAGINGDEVICERESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1286,
-  serialized_end=1645,
-)
-
-
-_STOPMANAGINGDEVICEREQUEST = _descriptor.Descriptor(
-  name='StopManagingDeviceRequest',
-  full_name='dmi.StopManagingDeviceRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1647,
-  serialized_end=1688,
-)
-
-
-_STOPMANAGINGDEVICERESPONSE = _descriptor.Descriptor(
-  name='StopManagingDeviceResponse',
-  full_name='dmi.StopManagingDeviceResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.StopManagingDeviceResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _STOPMANAGINGDEVICERESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1691,
-  serialized_end=1879,
-)
-
-
-_MANAGEDDEVICEINFO = _descriptor.Descriptor(
-  name='ManagedDeviceInfo',
-  full_name='dmi.ManagedDeviceInfo',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='info', full_name='dmi.ManagedDeviceInfo.info', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='device_uuid', full_name='dmi.ManagedDeviceInfo.device_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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1881,
-  serialized_end=1972,
-)
-
-
-_MANAGEDDEVICESRESPONSE = _descriptor.Descriptor(
-  name='ManagedDevicesResponse',
-  full_name='dmi.ManagedDevicesResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='status', full_name='dmi.ManagedDevicesResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='dmi.ManagedDevicesResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='devices', full_name='dmi.ManagedDevicesResponse.devices', index=2,
-      number=3, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _MANAGEDDEVICESRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1975,
-  serialized_end=2173,
-)
-
-
-_SETLOGGINGENDPOINTREQUEST = _descriptor.Descriptor(
-  name='SetLoggingEndpointRequest',
-  full_name='dmi.SetLoggingEndpointRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='device_uuid', full_name='dmi.SetLoggingEndpointRequest.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='logging_endpoint', full_name='dmi.SetLoggingEndpointRequest.logging_endpoint', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='logging_protocol', full_name='dmi.SetLoggingEndpointRequest.logging_protocol', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2175,
-  serialized_end=2286,
-)
-
-
-_SETREMOTEENDPOINTRESPONSE = _descriptor.Descriptor(
-  name='SetRemoteEndpointResponse',
-  full_name='dmi.SetRemoteEndpointResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='status', full_name='dmi.SetRemoteEndpointResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='dmi.SetRemoteEndpointResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.SetRemoteEndpointResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _SETREMOTEENDPOINTRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2289,
-  serialized_end=2612,
-)
-
-
-_GETLOGGINGENDPOINTRESPONSE = _descriptor.Descriptor(
-  name='GetLoggingEndpointResponse',
-  full_name='dmi.GetLoggingEndpointResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='status', full_name='dmi.GetLoggingEndpointResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='dmi.GetLoggingEndpointResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='logging_endpoint', full_name='dmi.GetLoggingEndpointResponse.logging_endpoint', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='logging_protocol', full_name='dmi.GetLoggingEndpointResponse.logging_protocol', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.GetLoggingEndpointResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _GETLOGGINGENDPOINTRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2615,
-  serialized_end=2899,
-)
-
-
-_SETMSGBUSENDPOINTREQUEST = _descriptor.Descriptor(
-  name='SetMsgBusEndpointRequest',
-  full_name='dmi.SetMsgBusEndpointRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='msgbus_endpoint', full_name='dmi.SetMsgBusEndpointRequest.msgbus_endpoint', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2901,
-  serialized_end=2952,
-)
-
-
-_GETMSGBUSENDPOINTRESPONSE = _descriptor.Descriptor(
-  name='GetMsgBusEndpointResponse',
-  full_name='dmi.GetMsgBusEndpointResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='status', full_name='dmi.GetMsgBusEndpointResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='dmi.GetMsgBusEndpointResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='msgbus_endpoint', full_name='dmi.GetMsgBusEndpointResponse.msgbus_endpoint', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.GetMsgBusEndpointResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _GETMSGBUSENDPOINTRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2955,
-  serialized_end=3190,
-)
-
-
-_ENTITIESLOGLEVEL = _descriptor.Descriptor(
-  name='EntitiesLogLevel',
-  full_name='dmi.EntitiesLogLevel',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='logLevel', full_name='dmi.EntitiesLogLevel.logLevel', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='entities', full_name='dmi.EntitiesLogLevel.entities', index=1,
-      number=2, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3192,
-  serialized_end=3261,
-)
-
-
-_SETLOGLEVELREQUEST = _descriptor.Descriptor(
-  name='SetLogLevelRequest',
-  full_name='dmi.SetLogLevelRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='device_uuid', full_name='dmi.SetLogLevelRequest.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='loglevels', full_name='dmi.SetLogLevelRequest.loglevels', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3263,
-  serialized_end=3357,
-)
-
-
-_SETLOGLEVELRESPONSE = _descriptor.Descriptor(
-  name='SetLogLevelResponse',
-  full_name='dmi.SetLogLevelResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='device_uuid', full_name='dmi.SetLogLevelResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='status', full_name='dmi.SetLogLevelResponse.status', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='dmi.SetLogLevelResponse.reason', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.SetLogLevelResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _SETLOGLEVELRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3360,
-  serialized_end=3634,
-)
-
-
-_GETLOGLEVELREQUEST = _descriptor.Descriptor(
-  name='GetLogLevelRequest',
-  full_name='dmi.GetLogLevelRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='device_uuid', full_name='dmi.GetLogLevelRequest.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='entities', full_name='dmi.GetLogLevelRequest.entities', index=1,
-      number=2, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3636,
-  serialized_end=3706,
-)
-
-
-_GETLOGLEVELRESPONSE = _descriptor.Descriptor(
-  name='GetLogLevelResponse',
-  full_name='dmi.GetLogLevelResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='device_uuid', full_name='dmi.GetLogLevelResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='logLevels', full_name='dmi.GetLogLevelResponse.logLevels', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='status', full_name='dmi.GetLogLevelResponse.status', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='dmi.GetLogLevelResponse.reason', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.GetLogLevelResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _GETLOGLEVELRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3709,
-  serialized_end=4025,
-)
-
-
-_GETLOGGABLEENTITIESREQUEST = _descriptor.Descriptor(
-  name='GetLoggableEntitiesRequest',
-  full_name='dmi.GetLoggableEntitiesRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='device_uuid', full_name='dmi.GetLoggableEntitiesRequest.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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4027,
-  serialized_end=4087,
-)
-
-
-_HEARTBEAT = _descriptor.Descriptor(
-  name='Heartbeat',
-  full_name='dmi.Heartbeat',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='heartbeat_signature', full_name='dmi.Heartbeat.heartbeat_signature', index=0,
-      number=1, type=7, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4089,
-  serialized_end=4129,
-)
-
-
-_REBOOTDEVICEREQUEST = _descriptor.Descriptor(
-  name='RebootDeviceRequest',
-  full_name='dmi.RebootDeviceRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='device_uuid', full_name='dmi.RebootDeviceRequest.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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4131,
-  serialized_end=4184,
-)
-
-
-_REBOOTDEVICERESPONSE = _descriptor.Descriptor(
-  name='RebootDeviceResponse',
-  full_name='dmi.RebootDeviceResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='status', full_name='dmi.RebootDeviceResponse.status', index=0,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='dmi.RebootDeviceResponse.reason', index=1,
-      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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.RebootDeviceResponse.reason_detail', index=2,
-      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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _REBOOTDEVICERESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=4187,
-  serialized_end=4407,
-)
-
-_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 = _PHYSICALINVENTORYRESPONSE_REASON
-_PHYSICALINVENTORYRESPONSE.fields_by_name['inventory'].message_type = dmi_dot_hw__pb2._HARDWARE
-_PHYSICALINVENTORYRESPONSE_REASON.containing_type = _PHYSICALINVENTORYRESPONSE
-_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
-_HWCOMPONENTINFOGETRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_HWCOMPONENTINFOGETRESPONSE.fields_by_name['reason'].enum_type = _HWCOMPONENTINFOGETRESPONSE_REASON
-_HWCOMPONENTINFOGETRESPONSE.fields_by_name['component'].message_type = dmi_dot_hw__pb2._COMPONENT
-_HWCOMPONENTINFOGETRESPONSE_REASON.containing_type = _HWCOMPONENTINFOGETRESPONSE
-_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 = _HWCOMPONENTINFOSETRESPONSE_REASON
-_HWCOMPONENTINFOSETRESPONSE_REASON.containing_type = _HWCOMPONENTINFOSETRESPONSE
-_STARTMANAGINGDEVICERESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_STARTMANAGINGDEVICERESPONSE.fields_by_name['reason'].enum_type = _STARTMANAGINGDEVICERESPONSE_REASON
-_STARTMANAGINGDEVICERESPONSE.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
-_STARTMANAGINGDEVICERESPONSE_REASON.containing_type = _STARTMANAGINGDEVICERESPONSE
-_STOPMANAGINGDEVICERESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_STOPMANAGINGDEVICERESPONSE.fields_by_name['reason'].enum_type = _STOPMANAGINGDEVICERESPONSE_REASON
-_STOPMANAGINGDEVICERESPONSE_REASON.containing_type = _STOPMANAGINGDEVICERESPONSE
-_MANAGEDDEVICEINFO.fields_by_name['info'].message_type = dmi_dot_hw__pb2._MODIFIABLECOMPONENT
-_MANAGEDDEVICEINFO.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
-_MANAGEDDEVICESRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_MANAGEDDEVICESRESPONSE.fields_by_name['reason'].enum_type = _MANAGEDDEVICESRESPONSE_REASON
-_MANAGEDDEVICESRESPONSE.fields_by_name['devices'].message_type = _MANAGEDDEVICEINFO
-_MANAGEDDEVICESRESPONSE_REASON.containing_type = _MANAGEDDEVICESRESPONSE
-_SETLOGGINGENDPOINTREQUEST.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
-_SETREMOTEENDPOINTRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_SETREMOTEENDPOINTRESPONSE.fields_by_name['reason'].enum_type = _SETREMOTEENDPOINTRESPONSE_REASON
-_SETREMOTEENDPOINTRESPONSE_REASON.containing_type = _SETREMOTEENDPOINTRESPONSE
-_GETLOGGINGENDPOINTRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_GETLOGGINGENDPOINTRESPONSE.fields_by_name['reason'].enum_type = _GETLOGGINGENDPOINTRESPONSE_REASON
-_GETLOGGINGENDPOINTRESPONSE_REASON.containing_type = _GETLOGGINGENDPOINTRESPONSE
-_GETMSGBUSENDPOINTRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_GETMSGBUSENDPOINTRESPONSE.fields_by_name['reason'].enum_type = _GETMSGBUSENDPOINTRESPONSE_REASON
-_GETMSGBUSENDPOINTRESPONSE_REASON.containing_type = _GETMSGBUSENDPOINTRESPONSE
-_ENTITIESLOGLEVEL.fields_by_name['logLevel'].enum_type = dmi_dot_commons__pb2._LOGLEVEL
-_SETLOGLEVELREQUEST.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
-_SETLOGLEVELREQUEST.fields_by_name['loglevels'].message_type = _ENTITIESLOGLEVEL
-_SETLOGLEVELRESPONSE.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
-_SETLOGLEVELRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_SETLOGLEVELRESPONSE.fields_by_name['reason'].enum_type = _SETLOGLEVELRESPONSE_REASON
-_SETLOGLEVELRESPONSE_REASON.containing_type = _SETLOGLEVELRESPONSE
-_GETLOGLEVELREQUEST.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
-_GETLOGLEVELRESPONSE.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
-_GETLOGLEVELRESPONSE.fields_by_name['logLevels'].message_type = _ENTITIESLOGLEVEL
-_GETLOGLEVELRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_GETLOGLEVELRESPONSE.fields_by_name['reason'].enum_type = _GETLOGLEVELRESPONSE_REASON
-_GETLOGLEVELRESPONSE_REASON.containing_type = _GETLOGLEVELRESPONSE
-_GETLOGGABLEENTITIESREQUEST.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
-_REBOOTDEVICEREQUEST.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
-_REBOOTDEVICERESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_REBOOTDEVICERESPONSE.fields_by_name['reason'].enum_type = _REBOOTDEVICERESPONSE_REASON
-_REBOOTDEVICERESPONSE_REASON.containing_type = _REBOOTDEVICERESPONSE
-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['HWComponentInfoGetResponse'] = _HWCOMPONENTINFOGETRESPONSE
-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
-DESCRIPTOR.message_types_by_name['ManagedDeviceInfo'] = _MANAGEDDEVICEINFO
-DESCRIPTOR.message_types_by_name['ManagedDevicesResponse'] = _MANAGEDDEVICESRESPONSE
-DESCRIPTOR.message_types_by_name['SetLoggingEndpointRequest'] = _SETLOGGINGENDPOINTREQUEST
-DESCRIPTOR.message_types_by_name['SetRemoteEndpointResponse'] = _SETREMOTEENDPOINTRESPONSE
-DESCRIPTOR.message_types_by_name['GetLoggingEndpointResponse'] = _GETLOGGINGENDPOINTRESPONSE
-DESCRIPTOR.message_types_by_name['SetMsgBusEndpointRequest'] = _SETMSGBUSENDPOINTREQUEST
-DESCRIPTOR.message_types_by_name['GetMsgBusEndpointResponse'] = _GETMSGBUSENDPOINTRESPONSE
-DESCRIPTOR.message_types_by_name['EntitiesLogLevel'] = _ENTITIESLOGLEVEL
-DESCRIPTOR.message_types_by_name['SetLogLevelRequest'] = _SETLOGLEVELREQUEST
-DESCRIPTOR.message_types_by_name['SetLogLevelResponse'] = _SETLOGLEVELRESPONSE
-DESCRIPTOR.message_types_by_name['GetLogLevelRequest'] = _GETLOGLEVELREQUEST
-DESCRIPTOR.message_types_by_name['GetLogLevelResponse'] = _GETLOGLEVELRESPONSE
-DESCRIPTOR.message_types_by_name['GetLoggableEntitiesRequest'] = _GETLOGGABLEENTITIESREQUEST
-DESCRIPTOR.message_types_by_name['Heartbeat'] = _HEARTBEAT
-DESCRIPTOR.message_types_by_name['RebootDeviceRequest'] = _REBOOTDEVICEREQUEST
-DESCRIPTOR.message_types_by_name['RebootDeviceResponse'] = _REBOOTDEVICERESPONSE
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
+_PHYSICALINVENTORYREQUEST = DESCRIPTOR.message_types_by_name['PhysicalInventoryRequest']
+_PHYSICALINVENTORYRESPONSE = DESCRIPTOR.message_types_by_name['PhysicalInventoryResponse']
+_HWCOMPONENTINFOGETREQUEST = DESCRIPTOR.message_types_by_name['HWComponentInfoGetRequest']
+_HWCOMPONENTINFOGETRESPONSE = DESCRIPTOR.message_types_by_name['HWComponentInfoGetResponse']
+_HWCOMPONENTINFOSETREQUEST = DESCRIPTOR.message_types_by_name['HWComponentInfoSetRequest']
+_HWCOMPONENTINFOSETRESPONSE = DESCRIPTOR.message_types_by_name['HWComponentInfoSetResponse']
+_STARTMANAGINGDEVICERESPONSE = DESCRIPTOR.message_types_by_name['StartManagingDeviceResponse']
+_STOPMANAGINGDEVICEREQUEST = DESCRIPTOR.message_types_by_name['StopManagingDeviceRequest']
+_STOPMANAGINGDEVICERESPONSE = DESCRIPTOR.message_types_by_name['StopManagingDeviceResponse']
+_MANAGEDDEVICEINFO = DESCRIPTOR.message_types_by_name['ManagedDeviceInfo']
+_MANAGEDDEVICESRESPONSE = DESCRIPTOR.message_types_by_name['ManagedDevicesResponse']
+_SETLOGGINGENDPOINTREQUEST = DESCRIPTOR.message_types_by_name['SetLoggingEndpointRequest']
+_SETREMOTEENDPOINTRESPONSE = DESCRIPTOR.message_types_by_name['SetRemoteEndpointResponse']
+_GETLOGGINGENDPOINTRESPONSE = DESCRIPTOR.message_types_by_name['GetLoggingEndpointResponse']
+_SETMSGBUSENDPOINTREQUEST = DESCRIPTOR.message_types_by_name['SetMsgBusEndpointRequest']
+_GETMSGBUSENDPOINTRESPONSE = DESCRIPTOR.message_types_by_name['GetMsgBusEndpointResponse']
+_ENTITIESLOGLEVEL = DESCRIPTOR.message_types_by_name['EntitiesLogLevel']
+_SETLOGLEVELREQUEST = DESCRIPTOR.message_types_by_name['SetLogLevelRequest']
+_SETLOGLEVELRESPONSE = DESCRIPTOR.message_types_by_name['SetLogLevelResponse']
+_GETLOGLEVELREQUEST = DESCRIPTOR.message_types_by_name['GetLogLevelRequest']
+_GETLOGLEVELRESPONSE = DESCRIPTOR.message_types_by_name['GetLogLevelResponse']
+_GETLOGGABLEENTITIESREQUEST = DESCRIPTOR.message_types_by_name['GetLoggableEntitiesRequest']
+_HEARTBEAT = DESCRIPTOR.message_types_by_name['Heartbeat']
+_REBOOTDEVICEREQUEST = DESCRIPTOR.message_types_by_name['RebootDeviceRequest']
+_REBOOTDEVICERESPONSE = DESCRIPTOR.message_types_by_name['RebootDeviceResponse']
+_PHYSICALINVENTORYRESPONSE_REASON = _PHYSICALINVENTORYRESPONSE.enum_types_by_name['Reason']
+_HWCOMPONENTINFOGETRESPONSE_REASON = _HWCOMPONENTINFOGETRESPONSE.enum_types_by_name['Reason']
+_HWCOMPONENTINFOSETRESPONSE_REASON = _HWCOMPONENTINFOSETRESPONSE.enum_types_by_name['Reason']
+_STARTMANAGINGDEVICERESPONSE_REASON = _STARTMANAGINGDEVICERESPONSE.enum_types_by_name['Reason']
+_STOPMANAGINGDEVICERESPONSE_REASON = _STOPMANAGINGDEVICERESPONSE.enum_types_by_name['Reason']
+_MANAGEDDEVICESRESPONSE_REASON = _MANAGEDDEVICESRESPONSE.enum_types_by_name['Reason']
+_SETREMOTEENDPOINTRESPONSE_REASON = _SETREMOTEENDPOINTRESPONSE.enum_types_by_name['Reason']
+_GETLOGGINGENDPOINTRESPONSE_REASON = _GETLOGGINGENDPOINTRESPONSE.enum_types_by_name['Reason']
+_GETMSGBUSENDPOINTRESPONSE_REASON = _GETMSGBUSENDPOINTRESPONSE.enum_types_by_name['Reason']
+_SETLOGLEVELRESPONSE_REASON = _SETLOGLEVELRESPONSE.enum_types_by_name['Reason']
+_GETLOGLEVELRESPONSE_REASON = _GETLOGLEVELRESPONSE.enum_types_by_name['Reason']
+_REBOOTDEVICERESPONSE_REASON = _REBOOTDEVICERESPONSE.enum_types_by_name['Reason']
 PhysicalInventoryRequest = _reflection.GeneratedProtocolMessageType('PhysicalInventoryRequest', (_message.Message,), {
   'DESCRIPTOR' : _PHYSICALINVENTORYREQUEST,
   '__module__' : 'dmi.hw_management_service_pb2'
@@ -1858,172 +233,85 @@
   })
 _sym_db.RegisterMessage(RebootDeviceResponse)
 
+_NATIVEHWMANAGEMENTSERVICE = DESCRIPTOR.services_by_name['NativeHWManagementService']
+if _descriptor._USE_C_DESCRIPTORS == False:
 
-DESCRIPTOR._options = None
-
-_NATIVEHWMANAGEMENTSERVICE = _descriptor.ServiceDescriptor(
-  name='NativeHWManagementService',
-  full_name='dmi.NativeHWManagementService',
-  file=DESCRIPTOR,
-  index=0,
-  serialized_options=None,
-  create_key=_descriptor._internal_create_key,
-  serialized_start=4410,
-  serialized_end=5608,
-  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,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='StopManagingDevice',
-    full_name='dmi.NativeHWManagementService.StopManagingDevice',
-    index=1,
-    containing_service=None,
-    input_type=_STOPMANAGINGDEVICEREQUEST,
-    output_type=_STOPMANAGINGDEVICERESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetManagedDevices',
-    full_name='dmi.NativeHWManagementService.GetManagedDevices',
-    index=2,
-    containing_service=None,
-    input_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
-    output_type=_MANAGEDDEVICESRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetPhysicalInventory',
-    full_name='dmi.NativeHWManagementService.GetPhysicalInventory',
-    index=3,
-    containing_service=None,
-    input_type=_PHYSICALINVENTORYREQUEST,
-    output_type=_PHYSICALINVENTORYRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetHWComponentInfo',
-    full_name='dmi.NativeHWManagementService.GetHWComponentInfo',
-    index=4,
-    containing_service=None,
-    input_type=_HWCOMPONENTINFOGETREQUEST,
-    output_type=_HWCOMPONENTINFOGETRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='SetHWComponentInfo',
-    full_name='dmi.NativeHWManagementService.SetHWComponentInfo',
-    index=5,
-    containing_service=None,
-    input_type=_HWCOMPONENTINFOSETREQUEST,
-    output_type=_HWCOMPONENTINFOSETRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='SetLoggingEndpoint',
-    full_name='dmi.NativeHWManagementService.SetLoggingEndpoint',
-    index=6,
-    containing_service=None,
-    input_type=_SETLOGGINGENDPOINTREQUEST,
-    output_type=_SETREMOTEENDPOINTRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetLoggingEndpoint',
-    full_name='dmi.NativeHWManagementService.GetLoggingEndpoint',
-    index=7,
-    containing_service=None,
-    input_type=dmi_dot_hw__pb2._HARDWAREID,
-    output_type=_GETLOGGINGENDPOINTRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='SetMsgBusEndpoint',
-    full_name='dmi.NativeHWManagementService.SetMsgBusEndpoint',
-    index=8,
-    containing_service=None,
-    input_type=_SETMSGBUSENDPOINTREQUEST,
-    output_type=_SETREMOTEENDPOINTRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetMsgBusEndpoint',
-    full_name='dmi.NativeHWManagementService.GetMsgBusEndpoint',
-    index=9,
-    containing_service=None,
-    input_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
-    output_type=_GETMSGBUSENDPOINTRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetLoggableEntities',
-    full_name='dmi.NativeHWManagementService.GetLoggableEntities',
-    index=10,
-    containing_service=None,
-    input_type=_GETLOGGABLEENTITIESREQUEST,
-    output_type=_GETLOGLEVELRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='SetLogLevel',
-    full_name='dmi.NativeHWManagementService.SetLogLevel',
-    index=11,
-    containing_service=None,
-    input_type=_SETLOGLEVELREQUEST,
-    output_type=_SETLOGLEVELRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetLogLevel',
-    full_name='dmi.NativeHWManagementService.GetLogLevel',
-    index=12,
-    containing_service=None,
-    input_type=_GETLOGLEVELREQUEST,
-    output_type=_GETLOGLEVELRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='HeartbeatCheck',
-    full_name='dmi.NativeHWManagementService.HeartbeatCheck',
-    index=13,
-    containing_service=None,
-    input_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
-    output_type=_HEARTBEAT,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='RebootDevice',
-    full_name='dmi.NativeHWManagementService.RebootDevice',
-    index=14,
-    containing_service=None,
-    input_type=_REBOOTDEVICEREQUEST,
-    output_type=_REBOOTDEVICERESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-])
-_sym_db.RegisterServiceDescriptor(_NATIVEHWMANAGEMENTSERVICE)
-
-DESCRIPTOR.services_by_name['NativeHWManagementService'] = _NATIVEHWMANAGEMENTSERVICE
-
+  DESCRIPTOR._options = None
+  DESCRIPTOR._serialized_options = b'Z9github.com/opencord/device-management-interface/v3/go/dmi'
+  _PHYSICALINVENTORYREQUEST._serialized_start=102
+  _PHYSICALINVENTORYREQUEST._serialized_end=160
+  _PHYSICALINVENTORYRESPONSE._serialized_start=163
+  _PHYSICALINVENTORYRESPONSE._serialized_end=427
+  _PHYSICALINVENTORYRESPONSE_REASON._serialized_start=333
+  _PHYSICALINVENTORYRESPONSE_REASON._serialized_end=427
+  _HWCOMPONENTINFOGETREQUEST._serialized_start=429
+  _HWCOMPONENTINFOGETREQUEST._serialized_end=547
+  _HWCOMPONENTINFOGETRESPONSE._serialized_start=550
+  _HWCOMPONENTINFOGETRESPONSE._serialized_end=840
+  _HWCOMPONENTINFOGETRESPONSE_REASON._serialized_start=723
+  _HWCOMPONENTINFOGETRESPONSE_REASON._serialized_end=840
+  _HWCOMPONENTINFOSETREQUEST._serialized_start=843
+  _HWCOMPONENTINFOSETREQUEST._serialized_end=1004
+  _HWCOMPONENTINFOSETRESPONSE._serialized_start=1007
+  _HWCOMPONENTINFOSETRESPONSE._serialized_end=1304
+  _HWCOMPONENTINFOSETRESPONSE_REASON._serialized_start=1146
+  _HWCOMPONENTINFOSETRESPONSE_REASON._serialized_end=1304
+  _STARTMANAGINGDEVICERESPONSE._serialized_start=1307
+  _STARTMANAGINGDEVICERESPONSE._serialized_end=1666
+  _STARTMANAGINGDEVICERESPONSE_REASON._serialized_start=1480
+  _STARTMANAGINGDEVICERESPONSE_REASON._serialized_end=1666
+  _STOPMANAGINGDEVICEREQUEST._serialized_start=1668
+  _STOPMANAGINGDEVICEREQUEST._serialized_end=1709
+  _STOPMANAGINGDEVICERESPONSE._serialized_start=1712
+  _STOPMANAGINGDEVICERESPONSE._serialized_end=1900
+  _STOPMANAGINGDEVICERESPONSE_REASON._serialized_start=333
+  _STOPMANAGINGDEVICERESPONSE_REASON._serialized_end=383
+  _MANAGEDDEVICEINFO._serialized_start=1902
+  _MANAGEDDEVICEINFO._serialized_end=1993
+  _MANAGEDDEVICESRESPONSE._serialized_start=1996
+  _MANAGEDDEVICESRESPONSE._serialized_end=2194
+  _MANAGEDDEVICESRESPONSE_REASON._serialized_start=2144
+  _MANAGEDDEVICESRESPONSE_REASON._serialized_end=2194
+  _SETLOGGINGENDPOINTREQUEST._serialized_start=2196
+  _SETLOGGINGENDPOINTREQUEST._serialized_end=2307
+  _SETREMOTEENDPOINTRESPONSE._serialized_start=2310
+  _SETREMOTEENDPOINTRESPONSE._serialized_end=2633
+  _SETREMOTEENDPOINTRESPONSE_REASON._serialized_start=2447
+  _SETREMOTEENDPOINTRESPONSE_REASON._serialized_end=2633
+  _GETLOGGINGENDPOINTRESPONSE._serialized_start=2636
+  _GETLOGGINGENDPOINTRESPONSE._serialized_end=2920
+  _GETLOGGINGENDPOINTRESPONSE_REASON._serialized_start=333
+  _GETLOGGINGENDPOINTRESPONSE_REASON._serialized_end=427
+  _SETMSGBUSENDPOINTREQUEST._serialized_start=2922
+  _SETMSGBUSENDPOINTREQUEST._serialized_end=2973
+  _GETMSGBUSENDPOINTRESPONSE._serialized_start=2976
+  _GETMSGBUSENDPOINTRESPONSE._serialized_end=3211
+  _GETMSGBUSENDPOINTRESPONSE_REASON._serialized_start=3137
+  _GETMSGBUSENDPOINTRESPONSE_REASON._serialized_end=3211
+  _ENTITIESLOGLEVEL._serialized_start=3213
+  _ENTITIESLOGLEVEL._serialized_end=3282
+  _SETLOGLEVELREQUEST._serialized_start=3284
+  _SETLOGLEVELREQUEST._serialized_end=3378
+  _SETLOGLEVELRESPONSE._serialized_start=3381
+  _SETLOGLEVELRESPONSE._serialized_end=3655
+  _SETLOGLEVELRESPONSE_REASON._serialized_start=3537
+  _SETLOGLEVELRESPONSE_REASON._serialized_end=3655
+  _GETLOGLEVELREQUEST._serialized_start=3657
+  _GETLOGLEVELREQUEST._serialized_end=3727
+  _GETLOGLEVELRESPONSE._serialized_start=3730
+  _GETLOGLEVELRESPONSE._serialized_end=4046
+  _GETLOGLEVELRESPONSE_REASON._serialized_start=3537
+  _GETLOGLEVELRESPONSE_REASON._serialized_end=3655
+  _GETLOGGABLEENTITIESREQUEST._serialized_start=4048
+  _GETLOGGABLEENTITIESREQUEST._serialized_end=4108
+  _HEARTBEAT._serialized_start=4110
+  _HEARTBEAT._serialized_end=4150
+  _REBOOTDEVICEREQUEST._serialized_start=4152
+  _REBOOTDEVICEREQUEST._serialized_end=4205
+  _REBOOTDEVICERESPONSE._serialized_start=4208
+  _REBOOTDEVICERESPONSE._serialized_end=4428
+  _REBOOTDEVICERESPONSE_REASON._serialized_start=333
+  _REBOOTDEVICERESPONSE_REASON._serialized_end=427
+  _NATIVEHWMANAGEMENTSERVICE._serialized_start=4431
+  _NATIVEHWMANAGEMENTSERVICE._serialized_end=5629
 # @@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
index e4dfac7..933c588 100644
--- a/python/dmi/hw_metrics_mgmt_service_pb2.py
+++ b/python/dmi/hw_metrics_mgmt_service_pb2.py
@@ -4,6 +4,7 @@
 """Generated protocol buffer code."""
 from google.protobuf.internal import enum_type_wrapper
 from google.protobuf import descriptor as _descriptor
+from google.protobuf import descriptor_pool as _descriptor_pool
 from google.protobuf import message as _message
 from google.protobuf import reflection as _reflection
 from google.protobuf import symbol_database as _symbol_database
@@ -17,151 +18,9 @@
 from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__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',
-  create_key=_descriptor._internal_create_key,
-  serialized_pb=b'\n!dmi/hw_metrics_mgmt_service.proto\x12\x03\x64mi\x1a\x11\x64mi/commons.proto\x1a\x0c\x64mi/hw.proto\x1a\x1bgoogle/protobuf/empty.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\"\xff\x01\n\x13ListMetricsResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12/\n\x06reason\x18\x02 \x01(\x0e\x32\x1f.dmi.ListMetricsResponse.Reason\x12#\n\x07metrics\x18\x03 \x01(\x0b\x32\x12.dmi.MetricsConfig\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\"\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\"\xa0\x02\n\x1cMetricsConfigurationResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x38\n\x06reason\x18\x02 \x01(\x0e\x32(.dmi.MetricsConfigurationResponse.Reason\x12\x15\n\rreason_detail\x18\x03 \x01(\t\"\x91\x01\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x12\n\x0eINTERNAL_ERROR\x10\x02\x12\x1d\n\x19POLL_INTERVAL_UNSUPPORTED\x10\x03\x12\x12\n\x0eINVALID_METRIC\x10\x04\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x05\"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\"\x9f\x02\n\x11GetMetricResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12-\n\x06reason\x18\x02 \x01(\x0e\x32\x1d.dmi.GetMetricResponse.Reason\x12\x1b\n\x06metric\x18\x03 \x01(\x0b\x32\x0b.dmi.Metric\x12\x15\n\rreason_detail\x18\x04 \x01(\t\"\x89\x01\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x15\n\x11UNKNOWN_COMPONENT\x10\x02\x12\x12\n\x0eINTERNAL_ERROR\x10\x03\x12\x12\n\x0eINVALID_METRIC\x10\x04\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x05*\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\xb1\x02\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\x16.dmi.GetMetricResponse\x12\x36\n\rStreamMetrics\x12\x16.google.protobuf.Empty\x1a\x0b.dmi.Metric0\x01\x42;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_empty__pb2.DESCRIPTOR,])
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!dmi/hw_metrics_mgmt_service.proto\x12\x03\x64mi\x1a\x11\x64mi/commons.proto\x1a\x0c\x64mi/hw.proto\x1a\x1bgoogle/protobuf/empty.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\"\xff\x01\n\x13ListMetricsResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12/\n\x06reason\x18\x02 \x01(\x0e\x32\x1f.dmi.ListMetricsResponse.Reason\x12#\n\x07metrics\x18\x03 \x01(\x0b\x32\x12.dmi.MetricsConfig\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\"\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\"\xa0\x02\n\x1cMetricsConfigurationResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x38\n\x06reason\x18\x02 \x01(\x0e\x32(.dmi.MetricsConfigurationResponse.Reason\x12\x15\n\rreason_detail\x18\x03 \x01(\t\"\x91\x01\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x12\n\x0eINTERNAL_ERROR\x10\x02\x12\x1d\n\x19POLL_INTERVAL_UNSUPPORTED\x10\x03\x12\x12\n\x0eINVALID_METRIC\x10\x04\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x05\"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\"\x9f\x02\n\x11GetMetricResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12-\n\x06reason\x18\x02 \x01(\x0e\x32\x1d.dmi.GetMetricResponse.Reason\x12\x1b\n\x06metric\x18\x03 \x01(\x0b\x32\x0b.dmi.Metric\x12\x15\n\rreason_detail\x18\x04 \x01(\t\"\x89\x01\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x15\n\x11UNKNOWN_COMPONENT\x10\x02\x12\x12\n\x0eINTERNAL_ERROR\x10\x03\x12\x12\n\x0eINVALID_METRIC\x10\x04\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x05*\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\xb1\x02\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\x16.dmi.GetMetricResponse\x12\x36\n\rStreamMetrics\x12\x16.google.protobuf.Empty\x1a\x0b.dmi.Metric0\x01\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
 
-_METRICNAMES = _descriptor.EnumDescriptor(
-  name='MetricNames',
-  full_name='dmi.MetricNames',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_NAME_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_FAN_SPEED', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_CPU_TEMP', index=2, number=100,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_CPU_USAGE_PERCENTAGE', index=3, number=101,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_TRANSCEIVER_TEMP', index=4, number=200,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_TRANSCEIVER_VOLTAGE', index=5, number=201,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_TRANSCEIVER_BIAS', index=6, number=202,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_TRANSCEIVER_RX_POWER', index=7, number=203,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_TRANSCEIVER_TX_POWER', index=8, number=204,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_TRANSCEIVER_WAVELENGTH', index=9, number=205,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_DISK_TEMP', index=10, number=300,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_DISK_CAPACITY', index=11, number=301,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_DISK_USAGE', index=12, number=302,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_DISK_USAGE_PERCENTAGE', index=13, number=303,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_DISK_READ_WRITE_PERCENTAGE', index=14, number=304,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_DISK_FAULTY_CELLS_PERCENTAGE', index=15, number=305,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_RAM_TEMP', index=16, number=400,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_RAM_CAPACITY', index=17, number=401,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_RAM_USAGE', index=18, number=402,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_RAM_USAGE_PERCENTAGE', index=19, number=403,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_POWER_MAX', index=20, number=500,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_POWER_USAGE', index=21, number=501,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_POWER_USAGE_PERCENTAGE', index=22, number=502,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='METRIC_INNER_SURROUNDING_TEMP', index=23, number=600,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=1581,
-  serialized_end=2310,
-)
-_sym_db.RegisterEnumDescriptor(_METRICNAMES)
-
+_METRICNAMES = DESCRIPTOR.enum_types_by_name['MetricNames']
 MetricNames = enum_type_wrapper.EnumTypeWrapper(_METRICNAMES)
 METRIC_NAME_UNDEFINED = 0
 METRIC_FAN_SPEED = 1
@@ -189,586 +48,18 @@
 METRIC_INNER_SURROUNDING_TEMP = 600
 
 
-_LISTMETRICSRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.ListMetricsResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=418,
-  serialized_end=512,
-)
-_sym_db.RegisterEnumDescriptor(_LISTMETRICSRESPONSE_REASON)
-
-_METRICSCONFIGURATIONRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.MetricsConfigurationResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='POLL_INTERVAL_UNSUPPORTED', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INVALID_METRIC', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=802,
-  serialized_end=947,
-)
-_sym_db.RegisterEnumDescriptor(_METRICSCONFIGURATIONRESPONSE_REASON)
-
-_GETMETRICRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.GetMetricResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_COMPONENT', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INVALID_METRIC', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=1441,
-  serialized_end=1578,
-)
-_sym_db.RegisterEnumDescriptor(_GETMETRICRESPONSE_REASON)
-
-
-_METRICCONFIG = _descriptor.Descriptor(
-  name='MetricConfig',
-  full_name='dmi.MetricConfig',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=104,
-  serialized_end=201,
-)
-
-
-_METRICSCONFIG = _descriptor.Descriptor(
-  name='MetricsConfig',
-  full_name='dmi.MetricsConfig',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=203,
-  serialized_end=254,
-)
-
-
-_LISTMETRICSRESPONSE = _descriptor.Descriptor(
-  name='ListMetricsResponse',
-  full_name='dmi.ListMetricsResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.ListMetricsResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _LISTMETRICSRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=257,
-  serialized_end=512,
-)
-
-
-_METRICSCONFIGURATIONREQUEST = _descriptor.Descriptor(
-  name='MetricsConfigurationRequest',
-  full_name='dmi.MetricsConfigurationRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  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,
-      create_key=_descriptor._internal_create_key,
-    fields=[]),
-  ],
-  serialized_start=515,
-  serialized_end=656,
-)
-
-
-_METRICSCONFIGURATIONRESPONSE = _descriptor.Descriptor(
-  name='MetricsConfigurationResponse',
-  full_name='dmi.MetricsConfigurationResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.MetricsConfigurationResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _METRICSCONFIGURATIONRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=659,
-  serialized_end=947,
-)
-
-
-_METRICMETADATA = _descriptor.Descriptor(
-  name='MetricMetaData',
-  full_name='dmi.MetricMetaData',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=949,
-  serialized_end=1056,
-)
-
-
-_METRIC = _descriptor.Descriptor(
-  name='Metric',
-  full_name='dmi.Metric',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1059,
-  serialized_end=1191,
-)
-
-
-_GETMETRICREQUEST = _descriptor.Descriptor(
-  name='GetMetricRequest',
-  full_name='dmi.GetMetricRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1193,
-  serialized_end=1288,
-)
-
-
-_GETMETRICRESPONSE = _descriptor.Descriptor(
-  name='GetMetricResponse',
-  full_name='dmi.GetMetricResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='status', full_name='dmi.GetMetricResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='dmi.GetMetricResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='metric', full_name='dmi.GetMetricResponse.metric', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.GetMetricResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _GETMETRICRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1291,
-  serialized_end=1578,
-)
-
-_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 = _LISTMETRICSRESPONSE_REASON
-_LISTMETRICSRESPONSE.fields_by_name['metrics'].message_type = _METRICSCONFIG
-_LISTMETRICSRESPONSE_REASON.containing_type = _LISTMETRICSRESPONSE
-_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 = _METRICSCONFIGURATIONRESPONSE_REASON
-_METRICSCONFIGURATIONRESPONSE_REASON.containing_type = _METRICSCONFIGURATIONRESPONSE
-_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
-_GETMETRICRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_GETMETRICRESPONSE.fields_by_name['reason'].enum_type = _GETMETRICRESPONSE_REASON
-_GETMETRICRESPONSE.fields_by_name['metric'].message_type = _METRIC
-_GETMETRICRESPONSE_REASON.containing_type = _GETMETRICRESPONSE
-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.message_types_by_name['GetMetricResponse'] = _GETMETRICRESPONSE
-DESCRIPTOR.enum_types_by_name['MetricNames'] = _METRICNAMES
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
+_METRICCONFIG = DESCRIPTOR.message_types_by_name['MetricConfig']
+_METRICSCONFIG = DESCRIPTOR.message_types_by_name['MetricsConfig']
+_LISTMETRICSRESPONSE = DESCRIPTOR.message_types_by_name['ListMetricsResponse']
+_METRICSCONFIGURATIONREQUEST = DESCRIPTOR.message_types_by_name['MetricsConfigurationRequest']
+_METRICSCONFIGURATIONRESPONSE = DESCRIPTOR.message_types_by_name['MetricsConfigurationResponse']
+_METRICMETADATA = DESCRIPTOR.message_types_by_name['MetricMetaData']
+_METRIC = DESCRIPTOR.message_types_by_name['Metric']
+_GETMETRICREQUEST = DESCRIPTOR.message_types_by_name['GetMetricRequest']
+_GETMETRICRESPONSE = DESCRIPTOR.message_types_by_name['GetMetricResponse']
+_LISTMETRICSRESPONSE_REASON = _LISTMETRICSRESPONSE.enum_types_by_name['Reason']
+_METRICSCONFIGURATIONRESPONSE_REASON = _METRICSCONFIGURATIONRESPONSE.enum_types_by_name['Reason']
+_GETMETRICRESPONSE_REASON = _GETMETRICRESPONSE.enum_types_by_name['Reason']
 MetricConfig = _reflection.GeneratedProtocolMessageType('MetricConfig', (_message.Message,), {
   'DESCRIPTOR' : _METRICCONFIG,
   '__module__' : 'dmi.hw_metrics_mgmt_service_pb2'
@@ -832,62 +123,37 @@
   })
 _sym_db.RegisterMessage(GetMetricResponse)
 
+_NATIVEMETRICSMANAGEMENTSERVICE = DESCRIPTOR.services_by_name['NativeMetricsManagementService']
+if _descriptor._USE_C_DESCRIPTORS == False:
 
-DESCRIPTOR._options = None
-
-_NATIVEMETRICSMANAGEMENTSERVICE = _descriptor.ServiceDescriptor(
-  name='NativeMetricsManagementService',
-  full_name='dmi.NativeMetricsManagementService',
-  file=DESCRIPTOR,
-  index=0,
-  serialized_options=None,
-  create_key=_descriptor._internal_create_key,
-  serialized_start=2313,
-  serialized_end=2618,
-  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,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='UpdateMetricsConfiguration',
-    full_name='dmi.NativeMetricsManagementService.UpdateMetricsConfiguration',
-    index=1,
-    containing_service=None,
-    input_type=_METRICSCONFIGURATIONREQUEST,
-    output_type=_METRICSCONFIGURATIONRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetMetric',
-    full_name='dmi.NativeMetricsManagementService.GetMetric',
-    index=2,
-    containing_service=None,
-    input_type=_GETMETRICREQUEST,
-    output_type=_GETMETRICRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='StreamMetrics',
-    full_name='dmi.NativeMetricsManagementService.StreamMetrics',
-    index=3,
-    containing_service=None,
-    input_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
-    output_type=_METRIC,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-])
-_sym_db.RegisterServiceDescriptor(_NATIVEMETRICSMANAGEMENTSERVICE)
-
-DESCRIPTOR.services_by_name['NativeMetricsManagementService'] = _NATIVEMETRICSMANAGEMENTSERVICE
-
+  DESCRIPTOR._options = None
+  DESCRIPTOR._serialized_options = b'Z9github.com/opencord/device-management-interface/v3/go/dmi'
+  _METRICNAMES._serialized_start=1581
+  _METRICNAMES._serialized_end=2310
+  _METRICCONFIG._serialized_start=104
+  _METRICCONFIG._serialized_end=201
+  _METRICSCONFIG._serialized_start=203
+  _METRICSCONFIG._serialized_end=254
+  _LISTMETRICSRESPONSE._serialized_start=257
+  _LISTMETRICSRESPONSE._serialized_end=512
+  _LISTMETRICSRESPONSE_REASON._serialized_start=418
+  _LISTMETRICSRESPONSE_REASON._serialized_end=512
+  _METRICSCONFIGURATIONREQUEST._serialized_start=515
+  _METRICSCONFIGURATIONREQUEST._serialized_end=656
+  _METRICSCONFIGURATIONRESPONSE._serialized_start=659
+  _METRICSCONFIGURATIONRESPONSE._serialized_end=947
+  _METRICSCONFIGURATIONRESPONSE_REASON._serialized_start=802
+  _METRICSCONFIGURATIONRESPONSE_REASON._serialized_end=947
+  _METRICMETADATA._serialized_start=949
+  _METRICMETADATA._serialized_end=1056
+  _METRIC._serialized_start=1059
+  _METRIC._serialized_end=1191
+  _GETMETRICREQUEST._serialized_start=1193
+  _GETMETRICREQUEST._serialized_end=1288
+  _GETMETRICRESPONSE._serialized_start=1291
+  _GETMETRICRESPONSE._serialized_end=1578
+  _GETMETRICRESPONSE_REASON._serialized_start=1441
+  _GETMETRICRESPONSE_REASON._serialized_end=1578
+  _NATIVEMETRICSMANAGEMENTSERVICE._serialized_start=2313
+  _NATIVEMETRICSMANAGEMENTSERVICE._serialized_end=2618
 # @@protoc_insertion_point(module_scope)
diff --git a/python/dmi/hw_pb2.py b/python/dmi/hw_pb2.py
index 09e0731..237bb23 100644
--- a/python/dmi/hw_pb2.py
+++ b/python/dmi/hw_pb2.py
@@ -4,6 +4,7 @@
 """Generated protocol buffer code."""
 from google.protobuf.internal import enum_type_wrapper
 from google.protobuf import descriptor as _descriptor
+from google.protobuf import descriptor_pool as _descriptor_pool
 from google.protobuf import message as _message
 from google.protobuf import reflection as _reflection
 from google.protobuf import symbol_database as _symbol_database
@@ -15,565 +16,28 @@
 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',
-  create_key=_descriptor._internal_create_key,
-  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\"\x90\x02\n\x13\x43omponentSensorData\x12\r\n\x05value\x18\x01 \x01(\x05\x12 \n\x04type\x18\x02 \x01(\x0e\x32\x12.dmi.DataValueType\x12\x1e\n\x05scale\x18\x03 \x01(\x0e\x32\x0f.dmi.ValueScale\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\"\xe1\x05\n\x17PortComponentAttributes\x12\x42\n\x0e\x63onnector_type\x18\x01 \x01(\x0e\x32*.dmi.PortComponentAttributes.ConnectorType\x12\x31\n\x05speed\x18\x02 \x01(\x0e\x32\".dmi.PortComponentAttributes.Speed\x12\x37\n\x08protocol\x18\x03 \x01(\x0e\x32%.dmi.PortComponentAttributes.Protocol\x12\x16\n\x0ephysical_label\x18\x04 \x01(\t\x12\x15\n\rmapping_label\x18\x05 \x01(\t\x12\'\n\rpon_id_config\x18\x06 \x01(\x0b\x32\x10.dmi.PonIdConfig\x12\x1d\n\x15speed_autonegotiation\x18\x07 \x01(\x08\"p\n\rConnectorType\x12\x1c\n\x18\x43ONNECTOR_TYPE_UNDEFINED\x10\x00\x12\x08\n\x04RJ45\x10\x01\x12\x0c\n\x08\x46IBER_LC\x10\x02\x12\x0f\n\x0b\x46IBER_SC_PC\x10\x03\x12\r\n\tFIBER_MPO\x10\x04\x12\t\n\x05RS232\x10\x05\"\xae\x01\n\x05Speed\x12\x13\n\x0fSPEED_UNDEFINED\x10\x00\x12\x0b\n\x07\x44YNAMIC\x10\x01\x12\r\n\tGIGABIT_1\x10\x02\x12\x0e\n\nGIGABIT_10\x10\x03\x12\x0e\n\nGIGABIT_25\x10\x04\x12\x0e\n\nGIGABIT_40\x10\x05\x12\x0f\n\x0bGIGABIT_100\x10\x06\x12\x0f\n\x0bGIGABIT_400\x10\x07\x12\x10\n\x0cMEGABIT_2500\x10\x08\x12\x10\n\x0cMEGABIT_1250\x10\t\"|\n\x08Protocol\x12\x16\n\x12PROTOCOL_UNDEFINED\x10\x00\x12\x0c\n\x08\x45THERNET\x10\x01\x12\x08\n\x04GPON\x10\x02\x12\t\n\x05XGPON\x10\x03\x12\n\n\x06XGSPON\x10\x04\x12\t\n\x05GFAST\x10\x05\x12\n\n\x06SERIAL\x10\x06\x12\x08\n\x04\x45PON\x10\x07\x12\x08\n\x04\x42ITS\x10\x08\"H\n\x1dPortComponentChangeAttributes\x12\'\n\rpon_id_config\x18\x01 \x01(\x0b\x32\x10.dmi.PonIdConfig\"B\n\x0bPonIdConfig\x12\x0e\n\x06pon_id\x18\x01 \x01(\x0c\x12#\n\x1bpon_id_transmit_periodicity\x18\x02 \x01(\r\"6\n\x1c\x43ontainerComponentAttributes\x12\x16\n\x0ephysical_label\x18\x01 \x01(\t\"\xb3\x01\n\x16PsuComponentAttributes\x12G\n\x11supported_voltage\x18\x01 \x01(\x0e\x32,.dmi.PsuComponentAttributes.SupportedVoltage\"P\n\x10SupportedVoltage\x12\x1f\n\x1bSUPPORTED_VOLTAGE_UNDEFINED\x10\x00\x12\x07\n\x03V48\x10\x01\x12\x08\n\x04V230\x10\x02\x12\x08\n\x04V115\x10\x03\"\xef\x04\n\x1fTransceiverComponentsAttributes\x12\x44\n\x0b\x66orm_factor\x18\x01 \x01(\x0e\x32/.dmi.TransceiverComponentsAttributes.FormFactor\x12=\n\ntrans_type\x18\x02 \x01(\x0e\x32).dmi.TransceiverComponentsAttributes.Type\x12\x14\n\x0cmax_distance\x18\x03 \x01(\r\x12+\n\x12max_distance_scale\x18\x04 \x01(\x0e\x32\x0f.dmi.ValueScale\x12\x15\n\rrx_wavelength\x18\x05 \x03(\r\x12\x15\n\rtx_wavelength\x18\x06 \x03(\r\x12)\n\x10wavelength_scale\x18\x07 \x01(\x0e\x32\x0f.dmi.ValueScale\"\xc0\x01\n\nFormFactor\x12\x17\n\x13\x46ORM_FACTOR_UNKNOWN\x10\x00\x12\x08\n\x04QSFP\x10\x01\x12\r\n\tQSFP_PLUS\x10\x02\x12\n\n\x06QSFP28\x10\x03\x12\x07\n\x03SFP\x10\x04\x12\x0c\n\x08SFP_PLUS\x10\x05\x12\x07\n\x03XFP\x10\x06\x12\x08\n\x04\x43\x46P4\x10\x07\x12\x08\n\x04\x43\x46P2\x10\x08\x12\x08\n\x04\x43PAK\x10\t\x12\x06\n\x02X2\x10\n\x12\t\n\x05OTHER\x10\x0b\x12\x07\n\x03\x43\x46P\x10\x0c\x12\x0c\n\x08\x43\x46P2_ACO\x10\r\x12\x0c\n\x08\x43\x46P2_DCO\x10\x0e\"h\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0c\n\x08\x45THERNET\x10\x01\x12\x08\n\x04GPON\x10\x02\x12\t\n\x05XGPON\x10\x03\x12\n\n\x06XGSPON\x10\x04\x12\x08\n\x04\x43PON\x10\x05\x12\x0b\n\x07NG_PON2\x10\x06\x12\x08\n\x04\x45PON\x10\x07\"\xe8\x05\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\x12\x31\n\tport_attr\x18\x32 \x01(\x0b\x32\x1c.dmi.PortComponentAttributesH\x00\x12;\n\x0e\x63ontainer_attr\x18\x33 \x01(\x0b\x32!.dmi.ContainerComponentAttributesH\x00\x12/\n\x08psu_attr\x18\x34 \x01(\x0b\x32\x1b.dmi.PsuComponentAttributesH\x00\x12@\n\x10transceiver_attr\x18\x35 \x01(\x0b\x32$.dmi.TransceiverComponentsAttributesH\x00\x42\n\n\x08specific\"\x8a\x01\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\x12/\n\x0blast_booted\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xaa\x02\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\x12\x37\n\tport_attr\x18\x32 \x01(\x0b\x32\".dmi.PortComponentChangeAttributesH\x00\x42\n\n\x08specific*\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*\x8f\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\x1e\x43OMP_ALARM_STATE_INDETERMINATE\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*\x89\x03\n\rDataValueType\x12\x18\n\x14VALUE_TYPE_UNDEFINED\x10\x00\x12\x14\n\x10VALUE_TYPE_OTHER\x10\x01\x12\x16\n\x12VALUE_TYPE_UNKNOWN\x10\x02\x12\x17\n\x13VALUE_TYPE_VOLTS_AC\x10\x03\x12\x17\n\x13VALUE_TYPE_VOLTS_DC\x10\x04\x12\x16\n\x12VALUE_TYPE_AMPERES\x10\x05\x12\x14\n\x10VALUE_TYPE_WATTS\x10\x06\x12\x14\n\x10VALUE_TYPE_HERTZ\x10\x07\x12\x16\n\x12VALUE_TYPE_CELSIUS\x10\x08\x12\x19\n\x15VALUE_TYPE_PERCENT_RH\x10\t\x12\x12\n\x0eVALUE_TYPE_RPM\x10\n\x12\x12\n\x0eVALUE_TYPE_CMM\x10\x0b\x12\x1a\n\x16VALUE_TYPE_TRUTH_VALUE\x10\x0c\x12\x16\n\x12VALUE_TYPE_PERCENT\x10\r\x12\x15\n\x11VALUE_TYPE_METERS\x10\x0e\x12\x14\n\x10VALUE_TYPE_BYTES\x10\x0f*\xa4\x03\n\nValueScale\x12\x19\n\x15VALUE_SCALE_UNDEFINED\x10\x00\x12\x15\n\x11VALUE_SCALE_YOCTO\x10\x01\x12\x15\n\x11VALUE_SCALE_ZEPTO\x10\x02\x12\x14\n\x10VALUE_SCALE_ATTO\x10\x03\x12\x15\n\x11VALUE_SCALE_FEMTO\x10\x04\x12\x14\n\x10VALUE_SCALE_PICO\x10\x05\x12\x14\n\x10VALUE_SCALE_NANO\x10\x06\x12\x15\n\x11VALUE_SCALE_MICRO\x10\x07\x12\x15\n\x11VALUE_SCALE_MILLI\x10\x08\x12\x15\n\x11VALUE_SCALE_UNITS\x10\t\x12\x14\n\x10VALUE_SCALE_KILO\x10\n\x12\x14\n\x10VALUE_SCALE_MEGA\x10\x0b\x12\x14\n\x10VALUE_SCALE_GIGA\x10\x0c\x12\x14\n\x10VALUE_SCALE_TERA\x10\r\x12\x14\n\x10VALUE_SCALE_PETA\x10\x0e\x12\x13\n\x0fVALUE_SCALE_EXA\x10\x0f\x12\x15\n\x11VALUE_SCALE_ZETTA\x10\x10\x12\x15\n\x11VALUE_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,])
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(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\"\x90\x02\n\x13\x43omponentSensorData\x12\r\n\x05value\x18\x01 \x01(\x05\x12 \n\x04type\x18\x02 \x01(\x0e\x32\x12.dmi.DataValueType\x12\x1e\n\x05scale\x18\x03 \x01(\x0e\x32\x0f.dmi.ValueScale\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\"\xe1\x05\n\x17PortComponentAttributes\x12\x42\n\x0e\x63onnector_type\x18\x01 \x01(\x0e\x32*.dmi.PortComponentAttributes.ConnectorType\x12\x31\n\x05speed\x18\x02 \x01(\x0e\x32\".dmi.PortComponentAttributes.Speed\x12\x37\n\x08protocol\x18\x03 \x01(\x0e\x32%.dmi.PortComponentAttributes.Protocol\x12\x16\n\x0ephysical_label\x18\x04 \x01(\t\x12\x15\n\rmapping_label\x18\x05 \x01(\t\x12\'\n\rpon_id_config\x18\x06 \x01(\x0b\x32\x10.dmi.PonIdConfig\x12\x1d\n\x15speed_autonegotiation\x18\x07 \x01(\x08\"p\n\rConnectorType\x12\x1c\n\x18\x43ONNECTOR_TYPE_UNDEFINED\x10\x00\x12\x08\n\x04RJ45\x10\x01\x12\x0c\n\x08\x46IBER_LC\x10\x02\x12\x0f\n\x0b\x46IBER_SC_PC\x10\x03\x12\r\n\tFIBER_MPO\x10\x04\x12\t\n\x05RS232\x10\x05\"\xae\x01\n\x05Speed\x12\x13\n\x0fSPEED_UNDEFINED\x10\x00\x12\x0b\n\x07\x44YNAMIC\x10\x01\x12\r\n\tGIGABIT_1\x10\x02\x12\x0e\n\nGIGABIT_10\x10\x03\x12\x0e\n\nGIGABIT_25\x10\x04\x12\x0e\n\nGIGABIT_40\x10\x05\x12\x0f\n\x0bGIGABIT_100\x10\x06\x12\x0f\n\x0bGIGABIT_400\x10\x07\x12\x10\n\x0cMEGABIT_2500\x10\x08\x12\x10\n\x0cMEGABIT_1250\x10\t\"|\n\x08Protocol\x12\x16\n\x12PROTOCOL_UNDEFINED\x10\x00\x12\x0c\n\x08\x45THERNET\x10\x01\x12\x08\n\x04GPON\x10\x02\x12\t\n\x05XGPON\x10\x03\x12\n\n\x06XGSPON\x10\x04\x12\t\n\x05GFAST\x10\x05\x12\n\n\x06SERIAL\x10\x06\x12\x08\n\x04\x45PON\x10\x07\x12\x08\n\x04\x42ITS\x10\x08\"H\n\x1dPortComponentChangeAttributes\x12\'\n\rpon_id_config\x18\x01 \x01(\x0b\x32\x10.dmi.PonIdConfig\"P\n$TransceiverComponentChangeAttributes\x12(\n\ntrans_type\x18\x01 \x01(\x0e\x32\x14.dmi.TransceiverType\"B\n\x0bPonIdConfig\x12\x0e\n\x06pon_id\x18\x01 \x01(\x0c\x12#\n\x1bpon_id_transmit_periodicity\x18\x02 \x01(\r\"6\n\x1c\x43ontainerComponentAttributes\x12\x16\n\x0ephysical_label\x18\x01 \x01(\t\"\xb3\x01\n\x16PsuComponentAttributes\x12G\n\x11supported_voltage\x18\x01 \x01(\x0e\x32,.dmi.PsuComponentAttributes.SupportedVoltage\"P\n\x10SupportedVoltage\x12\x1f\n\x1bSUPPORTED_VOLTAGE_UNDEFINED\x10\x00\x12\x07\n\x03V48\x10\x01\x12\x08\n\x04V230\x10\x02\x12\x08\n\x04V115\x10\x03\"\xf0\x03\n\x1fTransceiverComponentsAttributes\x12\x44\n\x0b\x66orm_factor\x18\x01 \x01(\x0e\x32/.dmi.TransceiverComponentsAttributes.FormFactor\x12(\n\ntrans_type\x18\x02 \x01(\x0e\x32\x14.dmi.TransceiverType\x12\x14\n\x0cmax_distance\x18\x03 \x01(\r\x12+\n\x12max_distance_scale\x18\x04 \x01(\x0e\x32\x0f.dmi.ValueScale\x12\x15\n\rrx_wavelength\x18\x05 \x03(\r\x12\x15\n\rtx_wavelength\x18\x06 \x03(\r\x12)\n\x10wavelength_scale\x18\x07 \x01(\x0e\x32\x0f.dmi.ValueScale\"\xc0\x01\n\nFormFactor\x12\x17\n\x13\x46ORM_FACTOR_UNKNOWN\x10\x00\x12\x08\n\x04QSFP\x10\x01\x12\r\n\tQSFP_PLUS\x10\x02\x12\n\n\x06QSFP28\x10\x03\x12\x07\n\x03SFP\x10\x04\x12\x0c\n\x08SFP_PLUS\x10\x05\x12\x07\n\x03XFP\x10\x06\x12\x08\n\x04\x43\x46P4\x10\x07\x12\x08\n\x04\x43\x46P2\x10\x08\x12\x08\n\x04\x43PAK\x10\t\x12\x06\n\x02X2\x10\n\x12\t\n\x05OTHER\x10\x0b\x12\x07\n\x03\x43\x46P\x10\x0c\x12\x0c\n\x08\x43\x46P2_ACO\x10\r\x12\x0c\n\x08\x43\x46P2_DCO\x10\x0e\"\xe8\x05\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\x12\x31\n\tport_attr\x18\x32 \x01(\x0b\x32\x1c.dmi.PortComponentAttributesH\x00\x12;\n\x0e\x63ontainer_attr\x18\x33 \x01(\x0b\x32!.dmi.ContainerComponentAttributesH\x00\x12/\n\x08psu_attr\x18\x34 \x01(\x0b\x32\x1b.dmi.PsuComponentAttributesH\x00\x12@\n\x10transceiver_attr\x18\x35 \x01(\x0b\x32$.dmi.TransceiverComponentsAttributesH\x00\x42\n\n\x08specific\"\x8a\x01\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\x12/\n\x0blast_booted\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xe9\x02\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\x12\x37\n\tport_attr\x18\x32 \x01(\x0b\x32\".dmi.PortComponentChangeAttributesH\x00\x12=\n\x08trx_attr\x18\x33 \x01(\x0b\x32).dmi.TransceiverComponentChangeAttributesH\x00\x42\n\n\x08specific*\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*\x8f\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\x1e\x43OMP_ALARM_STATE_INDETERMINATE\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*\x89\x03\n\rDataValueType\x12\x18\n\x14VALUE_TYPE_UNDEFINED\x10\x00\x12\x14\n\x10VALUE_TYPE_OTHER\x10\x01\x12\x16\n\x12VALUE_TYPE_UNKNOWN\x10\x02\x12\x17\n\x13VALUE_TYPE_VOLTS_AC\x10\x03\x12\x17\n\x13VALUE_TYPE_VOLTS_DC\x10\x04\x12\x16\n\x12VALUE_TYPE_AMPERES\x10\x05\x12\x14\n\x10VALUE_TYPE_WATTS\x10\x06\x12\x14\n\x10VALUE_TYPE_HERTZ\x10\x07\x12\x16\n\x12VALUE_TYPE_CELSIUS\x10\x08\x12\x19\n\x15VALUE_TYPE_PERCENT_RH\x10\t\x12\x12\n\x0eVALUE_TYPE_RPM\x10\n\x12\x12\n\x0eVALUE_TYPE_CMM\x10\x0b\x12\x1a\n\x16VALUE_TYPE_TRUTH_VALUE\x10\x0c\x12\x16\n\x12VALUE_TYPE_PERCENT\x10\r\x12\x15\n\x11VALUE_TYPE_METERS\x10\x0e\x12\x14\n\x10VALUE_TYPE_BYTES\x10\x0f*\xa4\x03\n\nValueScale\x12\x19\n\x15VALUE_SCALE_UNDEFINED\x10\x00\x12\x15\n\x11VALUE_SCALE_YOCTO\x10\x01\x12\x15\n\x11VALUE_SCALE_ZEPTO\x10\x02\x12\x14\n\x10VALUE_SCALE_ATTO\x10\x03\x12\x15\n\x11VALUE_SCALE_FEMTO\x10\x04\x12\x14\n\x10VALUE_SCALE_PICO\x10\x05\x12\x14\n\x10VALUE_SCALE_NANO\x10\x06\x12\x15\n\x11VALUE_SCALE_MICRO\x10\x07\x12\x15\n\x11VALUE_SCALE_MILLI\x10\x08\x12\x15\n\x11VALUE_SCALE_UNITS\x10\t\x12\x14\n\x10VALUE_SCALE_KILO\x10\n\x12\x14\n\x10VALUE_SCALE_MEGA\x10\x0b\x12\x14\n\x10VALUE_SCALE_GIGA\x10\x0c\x12\x14\n\x10VALUE_SCALE_TERA\x10\r\x12\x14\n\x10VALUE_SCALE_PETA\x10\x0e\x12\x13\n\x0fVALUE_SCALE_EXA\x10\x0f\x12\x15\n\x11VALUE_SCALE_ZETTA\x10\x10\x12\x15\n\x11VALUE_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*\x8d\x01\n\x0fTransceiverType\x12\x12\n\x0eTYPE_UNDEFINED\x10\x00\x12\x0c\n\x08\x45THERNET\x10\x01\x12\x08\n\x04GPON\x10\x02\x12\t\n\x05XGPON\x10\x03\x12\n\n\x06XGSPON\x10\x04\x12\x08\n\x04\x43PON\x10\x05\x12\x0b\n\x07NG_PON2\x10\x06\x12\x08\n\x04\x45PON\x10\x07\x12\x16\n\x11TYPE_NOT_DETECTED\x10\xff\x01\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
 
-_COMPONENTTYPE = _descriptor.EnumDescriptor(
-  name='ComponentType',
-  full_name='dmi.ComponentType',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_UNKNOWN', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_CHASSIS', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_BACKPLANE', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_CONTAINER', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_POWER_SUPPLY', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_FAN', index=6, number=6,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_SENSOR', index=7, number=7,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_MODULE', index=8, number=8,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_PORT', index=9, number=9,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_CPU', index=10, number=10,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_BATTERY', index=11, number=11,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_STORAGE', index=12, number=12,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_MEMORY', index=13, number=13,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMPONENT_TYPE_TRANSCEIVER', index=14, number=14,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=3658,
-  serialized_end=4094,
-)
-_sym_db.RegisterEnumDescriptor(_COMPONENTTYPE)
-
+_COMPONENTTYPE = DESCRIPTOR.enum_types_by_name['ComponentType']
 ComponentType = enum_type_wrapper.EnumTypeWrapper(_COMPONENTTYPE)
-_COMPONENTADMINSTATE = _descriptor.EnumDescriptor(
-  name='ComponentAdminState',
-  full_name='dmi.ComponentAdminState',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='COMP_ADMIN_STATE_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_ADMIN_STATE_UNKNOWN', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_ADMIN_STATE_LOCKED', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_ADMIN_STATE_SHUTTING_DOWN', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_ADMIN_STATE_UNLOCKED', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=4097,
-  serialized_end=4276,
-)
-_sym_db.RegisterEnumDescriptor(_COMPONENTADMINSTATE)
-
+_COMPONENTADMINSTATE = DESCRIPTOR.enum_types_by_name['ComponentAdminState']
 ComponentAdminState = enum_type_wrapper.EnumTypeWrapper(_COMPONENTADMINSTATE)
-_COMPONENTOPERSTATE = _descriptor.EnumDescriptor(
-  name='ComponentOperState',
-  full_name='dmi.ComponentOperState',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='COMP_OPER_STATE_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_OPER_STATE_UNKNOWN', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_OPER_STATE_DISABLED', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_OPER_STATE_ENABLED', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_OPER_STATE_TESTING', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=4279,
-  serialized_end=4447,
-)
-_sym_db.RegisterEnumDescriptor(_COMPONENTOPERSTATE)
-
+_COMPONENTOPERSTATE = DESCRIPTOR.enum_types_by_name['ComponentOperState']
 ComponentOperState = enum_type_wrapper.EnumTypeWrapper(_COMPONENTOPERSTATE)
-_COMPONENTUSAGESTATE = _descriptor.EnumDescriptor(
-  name='ComponentUsageState',
-  full_name='dmi.ComponentUsageState',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='COMP_USAGE_STATE_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_USAGE_STATE_UNKNOWN', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_USAGE_STATE_IDLE', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_USAGE_STATE_ACTIVE', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_USAGE_STATE_BUSY', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=4450,
-  serialized_end=4616,
-)
-_sym_db.RegisterEnumDescriptor(_COMPONENTUSAGESTATE)
-
+_COMPONENTUSAGESTATE = DESCRIPTOR.enum_types_by_name['ComponentUsageState']
 ComponentUsageState = enum_type_wrapper.EnumTypeWrapper(_COMPONENTUSAGESTATE)
-_COMPONENTALARMSTATE = _descriptor.EnumDescriptor(
-  name='ComponentAlarmState',
-  full_name='dmi.ComponentAlarmState',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='COMP_ALARM_STATE_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_ALARM_STATE_UNKNOWN', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_ALARM_STATE_UNDER_REPAIR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_ALARM_STATE_CRITICAL', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_ALARM_STATE_MAJOR', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_ALARM_STATE_MINOR', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_ALARM_STATE_WARNING', index=6, number=6,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_ALARM_STATE_INDETERMINATE', index=7, number=7,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=4619,
-  serialized_end=4890,
-)
-_sym_db.RegisterEnumDescriptor(_COMPONENTALARMSTATE)
-
+_COMPONENTALARMSTATE = DESCRIPTOR.enum_types_by_name['ComponentAlarmState']
 ComponentAlarmState = enum_type_wrapper.EnumTypeWrapper(_COMPONENTALARMSTATE)
-_COMPONENTSTANDBYSTATE = _descriptor.EnumDescriptor(
-  name='ComponentStandbyState',
-  full_name='dmi.ComponentStandbyState',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='COMP_STANDBY_STATE_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_STANDBY_STATE_UNKNOWN', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_STANDBY_STATE_HOT', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_STANDBY_STATE_COLD', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMP_STANDBY_STATE_PROVIDING_SERVICE', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=4893,
-  serialized_end=5081,
-)
-_sym_db.RegisterEnumDescriptor(_COMPONENTSTANDBYSTATE)
-
+_COMPONENTSTANDBYSTATE = DESCRIPTOR.enum_types_by_name['ComponentStandbyState']
 ComponentStandbyState = enum_type_wrapper.EnumTypeWrapper(_COMPONENTSTANDBYSTATE)
-_DATAVALUETYPE = _descriptor.EnumDescriptor(
-  name='DataValueType',
-  full_name='dmi.DataValueType',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_OTHER', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_UNKNOWN', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_VOLTS_AC', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_VOLTS_DC', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_AMPERES', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_WATTS', index=6, number=6,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_HERTZ', index=7, number=7,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_CELSIUS', index=8, number=8,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_PERCENT_RH', index=9, number=9,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_RPM', index=10, number=10,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_CMM', index=11, number=11,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_TRUTH_VALUE', index=12, number=12,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_PERCENT', index=13, number=13,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_METERS', index=14, number=14,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_TYPE_BYTES', index=15, number=15,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=5084,
-  serialized_end=5477,
-)
-_sym_db.RegisterEnumDescriptor(_DATAVALUETYPE)
-
+_DATAVALUETYPE = DESCRIPTOR.enum_types_by_name['DataValueType']
 DataValueType = enum_type_wrapper.EnumTypeWrapper(_DATAVALUETYPE)
-_VALUESCALE = _descriptor.EnumDescriptor(
-  name='ValueScale',
-  full_name='dmi.ValueScale',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_YOCTO', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_ZEPTO', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_ATTO', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_FEMTO', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_PICO', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_NANO', index=6, number=6,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_MICRO', index=7, number=7,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_MILLI', index=8, number=8,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_UNITS', index=9, number=9,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_KILO', index=10, number=10,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_MEGA', index=11, number=11,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_GIGA', index=12, number=12,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_TERA', index=13, number=13,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_PETA', index=14, number=14,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_EXA', index=15, number=15,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_ZETTA', index=16, number=16,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='VALUE_SCALE_YOTTA', index=17, number=17,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=5480,
-  serialized_end=5900,
-)
-_sym_db.RegisterEnumDescriptor(_VALUESCALE)
-
+_VALUESCALE = DESCRIPTOR.enum_types_by_name['ValueScale']
 ValueScale = enum_type_wrapper.EnumTypeWrapper(_VALUESCALE)
-_SENSORSTATUS = _descriptor.EnumDescriptor(
-  name='SensorStatus',
-  full_name='dmi.SensorStatus',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='SENSOR_STATUS_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='SENSOR_STATUS_OK', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='SENSOR_STATUS_UNAVAILABLE', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='SENSOR_STATUS_NONOPERATIONAL', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=5903,
-  serialized_end=6033,
-)
-_sym_db.RegisterEnumDescriptor(_SENSORSTATUS)
-
+_SENSORSTATUS = DESCRIPTOR.enum_types_by_name['SensorStatus']
 SensorStatus = enum_type_wrapper.EnumTypeWrapper(_SENSORSTATUS)
+_TRANSCEIVERTYPE = DESCRIPTOR.enum_types_by_name['TransceiverType']
+TransceiverType = enum_type_wrapper.EnumTypeWrapper(_TRANSCEIVERTYPE)
 COMPONENT_TYPE_UNDEFINED = 0
 COMPONENT_TYPE_UNKNOWN = 1
 COMPONENT_TYPE_CHASSIS = 2
@@ -655,1321 +119,37 @@
 SENSOR_STATUS_OK = 1
 SENSOR_STATUS_UNAVAILABLE = 2
 SENSOR_STATUS_NONOPERATIONAL = 3
+TYPE_UNDEFINED = 0
+ETHERNET = 1
+GPON = 2
+XGPON = 3
+XGSPON = 4
+CPON = 5
+NG_PON2 = 6
+EPON = 7
+TYPE_NOT_DETECTED = 255
 
 
-_PORTCOMPONENTATTRIBUTES_CONNECTORTYPE = _descriptor.EnumDescriptor(
-  name='ConnectorType',
-  full_name='dmi.PortComponentAttributes.ConnectorType',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='CONNECTOR_TYPE_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='RJ45', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='FIBER_LC', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='FIBER_SC_PC', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='FIBER_MPO', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='RS232', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=1045,
-  serialized_end=1157,
-)
-_sym_db.RegisterEnumDescriptor(_PORTCOMPONENTATTRIBUTES_CONNECTORTYPE)
-
-_PORTCOMPONENTATTRIBUTES_SPEED = _descriptor.EnumDescriptor(
-  name='Speed',
-  full_name='dmi.PortComponentAttributes.Speed',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='SPEED_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DYNAMIC', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='GIGABIT_1', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='GIGABIT_10', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='GIGABIT_25', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='GIGABIT_40', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='GIGABIT_100', index=6, number=6,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='GIGABIT_400', index=7, number=7,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='MEGABIT_2500', index=8, number=8,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='MEGABIT_1250', index=9, number=9,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=1160,
-  serialized_end=1334,
-)
-_sym_db.RegisterEnumDescriptor(_PORTCOMPONENTATTRIBUTES_SPEED)
-
-_PORTCOMPONENTATTRIBUTES_PROTOCOL = _descriptor.EnumDescriptor(
-  name='Protocol',
-  full_name='dmi.PortComponentAttributes.Protocol',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='PROTOCOL_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='ETHERNET', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='GPON', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='XGPON', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='XGSPON', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='GFAST', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='SERIAL', index=6, number=6,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EPON', index=7, number=7,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='BITS', index=8, number=8,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=1336,
-  serialized_end=1460,
-)
-_sym_db.RegisterEnumDescriptor(_PORTCOMPONENTATTRIBUTES_PROTOCOL)
-
-_PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE = _descriptor.EnumDescriptor(
-  name='SupportedVoltage',
-  full_name='dmi.PsuComponentAttributes.SupportedVoltage',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='SUPPORTED_VOLTAGE_UNDEFINED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='V48', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='V230', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='V115', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=1760,
-  serialized_end=1840,
-)
-_sym_db.RegisterEnumDescriptor(_PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE)
-
-_TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR = _descriptor.EnumDescriptor(
-  name='FormFactor',
-  full_name='dmi.TransceiverComponentsAttributes.FormFactor',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='FORM_FACTOR_UNKNOWN', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='QSFP', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='QSFP_PLUS', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='QSFP28', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='SFP', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='SFP_PLUS', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='XFP', index=6, number=6,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='CFP4', index=7, number=7,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='CFP2', index=8, number=8,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='CPAK', index=9, number=9,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='X2', index=10, number=10,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='OTHER', index=11, number=11,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='CFP', index=12, number=12,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='CFP2_ACO', index=13, number=13,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='CFP2_DCO', index=14, number=14,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=2168,
-  serialized_end=2360,
-)
-_sym_db.RegisterEnumDescriptor(_TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR)
-
-_TRANSCEIVERCOMPONENTSATTRIBUTES_TYPE = _descriptor.EnumDescriptor(
-  name='Type',
-  full_name='dmi.TransceiverComponentsAttributes.Type',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='TYPE_UNKNOWN', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='ETHERNET', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='GPON', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='XGPON', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='XGSPON', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='CPON', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='NG_PON2', index=6, number=6,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='EPON', index=7, number=7,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=2362,
-  serialized_end=2466,
-)
-_sym_db.RegisterEnumDescriptor(_TRANSCEIVERCOMPONENTSATTRIBUTES_TYPE)
-
-
-_UUID = _descriptor.Descriptor(
-  name='Uuid',
-  full_name='dmi.Uuid',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-  ],
-  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,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-  ],
-  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,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-  ],
-  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,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  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,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=448,
-  serialized_end=720,
-)
-
-
-_PORTCOMPONENTATTRIBUTES = _descriptor.Descriptor(
-  name='PortComponentAttributes',
-  full_name='dmi.PortComponentAttributes',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='connector_type', full_name='dmi.PortComponentAttributes.connector_type', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='speed', full_name='dmi.PortComponentAttributes.speed', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='protocol', full_name='dmi.PortComponentAttributes.protocol', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='physical_label', full_name='dmi.PortComponentAttributes.physical_label', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='mapping_label', full_name='dmi.PortComponentAttributes.mapping_label', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='pon_id_config', full_name='dmi.PortComponentAttributes.pon_id_config', index=5,
-      number=6, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='speed_autonegotiation', full_name='dmi.PortComponentAttributes.speed_autonegotiation', index=6,
-      number=7, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _PORTCOMPONENTATTRIBUTES_CONNECTORTYPE,
-    _PORTCOMPONENTATTRIBUTES_SPEED,
-    _PORTCOMPONENTATTRIBUTES_PROTOCOL,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=723,
-  serialized_end=1460,
-)
-
-
-_PORTCOMPONENTCHANGEATTRIBUTES = _descriptor.Descriptor(
-  name='PortComponentChangeAttributes',
-  full_name='dmi.PortComponentChangeAttributes',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='pon_id_config', full_name='dmi.PortComponentChangeAttributes.pon_id_config', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1462,
-  serialized_end=1534,
-)
-
-
-_PONIDCONFIG = _descriptor.Descriptor(
-  name='PonIdConfig',
-  full_name='dmi.PonIdConfig',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='pon_id', full_name='dmi.PonIdConfig.pon_id', index=0,
-      number=1, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"",
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='pon_id_transmit_periodicity', full_name='dmi.PonIdConfig.pon_id_transmit_periodicity', index=1,
-      number=2, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1536,
-  serialized_end=1602,
-)
-
-
-_CONTAINERCOMPONENTATTRIBUTES = _descriptor.Descriptor(
-  name='ContainerComponentAttributes',
-  full_name='dmi.ContainerComponentAttributes',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='physical_label', full_name='dmi.ContainerComponentAttributes.physical_label', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1604,
-  serialized_end=1658,
-)
-
-
-_PSUCOMPONENTATTRIBUTES = _descriptor.Descriptor(
-  name='PsuComponentAttributes',
-  full_name='dmi.PsuComponentAttributes',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='supported_voltage', full_name='dmi.PsuComponentAttributes.supported_voltage', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1661,
-  serialized_end=1840,
-)
-
-
-_TRANSCEIVERCOMPONENTSATTRIBUTES = _descriptor.Descriptor(
-  name='TransceiverComponentsAttributes',
-  full_name='dmi.TransceiverComponentsAttributes',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='form_factor', full_name='dmi.TransceiverComponentsAttributes.form_factor', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='trans_type', full_name='dmi.TransceiverComponentsAttributes.trans_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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='max_distance', full_name='dmi.TransceiverComponentsAttributes.max_distance', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='max_distance_scale', full_name='dmi.TransceiverComponentsAttributes.max_distance_scale', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='rx_wavelength', full_name='dmi.TransceiverComponentsAttributes.rx_wavelength', index=4,
-      number=5, type=13, cpp_type=3, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='tx_wavelength', full_name='dmi.TransceiverComponentsAttributes.tx_wavelength', index=5,
-      number=6, type=13, cpp_type=3, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='wavelength_scale', full_name='dmi.TransceiverComponentsAttributes.wavelength_scale', index=6,
-      number=7, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR,
-    _TRANSCEIVERCOMPONENTSATTRIBUTES_TYPE,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1843,
-  serialized_end=2466,
-)
-
-
-_COMPONENT = _descriptor.Descriptor(
-  name='Component',
-  full_name='dmi.Component',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='port_attr', full_name='dmi.Component.port_attr', index=20,
-      number=50, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='container_attr', full_name='dmi.Component.container_attr', index=21,
-      number=51, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='psu_attr', full_name='dmi.Component.psu_attr', index=22,
-      number=52, 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='transceiver_attr', full_name='dmi.Component.transceiver_attr', index=23,
-      number=53, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-    _descriptor.OneofDescriptor(
-      name='specific', full_name='dmi.Component.specific',
-      index=0, containing_type=None,
-      create_key=_descriptor._internal_create_key,
-    fields=[]),
-  ],
-  serialized_start=2469,
-  serialized_end=3213,
-)
-
-
-_HARDWARE = _descriptor.Descriptor(
-  name='Hardware',
-  full_name='dmi.Hardware',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='last_booted', full_name='dmi.Hardware.last_booted', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=3216,
-  serialized_end=3354,
-)
-
-
-_MODIFIABLECOMPONENT = _descriptor.Descriptor(
-  name='ModifiableComponent',
-  full_name='dmi.ModifiableComponent',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='port_attr', full_name='dmi.ModifiableComponent.port_attr', index=8,
-      number=50, 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-    _descriptor.OneofDescriptor(
-      name='specific', full_name='dmi.ModifiableComponent.specific',
-      index=0, containing_type=None,
-      create_key=_descriptor._internal_create_key,
-    fields=[]),
-  ],
-  serialized_start=3357,
-  serialized_end=3655,
-)
-
-_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 = _DATAVALUETYPE
-_COMPONENTSENSORDATA.fields_by_name['scale'].enum_type = _VALUESCALE
-_COMPONENTSENSORDATA.fields_by_name['status'].enum_type = _SENSORSTATUS
-_COMPONENTSENSORDATA.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
-_PORTCOMPONENTATTRIBUTES.fields_by_name['connector_type'].enum_type = _PORTCOMPONENTATTRIBUTES_CONNECTORTYPE
-_PORTCOMPONENTATTRIBUTES.fields_by_name['speed'].enum_type = _PORTCOMPONENTATTRIBUTES_SPEED
-_PORTCOMPONENTATTRIBUTES.fields_by_name['protocol'].enum_type = _PORTCOMPONENTATTRIBUTES_PROTOCOL
-_PORTCOMPONENTATTRIBUTES.fields_by_name['pon_id_config'].message_type = _PONIDCONFIG
-_PORTCOMPONENTATTRIBUTES_CONNECTORTYPE.containing_type = _PORTCOMPONENTATTRIBUTES
-_PORTCOMPONENTATTRIBUTES_SPEED.containing_type = _PORTCOMPONENTATTRIBUTES
-_PORTCOMPONENTATTRIBUTES_PROTOCOL.containing_type = _PORTCOMPONENTATTRIBUTES
-_PORTCOMPONENTCHANGEATTRIBUTES.fields_by_name['pon_id_config'].message_type = _PONIDCONFIG
-_PSUCOMPONENTATTRIBUTES.fields_by_name['supported_voltage'].enum_type = _PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE
-_PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE.containing_type = _PSUCOMPONENTATTRIBUTES
-_TRANSCEIVERCOMPONENTSATTRIBUTES.fields_by_name['form_factor'].enum_type = _TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR
-_TRANSCEIVERCOMPONENTSATTRIBUTES.fields_by_name['trans_type'].enum_type = _TRANSCEIVERCOMPONENTSATTRIBUTES_TYPE
-_TRANSCEIVERCOMPONENTSATTRIBUTES.fields_by_name['max_distance_scale'].enum_type = _VALUESCALE
-_TRANSCEIVERCOMPONENTSATTRIBUTES.fields_by_name['wavelength_scale'].enum_type = _VALUESCALE
-_TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR.containing_type = _TRANSCEIVERCOMPONENTSATTRIBUTES
-_TRANSCEIVERCOMPONENTSATTRIBUTES_TYPE.containing_type = _TRANSCEIVERCOMPONENTSATTRIBUTES
-_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
-_COMPONENT.fields_by_name['port_attr'].message_type = _PORTCOMPONENTATTRIBUTES
-_COMPONENT.fields_by_name['container_attr'].message_type = _CONTAINERCOMPONENTATTRIBUTES
-_COMPONENT.fields_by_name['psu_attr'].message_type = _PSUCOMPONENTATTRIBUTES
-_COMPONENT.fields_by_name['transceiver_attr'].message_type = _TRANSCEIVERCOMPONENTSATTRIBUTES
-_COMPONENT.oneofs_by_name['specific'].fields.append(
-  _COMPONENT.fields_by_name['port_attr'])
-_COMPONENT.fields_by_name['port_attr'].containing_oneof = _COMPONENT.oneofs_by_name['specific']
-_COMPONENT.oneofs_by_name['specific'].fields.append(
-  _COMPONENT.fields_by_name['container_attr'])
-_COMPONENT.fields_by_name['container_attr'].containing_oneof = _COMPONENT.oneofs_by_name['specific']
-_COMPONENT.oneofs_by_name['specific'].fields.append(
-  _COMPONENT.fields_by_name['psu_attr'])
-_COMPONENT.fields_by_name['psu_attr'].containing_oneof = _COMPONENT.oneofs_by_name['specific']
-_COMPONENT.oneofs_by_name['specific'].fields.append(
-  _COMPONENT.fields_by_name['transceiver_attr'])
-_COMPONENT.fields_by_name['transceiver_attr'].containing_oneof = _COMPONENT.oneofs_by_name['specific']
-_HARDWARE.fields_by_name['last_change'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
-_HARDWARE.fields_by_name['root'].message_type = _COMPONENT
-_HARDWARE.fields_by_name['last_booted'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
-_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
-_MODIFIABLECOMPONENT.fields_by_name['port_attr'].message_type = _PORTCOMPONENTCHANGEATTRIBUTES
-_MODIFIABLECOMPONENT.oneofs_by_name['specific'].fields.append(
-  _MODIFIABLECOMPONENT.fields_by_name['port_attr'])
-_MODIFIABLECOMPONENT.fields_by_name['port_attr'].containing_oneof = _MODIFIABLECOMPONENT.oneofs_by_name['specific']
-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['PortComponentAttributes'] = _PORTCOMPONENTATTRIBUTES
-DESCRIPTOR.message_types_by_name['PortComponentChangeAttributes'] = _PORTCOMPONENTCHANGEATTRIBUTES
-DESCRIPTOR.message_types_by_name['PonIdConfig'] = _PONIDCONFIG
-DESCRIPTOR.message_types_by_name['ContainerComponentAttributes'] = _CONTAINERCOMPONENTATTRIBUTES
-DESCRIPTOR.message_types_by_name['PsuComponentAttributes'] = _PSUCOMPONENTATTRIBUTES
-DESCRIPTOR.message_types_by_name['TransceiverComponentsAttributes'] = _TRANSCEIVERCOMPONENTSATTRIBUTES
-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['DataValueType'] = _DATAVALUETYPE
-DESCRIPTOR.enum_types_by_name['ValueScale'] = _VALUESCALE
-DESCRIPTOR.enum_types_by_name['SensorStatus'] = _SENSORSTATUS
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
+_UUID = DESCRIPTOR.message_types_by_name['Uuid']
+_HARDWAREID = DESCRIPTOR.message_types_by_name['HardwareID']
+_URI = DESCRIPTOR.message_types_by_name['Uri']
+_COMPONENTSTATE = DESCRIPTOR.message_types_by_name['ComponentState']
+_COMPONENTSENSORDATA = DESCRIPTOR.message_types_by_name['ComponentSensorData']
+_PORTCOMPONENTATTRIBUTES = DESCRIPTOR.message_types_by_name['PortComponentAttributes']
+_PORTCOMPONENTCHANGEATTRIBUTES = DESCRIPTOR.message_types_by_name['PortComponentChangeAttributes']
+_TRANSCEIVERCOMPONENTCHANGEATTRIBUTES = DESCRIPTOR.message_types_by_name['TransceiverComponentChangeAttributes']
+_PONIDCONFIG = DESCRIPTOR.message_types_by_name['PonIdConfig']
+_CONTAINERCOMPONENTATTRIBUTES = DESCRIPTOR.message_types_by_name['ContainerComponentAttributes']
+_PSUCOMPONENTATTRIBUTES = DESCRIPTOR.message_types_by_name['PsuComponentAttributes']
+_TRANSCEIVERCOMPONENTSATTRIBUTES = DESCRIPTOR.message_types_by_name['TransceiverComponentsAttributes']
+_COMPONENT = DESCRIPTOR.message_types_by_name['Component']
+_HARDWARE = DESCRIPTOR.message_types_by_name['Hardware']
+_MODIFIABLECOMPONENT = DESCRIPTOR.message_types_by_name['ModifiableComponent']
+_PORTCOMPONENTATTRIBUTES_CONNECTORTYPE = _PORTCOMPONENTATTRIBUTES.enum_types_by_name['ConnectorType']
+_PORTCOMPONENTATTRIBUTES_SPEED = _PORTCOMPONENTATTRIBUTES.enum_types_by_name['Speed']
+_PORTCOMPONENTATTRIBUTES_PROTOCOL = _PORTCOMPONENTATTRIBUTES.enum_types_by_name['Protocol']
+_PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE = _PSUCOMPONENTATTRIBUTES.enum_types_by_name['SupportedVoltage']
+_TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR = _TRANSCEIVERCOMPONENTSATTRIBUTES.enum_types_by_name['FormFactor']
 Uuid = _reflection.GeneratedProtocolMessageType('Uuid', (_message.Message,), {
   'DESCRIPTOR' : _UUID,
   '__module__' : 'dmi.hw_pb2'
@@ -2019,6 +199,13 @@
   })
 _sym_db.RegisterMessage(PortComponentChangeAttributes)
 
+TransceiverComponentChangeAttributes = _reflection.GeneratedProtocolMessageType('TransceiverComponentChangeAttributes', (_message.Message,), {
+  'DESCRIPTOR' : _TRANSCEIVERCOMPONENTCHANGEATTRIBUTES,
+  '__module__' : 'dmi.hw_pb2'
+  # @@protoc_insertion_point(class_scope:dmi.TransceiverComponentChangeAttributes)
+  })
+_sym_db.RegisterMessage(TransceiverComponentChangeAttributes)
+
 PonIdConfig = _reflection.GeneratedProtocolMessageType('PonIdConfig', (_message.Message,), {
   'DESCRIPTOR' : _PONIDCONFIG,
   '__module__' : 'dmi.hw_pb2'
@@ -2068,6 +255,68 @@
   })
 _sym_db.RegisterMessage(ModifiableComponent)
 
+if _descriptor._USE_C_DESCRIPTORS == False:
 
-DESCRIPTOR._options = None
+  DESCRIPTOR._options = None
+  DESCRIPTOR._serialized_options = b'Z9github.com/opencord/device-management-interface/v3/go/dmi'
+  _COMPONENTTYPE._serialized_start=3676
+  _COMPONENTTYPE._serialized_end=4112
+  _COMPONENTADMINSTATE._serialized_start=4115
+  _COMPONENTADMINSTATE._serialized_end=4294
+  _COMPONENTOPERSTATE._serialized_start=4297
+  _COMPONENTOPERSTATE._serialized_end=4465
+  _COMPONENTUSAGESTATE._serialized_start=4468
+  _COMPONENTUSAGESTATE._serialized_end=4634
+  _COMPONENTALARMSTATE._serialized_start=4637
+  _COMPONENTALARMSTATE._serialized_end=4908
+  _COMPONENTSTANDBYSTATE._serialized_start=4911
+  _COMPONENTSTANDBYSTATE._serialized_end=5099
+  _DATAVALUETYPE._serialized_start=5102
+  _DATAVALUETYPE._serialized_end=5495
+  _VALUESCALE._serialized_start=5498
+  _VALUESCALE._serialized_end=5918
+  _SENSORSTATUS._serialized_start=5921
+  _SENSORSTATUS._serialized_end=6051
+  _TRANSCEIVERTYPE._serialized_start=6054
+  _TRANSCEIVERTYPE._serialized_end=6195
+  _UUID._serialized_start=54
+  _UUID._serialized_end=74
+  _HARDWAREID._serialized_start=76
+  _HARDWAREID._serialized_end=113
+  _URI._serialized_start=115
+  _URI._serialized_end=133
+  _COMPONENTSTATE._serialized_start=136
+  _COMPONENTSTATE._serialized_end=445
+  _COMPONENTSENSORDATA._serialized_start=448
+  _COMPONENTSENSORDATA._serialized_end=720
+  _PORTCOMPONENTATTRIBUTES._serialized_start=723
+  _PORTCOMPONENTATTRIBUTES._serialized_end=1460
+  _PORTCOMPONENTATTRIBUTES_CONNECTORTYPE._serialized_start=1045
+  _PORTCOMPONENTATTRIBUTES_CONNECTORTYPE._serialized_end=1157
+  _PORTCOMPONENTATTRIBUTES_SPEED._serialized_start=1160
+  _PORTCOMPONENTATTRIBUTES_SPEED._serialized_end=1334
+  _PORTCOMPONENTATTRIBUTES_PROTOCOL._serialized_start=1336
+  _PORTCOMPONENTATTRIBUTES_PROTOCOL._serialized_end=1460
+  _PORTCOMPONENTCHANGEATTRIBUTES._serialized_start=1462
+  _PORTCOMPONENTCHANGEATTRIBUTES._serialized_end=1534
+  _TRANSCEIVERCOMPONENTCHANGEATTRIBUTES._serialized_start=1536
+  _TRANSCEIVERCOMPONENTCHANGEATTRIBUTES._serialized_end=1616
+  _PONIDCONFIG._serialized_start=1618
+  _PONIDCONFIG._serialized_end=1684
+  _CONTAINERCOMPONENTATTRIBUTES._serialized_start=1686
+  _CONTAINERCOMPONENTATTRIBUTES._serialized_end=1740
+  _PSUCOMPONENTATTRIBUTES._serialized_start=1743
+  _PSUCOMPONENTATTRIBUTES._serialized_end=1922
+  _PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE._serialized_start=1842
+  _PSUCOMPONENTATTRIBUTES_SUPPORTEDVOLTAGE._serialized_end=1922
+  _TRANSCEIVERCOMPONENTSATTRIBUTES._serialized_start=1925
+  _TRANSCEIVERCOMPONENTSATTRIBUTES._serialized_end=2421
+  _TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR._serialized_start=2229
+  _TRANSCEIVERCOMPONENTSATTRIBUTES_FORMFACTOR._serialized_end=2421
+  _COMPONENT._serialized_start=2424
+  _COMPONENT._serialized_end=3168
+  _HARDWARE._serialized_start=3171
+  _HARDWARE._serialized_end=3309
+  _MODIFIABLECOMPONENT._serialized_start=3312
+  _MODIFIABLECOMPONENT._serialized_end=3673
 # @@protoc_insertion_point(module_scope)
diff --git a/python/dmi/sw_image_pb2.py b/python/dmi/sw_image_pb2.py
index 9b6f31f..28d6ef9 100644
--- a/python/dmi/sw_image_pb2.py
+++ b/python/dmi/sw_image_pb2.py
@@ -3,6 +3,7 @@
 # source: dmi/sw_image.proto
 """Generated protocol buffer code."""
 from google.protobuf import descriptor as _descriptor
+from google.protobuf import descriptor_pool as _descriptor_pool
 from google.protobuf import message as _message
 from google.protobuf import reflection as _reflection
 from google.protobuf import symbol_database as _symbol_database
@@ -14,303 +15,15 @@
 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',
-  create_key=_descriptor._internal_create_key,
-  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\"\xe2\x04\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\x12\x15\n\rreason_detail\x18\x05 \x01(\t\"\xd0\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\x14\n\x10\x43OMMITTING_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\"\xe1\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\x12!\n\x1dOPERATION_ALREADY_IN_PROGRESS\x10\x06\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x07\x12\x18\n\x14\x44\x45VICE_NOT_REACHABLE\x10\x08\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3'
-  ,
-  dependencies=[dmi_dot_commons__pb2.DESCRIPTOR,])
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(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\"\xe2\x04\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\x12\x15\n\rreason_detail\x18\x05 \x01(\t\"\xd0\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\x14\n\x10\x43OMMITTING_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\"\xe1\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\x12!\n\x1dOPERATION_ALREADY_IN_PROGRESS\x10\x06\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x07\x12\x18\n\x14\x44\x45VICE_NOT_REACHABLE\x10\x08\x42;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
 
 
 
-_IMAGESTATUS_IMAGESTATE = _descriptor.EnumDescriptor(
-  name='ImageState',
-  full_name='dmi.ImageStatus.ImageState',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_STATE', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COPYING_IMAGE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INSTALLING_IMAGE', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='COMMITTING_IMAGE', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='REBOOTING_DEVICE', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UPGRADE_COMPLETE', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UPGRADE_FAILED', index=6, number=6,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='ACTIVATION_COMPLETE', index=7, number=7,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='ACTIVATION_FAILED', index=8, number=8,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=396,
-  serialized_end=604,
-)
-_sym_db.RegisterEnumDescriptor(_IMAGESTATUS_IMAGESTATE)
-
-_IMAGESTATUS_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.ImageStatus.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='ERROR_IN_REQUEST', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_IN_WRONG_STATE', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INVALID_IMAGE', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='WRONG_IMAGE_CHECKSUM', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='OPERATION_ALREADY_IN_PROGRESS', index=6, number=6,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=7, number=7,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_NOT_REACHABLE', index=8, number=8,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=607,
-  serialized_end=832,
-)
-_sym_db.RegisterEnumDescriptor(_IMAGESTATUS_REASON)
-
-
-_IMAGEVERSION = _descriptor.Descriptor(
-  name='ImageVersion',
-  full_name='dmi.ImageVersion',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  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,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  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,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.ImageStatus.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  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=832,
-)
-
-_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 = DESCRIPTOR.message_types_by_name['ImageVersion']
+_IMAGEINFORMATION = DESCRIPTOR.message_types_by_name['ImageInformation']
+_IMAGESTATUS = DESCRIPTOR.message_types_by_name['ImageStatus']
+_IMAGESTATUS_IMAGESTATE = _IMAGESTATUS.enum_types_by_name['ImageState']
+_IMAGESTATUS_REASON = _IMAGESTATUS.enum_types_by_name['Reason']
 ImageVersion = _reflection.GeneratedProtocolMessageType('ImageVersion', (_message.Message,), {
   'DESCRIPTOR' : _IMAGEVERSION,
   '__module__' : 'dmi.sw_image_pb2'
@@ -332,6 +45,18 @@
   })
 _sym_db.RegisterMessage(ImageStatus)
 
+if _descriptor._USE_C_DESCRIPTORS == False:
 
-DESCRIPTOR._options = None
+  DESCRIPTOR._options = None
+  DESCRIPTOR._serialized_options = b'Z9github.com/opencord/device-management-interface/v3/go/dmi'
+  _IMAGEVERSION._serialized_start=46
+  _IMAGEVERSION._serialized_end=97
+  _IMAGEINFORMATION._serialized_start=99
+  _IMAGEINFORMATION._serialized_end=219
+  _IMAGESTATUS._serialized_start=222
+  _IMAGESTATUS._serialized_end=832
+  _IMAGESTATUS_IMAGESTATE._serialized_start=396
+  _IMAGESTATUS_IMAGESTATE._serialized_end=604
+  _IMAGESTATUS_REASON._serialized_start=607
+  _IMAGESTATUS_REASON._serialized_end=832
 # @@protoc_insertion_point(module_scope)
diff --git a/python/dmi/sw_management_service_pb2.py b/python/dmi/sw_management_service_pb2.py
index ff2d746..e06c03b 100644
--- a/python/dmi/sw_management_service_pb2.py
+++ b/python/dmi/sw_management_service_pb2.py
@@ -3,6 +3,7 @@
 # source: dmi/sw_management_service.proto
 """Generated protocol buffer code."""
 from google.protobuf import descriptor as _descriptor
+from google.protobuf import descriptor_pool as _descriptor_pool
 from google.protobuf import message as _message
 from google.protobuf import reflection as _reflection
 from google.protobuf import symbol_database as _symbol_database
@@ -16,474 +17,20 @@
 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',
-  create_key=_descriptor._internal_create_key,
-  serialized_pb=b'\n\x1f\x64mi/sw_management_service.proto\x12\x03\x64mi\x1a\x11\x64mi/commons.proto\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\"\xad\x02\n%GetSoftwareVersionInformationResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x41\n\x06reason\x18\x02 \x01(\x0e\x32\x31.dmi.GetSoftwareVersionInformationResponse.Reason\x12-\n\x04info\x18\x03 \x01(\x0b\x32\x1f.dmi.SoftwareVersionInformation\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\"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.ImageInformation\"C\n\rConfigRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12\x12\n\nconfig_url\x18\x02 \x01(\t\"\xa3\x02\n\x0e\x43onfigResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12*\n\x06reason\x18\x02 \x01(\x0e\x32\x1a.dmi.ConfigResponse.Reason\x12\x15\n\rreason_detail\x18\x03 \x01(\t\"\xb0\x01\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x12\n\x0eINTERNAL_ERROR\x10\x02\x12\x19\n\x15\x45RROR_FETCHING_CONFIG\x10\x03\x12\x12\n\x0eINVALID_CONFIG\x10\x04\x12!\n\x1dOPERATION_ALREADY_IN_PROGRESS\x10\x05\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x06\":\n\x18StartupConfigInfoRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\"\x8b\x02\n\x19StartupConfigInfoResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x35\n\x06reason\x18\x02 \x01(\x0e\x32%.dmi.StartupConfigInfoResponse.Reason\x12\x12\n\nconfig_url\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\x12\x15\n\rreason_detail\x18\x05 \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\x32\xce\x03\n\x1fNativeSoftwareManagementService\x12Q\n\x12GetSoftwareVersion\x12\x0f.dmi.HardwareID\x1a*.dmi.GetSoftwareVersionInformationResponse\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\x12G\n\x1aUpdateStartupConfiguration\x12\x12.dmi.ConfigRequest\x1a\x13.dmi.ConfigResponse0\x01\x12\\\n\x1bGetStartupConfigurationInfo\x12\x1d.dmi.StartupConfigInfoRequest\x1a\x1e.dmi.StartupConfigInfoResponseB;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3'
-  ,
-  dependencies=[dmi_dot_commons__pb2.DESCRIPTOR,dmi_dot_hw__pb2.DESCRIPTOR,dmi_dot_sw__image__pb2.DESCRIPTOR,])
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x64mi/sw_management_service.proto\x12\x03\x64mi\x1a\x11\x64mi/commons.proto\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\"\xad\x02\n%GetSoftwareVersionInformationResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x41\n\x06reason\x18\x02 \x01(\x0e\x32\x31.dmi.GetSoftwareVersionInformationResponse.Reason\x12-\n\x04info\x18\x03 \x01(\x0b\x32\x1f.dmi.SoftwareVersionInformation\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\"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.ImageInformation\"C\n\rConfigRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12\x12\n\nconfig_url\x18\x02 \x01(\t\"\xa3\x02\n\x0e\x43onfigResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12*\n\x06reason\x18\x02 \x01(\x0e\x32\x1a.dmi.ConfigResponse.Reason\x12\x15\n\rreason_detail\x18\x03 \x01(\t\"\xb0\x01\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x12\n\x0eINTERNAL_ERROR\x10\x02\x12\x19\n\x15\x45RROR_FETCHING_CONFIG\x10\x03\x12\x12\n\x0eINVALID_CONFIG\x10\x04\x12!\n\x1dOPERATION_ALREADY_IN_PROGRESS\x10\x05\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x06\":\n\x18StartupConfigInfoRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\"\x8b\x02\n\x19StartupConfigInfoResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x35\n\x06reason\x18\x02 \x01(\x0e\x32%.dmi.StartupConfigInfoResponse.Reason\x12\x12\n\nconfig_url\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\x12\x15\n\rreason_detail\x18\x05 \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\x32\xce\x03\n\x1fNativeSoftwareManagementService\x12Q\n\x12GetSoftwareVersion\x12\x0f.dmi.HardwareID\x1a*.dmi.GetSoftwareVersionInformationResponse\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\x12G\n\x1aUpdateStartupConfiguration\x12\x12.dmi.ConfigRequest\x1a\x13.dmi.ConfigResponse0\x01\x12\\\n\x1bGetStartupConfigurationInfo\x12\x1d.dmi.StartupConfigInfoRequest\x1a\x1e.dmi.StartupConfigInfoResponseB;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')
 
 
 
-_GETSOFTWAREVERSIONINFORMATIONRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.GetSoftwareVersionInformationResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=420,
-  serialized_end=514,
-)
-_sym_db.RegisterEnumDescriptor(_GETSOFTWAREVERSIONINFORMATIONRESPONSE_REASON)
-
-_CONFIGRESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.ConfigResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='ERROR_FETCHING_CONFIG', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INVALID_CONFIG', index=4, number=4,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='OPERATION_ALREADY_IN_PROGRESS', index=5, number=5,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=6, number=6,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=800,
-  serialized_end=976,
-)
-_sym_db.RegisterEnumDescriptor(_CONFIGRESPONSE_REASON)
-
-_STARTUPCONFIGINFORESPONSE_REASON = _descriptor.EnumDescriptor(
-  name='Reason',
-  full_name='dmi.StartupConfigInfoResponse.Reason',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNDEFINED_REASON', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_DEVICE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INTERNAL_ERROR', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEVICE_UNREACHABLE', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=420,
-  serialized_end=514,
-)
-_sym_db.RegisterEnumDescriptor(_STARTUPCONFIGINFORESPONSE_REASON)
-
-
-_SOFTWAREVERSIONINFORMATION = _descriptor.Descriptor(
-  name='SoftwareVersionInformation',
-  full_name='dmi.SoftwareVersionInformation',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=93,
-  serialized_end=210,
-)
-
-
-_GETSOFTWAREVERSIONINFORMATIONRESPONSE = _descriptor.Descriptor(
-  name='GetSoftwareVersionInformationResponse',
-  full_name='dmi.GetSoftwareVersionInformationResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='status', full_name='dmi.GetSoftwareVersionInformationResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='dmi.GetSoftwareVersionInformationResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='info', full_name='dmi.GetSoftwareVersionInformationResponse.info', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.GetSoftwareVersionInformationResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _GETSOFTWAREVERSIONINFORMATIONRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=213,
-  serialized_end=514,
-)
-
-
-_DOWNLOADIMAGEREQUEST = _descriptor.Descriptor(
-  name='DownloadImageRequest',
-  full_name='dmi.DownloadImageRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  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,  create_key=_descriptor._internal_create_key),
-    _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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=516,
-  serialized_end=613,
-)
-
-
-_CONFIGREQUEST = _descriptor.Descriptor(
-  name='ConfigRequest',
-  full_name='dmi.ConfigRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='device_uuid', full_name='dmi.ConfigRequest.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='config_url', full_name='dmi.ConfigRequest.config_url', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=615,
-  serialized_end=682,
-)
-
-
-_CONFIGRESPONSE = _descriptor.Descriptor(
-  name='ConfigResponse',
-  full_name='dmi.ConfigResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='status', full_name='dmi.ConfigResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='dmi.ConfigResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.ConfigResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _CONFIGRESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=685,
-  serialized_end=976,
-)
-
-
-_STARTUPCONFIGINFOREQUEST = _descriptor.Descriptor(
-  name='StartupConfigInfoRequest',
-  full_name='dmi.StartupConfigInfoRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='device_uuid', full_name='dmi.StartupConfigInfoRequest.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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=978,
-  serialized_end=1036,
-)
-
-
-_STARTUPCONFIGINFORESPONSE = _descriptor.Descriptor(
-  name='StartupConfigInfoResponse',
-  full_name='dmi.StartupConfigInfoResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='status', full_name='dmi.StartupConfigInfoResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason', full_name='dmi.StartupConfigInfoResponse.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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='config_url', full_name='dmi.StartupConfigInfoResponse.config_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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='version', full_name='dmi.StartupConfigInfoResponse.version', 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,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='reason_detail', full_name='dmi.StartupConfigInfoResponse.reason_detail', 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,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _STARTUPCONFIGINFORESPONSE_REASON,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1039,
-  serialized_end=1306,
-)
-
-_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
-_GETSOFTWAREVERSIONINFORMATIONRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_GETSOFTWAREVERSIONINFORMATIONRESPONSE.fields_by_name['reason'].enum_type = _GETSOFTWAREVERSIONINFORMATIONRESPONSE_REASON
-_GETSOFTWAREVERSIONINFORMATIONRESPONSE.fields_by_name['info'].message_type = _SOFTWAREVERSIONINFORMATION
-_GETSOFTWAREVERSIONINFORMATIONRESPONSE_REASON.containing_type = _GETSOFTWAREVERSIONINFORMATIONRESPONSE
-_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
-_CONFIGREQUEST.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
-_CONFIGRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_CONFIGRESPONSE.fields_by_name['reason'].enum_type = _CONFIGRESPONSE_REASON
-_CONFIGRESPONSE_REASON.containing_type = _CONFIGRESPONSE
-_STARTUPCONFIGINFOREQUEST.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
-_STARTUPCONFIGINFORESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_STARTUPCONFIGINFORESPONSE.fields_by_name['reason'].enum_type = _STARTUPCONFIGINFORESPONSE_REASON
-_STARTUPCONFIGINFORESPONSE_REASON.containing_type = _STARTUPCONFIGINFORESPONSE
-DESCRIPTOR.message_types_by_name['SoftwareVersionInformation'] = _SOFTWAREVERSIONINFORMATION
-DESCRIPTOR.message_types_by_name['GetSoftwareVersionInformationResponse'] = _GETSOFTWAREVERSIONINFORMATIONRESPONSE
-DESCRIPTOR.message_types_by_name['DownloadImageRequest'] = _DOWNLOADIMAGEREQUEST
-DESCRIPTOR.message_types_by_name['ConfigRequest'] = _CONFIGREQUEST
-DESCRIPTOR.message_types_by_name['ConfigResponse'] = _CONFIGRESPONSE
-DESCRIPTOR.message_types_by_name['StartupConfigInfoRequest'] = _STARTUPCONFIGINFOREQUEST
-DESCRIPTOR.message_types_by_name['StartupConfigInfoResponse'] = _STARTUPCONFIGINFORESPONSE
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
+_SOFTWAREVERSIONINFORMATION = DESCRIPTOR.message_types_by_name['SoftwareVersionInformation']
+_GETSOFTWAREVERSIONINFORMATIONRESPONSE = DESCRIPTOR.message_types_by_name['GetSoftwareVersionInformationResponse']
+_DOWNLOADIMAGEREQUEST = DESCRIPTOR.message_types_by_name['DownloadImageRequest']
+_CONFIGREQUEST = DESCRIPTOR.message_types_by_name['ConfigRequest']
+_CONFIGRESPONSE = DESCRIPTOR.message_types_by_name['ConfigResponse']
+_STARTUPCONFIGINFOREQUEST = DESCRIPTOR.message_types_by_name['StartupConfigInfoRequest']
+_STARTUPCONFIGINFORESPONSE = DESCRIPTOR.message_types_by_name['StartupConfigInfoResponse']
+_GETSOFTWAREVERSIONINFORMATIONRESPONSE_REASON = _GETSOFTWAREVERSIONINFORMATIONRESPONSE.enum_types_by_name['Reason']
+_CONFIGRESPONSE_REASON = _CONFIGRESPONSE.enum_types_by_name['Reason']
+_STARTUPCONFIGINFORESPONSE_REASON = _STARTUPCONFIGINFORESPONSE.enum_types_by_name['Reason']
 SoftwareVersionInformation = _reflection.GeneratedProtocolMessageType('SoftwareVersionInformation', (_message.Message,), {
   'DESCRIPTOR' : _SOFTWAREVERSIONINFORMATION,
   '__module__' : 'dmi.sw_management_service_pb2'
@@ -533,82 +80,31 @@
   })
 _sym_db.RegisterMessage(StartupConfigInfoResponse)
 
+_NATIVESOFTWAREMANAGEMENTSERVICE = DESCRIPTOR.services_by_name['NativeSoftwareManagementService']
+if _descriptor._USE_C_DESCRIPTORS == False:
 
-DESCRIPTOR._options = None
-
-_NATIVESOFTWAREMANAGEMENTSERVICE = _descriptor.ServiceDescriptor(
-  name='NativeSoftwareManagementService',
-  full_name='dmi.NativeSoftwareManagementService',
-  file=DESCRIPTOR,
-  index=0,
-  serialized_options=None,
-  create_key=_descriptor._internal_create_key,
-  serialized_start=1309,
-  serialized_end=1771,
-  methods=[
-  _descriptor.MethodDescriptor(
-    name='GetSoftwareVersion',
-    full_name='dmi.NativeSoftwareManagementService.GetSoftwareVersion',
-    index=0,
-    containing_service=None,
-    input_type=dmi_dot_hw__pb2._HARDWAREID,
-    output_type=_GETSOFTWAREVERSIONINFORMATIONRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _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,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _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,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _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,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='UpdateStartupConfiguration',
-    full_name='dmi.NativeSoftwareManagementService.UpdateStartupConfiguration',
-    index=4,
-    containing_service=None,
-    input_type=_CONFIGREQUEST,
-    output_type=_CONFIGRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetStartupConfigurationInfo',
-    full_name='dmi.NativeSoftwareManagementService.GetStartupConfigurationInfo',
-    index=5,
-    containing_service=None,
-    input_type=_STARTUPCONFIGINFOREQUEST,
-    output_type=_STARTUPCONFIGINFORESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-])
-_sym_db.RegisterServiceDescriptor(_NATIVESOFTWAREMANAGEMENTSERVICE)
-
-DESCRIPTOR.services_by_name['NativeSoftwareManagementService'] = _NATIVESOFTWAREMANAGEMENTSERVICE
-
+  DESCRIPTOR._options = None
+  DESCRIPTOR._serialized_options = b'Z9github.com/opencord/device-management-interface/v3/go/dmi'
+  _SOFTWAREVERSIONINFORMATION._serialized_start=93
+  _SOFTWAREVERSIONINFORMATION._serialized_end=210
+  _GETSOFTWAREVERSIONINFORMATIONRESPONSE._serialized_start=213
+  _GETSOFTWAREVERSIONINFORMATIONRESPONSE._serialized_end=514
+  _GETSOFTWAREVERSIONINFORMATIONRESPONSE_REASON._serialized_start=420
+  _GETSOFTWAREVERSIONINFORMATIONRESPONSE_REASON._serialized_end=514
+  _DOWNLOADIMAGEREQUEST._serialized_start=516
+  _DOWNLOADIMAGEREQUEST._serialized_end=613
+  _CONFIGREQUEST._serialized_start=615
+  _CONFIGREQUEST._serialized_end=682
+  _CONFIGRESPONSE._serialized_start=685
+  _CONFIGRESPONSE._serialized_end=976
+  _CONFIGRESPONSE_REASON._serialized_start=800
+  _CONFIGRESPONSE_REASON._serialized_end=976
+  _STARTUPCONFIGINFOREQUEST._serialized_start=978
+  _STARTUPCONFIGINFOREQUEST._serialized_end=1036
+  _STARTUPCONFIGINFORESPONSE._serialized_start=1039
+  _STARTUPCONFIGINFORESPONSE._serialized_end=1306
+  _STARTUPCONFIGINFORESPONSE_REASON._serialized_start=420
+  _STARTUPCONFIGINFORESPONSE_REASON._serialized_end=514
+  _NATIVESOFTWAREMANAGEMENTSERVICE._serialized_start=1309
+  _NATIVESOFTWAREMANAGEMENTSERVICE._serialized_end=1771
 # @@protoc_insertion_point(module_scope)
