# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# 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
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from dmi import commons_pb2 as dmi_dot_commons__pb2
from dmi import hw_pb2 as dmi_dot_hw__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2


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\"\xd4\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\"J\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eUNKNOWN_DEVICE\x10\x01\x12\x16\n\x12\x44\x45VICE_UNREACHABLE\x10\x02\"[\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\"4\n\x14SetDmLogLevelRequest\x12\x1c\n\x05level\x18\x01 \x01(\x0e\x32\r.dmi.LogLevel\"\xc9\x01\n\x15SetDmLogLevelResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x31\n\x06reason\x18\x02 \x01(\x0e\x32!.dmi.SetDmLogLevelResponse.Reason\x12\x15\n\rreason_detail\x18\x03 \x01(\t\"I\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eINTERNAL_ERROR\x10\x01\x12\x15\n\x11UNKNOWN_LOG_LEVEL\x10\x02\"\x16\n\x14GetDmLogLevelRequest\"\xd0\x01\n\x15GetDmLogLevelResponse\x12\x1c\n\x05level\x18\x01 \x01(\x0e\x32\r.dmi.LogLevel\x12\x1b\n\x06status\x18\x02 \x01(\x0e\x32\x0b.dmi.Status\x12\x31\n\x06reason\x18\x03 \x01(\x0e\x32!.dmi.GetDmLogLevelResponse.Reason\x12\x15\n\rreason_detail\x18\x04 \x01(\t\"2\n\x06Reason\x12\x14\n\x10UNDEFINED_REASON\x10\x00\x12\x12\n\x0eINTERNAL_ERROR\x10\x01\"(\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\"\xf7\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\"y\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\x12\x19\n\x15\x44\x45VICE_IN_WRONG_STATE\x10\x04\x32\xbe\n\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.RebootDeviceResponse\x12\x46\n\rSetDmLogLevel\x12\x19.dmi.SetDmLogLevelRequest\x1a\x1a.dmi.SetDmLogLevelResponse\x12\x46\n\rGetDmLogLevel\x12\x19.dmi.GetDmLogLevelRequest\x1a\x1a.dmi.GetDmLogLevelResponseB;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3')



_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']
_SETDMLOGLEVELREQUEST = DESCRIPTOR.message_types_by_name['SetDmLogLevelRequest']
_SETDMLOGLEVELRESPONSE = DESCRIPTOR.message_types_by_name['SetDmLogLevelResponse']
_GETDMLOGLEVELREQUEST = DESCRIPTOR.message_types_by_name['GetDmLogLevelRequest']
_GETDMLOGLEVELRESPONSE = DESCRIPTOR.message_types_by_name['GetDmLogLevelResponse']
_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']
_SETDMLOGLEVELRESPONSE_REASON = _SETDMLOGLEVELRESPONSE.enum_types_by_name['Reason']
_GETDMLOGLEVELRESPONSE_REASON = _GETDMLOGLEVELRESPONSE.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'
  # @@protoc_insertion_point(class_scope:dmi.PhysicalInventoryRequest)
  })
_sym_db.RegisterMessage(PhysicalInventoryRequest)

PhysicalInventoryResponse = _reflection.GeneratedProtocolMessageType('PhysicalInventoryResponse', (_message.Message,), {
  'DESCRIPTOR' : _PHYSICALINVENTORYRESPONSE,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.PhysicalInventoryResponse)
  })
_sym_db.RegisterMessage(PhysicalInventoryResponse)

HWComponentInfoGetRequest = _reflection.GeneratedProtocolMessageType('HWComponentInfoGetRequest', (_message.Message,), {
  'DESCRIPTOR' : _HWCOMPONENTINFOGETREQUEST,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.HWComponentInfoGetRequest)
  })
_sym_db.RegisterMessage(HWComponentInfoGetRequest)

HWComponentInfoGetResponse = _reflection.GeneratedProtocolMessageType('HWComponentInfoGetResponse', (_message.Message,), {
  'DESCRIPTOR' : _HWCOMPONENTINFOGETRESPONSE,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.HWComponentInfoGetResponse)
  })
_sym_db.RegisterMessage(HWComponentInfoGetResponse)

