diff --git a/VERSION b/VERSION
index 965065d..8caff32 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.9.3
+0.9.4-dev
diff --git a/dmi.pb b/dmi.pb
index 03f02cd..784891f 100644
--- a/dmi.pb
+++ b/dmi.pb
Binary files differ
diff --git a/go/dmi/commons.pb.go b/go/dmi/commons.pb.go
index 99a0eeb..91791d2 100644
--- a/go/dmi/commons.pb.go
+++ b/go/dmi/commons.pb.go
@@ -60,6 +60,7 @@
 	Reason_LOGGING_ENDPOINT_ERROR          Reason = 5
 	Reason_LOGGING_ENDPOINT_PROTOCOL_ERROR Reason = 6
 	Reason_KAFKA_ENDPOINT_ERROR            Reason = 7
+	Reason_UNKNOWN_LOG_ENTITY              Reason = 8
 )
 
 var Reason_name = map[int32]string{
@@ -71,6 +72,7 @@
 	5: "LOGGING_ENDPOINT_ERROR",
 	6: "LOGGING_ENDPOINT_PROTOCOL_ERROR",
 	7: "KAFKA_ENDPOINT_ERROR",
+	8: "UNKNOWN_LOG_ENTITY",
 }
 
 var Reason_value = map[string]int32{
@@ -82,6 +84,7 @@
 	"LOGGING_ENDPOINT_ERROR":          5,
 	"LOGGING_ENDPOINT_PROTOCOL_ERROR": 6,
 	"KAFKA_ENDPOINT_ERROR":            7,
+	"UNKNOWN_LOG_ENTITY":              8,
 }
 
 func (x Reason) String() string {
@@ -136,26 +139,27 @@
 func init() { proto.RegisterFile("dmi/commons.proto", fileDescriptor_74aedf0dda1205d8) }
 
 var fileDescriptor_74aedf0dda1205d8 = []byte{
-	// 332 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x91, 0xbd, 0x6e, 0xf2, 0x30,
-	0x18, 0x85, 0x09, 0x3f, 0xf9, 0xc0, 0xdf, 0x9f, 0x6b, 0xa1, 0xaa, 0xea, 0xd2, 0xa1, 0x1b, 0x12,
-	0x64, 0x60, 0xaa, 0x3a, 0xa0, 0x90, 0x98, 0x28, 0x4a, 0xfa, 0x1a, 0x39, 0x0e, 0x48, 0x5d, 0xa2,
-	0x90, 0xb8, 0x69, 0xa4, 0x3a, 0x46, 0x10, 0xb8, 0xc2, 0x5e, 0x58, 0x15, 0x28, 0x43, 0xdb, 0xed,
-	0xf8, 0x39, 0x3a, 0x8f, 0x87, 0x17, 0x5d, 0xe5, 0xaa, 0xb4, 0x32, 0xad, 0x94, 0xae, 0xf6, 0x93,
-	0xed, 0x4e, 0xd7, 0x9a, 0x74, 0x72, 0x55, 0x8e, 0x66, 0xc8, 0x8c, 0xea, 0xb4, 0x3e, 0xec, 0xc9,
-	0x10, 0xe1, 0x18, 0x5c, 0xba, 0xf0, 0x81, 0xba, 0x49, 0x24, 0x6c, 0x11, 0x47, 0xb8, 0x45, 0xfe,
-	0xa2, 0x01, 0x0b, 0x2e, 0x4f, 0x83, 0x60, 0xf4, 0x87, 0x72, 0xce, 0xf8, 0x85, 0xb4, 0x47, 0xef,
-	0x06, 0x32, 0xb9, 0x4c, 0xf7, 0xba, 0xfa, 0x6a, 0xe0, 0xd4, 0x8e, 0x18, 0xe0, 0x16, 0x21, 0xe8,
-	0x5f, 0x0c, 0x01, 0xb0, 0x35, 0x24, 0x2e, 0x5d, 0xf9, 0x0e, 0xc5, 0x46, 0xc3, 0x7c, 0x10, 0x94,
-	0x83, 0x1d, 0x26, 0x27, 0x1f, 0x6e, 0x37, 0xea, 0x35, 0x67, 0xe0, 0x25, 0x4f, 0x54, 0x70, 0xdf,
-	0xc1, 0x1d, 0xf2, 0x1f, 0xfd, 0x3e, 0x13, 0xba, 0xa2, 0x20, 0x70, 0x97, 0xdc, 0xa2, 0xeb, 0x90,
-	0x79, 0x9e, 0xdf, 0x20, 0x70, 0x97, 0xcc, 0x07, 0xf1, 0x39, 0xef, 0x91, 0x7b, 0x74, 0xf7, 0xa3,
-	0x5b, 0x72, 0x26, 0x98, 0xc3, 0x2e, 0x7f, 0x98, 0xe4, 0x06, 0x0d, 0x03, 0x7b, 0x11, 0xd8, 0xdf,
-	0xe7, 0xbf, 0x46, 0x33, 0xd4, 0x0f, 0x75, 0x11, 0xca, 0xa3, 0x7c, 0x23, 0x03, 0xd4, 0x13, 0xdc,
-	0x76, 0x28, 0x6e, 0x35, 0xd1, 0xa5, 0xf3, 0xd8, 0xc3, 0x06, 0xe9, 0xa3, 0xae, 0x0f, 0x0b, 0x86,
-	0xdb, 0x4d, 0x5a, 0xdb, 0x1c, 0x70, 0xa7, 0xa9, 0xcf, 0x82, 0xee, 0xfc, 0xf1, 0xf9, 0xa1, 0x28,
-	0xeb, 0xd7, 0xc3, 0x66, 0x92, 0x69, 0x65, 0xe9, 0xad, 0xac, 0x32, 0xbd, 0xcb, 0xad, 0x5c, 0x1e,
-	0xcb, 0x4c, 0x8e, 0x55, 0x5a, 0xa5, 0x85, 0x54, 0xb2, 0xaa, 0xc7, 0x65, 0x55, 0xcb, 0xdd, 0x4b,
-	0x9a, 0x49, 0xeb, 0x38, 0xb5, 0x0a, 0x6d, 0xe5, 0xaa, 0xdc, 0x98, 0xa7, 0x8b, 0x4c, 0x3f, 0x02,
-	0x00, 0x00, 0xff, 0xff, 0xab, 0xaf, 0x4b, 0x69, 0xa6, 0x01, 0x00, 0x00,
+	// 344 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x91, 0x4d, 0x6f, 0xba, 0x30,
+	0x00, 0xc6, 0xc5, 0x17, 0xfe, 0xda, 0xff, 0x5b, 0xd7, 0x18, 0xb3, 0xec, 0xb2, 0xc3, 0x6e, 0x26,
+	0xca, 0xc1, 0xd3, 0xb2, 0x83, 0x41, 0xa8, 0xa4, 0x81, 0xb5, 0xa6, 0x14, 0xcd, 0x76, 0x21, 0x08,
+	0x1d, 0x23, 0x59, 0xa9, 0x51, 0xf4, 0xd3, 0xee, 0xc3, 0x2c, 0xe8, 0x38, 0x6c, 0xbb, 0x3d, 0xfd,
+	0x3d, 0x79, 0x7e, 0x6d, 0x52, 0x70, 0x95, 0xa9, 0xc2, 0x4a, 0xb5, 0x52, 0xba, 0x3c, 0x4c, 0x77,
+	0x7b, 0x5d, 0x69, 0xd4, 0xc9, 0x54, 0x31, 0x9e, 0x03, 0x33, 0xac, 0x92, 0xea, 0x78, 0x40, 0x43,
+	0x00, 0x23, 0xea, 0xe2, 0x25, 0xa1, 0xd8, 0x8d, 0x43, 0x61, 0x8b, 0x28, 0x84, 0x2d, 0xf4, 0x17,
+	0x0c, 0x98, 0xdf, 0x1c, 0x0d, 0x04, 0xc1, 0x1f, 0xcc, 0x39, 0xe3, 0x0d, 0x69, 0x8f, 0xdf, 0x0d,
+	0x60, 0x72, 0x99, 0x1c, 0x74, 0xf9, 0xd5, 0xc0, 0xb1, 0x1d, 0x32, 0x0a, 0x5b, 0x08, 0x81, 0x7f,
+	0x11, 0xf5, 0x29, 0xdb, 0xd0, 0xd8, 0xc5, 0x6b, 0xe2, 0x60, 0x68, 0xd4, 0x8c, 0x50, 0x81, 0x39,
+	0xb5, 0x83, 0xf8, 0xec, 0x83, 0xed, 0x5a, 0xbd, 0xe1, 0x8c, 0x7a, 0xf1, 0x23, 0x16, 0x9c, 0x38,
+	0xb0, 0x83, 0xfe, 0x83, 0xdf, 0x17, 0x82, 0xd7, 0x98, 0x0a, 0xd8, 0x45, 0x37, 0x60, 0x14, 0x30,
+	0xcf, 0x23, 0x35, 0xa2, 0xee, 0x8a, 0x11, 0x2a, 0x3e, 0xe7, 0x3d, 0x74, 0x07, 0x6e, 0x7f, 0x74,
+	0x2b, 0xce, 0x04, 0x73, 0x58, 0x73, 0x87, 0x89, 0xae, 0xc1, 0xd0, 0xb7, 0x97, 0xbe, 0xfd, 0x7d,
+	0xfe, 0x0b, 0x8d, 0x00, 0x6a, 0x5e, 0x19, 0xb0, 0x5a, 0x21, 0x88, 0x78, 0x82, 0xfd, 0xf1, 0x1c,
+	0xf4, 0x03, 0x9d, 0x07, 0xf2, 0x24, 0xdf, 0xd0, 0x00, 0xf4, 0x04, 0xb7, 0x1d, 0x0c, 0x5b, 0x75,
+	0x74, 0xf1, 0x22, 0xf2, 0xa0, 0x81, 0xfa, 0xa0, 0x4b, 0xe8, 0x92, 0xc1, 0x76, 0x9d, 0x36, 0x36,
+	0xa7, 0xb0, 0x53, 0xd7, 0x17, 0x71, 0x77, 0xf1, 0xf0, 0x7c, 0x9f, 0x17, 0xd5, 0xeb, 0x71, 0x3b,
+	0x4d, 0xb5, 0xb2, 0xf4, 0x4e, 0x96, 0xa9, 0xde, 0x67, 0x56, 0x26, 0x4f, 0x45, 0x2a, 0x27, 0x2a,
+	0x29, 0x93, 0x5c, 0x2a, 0x59, 0x56, 0x93, 0xa2, 0xac, 0xe4, 0xfe, 0x25, 0x49, 0xa5, 0x75, 0x9a,
+	0x59, 0xb9, 0xb6, 0x32, 0x55, 0x6c, 0xcd, 0xf3, 0x4f, 0xcd, 0x3e, 0x02, 0x00, 0x00, 0xff, 0xff,
+	0x79, 0x7a, 0xa9, 0x6f, 0xbe, 0x01, 0x00, 0x00,
 }
diff --git a/go/dmi/hw_management_service.pb.go b/go/dmi/hw_management_service.pb.go
index edf3b37..dded8f3 100644
--- a/go/dmi/hw_management_service.pb.go
+++ b/go/dmi/hw_management_service.pb.go
@@ -871,10 +871,12 @@
 }
 
 type SetLogLevelResponse struct {
-	Responses            []*DeviceLogResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
-	XXX_unrecognized     []byte               `json:"-"`
-	XXX_sizecache        int32                `json:"-"`
+	DeviceUuid           *Uuid    `protobuf:"bytes,1,opt,name=device_uuid,json=deviceUuid,proto3" json:"device_uuid,omitempty"`
+	Status               Status   `protobuf:"varint,2,opt,name=status,proto3,enum=dmi.Status" json:"status,omitempty"`
+	Reason               Reason   `protobuf:"varint,3,opt,name=reason,proto3,enum=dmi.Reason" json:"reason,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *SetLogLevelResponse) Reset()         { *m = SetLogLevelResponse{} }
@@ -902,62 +904,21 @@
 
 var xxx_messageInfo_SetLogLevelResponse proto.InternalMessageInfo
 
-func (m *SetLogLevelResponse) GetResponses() []*DeviceLogResponse {
-	if m != nil {
-		return m.Responses
-	}
-	return nil
-}
-
-type DeviceLogResponse struct {
-	DeviceUuid           *Uuid    `protobuf:"bytes,1,opt,name=device_uuid,json=deviceUuid,proto3" json:"device_uuid,omitempty"`
-	Status               Status   `protobuf:"varint,2,opt,name=status,proto3,enum=dmi.Status" json:"status,omitempty"`
-	Reason               Reason   `protobuf:"varint,3,opt,name=reason,proto3,enum=dmi.Reason" json:"reason,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *DeviceLogResponse) Reset()         { *m = DeviceLogResponse{} }
-func (m *DeviceLogResponse) String() string { return proto.CompactTextString(m) }
-func (*DeviceLogResponse) ProtoMessage()    {}
-func (*DeviceLogResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{18}
-}
-
-func (m *DeviceLogResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DeviceLogResponse.Unmarshal(m, b)
-}
-func (m *DeviceLogResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DeviceLogResponse.Marshal(b, m, deterministic)
-}
-func (m *DeviceLogResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DeviceLogResponse.Merge(m, src)
-}
-func (m *DeviceLogResponse) XXX_Size() int {
-	return xxx_messageInfo_DeviceLogResponse.Size(m)
-}
-func (m *DeviceLogResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_DeviceLogResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DeviceLogResponse proto.InternalMessageInfo
-
-func (m *DeviceLogResponse) GetDeviceUuid() *Uuid {
+func (m *SetLogLevelResponse) GetDeviceUuid() *Uuid {
 	if m != nil {
 		return m.DeviceUuid
 	}
 	return nil
 }
 
-func (m *DeviceLogResponse) GetStatus() Status {
+func (m *SetLogLevelResponse) GetStatus() Status {
 	if m != nil {
 		return m.Status
 	}
 	return Status_UNDEFINED_STATUS
 }
 
-func (m *DeviceLogResponse) GetReason() Reason {
+func (m *SetLogLevelResponse) GetReason() Reason {
 	if m != nil {
 		return m.Reason
 	}
@@ -976,7 +937,7 @@
 func (m *GetLogLevelRequest) String() string { return proto.CompactTextString(m) }
 func (*GetLogLevelRequest) ProtoMessage()    {}
 func (*GetLogLevelRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{19}
+	return fileDescriptor_eae902e73066286d, []int{18}
 }
 
 func (m *GetLogLevelRequest) XXX_Unmarshal(b []byte) error {
@@ -1025,7 +986,7 @@
 func (m *GetLogLevelResponse) String() string { return proto.CompactTextString(m) }
 func (*GetLogLevelResponse) ProtoMessage()    {}
 func (*GetLogLevelResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{20}
+	return fileDescriptor_eae902e73066286d, []int{19}
 }
 
 func (m *GetLogLevelResponse) XXX_Unmarshal(b []byte) error {
@@ -1085,7 +1046,7 @@
 func (m *GetLoggableEntitiesRequest) String() string { return proto.CompactTextString(m) }
 func (*GetLoggableEntitiesRequest) ProtoMessage()    {}
 func (*GetLoggableEntitiesRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{21}
+	return fileDescriptor_eae902e73066286d, []int{20}
 }
 
 func (m *GetLoggableEntitiesRequest) XXX_Unmarshal(b []byte) error {
@@ -1132,7 +1093,6 @@
 	proto.RegisterType((*EntitiesLogLevel)(nil), "dmi.EntitiesLogLevel")
 	proto.RegisterType((*SetLogLevelRequest)(nil), "dmi.SetLogLevelRequest")
 	proto.RegisterType((*SetLogLevelResponse)(nil), "dmi.SetLogLevelResponse")
-	proto.RegisterType((*DeviceLogResponse)(nil), "dmi.DeviceLogResponse")
 	proto.RegisterType((*GetLogLevelRequest)(nil), "dmi.GetLogLevelRequest")
 	proto.RegisterType((*GetLogLevelResponse)(nil), "dmi.GetLogLevelResponse")
 	proto.RegisterType((*GetLoggableEntitiesRequest)(nil), "dmi.GetLoggableEntitiesRequest")
@@ -1141,71 +1101,69 @@
 func init() { proto.RegisterFile("dmi/hw_management_service.proto", fileDescriptor_eae902e73066286d) }
 
 var fileDescriptor_eae902e73066286d = []byte{
-	// 1009 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xcd, 0x6e, 0xdb, 0x46,
-	0x10, 0x06, 0x2d, 0x23, 0xb1, 0x46, 0x8d, 0x13, 0xaf, 0x5b, 0x57, 0xa2, 0x51, 0xc7, 0x60, 0x51,
-	0x34, 0x69, 0x1b, 0x29, 0x90, 0x7b, 0x29, 0x7a, 0x09, 0x92, 0xba, 0x52, 0x10, 0x39, 0x30, 0xc8,
-	0x06, 0x46, 0x8b, 0x02, 0x06, 0x25, 0x8e, 0x68, 0x02, 0xe4, 0xae, 0x4a, 0x2e, 0x15, 0xf8, 0x11,
-	0x7a, 0xe9, 0xa1, 0xed, 0xb5, 0x40, 0xaf, 0x7d, 0x87, 0x1e, 0xfa, 0x10, 0x7d, 0xa0, 0x82, 0xbb,
-	0xcb, 0x3f, 0x89, 0x74, 0x14, 0x57, 0x06, 0x72, 0xa3, 0x76, 0xbf, 0xfd, 0x76, 0xe6, 0x9b, 0xd9,
-	0x99, 0x11, 0xdc, 0x77, 0x02, 0xaf, 0x77, 0xf1, 0xfa, 0x3c, 0xb0, 0xa9, 0xed, 0x62, 0x80, 0x94,
-	0x9f, 0x47, 0x18, 0xce, 0xbd, 0x09, 0x76, 0x67, 0x21, 0xe3, 0x8c, 0x34, 0x9c, 0xc0, 0xd3, 0x77,
-	0x12, 0xd4, 0x84, 0x05, 0x01, 0xa3, 0x91, 0x5c, 0xd7, 0xdf, 0x93, 0x07, 0xd5, 0xaf, 0x7d, 0x97,
-	0x31, 0xd7, 0xc7, 0x9e, 0xf8, 0x35, 0x8e, 0xa7, 0x3d, 0x0c, 0x66, 0xfc, 0x52, 0x6e, 0x1a, 0xdf,
-	0x42, 0xfb, 0xf4, 0xe2, 0x32, 0xf2, 0x26, 0xb6, 0xff, 0x9c, 0xce, 0x91, 0x72, 0x16, 0x5e, 0x9a,
-	0xf8, 0x53, 0x8c, 0x11, 0x27, 0x9f, 0x41, 0xcb, 0xc1, 0xe4, 0xba, 0xf3, 0x38, 0xf6, 0x9c, 0xb6,
-	0x76, 0xa8, 0x3d, 0x68, 0xf5, 0x9b, 0x5d, 0x27, 0xf0, 0xba, 0xaf, 0x62, 0xcf, 0x31, 0x41, 0xee,
-	0x26, 0xdf, 0xc6, 0xaf, 0x1a, 0x74, 0x2a, 0x88, 0xa2, 0x19, 0xa3, 0x11, 0x92, 0x8f, 0xe1, 0x56,
-	0xc4, 0x6d, 0x1e, 0x47, 0x82, 0x64, 0xbb, 0xdf, 0x12, 0x24, 0x96, 0x58, 0x32, 0xd5, 0x56, 0x02,
-	0x0a, 0xd1, 0x8e, 0x18, 0x6d, 0x6f, 0x14, 0x40, 0xa6, 0x58, 0x32, 0xd5, 0x16, 0xf9, 0x1c, 0x9a,
-	0x5e, 0x4a, 0xdf, 0x6e, 0x08, 0x8b, 0xee, 0x08, 0xdc, 0xd0, 0x0e, 0x9d, 0xd7, 0x76, 0x88, 0x66,
-	0xbe, 0x6f, 0xfc, 0xa9, 0x41, 0x67, 0x78, 0xf6, 0x8c, 0x05, 0x33, 0x46, 0x91, 0xf2, 0xe7, 0x74,
-	0xca, 0x06, 0xc8, 0xaf, 0xe1, 0x1e, 0x79, 0x0c, 0xdb, 0x93, 0x94, 0x46, 0xc2, 0x37, 0x16, 0xe1,
-	0x77, 0x32, 0x80, 0x38, 0xf1, 0x49, 0xf1, 0x04, 0xb5, 0x03, 0x14, 0xd6, 0x36, 0x0b, 0xb0, 0x97,
-	0x76, 0x80, 0xc6, 0xef, 0x1a, 0xe8, 0x55, 0x26, 0xae, 0x5d, 0xb8, 0x2f, 0xa0, 0x99, 0xdd, 0xac,
-	0x84, 0xdb, 0x16, 0xb8, 0xec, 0x6e, 0x33, 0x07, 0x18, 0xff, 0x2e, 0x2b, 0x67, 0xbd, 0x5b, 0xca,
-	0x91, 0x3e, 0xdc, 0x9e, 0x5c, 0xd8, 0xd4, 0xc5, 0xa8, 0xbd, 0x29, 0x18, 0xdb, 0x82, 0xf1, 0x84,
-	0x39, 0xde, 0xd4, 0xb3, 0xc7, 0x3e, 0xe6, 0x8e, 0xa5, 0x40, 0x63, 0xba, 0x24, 0xb6, 0x75, 0x13,
-	0x62, 0x1b, 0xbf, 0x69, 0xb0, 0x6f, 0x71, 0x3b, 0xe4, 0x27, 0xc9, 0xd3, 0xf5, 0xa8, 0xfb, 0x8d,
-	0x10, 0xe4, 0x06, 0xc2, 0xba, 0x10, 0x8a, 0xc6, 0x55, 0x6f, 0xb4, 0x07, 0x1d, 0x8b, 0xb3, 0xd9,
-	0xa2, 0x4d, 0x32, 0xa6, 0x04, 0x36, 0x85, 0xd6, 0x9a, 0xd0, 0x5a, 0x7c, 0x27, 0x72, 0x55, 0x1d,
-	0x58, 0xbb, 0x5c, 0x23, 0xd8, 0x13, 0x77, 0xa0, 0x23, 0xaf, 0x88, 0xb2, 0x3b, 0xfa, 0x70, 0x5b,
-	0x3a, 0x90, 0x5c, 0xd2, 0xb8, 0x3a, 0xc8, 0x0a, 0x68, 0xfc, 0xa1, 0x41, 0xc7, 0x42, 0x3e, 0x62,
-	0x6e, 0x62, 0xf4, 0x31, 0x75, 0x66, 0xcc, 0xa3, 0xd7, 0xca, 0xdd, 0x87, 0x70, 0xcf, 0x97, 0x2c,
-	0xe7, 0xa8, 0x68, 0x84, 0x1b, 0x4d, 0xf3, 0xae, 0x5f, 0x66, 0x2f, 0x42, 0x45, 0x61, 0x9d, 0x30,
-	0x5f, 0xa5, 0x6d, 0x0a, 0x3d, 0x55, 0xcb, 0x06, 0x0a, 0xf3, 0x4c, 0x0c, 0x18, 0xc7, 0xdc, 0xba,
-	0xb5, 0x8b, 0xfa, 0xb7, 0x06, 0xfa, 0xa0, 0x42, 0x86, 0xb5, 0xa7, 0x60, 0x95, 0x4a, 0x8d, 0xd5,
-	0x55, 0xda, 0xac, 0x56, 0xe9, 0x19, 0xb4, 0x2d, 0xe4, 0x27, 0x91, 0xfb, 0x34, 0x8e, 0x16, 0x63,
-	0xf8, 0x29, 0xdc, 0x0d, 0x22, 0x77, 0x1c, 0x47, 0xf9, 0x85, 0x32, 0x6d, 0xb7, 0xe5, 0x72, 0x8a,
-	0x37, 0x7e, 0xd1, 0xa0, 0x33, 0x58, 0x66, 0x59, 0xbb, 0x04, 0x15, 0x06, 0x35, 0x2a, 0x0d, 0xfa,
-	0x1e, 0xee, 0x1d, 0x53, 0xee, 0x71, 0x0f, 0xa3, 0x11, 0x73, 0x47, 0x38, 0x47, 0x9f, 0x3c, 0x84,
-	0x2d, 0x5f, 0x7d, 0x2b, 0x43, 0x64, 0x47, 0x4b, 0x01, 0x66, 0xb6, 0x4d, 0x74, 0xd8, 0x42, 0x75,
-	0xbc, 0xbd, 0x71, 0xd8, 0x78, 0xd0, 0x34, 0xb3, 0xdf, 0x46, 0x0c, 0x44, 0x66, 0xbd, 0x3c, 0x74,
-	0x8d, 0x74, 0x3f, 0x82, 0xa6, 0x9f, 0x4c, 0x0a, 0x73, 0xf4, 0x25, 0x7d, 0xab, 0xff, 0x81, 0x40,
-	0x2e, 0x9a, 0x6c, 0xe6, 0x38, 0xe3, 0x05, 0xec, 0x96, 0xae, 0x55, 0xda, 0x7e, 0x09, 0xcd, 0x50,
-	0x7d, 0xa7, 0x4f, 0x77, 0x4f, 0x70, 0xc9, 0x17, 0x3e, 0x62, 0x6e, 0x0a, 0x35, 0x73, 0xa0, 0xf1,
-	0xb3, 0x06, 0x3b, 0x4b, 0x80, 0xb7, 0xf2, 0x21, 0x8f, 0xe9, 0xc6, 0x2a, 0x31, 0x6d, 0xd4, 0xbf,
-	0x9f, 0x1f, 0x81, 0x0c, 0xfe, 0x9f, 0x9e, 0x57, 0x45, 0xeb, 0x1f, 0x0d, 0x76, 0x07, 0x15, 0xba,
-	0xbd, 0x7d, 0xbc, 0x46, 0x2b, 0xc6, 0x4b, 0xe2, 0x0a, 0x02, 0x35, 0x56, 0x11, 0x68, 0xb3, 0x5e,
-	0xa0, 0x61, 0x56, 0x5f, 0x92, 0x42, 0x9c, 0xde, 0x79, 0x0d, 0xa1, 0xfa, 0x7f, 0x6d, 0x41, 0xe7,
-	0xa5, 0xcd, 0xbd, 0x39, 0x0e, 0xcf, 0x4e, 0xb2, 0x61, 0xd7, 0x92, 0xb3, 0x2e, 0xb1, 0x60, 0xb7,
-	0xa2, 0x97, 0x92, 0xda, 0x4e, 0xa0, 0x1f, 0xa6, 0x2e, 0xd5, 0xf5, 0xdf, 0xc7, 0x1a, 0x79, 0x05,
-	0x64, 0xb9, 0xb5, 0x91, 0x03, 0x75, 0xb2, 0xa6, 0x49, 0xea, 0xf7, 0x6b, 0xf7, 0x55, 0xf8, 0x86,
-	0xb0, 0x93, 0xd4, 0x9b, 0x52, 0x33, 0x23, 0x7b, 0x5d, 0x39, 0x81, 0x77, 0xd3, 0x09, 0xbc, 0x7b,
-	0x9c, 0x4c, 0xe0, 0xfa, 0xbe, 0xf4, 0xa0, 0xba, 0xf3, 0x9d, 0xc1, 0xfb, 0x03, 0xe4, 0x4b, 0x23,
-	0x35, 0xf9, 0x48, 0x1c, 0xaa, 0x9b, 0xd9, 0xf5, 0x83, 0xba, 0xed, 0xcc, 0xf3, 0x33, 0x91, 0xd7,
-	0x0b, 0x63, 0x90, 0xf2, 0xbc, 0x76, 0x58, 0x56, 0x9e, 0xd7, 0x4f, 0xaa, 0x4a, 0xd2, 0x15, 0x89,
-	0xad, 0x37, 0x10, 0x17, 0xa7, 0xb2, 0xef, 0xd2, 0xba, 0x56, 0xea, 0x24, 0x2a, 0x52, 0x75, 0x6d,
-	0x5e, 0xcf, 0xf6, 0x6b, 0xfa, 0xec, 0x93, 0xf4, 0x75, 0x97, 0x58, 0xf3, 0xfc, 0x54, 0x76, 0x5d,
-	0xd1, 0x40, 0x4d, 0xd8, 0x59, 0x6a, 0x50, 0x2a, 0x3a, 0x75, 0x8d, 0xeb, 0x8d, 0x56, 0xbd, 0x90,
-	0xe9, 0x53, 0xe6, 0xac, 0x4b, 0x9f, 0x83, 0xd4, 0xc2, 0x9a, 0xf6, 0x76, 0x9a, 0x56, 0x98, 0xd2,
-	0xfb, 0x24, 0x25, 0xc7, 0x2a, 0x5e, 0xae, 0xde, 0x2e, 0x00, 0xca, 0xc5, 0xe9, 0x09, 0xb4, 0x0a,
-	0xb5, 0x9e, 0x7c, 0x58, 0x88, 0x41, 0xb1, 0x48, 0x2a, 0x06, 0xab, 0x9a, 0x61, 0xb0, 0xc4, 0x30,
-	0xa8, 0x63, 0xa8, 0xb0, 0xe1, 0xe9, 0xd7, 0x3f, 0x7c, 0xe5, 0x7a, 0xfc, 0x22, 0x1e, 0x77, 0x27,
-	0x2c, 0xe8, 0xb1, 0x19, 0xd2, 0x09, 0x0b, 0x9d, 0x9e, 0xac, 0x26, 0x8f, 0xf2, 0xbf, 0xca, 0x8f,
-	0x3c, 0xca, 0x31, 0x9c, 0xda, 0x13, 0xec, 0xcd, 0x8f, 0x7a, 0x2e, 0xeb, 0x39, 0x81, 0x37, 0xbe,
-	0x25, 0x24, 0x3c, 0xfa, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xf2, 0x86, 0xe7, 0xb8, 0x5a, 0x0f, 0x00,
-	0x00,
+	// 988 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0x51, 0x6f, 0xe3, 0x44,
+	0x10, 0x96, 0x9b, 0xea, 0xae, 0x99, 0x70, 0xed, 0x75, 0x0b, 0x47, 0xe2, 0x8a, 0x5e, 0x65, 0x84,
+	0xb8, 0x03, 0x2e, 0x39, 0xa5, 0x4f, 0x88, 0x17, 0x74, 0x77, 0xbd, 0xa4, 0x22, 0x3d, 0x55, 0x36,
+	0xa7, 0x0a, 0x84, 0x54, 0x39, 0xf1, 0xc4, 0x5d, 0xc9, 0xde, 0x0d, 0xf1, 0x3a, 0xa7, 0xfe, 0x06,
+	0x24, 0x1e, 0x80, 0x57, 0x24, 0xfe, 0x01, 0x7f, 0x80, 0x07, 0x7e, 0x04, 0x3f, 0x08, 0x79, 0x77,
+	0xed, 0xd8, 0x89, 0xdd, 0x0b, 0xbd, 0x54, 0xe2, 0x2d, 0xf6, 0x7e, 0xfb, 0xcd, 0xcc, 0x37, 0xe3,
+	0x99, 0x09, 0x3c, 0xf4, 0x42, 0xda, 0xb9, 0x7c, 0x73, 0x11, 0xba, 0xcc, 0xf5, 0x31, 0x44, 0x26,
+	0x2e, 0x22, 0x9c, 0xce, 0xe8, 0x08, 0xdb, 0x93, 0x29, 0x17, 0x9c, 0xd4, 0xbc, 0x90, 0x9a, 0xbb,
+	0x09, 0x6a, 0xc4, 0xc3, 0x90, 0xb3, 0x48, 0xbd, 0x37, 0xdf, 0x53, 0x17, 0xf5, 0xd3, 0xbe, 0xcf,
+	0xb9, 0x1f, 0x60, 0x47, 0x3e, 0x0d, 0xe3, 0x71, 0x07, 0xc3, 0x89, 0xb8, 0x52, 0x87, 0xd6, 0x4b,
+	0x68, 0x9e, 0x5d, 0x5e, 0x45, 0x74, 0xe4, 0x06, 0x27, 0x6c, 0x86, 0x4c, 0xf0, 0xe9, 0x95, 0x8d,
+	0x3f, 0xc6, 0x18, 0x09, 0xf2, 0x19, 0x34, 0x3c, 0x4c, 0xcc, 0x5d, 0xc4, 0x31, 0xf5, 0x9a, 0xc6,
+	0xa1, 0xf1, 0xa8, 0xd1, 0xad, 0xb7, 0xbd, 0x90, 0xb6, 0x5f, 0xc7, 0xd4, 0xb3, 0x41, 0x9d, 0x26,
+	0xbf, 0xad, 0x5f, 0x0c, 0x68, 0x95, 0x10, 0x45, 0x13, 0xce, 0x22, 0x24, 0x1f, 0xc3, 0x9d, 0x48,
+	0xb8, 0x22, 0x8e, 0x24, 0xc9, 0x76, 0xb7, 0x21, 0x49, 0x1c, 0xf9, 0xca, 0xd6, 0x47, 0x09, 0x68,
+	0x8a, 0x6e, 0xc4, 0x59, 0x73, 0x23, 0x07, 0xb2, 0xe5, 0x2b, 0x5b, 0x1f, 0x91, 0xcf, 0xa1, 0x4e,
+	0x53, 0xfa, 0x66, 0x4d, 0x7a, 0x74, 0x4f, 0xe2, 0xfa, 0xee, 0xd4, 0x7b, 0xe3, 0x4e, 0xd1, 0x9e,
+	0x9f, 0x5b, 0x7f, 0x18, 0xd0, 0xea, 0x9f, 0x3f, 0xe7, 0xe1, 0x84, 0x33, 0x64, 0xe2, 0x84, 0x8d,
+	0x79, 0x0f, 0xc5, 0x0d, 0xc2, 0x23, 0x4f, 0x61, 0x7b, 0x94, 0xd2, 0x28, 0xf8, 0xc6, 0x22, 0xfc,
+	0x5e, 0x06, 0x90, 0x37, 0x3e, 0xc9, 0xdf, 0x60, 0x6e, 0x88, 0xd2, 0xdb, 0x7a, 0x0e, 0xf6, 0xca,
+	0x0d, 0xd1, 0xfa, 0xcd, 0x00, 0xb3, 0xcc, 0xc5, 0xb5, 0x0b, 0xf7, 0x05, 0xd4, 0x33, 0xcb, 0x5a,
+	0xb8, 0x6d, 0x89, 0xcb, 0x6c, 0xdb, 0x73, 0x80, 0xf5, 0xcf, 0xb2, 0x72, 0xce, 0xff, 0x4b, 0x39,
+	0xd2, 0x85, 0xbb, 0xa3, 0x4b, 0x97, 0xf9, 0x18, 0x35, 0x37, 0x25, 0x63, 0x53, 0x32, 0x9e, 0x72,
+	0x8f, 0x8e, 0xa9, 0x3b, 0x0c, 0x70, 0x1e, 0x58, 0x0a, 0xb4, 0xc6, 0x4b, 0x62, 0x3b, 0xb7, 0x21,
+	0xb6, 0xf5, 0xab, 0x01, 0xfb, 0x8e, 0x70, 0xa7, 0xe2, 0x34, 0xf9, 0x74, 0x29, 0xf3, 0x5f, 0x48,
+	0x41, 0x6e, 0x21, 0xad, 0x0b, 0xa9, 0xa8, 0x5d, 0xf7, 0x8d, 0x76, 0xa0, 0xe5, 0x08, 0x3e, 0x59,
+	0xf4, 0x49, 0xe5, 0x94, 0xc0, 0xa6, 0xd4, 0xda, 0x90, 0x5a, 0xcb, 0xdf, 0x89, 0x5c, 0x65, 0x17,
+	0xd6, 0x2e, 0xd7, 0x00, 0x1e, 0x48, 0x1b, 0xe8, 0x29, 0x13, 0x51, 0x66, 0xa3, 0x0b, 0x77, 0x55,
+	0x00, 0x89, 0x91, 0xda, 0xf5, 0x49, 0xd6, 0x40, 0xeb, 0x77, 0x03, 0x5a, 0x0e, 0x8a, 0x01, 0xf7,
+	0x13, 0xa7, 0x8f, 0x99, 0x37, 0xe1, 0x94, 0xdd, 0xa8, 0x76, 0x1f, 0xc3, 0xfd, 0x40, 0xb1, 0x5c,
+	0xa0, 0xa6, 0x91, 0x61, 0xd4, 0xed, 0x9d, 0xa0, 0xc8, 0x9e, 0x87, 0xca, 0xc6, 0x3a, 0xe2, 0x81,
+	0x2e, 0xdb, 0x14, 0x7a, 0xa6, 0x5f, 0x5b, 0x28, 0xdd, 0xb3, 0x31, 0xe4, 0x02, 0xe7, 0xde, 0xad,
+	0x5d, 0xd4, 0xbf, 0x0c, 0x30, 0x7b, 0x25, 0x32, 0xac, 0xbd, 0x04, 0xcb, 0x54, 0xaa, 0xad, 0xae,
+	0xd2, 0x66, 0xb9, 0x4a, 0xcf, 0xa1, 0xe9, 0xa0, 0x38, 0x8d, 0xfc, 0x67, 0x71, 0xb4, 0x98, 0xc3,
+	0x4f, 0x61, 0x27, 0x8c, 0xfc, 0x61, 0x1c, 0xcd, 0x0d, 0xaa, 0xb2, 0xdd, 0x56, 0xaf, 0x53, 0xbc,
+	0xf5, 0xb3, 0x01, 0xad, 0xde, 0x32, 0xcb, 0xda, 0x25, 0x28, 0x71, 0xa8, 0x56, 0xea, 0xd0, 0x77,
+	0x70, 0xff, 0x98, 0x09, 0x2a, 0x28, 0x46, 0x03, 0xee, 0x0f, 0x70, 0x86, 0x01, 0x79, 0x0c, 0x5b,
+	0x81, 0xfe, 0xad, 0x1d, 0x51, 0x13, 0x2d, 0x05, 0xd8, 0xd9, 0x31, 0x31, 0x61, 0x0b, 0xf5, 0xf5,
+	0xe6, 0xc6, 0x61, 0xed, 0x51, 0xdd, 0xce, 0x9e, 0xad, 0x18, 0x88, 0xaa, 0x7a, 0x75, 0xe9, 0x06,
+	0xe5, 0x7e, 0x04, 0xf5, 0x20, 0xd9, 0x14, 0x66, 0x18, 0x28, 0xfa, 0x46, 0xf7, 0x03, 0x89, 0x5c,
+	0x74, 0xd9, 0x9e, 0xe3, 0xac, 0x9f, 0x0c, 0xd8, 0x2b, 0xd8, 0xd5, 0xe2, 0xfe, 0x17, 0xc3, 0xf3,
+	0x44, 0x6c, 0xac, 0x92, 0x88, 0x5a, 0x75, 0xd1, 0xff, 0x00, 0xa4, 0xf7, 0x6e, 0x22, 0x5c, 0x27,
+	0xf1, 0xdf, 0x06, 0xec, 0xf5, 0xde, 0x31, 0x56, 0x25, 0xf2, 0x60, 0x45, 0x91, 0x15, 0x2e, 0x27,
+	0x50, 0x6d, 0x15, 0x81, 0x36, 0xab, 0x05, 0xea, 0x67, 0x4d, 0x21, 0xe9, 0x9e, 0xa9, 0xcd, 0x1b,
+	0x08, 0xd5, 0xfd, 0x73, 0x0b, 0x5a, 0xaf, 0x5c, 0x41, 0x67, 0xd8, 0x3f, 0x3f, 0xcd, 0x36, 0x54,
+	0x47, 0x2d, 0xa8, 0xc4, 0x81, 0xbd, 0x92, 0x01, 0x48, 0x2a, 0xdb, 0xb7, 0x79, 0x98, 0x86, 0x54,
+	0x35, 0x34, 0x9f, 0x1a, 0xe4, 0x35, 0x90, 0xe5, 0x79, 0x44, 0x0e, 0xf4, 0xcd, 0x8a, 0xc9, 0x66,
+	0x3e, 0xac, 0x3c, 0xd7, 0xe9, 0xeb, 0xc3, 0x6e, 0xd2, 0x24, 0x0a, 0x13, 0x88, 0x3c, 0x68, 0xab,
+	0xb5, 0xb9, 0x9d, 0xae, 0xcd, 0xed, 0xe3, 0x64, 0x6d, 0x36, 0xf7, 0x55, 0x04, 0xe5, 0xe3, 0xea,
+	0x1c, 0xde, 0xef, 0xa1, 0x58, 0xda, 0x83, 0xc9, 0x47, 0xf2, 0x52, 0xd5, 0xa2, 0x6d, 0x1e, 0x54,
+	0x1d, 0x67, 0x91, 0x9f, 0xcb, 0xba, 0x5e, 0xd8, 0x5d, 0x74, 0xe4, 0x95, 0x1b, 0xae, 0x8e, 0xbc,
+	0x7a, 0xbd, 0xd4, 0x92, 0xae, 0x48, 0xec, 0xbc, 0x85, 0x38, 0xbf, 0x4a, 0x7d, 0x9b, 0x36, 0xa3,
+	0x42, 0xfb, 0xd7, 0x99, 0xaa, 0x9a, 0xcd, 0x66, 0x76, 0x5e, 0x31, 0x1c, 0x5f, 0xa6, 0x5f, 0x77,
+	0x81, 0x75, 0xa7, 0xb0, 0xff, 0x9f, 0xbc, 0xd0, 0xde, 0x5d, 0x33, 0xfb, 0x6c, 0xd8, 0x5d, 0x9a,
+	0x2d, 0x3a, 0x47, 0x55, 0x33, 0xe7, 0xad, 0xbe, 0x7d, 0xa3, 0x8a, 0xa8, 0xc8, 0x59, 0x55, 0x44,
+	0x07, 0xa9, 0x87, 0x15, 0x93, 0xe9, 0x2c, 0xed, 0x33, 0x85, 0xaf, 0x94, 0x14, 0x02, 0x2b, 0xf9,
+	0x7e, 0xcd, 0x66, 0x0e, 0x50, 0x6c, 0x51, 0x5f, 0x43, 0x23, 0xd7, 0xa5, 0xc9, 0x87, 0xb9, 0x4c,
+	0xe4, 0x5b, 0xa5, 0x66, 0x70, 0xca, 0x19, 0x7a, 0x4b, 0x0c, 0xbd, 0x2a, 0x86, 0x12, 0x1f, 0x9e,
+	0x7d, 0xf5, 0xfd, 0x97, 0x3e, 0x15, 0x97, 0xf1, 0xb0, 0x3d, 0xe2, 0x61, 0x87, 0x4f, 0x90, 0x8d,
+	0xf8, 0xd4, 0xeb, 0xa8, 0x9e, 0xf2, 0x64, 0xfe, 0x2f, 0xf7, 0x09, 0x65, 0x02, 0xa7, 0x63, 0x77,
+	0x84, 0x9d, 0xd9, 0x51, 0xc7, 0xe7, 0x1d, 0x2f, 0xa4, 0xc3, 0x3b, 0x52, 0xc2, 0xa3, 0x7f, 0x03,
+	0x00, 0x00, 0xff, 0xff, 0x3a, 0x27, 0xf3, 0x9c, 0x15, 0x0f, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -1243,7 +1201,7 @@
 	// Sets the location to which logs need to be shipped
 	SetLoggingEndpoint(ctx context.Context, in *SetLoggingEndpointRequest, opts ...grpc.CallOption) (*SetRemoteEndpointResponse, error)
 	// Gets the configured location to which the logs are being shipped
-	GetLoggingEndpoint(ctx context.Context, in *Uuid, opts ...grpc.CallOption) (*GetLoggingEndpointResponse, error)
+	GetLoggingEndpoint(ctx context.Context, in *HardwareID, opts ...grpc.CallOption) (*GetLoggingEndpointResponse, error)
 	// Sets the location of the Message Bus to which events and metrics are shipped
 	SetMsgBusEndpoint(ctx context.Context, in *SetMsgBusEndpointRequest, opts ...grpc.CallOption) (*SetRemoteEndpointResponse, error)
 	// Gets the configured location to which the events and metrics are being shipped
@@ -1252,7 +1210,7 @@
 	// In general an entity is any item within an hardware system that can emit logs, e.g. service, process, subsystem,
 	// interface, package etc.
 	GetLoggableEntities(ctx context.Context, in *GetLoggableEntitiesRequest, opts ...grpc.CallOption) (*GetLogLevelResponse, error)
-	// Sets the log level for one or more devices for each given entity to a certain level.
+	// Sets the log level of the device, for each given entity to a certain level.
 	// If only one EntitiesLogLevel is provided for the device and that request contains only a log level with
 	// no entity in the list it's assumed that the caller wants to set that level for all the entities.
 	SetLogLevel(ctx context.Context, in *SetLogLevelRequest, opts ...grpc.CallOption) (*SetLogLevelResponse, error)
@@ -1401,7 +1359,7 @@
 	return out, nil
 }
 
-func (c *nativeHWManagementServiceClient) GetLoggingEndpoint(ctx context.Context, in *Uuid, opts ...grpc.CallOption) (*GetLoggingEndpointResponse, error) {
+func (c *nativeHWManagementServiceClient) GetLoggingEndpoint(ctx context.Context, in *HardwareID, opts ...grpc.CallOption) (*GetLoggingEndpointResponse, error) {
 	out := new(GetLoggingEndpointResponse)
 	err := c.cc.Invoke(ctx, "/dmi.NativeHWManagementService/GetLoggingEndpoint", in, out, opts...)
 	if err != nil {
@@ -1480,7 +1438,7 @@
 	// Sets the location to which logs need to be shipped
 	SetLoggingEndpoint(context.Context, *SetLoggingEndpointRequest) (*SetRemoteEndpointResponse, error)
 	// Gets the configured location to which the logs are being shipped
-	GetLoggingEndpoint(context.Context, *Uuid) (*GetLoggingEndpointResponse, error)
+	GetLoggingEndpoint(context.Context, *HardwareID) (*GetLoggingEndpointResponse, error)
 	// Sets the location of the Message Bus to which events and metrics are shipped
 	SetMsgBusEndpoint(context.Context, *SetMsgBusEndpointRequest) (*SetRemoteEndpointResponse, error)
 	// Gets the configured location to which the events and metrics are being shipped
@@ -1489,7 +1447,7 @@
 	// In general an entity is any item within an hardware system that can emit logs, e.g. service, process, subsystem,
 	// interface, package etc.
 	GetLoggableEntities(context.Context, *GetLoggableEntitiesRequest) (*GetLogLevelResponse, error)
-	// Sets the log level for one or more devices for each given entity to a certain level.
+	// Sets the log level of the device, for each given entity to a certain level.
 	// If only one EntitiesLogLevel is provided for the device and that request contains only a log level with
 	// no entity in the list it's assumed that the caller wants to set that level for all the entities.
 	SetLogLevel(context.Context, *SetLogLevelRequest) (*SetLogLevelResponse, error)
@@ -1638,7 +1596,7 @@
 }
 
 func _NativeHWManagementService_GetLoggingEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(Uuid)
+	in := new(HardwareID)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
@@ -1650,7 +1608,7 @@
 		FullMethod: "/dmi.NativeHWManagementService/GetLoggingEndpoint",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(NativeHWManagementServiceServer).GetLoggingEndpoint(ctx, req.(*Uuid))
+		return srv.(NativeHWManagementServiceServer).GetLoggingEndpoint(ctx, req.(*HardwareID))
 	}
 	return interceptor(ctx, in, info, handler)
 }
diff --git a/protos/dmi/commons.proto b/protos/dmi/commons.proto
index 60fdbfd..61d6466 100644
--- a/protos/dmi/commons.proto
+++ b/protos/dmi/commons.proto
@@ -21,6 +21,7 @@
     LOGGING_ENDPOINT_ERROR = 5;
     LOGGING_ENDPOINT_PROTOCOL_ERROR = 6;
     KAFKA_ENDPOINT_ERROR = 7;
+    UNKNOWN_LOG_ENTITY = 8;
 }
 
 //Log Level
diff --git a/protos/dmi/hw_management_service.proto b/protos/dmi/hw_management_service.proto
index a805b03..1ca65e7 100644
--- a/protos/dmi/hw_management_service.proto
+++ b/protos/dmi/hw_management_service.proto
@@ -101,10 +101,6 @@
 }
 
 message SetLogLevelResponse {
-    repeated DeviceLogResponse responses = 1;
-}
-
-message DeviceLogResponse{
     Uuid device_uuid = 1;
     Status status = 2;
     Reason reason = 3;
@@ -159,7 +155,7 @@
     rpc SetLoggingEndpoint(SetLoggingEndpointRequest) returns(SetRemoteEndpointResponse);
 
     // Gets the configured location to which the logs are being shipped
-    rpc GetLoggingEndpoint(Uuid) returns(GetLoggingEndpointResponse);
+    rpc GetLoggingEndpoint(HardwareID) returns(GetLoggingEndpointResponse);
 
     // Sets the location of the Message Bus to which events and metrics are shipped
     rpc SetMsgBusEndpoint(SetMsgBusEndpointRequest) returns(SetRemoteEndpointResponse);
@@ -172,7 +168,7 @@
     // interface, package etc.
     rpc GetLoggableEntities(GetLoggableEntitiesRequest) returns(GetLogLevelResponse);
 
-    // Sets the log level for one or more devices for each given entity to a certain level.
+    // Sets the log level of the device, for each given entity to a certain level.
     // If only one EntitiesLogLevel is provided for the device and that request contains only a log level with
     // no entity in the list it's assumed that the caller wants to set that level for all the entities.
     rpc SetLogLevel(SetLogLevelRequest) returns(SetLogLevelResponse);
diff --git a/python/dmi/commons_pb2.py b/python/dmi/commons_pb2.py
index fb2f027..411acd1 100644
--- a/python/dmi/commons_pb2.py
+++ b/python/dmi/commons_pb2.py
@@ -20,7 +20,7 @@
   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*\xc4\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\x10\n\x0cWRONG_METRIC\x10\x03\x12\x0f\n\x0bWRONG_EVENT\x10\x04\x12\x1a\n\x16LOGGING_ENDPOINT_ERROR\x10\x05\x12#\n\x1fLOGGING_ENDPOINT_PROTOCOL_ERROR\x10\x06\x12\x18\n\x14KAFKA_ENDPOINT_ERROR\x10\x07*?\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'
+  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*\xdc\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\x10\n\x0cWRONG_METRIC\x10\x03\x12\x0f\n\x0bWRONG_EVENT\x10\x04\x12\x1a\n\x16LOGGING_ENDPOINT_ERROR\x10\x05\x12#\n\x1fLOGGING_ENDPOINT_PROTOCOL_ERROR\x10\x06\x12\x18\n\x14KAFKA_ENDPOINT_ERROR\x10\x07\x12\x16\n\x12UNKNOWN_LOG_ENTITY\x10\x08*?\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(
@@ -101,11 +101,16 @@
       serialized_options=None,
       type=None,
       create_key=_descriptor._internal_create_key),
+    _descriptor.EnumValueDescriptor(
+      name='UNKNOWN_LOG_ENTITY', index=8, number=8,
+      serialized_options=None,
+      type=None,
+      create_key=_descriptor._internal_create_key),
   ],
   containing_type=None,
   serialized_options=None,
   serialized_start=92,
-  serialized_end=288,
+  serialized_end=312,
 )
 _sym_db.RegisterEnumDescriptor(_REASON)
 
@@ -145,8 +150,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=290,
-  serialized_end=353,
+  serialized_start=314,
+  serialized_end=377,
 )
 _sym_db.RegisterEnumDescriptor(_LOGLEVEL)
 
@@ -162,6 +167,7 @@
 LOGGING_ENDPOINT_ERROR = 5
 LOGGING_ENDPOINT_PROTOCOL_ERROR = 6
 KAFKA_ENDPOINT_ERROR = 7
+UNKNOWN_LOG_ENTITY = 8
 TRACE = 0
 DEBUG = 1
 INFO = 2
diff --git a/python/dmi/hw_management_service_pb2.py b/python/dmi/hw_management_service_pb2.py
index 58de7dc..fce70a0 100644
--- a/python/dmi/hw_management_service_pb2.py
+++ b/python/dmi/hw_management_service_pb2.py
@@ -22,7 +22,7 @@
   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\"w\n\x19PhysicalInventoryResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\x12 \n\tinventory\x18\x03 \x01(\x0b\x32\r.dmi.Hardware\"v\n\x19HWComponentInfoGetRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12!\n\x0e\x63omponent_uuid\x18\x02 \x01(\x0b\x32\t.dmi.Uuid\x12\x16\n\x0e\x63omponent_name\x18\x03 \x01(\t\"y\n\x1aHWComponentInfoGetResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\x12!\n\tcomponent\x18\x03 \x01(\x0b\x32\x0e.dmi.Component\"\xa1\x01\n\x19HWComponentInfoSetRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12!\n\x0e\x63omponent_uuid\x18\x02 \x01(\x0b\x32\t.dmi.Uuid\x12\x16\n\x0e\x63omponent_name\x18\x03 \x01(\t\x12)\n\x07\x63hanges\x18\x04 \x01(\x0b\x32\x18.dmi.ModifiableComponent\"V\n\x1aHWComponentInfoSetResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\"w\n\x1bStartManagingDeviceResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x03 \x01(\x0b\x32\t.dmi.Uuid\")\n\x19StopManagingDeviceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"V\n\x1aStopManagingDeviceResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\"C\n\x16ManagedDevicesResponse\x12)\n\x07\x64\x65vices\x18\x01 \x03(\x0b\x32\x18.dmi.ModifiableComponent\"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\"U\n\x19SetRemoteEndpointResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\"\x8a\x01\n\x1aGetLoggingEndpointResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\x12\x18\n\x10logging_endpoint\x18\x03 \x01(\t\x12\x18\n\x10logging_protocol\x18\x04 \x01(\t\"3\n\x18SetMsgBusEndpointRequest\x12\x17\n\x0fmsgbus_endpoint\x18\x01 \x01(\t\"n\n\x19GetMsgBusEndpointResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\x12\x17\n\x0fmsgbus_endpoint\x18\x03 \x01(\t\"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\"@\n\x13SetLogLevelResponse\x12)\n\tresponses\x18\x01 \x03(\x0b\x32\x16.dmi.DeviceLogResponse\"m\n\x11\x44\x65viceLogResponse\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\x1b\n\x06reason\x18\x03 \x01(\x0e\x32\x0b.dmi.Reason\"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\"\x99\x01\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\x1b\n\x06reason\x18\x04 \x01(\x0e\x32\x0b.dmi.Reason\"<\n\x1aGetLoggableEntitiesRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid2\xa9\x08\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@\n\x12GetLoggingEndpoint\x12\t.dmi.Uuid\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.GetLogLevelResponseB;Z9github.com/opencord/device-management-interface/v3/go/dmib\x06proto3'
+  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\"w\n\x19PhysicalInventoryResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\x12 \n\tinventory\x18\x03 \x01(\x0b\x32\r.dmi.Hardware\"v\n\x19HWComponentInfoGetRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12!\n\x0e\x63omponent_uuid\x18\x02 \x01(\x0b\x32\t.dmi.Uuid\x12\x16\n\x0e\x63omponent_name\x18\x03 \x01(\t\"y\n\x1aHWComponentInfoGetResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\x12!\n\tcomponent\x18\x03 \x01(\x0b\x32\x0e.dmi.Component\"\xa1\x01\n\x19HWComponentInfoSetRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid\x12!\n\x0e\x63omponent_uuid\x18\x02 \x01(\x0b\x32\t.dmi.Uuid\x12\x16\n\x0e\x63omponent_name\x18\x03 \x01(\t\x12)\n\x07\x63hanges\x18\x04 \x01(\x0b\x32\x18.dmi.ModifiableComponent\"V\n\x1aHWComponentInfoSetResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\"w\n\x1bStartManagingDeviceResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x03 \x01(\x0b\x32\t.dmi.Uuid\")\n\x19StopManagingDeviceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"V\n\x1aStopManagingDeviceResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\"C\n\x16ManagedDevicesResponse\x12)\n\x07\x64\x65vices\x18\x01 \x03(\x0b\x32\x18.dmi.ModifiableComponent\"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\"U\n\x19SetRemoteEndpointResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\"\x8a\x01\n\x1aGetLoggingEndpointResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\x12\x18\n\x10logging_endpoint\x18\x03 \x01(\t\x12\x18\n\x10logging_protocol\x18\x04 \x01(\t\"3\n\x18SetMsgBusEndpointRequest\x12\x17\n\x0fmsgbus_endpoint\x18\x01 \x01(\t\"n\n\x19GetMsgBusEndpointResponse\x12\x1b\n\x06status\x18\x01 \x01(\x0e\x32\x0b.dmi.Status\x12\x1b\n\x06reason\x18\x02 \x01(\x0e\x32\x0b.dmi.Reason\x12\x17\n\x0fmsgbus_endpoint\x18\x03 \x01(\t\"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\"o\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\x1b\n\x06reason\x18\x03 \x01(\x0e\x32\x0b.dmi.Reason\"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\"\x99\x01\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\x1b\n\x06reason\x18\x04 \x01(\x0e\x32\x0b.dmi.Reason\"<\n\x1aGetLoggableEntitiesRequest\x12\x1e\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\t.dmi.Uuid2\xaf\x08\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.GetLogLevelResponseB;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,])
 
@@ -743,53 +743,21 @@
   create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
-      name='responses', full_name='dmi.SetLogLevelResponse.responses', 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=1772,
-  serialized_end=1836,
-)
-
-
-_DEVICELOGRESPONSE = _descriptor.Descriptor(
-  name='DeviceLogResponse',
-  full_name='dmi.DeviceLogResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='device_uuid', full_name='dmi.DeviceLogResponse.device_uuid', index=0,
+      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.DeviceLogResponse.status', index=1,
+      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.DeviceLogResponse.reason', index=2,
+      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,
@@ -807,8 +775,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1838,
-  serialized_end=1947,
+  serialized_start=1772,
+  serialized_end=1883,
 )
 
 
@@ -846,8 +814,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1949,
-  serialized_end=2019,
+  serialized_start=1885,
+  serialized_end=1955,
 )
 
 
@@ -899,8 +867,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2022,
-  serialized_end=2175,
+  serialized_start=1958,
+  serialized_end=2111,
 )
 
 
@@ -931,8 +899,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2177,
-  serialized_end=2237,
+  serialized_start=2113,
+  serialized_end=2173,
 )
 
 _PHYSICALINVENTORYREQUEST.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