HWComponentInfoSetRequest = _reflection.GeneratedProtocolMessageType('HWComponentInfoSetRequest', (_message.Message,), {
  'DESCRIPTOR' : _HWCOMPONENTINFOSETREQUEST,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.HWComponentInfoSetRequest)
  })
_sym_db.RegisterMessage(HWComponentInfoSetRequest)

HWComponentInfoSetResponse = _reflection.GeneratedProtocolMessageType('HWComponentInfoSetResponse', (_message.Message,), {
  'DESCRIPTOR' : _HWCOMPONENTINFOSETRESPONSE,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.HWComponentInfoSetResponse)
  })
_sym_db.RegisterMessage(HWComponentInfoSetResponse)

StartManagingDeviceResponse = _reflection.GeneratedProtocolMessageType('StartManagingDeviceResponse', (_message.Message,), {
  'DESCRIPTOR' : _STARTMANAGINGDEVICERESPONSE,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.StartManagingDeviceResponse)
  })
_sym_db.RegisterMessage(StartManagingDeviceResponse)

StopManagingDeviceRequest = _reflection.GeneratedProtocolMessageType('StopManagingDeviceRequest', (_message.Message,), {
  'DESCRIPTOR' : _STOPMANAGINGDEVICEREQUEST,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.StopManagingDeviceRequest)
  })
_sym_db.RegisterMessage(StopManagingDeviceRequest)

StopManagingDeviceResponse = _reflection.GeneratedProtocolMessageType('StopManagingDeviceResponse', (_message.Message,), {
  'DESCRIPTOR' : _STOPMANAGINGDEVICERESPONSE,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.StopManagingDeviceResponse)
  })
_sym_db.RegisterMessage(StopManagingDeviceResponse)

ManagedDeviceInfo = _reflection.GeneratedProtocolMessageType('ManagedDeviceInfo', (_message.Message,), {
  'DESCRIPTOR' : _MANAGEDDEVICEINFO,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.ManagedDeviceInfo)
  })
_sym_db.RegisterMessage(ManagedDeviceInfo)

ManagedDevicesResponse = _reflection.GeneratedProtocolMessageType('ManagedDevicesResponse', (_message.Message,), {
  'DESCRIPTOR' : _MANAGEDDEVICESRESPONSE,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.ManagedDevicesResponse)
  })
_sym_db.RegisterMessage(ManagedDevicesResponse)

SetLoggingEndpointRequest = _reflection.GeneratedProtocolMessageType('SetLoggingEndpointRequest', (_message.Message,), {
  'DESCRIPTOR' : _SETLOGGINGENDPOINTREQUEST,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.SetLoggingEndpointRequest)
  })
_sym_db.RegisterMessage(SetLoggingEndpointRequest)

SetRemoteEndpointResponse = _reflection.GeneratedProtocolMessageType('SetRemoteEndpointResponse', (_message.Message,), {
  'DESCRIPTOR' : _SETREMOTEENDPOINTRESPONSE,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.SetRemoteEndpointResponse)
  })
_sym_db.RegisterMessage(SetRemoteEndpointResponse)

GetLoggingEndpointResponse = _reflection.GeneratedProtocolMessageType('GetLoggingEndpointResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETLOGGINGENDPOINTRESPONSE,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.GetLoggingEndpointResponse)
  })
_sym_db.RegisterMessage(GetLoggingEndpointResponse)

SetMsgBusEndpointRequest = _reflection.GeneratedProtocolMessageType('SetMsgBusEndpointRequest', (_message.Message,), {
  'DESCRIPTOR' : _SETMSGBUSENDPOINTREQUEST,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.SetMsgBusEndpointRequest)
  })
_sym_db.RegisterMessage(SetMsgBusEndpointRequest)

GetMsgBusEndpointResponse = _reflection.GeneratedProtocolMessageType('GetMsgBusEndpointResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETMSGBUSENDPOINTRESPONSE,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.GetMsgBusEndpointResponse)
  })
_sym_db.RegisterMessage(GetMsgBusEndpointResponse)

EntitiesLogLevel = _reflection.GeneratedProtocolMessageType('EntitiesLogLevel', (_message.Message,), {
  'DESCRIPTOR' : _ENTITIESLOGLEVEL,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.EntitiesLogLevel)
  })
_sym_db.RegisterMessage(EntitiesLogLevel)

SetLogLevelRequest = _reflection.GeneratedProtocolMessageType('SetLogLevelRequest', (_message.Message,), {
  'DESCRIPTOR' : _SETLOGLEVELREQUEST,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.SetLogLevelRequest)
  })
_sym_db.RegisterMessage(SetLogLevelRequest)

SetLogLevelResponse = _reflection.GeneratedProtocolMessageType('SetLogLevelResponse', (_message.Message,), {
  'DESCRIPTOR' : _SETLOGLEVELRESPONSE,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.SetLogLevelResponse)
  })
_sym_db.RegisterMessage(SetLogLevelResponse)

GetLogLevelRequest = _reflection.GeneratedProtocolMessageType('GetLogLevelRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETLOGLEVELREQUEST,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.GetLogLevelRequest)
  })
_sym_db.RegisterMessage(GetLogLevelRequest)

GetLogLevelResponse = _reflection.GeneratedProtocolMessageType('GetLogLevelResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETLOGLEVELRESPONSE,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.GetLogLevelResponse)
  })
_sym_db.RegisterMessage(GetLogLevelResponse)

GetLoggableEntitiesRequest = _reflection.GeneratedProtocolMessageType('GetLoggableEntitiesRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETLOGGABLEENTITIESREQUEST,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.GetLoggableEntitiesRequest)
  })
_sym_db.RegisterMessage(GetLoggableEntitiesRequest)

SetDmLogLevelRequest = _reflection.GeneratedProtocolMessageType('SetDmLogLevelRequest', (_message.Message,), {
  'DESCRIPTOR' : _SETDMLOGLEVELREQUEST,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.SetDmLogLevelRequest)
  })
_sym_db.RegisterMessage(SetDmLogLevelRequest)

SetDmLogLevelResponse = _reflection.GeneratedProtocolMessageType('SetDmLogLevelResponse', (_message.Message,), {
  'DESCRIPTOR' : _SETDMLOGLEVELRESPONSE,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.SetDmLogLevelResponse)
  })
_sym_db.RegisterMessage(SetDmLogLevelResponse)

GetDmLogLevelRequest = _reflection.GeneratedProtocolMessageType('GetDmLogLevelRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETDMLOGLEVELREQUEST,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.GetDmLogLevelRequest)
  })
_sym_db.RegisterMessage(GetDmLogLevelRequest)

GetDmLogLevelResponse = _reflection.GeneratedProtocolMessageType('GetDmLogLevelResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETDMLOGLEVELRESPONSE,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.GetDmLogLevelResponse)
  })
_sym_db.RegisterMessage(GetDmLogLevelResponse)

Heartbeat = _reflection.GeneratedProtocolMessageType('Heartbeat', (_message.Message,), {
  'DESCRIPTOR' : _HEARTBEAT,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.Heartbeat)
  })
_sym_db.RegisterMessage(Heartbeat)

RebootDeviceRequest = _reflection.GeneratedProtocolMessageType('RebootDeviceRequest', (_message.Message,), {
  'DESCRIPTOR' : _REBOOTDEVICEREQUEST,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.RebootDeviceRequest)
  })
_sym_db.RegisterMessage(RebootDeviceRequest)

RebootDeviceResponse = _reflection.GeneratedProtocolMessageType('RebootDeviceResponse', (_message.Message,), {
  'DESCRIPTOR' : _REBOOTDEVICERESPONSE,
  '__module__' : 'dmi.hw_management_service_pb2'
  # @@protoc_insertion_point(class_scope:dmi.RebootDeviceResponse)
  })
_sym_db.RegisterMessage(RebootDeviceResponse)