@@ -965,10 +933,9 @@
 _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['responses'].message_type = _DEVICELOGRESPONSE
-_DEVICELOGRESPONSE.fields_by_name['device_uuid'].message_type = dmi_dot_hw__pb2._UUID
-_DEVICELOGRESPONSE.fields_by_name['status'].enum_type = dmi_dot_commons__pb2._STATUS
-_DEVICELOGRESPONSE.fields_by_name['reason'].enum_type = dmi_dot_commons__pb2._REASON
+_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 = dmi_dot_commons__pb2._REASON
 _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
@@ -993,7 +960,6 @@
 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['DeviceLogResponse'] = _DEVICELOGRESPONSE
 DESCRIPTOR.message_types_by_name['GetLogLevelRequest'] = _GETLOGLEVELREQUEST
 DESCRIPTOR.message_types_by_name['GetLogLevelResponse'] = _GETLOGLEVELRESPONSE
 DESCRIPTOR.message_types_by_name['GetLoggableEntitiesRequest'] = _GETLOGGABLEENTITIESREQUEST
@@ -1125,13 +1091,6 @@
   })
 _sym_db.RegisterMessage(SetLogLevelResponse)
 
-DeviceLogResponse = _reflection.GeneratedProtocolMessageType('DeviceLogResponse', (_message.Message,), {
-  'DESCRIPTOR' : _DEVICELOGRESPONSE,
-  '__module__' : 'dmi.hw_management_service_pb2'
-  # @@protoc_insertion_point(class_scope:dmi.DeviceLogResponse)
-  })
-_sym_db.RegisterMessage(DeviceLogResponse)
-
 GetLogLevelRequest = _reflection.GeneratedProtocolMessageType('GetLogLevelRequest', (_message.Message,), {
   'DESCRIPTOR' : _GETLOGLEVELREQUEST,
   '__module__' : 'dmi.hw_management_service_pb2'
@@ -1163,8 +1122,8 @@
   index=0,
   serialized_options=None,
   create_key=_descriptor._internal_create_key,
-  serialized_start=2240,
-  serialized_end=3305,
+  serialized_start=2176,
+  serialized_end=3247,
   methods=[
   _descriptor.MethodDescriptor(
     name='StartManagingDevice',
@@ -1241,7 +1200,7 @@
     full_name='dmi.NativeHWManagementService.GetLoggingEndpoint',
     index=7,
     containing_service=None,
-    input_type=dmi_dot_hw__pb2._UUID,
+    input_type=dmi_dot_hw__pb2._HARDWAREID,
     output_type=_GETLOGGINGENDPOINTRESPONSE,
     serialized_options=None,
     create_key=_descriptor._internal_create_key,
diff --git a/python/dmi/hw_management_service_pb2_grpc.py b/python/dmi/hw_management_service_pb2_grpc.py
index 06c4f87..ecc2011 100644
--- a/python/dmi/hw_management_service_pb2_grpc.py
+++ b/python/dmi/hw_management_service_pb2_grpc.py
@@ -53,7 +53,7 @@
                 )
         self.GetLoggingEndpoint = channel.unary_unary(
                 '/dmi.NativeHWManagementService/GetLoggingEndpoint',
-                request_serializer=dmi_dot_hw__pb2.Uuid.SerializeToString,
+                request_serializer=dmi_dot_hw__pb2.HardwareID.SerializeToString,
                 response_deserializer=dmi_dot_hw__management__service__pb2.GetLoggingEndpointResponse.FromString,
                 )
         self.SetMsgBusEndpoint = channel.unary_unary(
@@ -174,7 +174,7 @@
         raise NotImplementedError('Method not implemented!')
 
     def SetLogLevel(self, request, context):
-        """Sets the log level for one or more devices for each given entity to a certain level.
+        """Sets the log level of the device, for each given entity to a certain level.
         If only one EntitiesLogLevel is provided for the device and that request contains only a log level with
         no entity in the list it's assumed that the caller wants to set that level for all the entities.
         """
@@ -230,7 +230,7 @@
             ),
             'GetLoggingEndpoint': grpc.unary_unary_rpc_method_handler(
                     servicer.GetLoggingEndpoint,
-                    request_deserializer=dmi_dot_hw__pb2.Uuid.FromString,
+                    request_deserializer=dmi_dot_hw__pb2.HardwareID.FromString,
                     response_serializer=dmi_dot_hw__management__service__pb2.GetLoggingEndpointResponse.SerializeToString,
             ),
             'SetMsgBusEndpoint': grpc.unary_unary_rpc_method_handler(
@@ -399,7 +399,7 @@
             timeout=None,
             metadata=None):
         return grpc.experimental.unary_unary(request, target, '/dmi.NativeHWManagementService/GetLoggingEndpoint',
-            dmi_dot_hw__pb2.Uuid.SerializeToString,
+            dmi_dot_hw__pb2.HardwareID.SerializeToString,
             dmi_dot_hw__management__service__pb2.GetLoggingEndpointResponse.FromString,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