_NATIVEHWMANAGEMENTSERVICE = DESCRIPTOR.services_by_name['NativeHWManagementService']
if _descriptor._USE_C_DESCRIPTORS == False:

  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=1924
  _STOPMANAGINGDEVICERESPONSE_REASON._serialized_start=1850
  _STOPMANAGINGDEVICERESPONSE_REASON._serialized_end=1924
  _MANAGEDDEVICEINFO._serialized_start=1926
  _MANAGEDDEVICEINFO._serialized_end=2017
  _MANAGEDDEVICESRESPONSE._serialized_start=2020
  _MANAGEDDEVICESRESPONSE._serialized_end=2218
  _MANAGEDDEVICESRESPONSE_REASON._serialized_start=2168
  _MANAGEDDEVICESRESPONSE_REASON._serialized_end=2218
  _SETLOGGINGENDPOINTREQUEST._serialized_start=2220
  _SETLOGGINGENDPOINTREQUEST._serialized_end=2331
  _SETREMOTEENDPOINTRESPONSE._serialized_start=2334
  _SETREMOTEENDPOINTRESPONSE._serialized_end=2657
  _SETREMOTEENDPOINTRESPONSE_REASON._serialized_start=2471
  _SETREMOTEENDPOINTRESPONSE_REASON._serialized_end=2657
  _GETLOGGINGENDPOINTRESPONSE._serialized_start=2660
  _GETLOGGINGENDPOINTRESPONSE._serialized_end=2944
  _GETLOGGINGENDPOINTRESPONSE_REASON._serialized_start=333
  _GETLOGGINGENDPOINTRESPONSE_REASON._serialized_end=427
  _SETMSGBUSENDPOINTREQUEST._serialized_start=2946
  _SETMSGBUSENDPOINTREQUEST._serialized_end=2997
  _GETMSGBUSENDPOINTRESPONSE._serialized_start=3000
  _GETMSGBUSENDPOINTRESPONSE._serialized_end=3235
  _GETMSGBUSENDPOINTRESPONSE_REASON._serialized_start=3161
  _GETMSGBUSENDPOINTRESPONSE_REASON._serialized_end=3235
  _ENTITIESLOGLEVEL._serialized_start=3237
  _ENTITIESLOGLEVEL._serialized_end=3306
  _SETLOGLEVELREQUEST._serialized_start=3308
  _SETLOGLEVELREQUEST._serialized_end=3402
  _SETLOGLEVELRESPONSE._serialized_start=3405
  _SETLOGLEVELRESPONSE._serialized_end=3679
  _SETLOGLEVELRESPONSE_REASON._serialized_start=3561
  _SETLOGLEVELRESPONSE_REASON._serialized_end=3679
  _GETLOGLEVELREQUEST._serialized_start=3681
  _GETLOGLEVELREQUEST._serialized_end=3751
  _GETLOGLEVELRESPONSE._serialized_start=3754
  _GETLOGLEVELRESPONSE._serialized_end=4070
  _GETLOGLEVELRESPONSE_REASON._serialized_start=3561
  _GETLOGLEVELRESPONSE_REASON._serialized_end=3679
  _GETLOGGABLEENTITIESREQUEST._serialized_start=4072
  _GETLOGGABLEENTITIESREQUEST._serialized_end=4132
  _SETDMLOGLEVELREQUEST._serialized_start=4134
  _SETDMLOGLEVELREQUEST._serialized_end=4186
  _SETDMLOGLEVELRESPONSE._serialized_start=4189
  _SETDMLOGLEVELRESPONSE._serialized_end=4390
  _SETDMLOGLEVELRESPONSE_REASON._serialized_start=4317
  _SETDMLOGLEVELRESPONSE_REASON._serialized_end=4390
  _GETDMLOGLEVELREQUEST._serialized_start=4392
  _GETDMLOGLEVELREQUEST._serialized_end=4414
  _GETDMLOGLEVELRESPONSE._serialized_start=4417
  _GETDMLOGLEVELRESPONSE._serialized_end=4625
  _GETDMLOGLEVELRESPONSE_REASON._serialized_start=2168
  _GETDMLOGLEVELRESPONSE_REASON._serialized_end=2218
  _HEARTBEAT._serialized_start=4627
  _HEARTBEAT._serialized_end=4667
  _REBOOTDEVICEREQUEST._serialized_start=4669
  _REBOOTDEVICEREQUEST._serialized_end=4722
  _REBOOTDEVICERESPONSE._serialized_start=4725
  _REBOOTDEVICERESPONSE._serialized_end=4972
  _REBOOTDEVICERESPONSE_REASON._serialized_start=4851
  _REBOOTDEVICERESPONSE_REASON._serialized_end=4972
  _NATIVEHWMANAGEMENTSERVICE._serialized_start=4975
  _NATIVEHWMANAGEMENTSERVICE._serialized_end=6317
# @@protoc_insertion_point(module_scope)
