//
//Сервис реализует функционал управления Точками учёта(ТУ)

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.30.0
// 	protoc        v4.23.1
// source: keyapis/telemetry_control/v1/keyapis_telemetry_control_metric_point_v1.proto

package keyapis_telemetry_control_v1

import (
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Справочник типов значений сортировки
type MetricPointPaging_OrderByType int32

const (
	// Значение не указано
	MetricPointPaging_ORDER_BY_TYPE_UNKNOWN MetricPointPaging_OrderByType = 0
	// По идентификатору
	MetricPointPaging_ID MetricPointPaging_OrderByType = 1
	// По типу энергоресурса
	MetricPointPaging_METRIC_TYPE MetricPointPaging_OrderByType = 2
	// По типу статуса
	MetricPointPaging_STATUS_TYPE MetricPointPaging_OrderByType = 3
	// По Номеру помещения
	MetricPointPaging_ROOM_NUMBER MetricPointPaging_OrderByType = 4
	// По Лейблу помещения
	MetricPointPaging_ROOM_LABEL MetricPointPaging_OrderByType = 5
	// По идентификатору объекта строительства
	MetricPointPaging_BUILDING_ID MetricPointPaging_OrderByType = 6
)

// Enum value maps for MetricPointPaging_OrderByType.
var (
	MetricPointPaging_OrderByType_name = map[int32]string{
		0: "ORDER_BY_TYPE_UNKNOWN",
		1: "ID",
		2: "METRIC_TYPE",
		3: "STATUS_TYPE",
		4: "ROOM_NUMBER",
		5: "ROOM_LABEL",
		6: "BUILDING_ID",
	}
	MetricPointPaging_OrderByType_value = map[string]int32{
		"ORDER_BY_TYPE_UNKNOWN": 0,
		"ID":                    1,
		"METRIC_TYPE":           2,
		"STATUS_TYPE":           3,
		"ROOM_NUMBER":           4,
		"ROOM_LABEL":            5,
		"BUILDING_ID":           6,
	}
)

func (x MetricPointPaging_OrderByType) Enum() *MetricPointPaging_OrderByType {
	p := new(MetricPointPaging_OrderByType)
	*p = x
	return p
}

func (x MetricPointPaging_OrderByType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MetricPointPaging_OrderByType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_enumTypes[0].Descriptor()
}

func (MetricPointPaging_OrderByType) Type() protoreflect.EnumType {
	return &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_enumTypes[0]
}

func (x MetricPointPaging_OrderByType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use MetricPointPaging_OrderByType.Descriptor instead.
func (MetricPointPaging_OrderByType) EnumDescriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{3, 0}
}

// Справочник типов направлений сортировки
type MetricPointPaging_DirectionType int32

const (
	// Значение не указано
	MetricPointPaging_DIRECTION_TYPE_UNKNOWN MetricPointPaging_DirectionType = 0
	// От большего к меньшему
	MetricPointPaging_DESC MetricPointPaging_DirectionType = 1
	// От меньшего к большему
	MetricPointPaging_ASC MetricPointPaging_DirectionType = 2
)

// Enum value maps for MetricPointPaging_DirectionType.
var (
	MetricPointPaging_DirectionType_name = map[int32]string{
		0: "DIRECTION_TYPE_UNKNOWN",
		1: "DESC",
		2: "ASC",
	}
	MetricPointPaging_DirectionType_value = map[string]int32{
		"DIRECTION_TYPE_UNKNOWN": 0,
		"DESC":                   1,
		"ASC":                    2,
	}
)

func (x MetricPointPaging_DirectionType) Enum() *MetricPointPaging_DirectionType {
	p := new(MetricPointPaging_DirectionType)
	*p = x
	return p
}

func (x MetricPointPaging_DirectionType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MetricPointPaging_DirectionType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_enumTypes[1].Descriptor()
}

func (MetricPointPaging_DirectionType) Type() protoreflect.EnumType {
	return &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_enumTypes[1]
}

func (x MetricPointPaging_DirectionType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use MetricPointPaging_DirectionType.Descriptor instead.
func (MetricPointPaging_DirectionType) EnumDescriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{3, 1}
}

// Запрос получения ТУ
type GetMetricPointRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор ТУ
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *GetMetricPointRequest) Reset() {
	*x = GetMetricPointRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetMetricPointRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMetricPointRequest) ProtoMessage() {}

func (x *GetMetricPointRequest) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMetricPointRequest.ProtoReflect.Descriptor instead.
func (*GetMetricPointRequest) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{0}
}

func (x *GetMetricPointRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Ответ на запрос получения ТУ
type GetMetricPointResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetMetricPointResponse_Data
	Type isGetMetricPointResponse_Type `protobuf_oneof:"type"`
}

func (x *GetMetricPointResponse) Reset() {
	*x = GetMetricPointResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetMetricPointResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMetricPointResponse) ProtoMessage() {}

func (x *GetMetricPointResponse) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMetricPointResponse.ProtoReflect.Descriptor instead.
func (*GetMetricPointResponse) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{1}
}

func (m *GetMetricPointResponse) GetType() isGetMetricPointResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetMetricPointResponse) GetData() *Device_MetricPoint {
	if x, ok := x.GetType().(*GetMetricPointResponse_Data); ok {
		return x.Data
	}
	return nil
}

type isGetMetricPointResponse_Type interface {
	isGetMetricPointResponse_Type()
}

type GetMetricPointResponse_Data struct {
	// Точка учета
	Data *Device_MetricPoint `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

func (*GetMetricPointResponse_Data) isGetMetricPointResponse_Type() {}

// Запрос получения списка ТУ
type GetMetricPointListRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Фильтр
	Filter *MetricPointFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
	// Вариант разбиения на страницы
	//
	// Types that are assignable to Pagination:
	//
	//	*GetMetricPointListRequest_Paging
	Pagination isGetMetricPointListRequest_Pagination `protobuf_oneof:"pagination"`
}

func (x *GetMetricPointListRequest) Reset() {
	*x = GetMetricPointListRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetMetricPointListRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMetricPointListRequest) ProtoMessage() {}

func (x *GetMetricPointListRequest) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMetricPointListRequest.ProtoReflect.Descriptor instead.
func (*GetMetricPointListRequest) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{2}
}

func (x *GetMetricPointListRequest) GetFilter() *MetricPointFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

func (m *GetMetricPointListRequest) GetPagination() isGetMetricPointListRequest_Pagination {
	if m != nil {
		return m.Pagination
	}
	return nil
}

func (x *GetMetricPointListRequest) GetPaging() *MetricPointPaging {
	if x, ok := x.GetPagination().(*GetMetricPointListRequest_Paging); ok {
		return x.Paging
	}
	return nil
}

type isGetMetricPointListRequest_Pagination interface {
	isGetMetricPointListRequest_Pagination()
}

type GetMetricPointListRequest_Paging struct {
	// Пагинация
	Paging *MetricPointPaging `protobuf:"bytes,2,opt,name=paging,proto3,oneof"`
}

func (*GetMetricPointListRequest_Paging) isGetMetricPointListRequest_Pagination() {}

// Пагинация
type MetricPointPaging struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип значения сортировки.
	// По умолчанию: ID
	OrderByType MetricPointPaging_OrderByType `protobuf:"varint,1,opt,name=order_by_type,json=orderByType,proto3,enum=keyapis.telemetry_control.v1.MetricPointPaging_OrderByType" json:"order_by_type,omitempty"`
	// Тип направления сортировки.
	// По умолчанию: DESC
	DirectionType MetricPointPaging_DirectionType `protobuf:"varint,2,opt,name=direction_type,json=directionType,proto3,enum=keyapis.telemetry_control.v1.MetricPointPaging_DirectionType" json:"direction_type,omitempty"`
	// Количество.
	// Минимальное значение: 1.
	// Максимальное значение: 100.
	// По умолчанию: 20.
	// Если значение 0 (не передано) то выставляем значение по умолчанию
	Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
	// Сдвиг.
	// По умолчанию: 0
	Offset int32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
}

func (x *MetricPointPaging) Reset() {
	*x = MetricPointPaging{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MetricPointPaging) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MetricPointPaging) ProtoMessage() {}

func (x *MetricPointPaging) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MetricPointPaging.ProtoReflect.Descriptor instead.
func (*MetricPointPaging) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{3}
}

func (x *MetricPointPaging) GetOrderByType() MetricPointPaging_OrderByType {
	if x != nil {
		return x.OrderByType
	}
	return MetricPointPaging_ORDER_BY_TYPE_UNKNOWN
}

func (x *MetricPointPaging) GetDirectionType() MetricPointPaging_DirectionType {
	if x != nil {
		return x.DirectionType
	}
	return MetricPointPaging_DIRECTION_TYPE_UNKNOWN
}

func (x *MetricPointPaging) GetLimit() int32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *MetricPointPaging) GetOffset() int32 {
	if x != nil {
		return x.Offset
	}
	return 0
}

// Фильтр для запроса точек учета.
// При передаче массива в параметр фильтра элементы массива работают в выборке через ИЛИ.
// При передаче нескольких разных параметров фильтра они работают в выборке через И
type MetricPointFilter struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// По типу энергоресурса
	DeviceMetricPointMetricTypes []Device_MetricPoint_MetricType `protobuf:"varint,1,rep,packed,name=device_metric_point_metric_types,json=deviceMetricPointMetricTypes,proto3,enum=keyapis.telemetry_control.v1.Device_MetricPoint_MetricType" json:"device_metric_point_metric_types,omitempty"`
	// По типу статуса
	DeviceMetricPointStatusTypes []Device_MetricPoint_StatusType `protobuf:"varint,2,rep,packed,name=device_metric_point_status_types,json=deviceMetricPointStatusTypes,proto3,enum=keyapis.telemetry_control.v1.Device_MetricPoint_StatusType" json:"device_metric_point_status_types,omitempty"`
	// По Номеру помещения
	RoomNumbers []string `protobuf:"bytes,3,rep,name=room_numbers,json=roomNumbers,proto3" json:"room_numbers,omitempty"`
	// По Лейблу помещения
	RoomLabels []string `protobuf:"bytes,4,rep,name=room_labels,json=roomLabels,proto3" json:"room_labels,omitempty"`
	// По идентификаторам объекта строительства
	BuildingIds []int32 `protobuf:"varint,5,rep,packed,name=building_ids,json=buildingIds,proto3" json:"building_ids,omitempty"`
	// По ФИАС
	FiasIds []string `protobuf:"bytes,6,rep,name=fias_ids,json=fiasIds,proto3" json:"fias_ids,omitempty"`
	// По ID привязанных через индикаторы ПУ
	DeviceIds []int32 `protobuf:"varint,7,rep,packed,name=device_ids,json=deviceIds,proto3" json:"device_ids,omitempty"`
	// По серийным номерам привязанных через индикаторы ПУ
	DeviceSerialNumbers []string `protobuf:"bytes,8,rep,name=device_serial_numbers,json=deviceSerialNumbers,proto3" json:"device_serial_numbers,omitempty"`
	// По ОРПОНам
	Orpons []int64 `protobuf:"varint,9,rep,packed,name=orpons,proto3" json:"orpons,omitempty"`
}

func (x *MetricPointFilter) Reset() {
	*x = MetricPointFilter{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MetricPointFilter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MetricPointFilter) ProtoMessage() {}

func (x *MetricPointFilter) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MetricPointFilter.ProtoReflect.Descriptor instead.
func (*MetricPointFilter) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{4}
}

func (x *MetricPointFilter) GetDeviceMetricPointMetricTypes() []Device_MetricPoint_MetricType {
	if x != nil {
		return x.DeviceMetricPointMetricTypes
	}
	return nil
}

func (x *MetricPointFilter) GetDeviceMetricPointStatusTypes() []Device_MetricPoint_StatusType {
	if x != nil {
		return x.DeviceMetricPointStatusTypes
	}
	return nil
}

func (x *MetricPointFilter) GetRoomNumbers() []string {
	if x != nil {
		return x.RoomNumbers
	}
	return nil
}

func (x *MetricPointFilter) GetRoomLabels() []string {
	if x != nil {
		return x.RoomLabels
	}
	return nil
}

func (x *MetricPointFilter) GetBuildingIds() []int32 {
	if x != nil {
		return x.BuildingIds
	}
	return nil
}

func (x *MetricPointFilter) GetFiasIds() []string {
	if x != nil {
		return x.FiasIds
	}
	return nil
}

func (x *MetricPointFilter) GetDeviceIds() []int32 {
	if x != nil {
		return x.DeviceIds
	}
	return nil
}

func (x *MetricPointFilter) GetDeviceSerialNumbers() []string {
	if x != nil {
		return x.DeviceSerialNumbers
	}
	return nil
}

func (x *MetricPointFilter) GetOrpons() []int64 {
	if x != nil {
		return x.Orpons
	}
	return nil
}

// Ответ на запрос получения списка ТУ
type GetMetricPointListResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetMetricPointListResponse_Data
	//	*GetMetricPointListResponse_Error_
	Type isGetMetricPointListResponse_Type `protobuf_oneof:"type"`
}

func (x *GetMetricPointListResponse) Reset() {
	*x = GetMetricPointListResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetMetricPointListResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMetricPointListResponse) ProtoMessage() {}

func (x *GetMetricPointListResponse) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMetricPointListResponse.ProtoReflect.Descriptor instead.
func (*GetMetricPointListResponse) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{5}
}

func (m *GetMetricPointListResponse) GetType() isGetMetricPointListResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetMetricPointListResponse) GetData() *Device_MetricPoint {
	if x, ok := x.GetType().(*GetMetricPointListResponse_Data); ok {
		return x.Data
	}
	return nil
}

func (x *GetMetricPointListResponse) GetError() *GetMetricPointListResponse_Error {
	if x, ok := x.GetType().(*GetMetricPointListResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isGetMetricPointListResponse_Type interface {
	isGetMetricPointListResponse_Type()
}

type GetMetricPointListResponse_Data struct {
	// Точка учета
	Data *Device_MetricPoint `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

type GetMetricPointListResponse_Error_ struct {
	// Ошибка
	Error *GetMetricPointListResponse_Error `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

func (*GetMetricPointListResponse_Data) isGetMetricPointListResponse_Type() {}

func (*GetMetricPointListResponse_Error_) isGetMetricPointListResponse_Type() {}

// Запрос получения количества ТУ
type GetMetricPointCountRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Фильтр по ТУ
	Filter *MetricPointFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
}

func (x *GetMetricPointCountRequest) Reset() {
	*x = GetMetricPointCountRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetMetricPointCountRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMetricPointCountRequest) ProtoMessage() {}

func (x *GetMetricPointCountRequest) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMetricPointCountRequest.ProtoReflect.Descriptor instead.
func (*GetMetricPointCountRequest) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{6}
}

func (x *GetMetricPointCountRequest) GetFilter() *MetricPointFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

// Ответ на запрос получения количества ТУ
type GetMetricPointCountResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetMetricPointCountResponse_Data
	//	*GetMetricPointCountResponse_Error_
	Type isGetMetricPointCountResponse_Type `protobuf_oneof:"type"`
}

func (x *GetMetricPointCountResponse) Reset() {
	*x = GetMetricPointCountResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetMetricPointCountResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMetricPointCountResponse) ProtoMessage() {}

func (x *GetMetricPointCountResponse) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMetricPointCountResponse.ProtoReflect.Descriptor instead.
func (*GetMetricPointCountResponse) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{7}
}

func (m *GetMetricPointCountResponse) GetType() isGetMetricPointCountResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetMetricPointCountResponse) GetData() int32 {
	if x, ok := x.GetType().(*GetMetricPointCountResponse_Data); ok {
		return x.Data
	}
	return 0
}

func (x *GetMetricPointCountResponse) GetError() *GetMetricPointCountResponse_Error {
	if x, ok := x.GetType().(*GetMetricPointCountResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isGetMetricPointCountResponse_Type interface {
	isGetMetricPointCountResponse_Type()
}

type GetMetricPointCountResponse_Data struct {
	// Всего ТУ
	Data int32 `protobuf:"varint,1,opt,name=data,proto3,oneof"`
}

type GetMetricPointCountResponse_Error_ struct {
	// Ошибка
	Error *GetMetricPointCountResponse_Error `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

func (*GetMetricPointCountResponse_Data) isGetMetricPointCountResponse_Type() {}

func (*GetMetricPointCountResponse_Error_) isGetMetricPointCountResponse_Type() {}

// Запрос сохранения ТУ
type PostMetricPointRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Точка учета
	Data *Device_MetricPoint `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
}

func (x *PostMetricPointRequest) Reset() {
	*x = PostMetricPointRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PostMetricPointRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PostMetricPointRequest) ProtoMessage() {}

func (x *PostMetricPointRequest) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PostMetricPointRequest.ProtoReflect.Descriptor instead.
func (*PostMetricPointRequest) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{8}
}

func (x *PostMetricPointRequest) GetData() *Device_MetricPoint {
	if x != nil {
		return x.Data
	}
	return nil
}

// Ответ на запрос сохранения ТУ
type PostMetricPointResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*PostMetricPointResponse_Data
	//	*PostMetricPointResponse_Error_
	Type isPostMetricPointResponse_Type `protobuf_oneof:"type"`
}

func (x *PostMetricPointResponse) Reset() {
	*x = PostMetricPointResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PostMetricPointResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PostMetricPointResponse) ProtoMessage() {}

func (x *PostMetricPointResponse) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PostMetricPointResponse.ProtoReflect.Descriptor instead.
func (*PostMetricPointResponse) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{9}
}

func (m *PostMetricPointResponse) GetType() isPostMetricPointResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *PostMetricPointResponse) GetData() *Device_MetricPoint {
	if x, ok := x.GetType().(*PostMetricPointResponse_Data); ok {
		return x.Data
	}
	return nil
}

func (x *PostMetricPointResponse) GetError() *PostMetricPointResponse_Error {
	if x, ok := x.GetType().(*PostMetricPointResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isPostMetricPointResponse_Type interface {
	isPostMetricPointResponse_Type()
}

type PostMetricPointResponse_Data struct {
	// Точка учета
	Data *Device_MetricPoint `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

type PostMetricPointResponse_Error_ struct {
	// Ошибка
	Error *PostMetricPointResponse_Error `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

func (*PostMetricPointResponse_Data) isPostMetricPointResponse_Type() {}

func (*PostMetricPointResponse_Error_) isPostMetricPointResponse_Type() {}

// Запрос удаления ТУ
type DeleteMetricPointRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *DeleteMetricPointRequest) Reset() {
	*x = DeleteMetricPointRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeleteMetricPointRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteMetricPointRequest) ProtoMessage() {}

func (x *DeleteMetricPointRequest) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteMetricPointRequest.ProtoReflect.Descriptor instead.
func (*DeleteMetricPointRequest) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{10}
}

func (x *DeleteMetricPointRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Ответ на запрос удаления ТУ
type DeleteMetricPointResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *DeleteMetricPointResponse) Reset() {
	*x = DeleteMetricPointResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeleteMetricPointResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteMetricPointResponse) ProtoMessage() {}

func (x *DeleteMetricPointResponse) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteMetricPointResponse.ProtoReflect.Descriptor instead.
func (*DeleteMetricPointResponse) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{11}
}

// Ошибки валидации.
// Эти проверки выполняются до обращения в базу данных
type ValidationError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Путь к полю в формате наименования protobuf
	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	// Валидационное сообщение
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
}

func (x *ValidationError) Reset() {
	*x = ValidationError{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ValidationError) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ValidationError) ProtoMessage() {}

func (x *ValidationError) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ValidationError.ProtoReflect.Descriptor instead.
func (*ValidationError) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{12}
}

func (x *ValidationError) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *ValidationError) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// Ошибка валидации постраничной пагинации по ТУ.
// Эти проверки выполняются до обращения в базу данных
type MetricPointPaging_ValidationError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*MetricPointPaging_ValidationError_Limit
	//	*MetricPointPaging_ValidationError_Offset
	Reason isMetricPointPaging_ValidationError_Reason `protobuf_oneof:"reason"`
}

func (x *MetricPointPaging_ValidationError) Reset() {
	*x = MetricPointPaging_ValidationError{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MetricPointPaging_ValidationError) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MetricPointPaging_ValidationError) ProtoMessage() {}

func (x *MetricPointPaging_ValidationError) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MetricPointPaging_ValidationError.ProtoReflect.Descriptor instead.
func (*MetricPointPaging_ValidationError) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{3, 0}
}

func (m *MetricPointPaging_ValidationError) GetReason() isMetricPointPaging_ValidationError_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *MetricPointPaging_ValidationError) GetLimit() *MetricPointPaging_ValidationError_LimitInvalid {
	if x, ok := x.GetReason().(*MetricPointPaging_ValidationError_Limit); ok {
		return x.Limit
	}
	return nil
}

func (x *MetricPointPaging_ValidationError) GetOffset() *MetricPointPaging_ValidationError_OffsetInvalid {
	if x, ok := x.GetReason().(*MetricPointPaging_ValidationError_Offset); ok {
		return x.Offset
	}
	return nil
}

type isMetricPointPaging_ValidationError_Reason interface {
	isMetricPointPaging_ValidationError_Reason()
}

type MetricPointPaging_ValidationError_Limit struct {
	// Количество передано некорректно
	Limit *MetricPointPaging_ValidationError_LimitInvalid `protobuf:"bytes,1,opt,name=limit,proto3,oneof"`
}

type MetricPointPaging_ValidationError_Offset struct {
	// Сдвиг передан некорректно
	Offset *MetricPointPaging_ValidationError_OffsetInvalid `protobuf:"bytes,2,opt,name=offset,proto3,oneof"`
}

func (*MetricPointPaging_ValidationError_Limit) isMetricPointPaging_ValidationError_Reason() {}

func (*MetricPointPaging_ValidationError_Offset) isMetricPointPaging_ValidationError_Reason() {}

// Причины:
// - Значение количества < 0 или > 100
type MetricPointPaging_ValidationError_LimitInvalid struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MetricPointPaging_ValidationError_LimitInvalid) Reset() {
	*x = MetricPointPaging_ValidationError_LimitInvalid{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MetricPointPaging_ValidationError_LimitInvalid) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MetricPointPaging_ValidationError_LimitInvalid) ProtoMessage() {}

func (x *MetricPointPaging_ValidationError_LimitInvalid) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MetricPointPaging_ValidationError_LimitInvalid.ProtoReflect.Descriptor instead.
func (*MetricPointPaging_ValidationError_LimitInvalid) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{3, 0, 0}
}

// Причины:
// - Значение сдвига < 0
type MetricPointPaging_ValidationError_OffsetInvalid struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MetricPointPaging_ValidationError_OffsetInvalid) Reset() {
	*x = MetricPointPaging_ValidationError_OffsetInvalid{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MetricPointPaging_ValidationError_OffsetInvalid) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MetricPointPaging_ValidationError_OffsetInvalid) ProtoMessage() {}

func (x *MetricPointPaging_ValidationError_OffsetInvalid) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MetricPointPaging_ValidationError_OffsetInvalid.ProtoReflect.Descriptor instead.
func (*MetricPointPaging_ValidationError_OffsetInvalid) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{3, 0, 1}
}

// Ошибки валидации.
// Эти проверки выполняются до обращения в базу данных
type MetricPointFilter_ValidationError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Путь к полю в формате наименования protobuf
	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	// Валидационное сообщение
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
}

func (x *MetricPointFilter_ValidationError) Reset() {
	*x = MetricPointFilter_ValidationError{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MetricPointFilter_ValidationError) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MetricPointFilter_ValidationError) ProtoMessage() {}

func (x *MetricPointFilter_ValidationError) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MetricPointFilter_ValidationError.ProtoReflect.Descriptor instead.
func (*MetricPointFilter_ValidationError) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{4, 0}
}

func (x *MetricPointFilter_ValidationError) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *MetricPointFilter_ValidationError) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// Ошибка запроса получения списка ТУ
type GetMetricPointListResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*GetMetricPointListResponse_Error_MetricPointFilterValidation
	//	*GetMetricPointListResponse_Error_MetricPointPagingValidation
	Reason isGetMetricPointListResponse_Error_Reason `protobuf_oneof:"reason"`
}

func (x *GetMetricPointListResponse_Error) Reset() {
	*x = GetMetricPointListResponse_Error{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetMetricPointListResponse_Error) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMetricPointListResponse_Error) ProtoMessage() {}

func (x *GetMetricPointListResponse_Error) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMetricPointListResponse_Error.ProtoReflect.Descriptor instead.
func (*GetMetricPointListResponse_Error) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{5, 0}
}

func (m *GetMetricPointListResponse_Error) GetReason() isGetMetricPointListResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *GetMetricPointListResponse_Error) GetMetricPointFilterValidation() *MetricPointFilter_ValidationError {
	if x, ok := x.GetReason().(*GetMetricPointListResponse_Error_MetricPointFilterValidation); ok {
		return x.MetricPointFilterValidation
	}
	return nil
}

func (x *GetMetricPointListResponse_Error) GetMetricPointPagingValidation() *MetricPointPaging_ValidationError {
	if x, ok := x.GetReason().(*GetMetricPointListResponse_Error_MetricPointPagingValidation); ok {
		return x.MetricPointPagingValidation
	}
	return nil
}

type isGetMetricPointListResponse_Error_Reason interface {
	isGetMetricPointListResponse_Error_Reason()
}

type GetMetricPointListResponse_Error_MetricPointFilterValidation struct {
	// Ошибка фильтрации
	MetricPointFilterValidation *MetricPointFilter_ValidationError `protobuf:"bytes,1,opt,name=metric_point_filter_validation,json=metricPointFilterValidation,proto3,oneof"`
}

type GetMetricPointListResponse_Error_MetricPointPagingValidation struct {
	// Ошибка пагинации  по страницам
	MetricPointPagingValidation *MetricPointPaging_ValidationError `protobuf:"bytes,2,opt,name=metric_point_paging_validation,json=metricPointPagingValidation,proto3,oneof"`
}

func (*GetMetricPointListResponse_Error_MetricPointFilterValidation) isGetMetricPointListResponse_Error_Reason() {
}

func (*GetMetricPointListResponse_Error_MetricPointPagingValidation) isGetMetricPointListResponse_Error_Reason() {
}

// Ошибка запроса получения количества ТУ
type GetMetricPointCountResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*GetMetricPointCountResponse_Error_MetricPointFilterValidation
	Reason isGetMetricPointCountResponse_Error_Reason `protobuf_oneof:"reason"`
}

func (x *GetMetricPointCountResponse_Error) Reset() {
	*x = GetMetricPointCountResponse_Error{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetMetricPointCountResponse_Error) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMetricPointCountResponse_Error) ProtoMessage() {}

func (x *GetMetricPointCountResponse_Error) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMetricPointCountResponse_Error.ProtoReflect.Descriptor instead.
func (*GetMetricPointCountResponse_Error) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{7, 0}
}

func (m *GetMetricPointCountResponse_Error) GetReason() isGetMetricPointCountResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *GetMetricPointCountResponse_Error) GetMetricPointFilterValidation() *MetricPointFilter_ValidationError {
	if x, ok := x.GetReason().(*GetMetricPointCountResponse_Error_MetricPointFilterValidation); ok {
		return x.MetricPointFilterValidation
	}
	return nil
}

type isGetMetricPointCountResponse_Error_Reason interface {
	isGetMetricPointCountResponse_Error_Reason()
}

type GetMetricPointCountResponse_Error_MetricPointFilterValidation struct {
	// Ошибка фильтрации
	MetricPointFilterValidation *MetricPointFilter_ValidationError `protobuf:"bytes,1,opt,name=metric_point_filter_validation,json=metricPointFilterValidation,proto3,oneof"`
}

func (*GetMetricPointCountResponse_Error_MetricPointFilterValidation) isGetMetricPointCountResponse_Error_Reason() {
}

// Ошибка запроса сохранения ТУ
type PostMetricPointResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*PostMetricPointResponse_Error_Validation
	Reason isPostMetricPointResponse_Error_Reason `protobuf_oneof:"reason"`
}

func (x *PostMetricPointResponse_Error) Reset() {
	*x = PostMetricPointResponse_Error{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PostMetricPointResponse_Error) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PostMetricPointResponse_Error) ProtoMessage() {}

func (x *PostMetricPointResponse_Error) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PostMetricPointResponse_Error.ProtoReflect.Descriptor instead.
func (*PostMetricPointResponse_Error) Descriptor() ([]byte, []int) {
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP(), []int{9, 0}
}

func (m *PostMetricPointResponse_Error) GetReason() isPostMetricPointResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *PostMetricPointResponse_Error) GetValidation() *ValidationError {
	if x, ok := x.GetReason().(*PostMetricPointResponse_Error_Validation); ok {
		return x.Validation
	}
	return nil
}

type isPostMetricPointResponse_Error_Reason interface {
	isPostMetricPointResponse_Error_Reason()
}

type PostMetricPointResponse_Error_Validation struct {
	// Ошибка валидации
	Validation *ValidationError `protobuf:"bytes,1,opt,name=validation,proto3,oneof"`
}

func (*PostMetricPointResponse_Error_Validation) isPostMetricPointResponse_Error_Reason() {}

var File_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto protoreflect.FileDescriptor

var file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDesc = []byte{
	0x0a, 0x4c, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65,
	0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79,
	0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f,
	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72,
	0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68,
	0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x46, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63,
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
	0x72, 0x6f, 0x6c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x76, 0x31, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x22, 0x2c, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
	0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69,
	0x64, 0x22, 0x68, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f,
	0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x04, 0x64,
	0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x04, 0x64,
	0x61, 0x74, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x19,
	0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69,
	0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x66, 0x69, 0x6c,
	0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50,
	0x6f, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74,
	0x65, 0x72, 0x12, 0x49, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c,
	0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76,
	0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x67,
	0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x42, 0x0c, 0x0a,
	0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdd, 0x05, 0x0a, 0x11,
	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e,
	0x67, 0x12, 0x5f, 0x0a, 0x0d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x79,
	0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e,
	0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f,
	0x69, 0x6e, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42,
	0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x64, 0x0a, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
	0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63,
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
	0x50, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x69, 0x72, 0x65,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16,
	0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
	0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x1a, 0x8b, 0x02, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x64, 0x0a, 0x05, 0x6c, 0x69,
	0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50,
	0x6f, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74,
	0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74,
	0x12, 0x67, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x4d, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d,
	0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e,
	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e,
	0x67, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x2e, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48,
	0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x1a, 0x0e, 0x0a, 0x0c, 0x4c, 0x69, 0x6d,
	0x69, 0x74, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x1a, 0x0f, 0x0a, 0x0d, 0x4f, 0x66, 0x66,
	0x73, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65,
	0x61, 0x73, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x59,
	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12,
	0x06, 0x0a, 0x02, 0x49, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x45, 0x54, 0x52, 0x49,
	0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x54,
	0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x4f,
	0x4d, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x4f,
	0x4f, 0x4d, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x55,
	0x49, 0x4c, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x44, 0x10, 0x06, 0x22, 0x3e, 0x0a, 0x0d, 0x44,
	0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16,
	0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55,
	0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x53, 0x43,
	0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, 0x02, 0x22, 0xd7, 0x04, 0x0a, 0x11,
	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65,
	0x72, 0x12, 0x83, 0x01, 0x0a, 0x20, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74,
	0x72, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
	0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79,
	0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4d,
	0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x1c, 0x64, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x83, 0x01, 0x0a, 0x20, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f,
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c,
	0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76,
	0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50,
	0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52,
	0x1c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69,
	0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x21, 0x0a,
	0x0c, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73,
	0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18,
	0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x61, 0x62, 0x65, 0x6c,
	0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64,
	0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e,
	0x67, 0x49, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x61, 0x73, 0x5f, 0x69, 0x64, 0x73,
	0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x61, 0x73, 0x49, 0x64, 0x73, 0x12,
	0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20,
	0x03, 0x28, 0x05, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x32,
	0x0a, 0x15, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f,
	0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x70, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03,
	0x28, 0x03, 0x52, 0x06, 0x6f, 0x72, 0x70, 0x6f, 0x6e, 0x73, 0x1a, 0x49, 0x0a, 0x0f, 0x56, 0x61,
	0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x17, 0x0a,
	0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xea, 0x03, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74,
	0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c,
	0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76,
	0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50,
	0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x56, 0x0a, 0x05,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6b, 0x65,
	0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f,
	0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65,
	0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x1a, 0xa3, 0x02, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x86,
	0x01, 0x0a, 0x1e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f,
	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
	0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69,
	0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x1b, 0x6d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c,
	0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x86, 0x01, 0x0a, 0x1e, 0x6d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x5f,
	0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x3f, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d,
	0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e,
	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e,
	0x67, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x48, 0x00, 0x52, 0x1b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74,
	0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79,
	0x70, 0x65, 0x22, 0x65, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50,
	0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x47, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2f, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d,
	0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e,
	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65,
	0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xb1, 0x02, 0x0a, 0x1b, 0x47, 0x65,
	0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x64, 0x61, 0x74,
	0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12,
	0x57, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74,
	0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
	0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48,
	0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x9a, 0x01, 0x0a, 0x05, 0x45, 0x72, 0x72,
	0x6f, 0x72, 0x12, 0x86, 0x01, 0x0a, 0x1e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6b, 0x65,
	0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f,
	0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69,
	0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x6c,
	0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x1b,
	0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65,
	0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x72,
	0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x63, 0x0a,
	0x16, 0x50, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
	0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x61,
	0x74, 0x61, 0x22, 0xa2, 0x02, 0x0a, 0x17, 0x50, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69,
	0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46,
	0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79,
	0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00,
	0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x53, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
	0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50,
	0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72,
	0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x62, 0x0a, 0x05, 0x45,
	0x72, 0x72, 0x6f, 0x72, 0x12, 0x4f, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e,
	0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42,
	0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2f, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x70, 0x61, 0x74,
	0x68, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x32, 0xbb, 0x07, 0x0a, 0x12, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74,
	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb0, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d,
	0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x33, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63,
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74,
	0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x34, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65,
	0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47,
	0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f,
	0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
	0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f,
	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbe, 0x01, 0x0a, 0x12, 0x47,
	0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73,
	0x74, 0x12, 0x37, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65,
	0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31,
	0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c,
	0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63,
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74,
	0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x74,
	0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x70,
	0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x30, 0x01, 0x12, 0xc0, 0x01, 0x0a, 0x13,
	0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f,
	0x75, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65,
	0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e,
	0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e,
	0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72,
	0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e,
	0x12, 0x2c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e,
	0x74, 0x72, 0x6f, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0xb1,
	0x01, 0x0a, 0x0f, 0x50, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69,
	0x6e, 0x74, 0x12, 0x34, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c,
	0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76,
	0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e,
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e,
	0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x3a, 0x01, 0x2a, 0x22, 0x26, 0x2f, 0x74, 0x65, 0x6c,
	0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2f, 0x61,
	0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x69,
	0x6e, 0x74, 0x12, 0xb9, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74,
	0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x36, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e,
	0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65,
	0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x37, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d,
	0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x69, 0x6e,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02,
	0x2d, 0x2a, 0x2b, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74,
	0x72, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x42, 0xe2,
	0x01, 0x0a, 0x1f, 0x72, 0x75, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65,
	0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e,
	0x76, 0x31, 0x42, 0x1e, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x54, 0x65, 0x6c, 0x65, 0x6d,
	0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x56, 0x31, 0x50, 0x72, 0x6f,
	0x74, 0x6f, 0x48, 0x03, 0x50, 0x00, 0x5a, 0x1d, 0x2f, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
	0x6f, 0x6c, 0x5f, 0x76, 0x31, 0xd8, 0x01, 0x01, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x19, 0x4b, 0x45,
	0x59, 0x41, 0x50, 0x49, 0x53, 0x54, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x54, 0x52, 0x59, 0x43, 0x4f,
	0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x56, 0x31, 0xaa, 0x02, 0x1b, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72,
	0x6f, 0x6c, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1b, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x5c,
	0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
	0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x3a, 0x3a, 0x54,
	0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x3a,
	0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescOnce sync.Once
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescData = file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDesc
)

func file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescGZIP() []byte {
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescOnce.Do(func() {
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescData = protoimpl.X.CompressGZIP(file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescData)
	})
	return file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDescData
}

var file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
var file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_goTypes = []interface{}{
	(MetricPointPaging_OrderByType)(0),                      // 0: keyapis.telemetry_control.v1.MetricPointPaging.OrderByType
	(MetricPointPaging_DirectionType)(0),                    // 1: keyapis.telemetry_control.v1.MetricPointPaging.DirectionType
	(*GetMetricPointRequest)(nil),                           // 2: keyapis.telemetry_control.v1.GetMetricPointRequest
	(*GetMetricPointResponse)(nil),                          // 3: keyapis.telemetry_control.v1.GetMetricPointResponse
	(*GetMetricPointListRequest)(nil),                       // 4: keyapis.telemetry_control.v1.GetMetricPointListRequest
	(*MetricPointPaging)(nil),                               // 5: keyapis.telemetry_control.v1.MetricPointPaging
	(*MetricPointFilter)(nil),                               // 6: keyapis.telemetry_control.v1.MetricPointFilter
	(*GetMetricPointListResponse)(nil),                      // 7: keyapis.telemetry_control.v1.GetMetricPointListResponse
	(*GetMetricPointCountRequest)(nil),                      // 8: keyapis.telemetry_control.v1.GetMetricPointCountRequest
	(*GetMetricPointCountResponse)(nil),                     // 9: keyapis.telemetry_control.v1.GetMetricPointCountResponse
	(*PostMetricPointRequest)(nil),                          // 10: keyapis.telemetry_control.v1.PostMetricPointRequest
	(*PostMetricPointResponse)(nil),                         // 11: keyapis.telemetry_control.v1.PostMetricPointResponse
	(*DeleteMetricPointRequest)(nil),                        // 12: keyapis.telemetry_control.v1.DeleteMetricPointRequest
	(*DeleteMetricPointResponse)(nil),                       // 13: keyapis.telemetry_control.v1.DeleteMetricPointResponse
	(*ValidationError)(nil),                                 // 14: keyapis.telemetry_control.v1.ValidationError
	(*MetricPointPaging_ValidationError)(nil),               // 15: keyapis.telemetry_control.v1.MetricPointPaging.ValidationError
	(*MetricPointPaging_ValidationError_LimitInvalid)(nil),  // 16: keyapis.telemetry_control.v1.MetricPointPaging.ValidationError.LimitInvalid
	(*MetricPointPaging_ValidationError_OffsetInvalid)(nil), // 17: keyapis.telemetry_control.v1.MetricPointPaging.ValidationError.OffsetInvalid
	(*MetricPointFilter_ValidationError)(nil),               // 18: keyapis.telemetry_control.v1.MetricPointFilter.ValidationError
	(*GetMetricPointListResponse_Error)(nil),                // 19: keyapis.telemetry_control.v1.GetMetricPointListResponse.Error
	(*GetMetricPointCountResponse_Error)(nil),               // 20: keyapis.telemetry_control.v1.GetMetricPointCountResponse.Error
	(*PostMetricPointResponse_Error)(nil),                   // 21: keyapis.telemetry_control.v1.PostMetricPointResponse.Error
	(*Device_MetricPoint)(nil),                              // 22: keyapis.telemetry_control.v1.Device.MetricPoint
	(Device_MetricPoint_MetricType)(0),                      // 23: keyapis.telemetry_control.v1.Device.MetricPoint.MetricType
	(Device_MetricPoint_StatusType)(0),                      // 24: keyapis.telemetry_control.v1.Device.MetricPoint.StatusType
}
var file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_depIdxs = []int32{
	22, // 0: keyapis.telemetry_control.v1.GetMetricPointResponse.data:type_name -> keyapis.telemetry_control.v1.Device.MetricPoint
	6,  // 1: keyapis.telemetry_control.v1.GetMetricPointListRequest.filter:type_name -> keyapis.telemetry_control.v1.MetricPointFilter
	5,  // 2: keyapis.telemetry_control.v1.GetMetricPointListRequest.paging:type_name -> keyapis.telemetry_control.v1.MetricPointPaging
	0,  // 3: keyapis.telemetry_control.v1.MetricPointPaging.order_by_type:type_name -> keyapis.telemetry_control.v1.MetricPointPaging.OrderByType
	1,  // 4: keyapis.telemetry_control.v1.MetricPointPaging.direction_type:type_name -> keyapis.telemetry_control.v1.MetricPointPaging.DirectionType
	23, // 5: keyapis.telemetry_control.v1.MetricPointFilter.device_metric_point_metric_types:type_name -> keyapis.telemetry_control.v1.Device.MetricPoint.MetricType
	24, // 6: keyapis.telemetry_control.v1.MetricPointFilter.device_metric_point_status_types:type_name -> keyapis.telemetry_control.v1.Device.MetricPoint.StatusType
	22, // 7: keyapis.telemetry_control.v1.GetMetricPointListResponse.data:type_name -> keyapis.telemetry_control.v1.Device.MetricPoint
	19, // 8: keyapis.telemetry_control.v1.GetMetricPointListResponse.error:type_name -> keyapis.telemetry_control.v1.GetMetricPointListResponse.Error
	6,  // 9: keyapis.telemetry_control.v1.GetMetricPointCountRequest.filter:type_name -> keyapis.telemetry_control.v1.MetricPointFilter
	20, // 10: keyapis.telemetry_control.v1.GetMetricPointCountResponse.error:type_name -> keyapis.telemetry_control.v1.GetMetricPointCountResponse.Error
	22, // 11: keyapis.telemetry_control.v1.PostMetricPointRequest.data:type_name -> keyapis.telemetry_control.v1.Device.MetricPoint
	22, // 12: keyapis.telemetry_control.v1.PostMetricPointResponse.data:type_name -> keyapis.telemetry_control.v1.Device.MetricPoint
	21, // 13: keyapis.telemetry_control.v1.PostMetricPointResponse.error:type_name -> keyapis.telemetry_control.v1.PostMetricPointResponse.Error
	16, // 14: keyapis.telemetry_control.v1.MetricPointPaging.ValidationError.limit:type_name -> keyapis.telemetry_control.v1.MetricPointPaging.ValidationError.LimitInvalid
	17, // 15: keyapis.telemetry_control.v1.MetricPointPaging.ValidationError.offset:type_name -> keyapis.telemetry_control.v1.MetricPointPaging.ValidationError.OffsetInvalid
	18, // 16: keyapis.telemetry_control.v1.GetMetricPointListResponse.Error.metric_point_filter_validation:type_name -> keyapis.telemetry_control.v1.MetricPointFilter.ValidationError
	15, // 17: keyapis.telemetry_control.v1.GetMetricPointListResponse.Error.metric_point_paging_validation:type_name -> keyapis.telemetry_control.v1.MetricPointPaging.ValidationError
	18, // 18: keyapis.telemetry_control.v1.GetMetricPointCountResponse.Error.metric_point_filter_validation:type_name -> keyapis.telemetry_control.v1.MetricPointFilter.ValidationError
	14, // 19: keyapis.telemetry_control.v1.PostMetricPointResponse.Error.validation:type_name -> keyapis.telemetry_control.v1.ValidationError
	2,  // 20: keyapis.telemetry_control.v1.MetricPointService.GetMetricPoint:input_type -> keyapis.telemetry_control.v1.GetMetricPointRequest
	4,  // 21: keyapis.telemetry_control.v1.MetricPointService.GetMetricPointList:input_type -> keyapis.telemetry_control.v1.GetMetricPointListRequest
	8,  // 22: keyapis.telemetry_control.v1.MetricPointService.GetMetricPointCount:input_type -> keyapis.telemetry_control.v1.GetMetricPointCountRequest
	10, // 23: keyapis.telemetry_control.v1.MetricPointService.PostMetricPoint:input_type -> keyapis.telemetry_control.v1.PostMetricPointRequest
	12, // 24: keyapis.telemetry_control.v1.MetricPointService.DeleteMetricPoint:input_type -> keyapis.telemetry_control.v1.DeleteMetricPointRequest
	3,  // 25: keyapis.telemetry_control.v1.MetricPointService.GetMetricPoint:output_type -> keyapis.telemetry_control.v1.GetMetricPointResponse
	7,  // 26: keyapis.telemetry_control.v1.MetricPointService.GetMetricPointList:output_type -> keyapis.telemetry_control.v1.GetMetricPointListResponse
	9,  // 27: keyapis.telemetry_control.v1.MetricPointService.GetMetricPointCount:output_type -> keyapis.telemetry_control.v1.GetMetricPointCountResponse
	11, // 28: keyapis.telemetry_control.v1.MetricPointService.PostMetricPoint:output_type -> keyapis.telemetry_control.v1.PostMetricPointResponse
	13, // 29: keyapis.telemetry_control.v1.MetricPointService.DeleteMetricPoint:output_type -> keyapis.telemetry_control.v1.DeleteMetricPointResponse
	25, // [25:30] is the sub-list for method output_type
	20, // [20:25] is the sub-list for method input_type
	20, // [20:20] is the sub-list for extension type_name
	20, // [20:20] is the sub-list for extension extendee
	0,  // [0:20] is the sub-list for field type_name
}

func init() { file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_init() }
func file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_init() {
	if File_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto != nil {
		return
	}
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_device_v1_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMetricPointRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMetricPointResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMetricPointListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetricPointPaging); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetricPointFilter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMetricPointListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMetricPointCountRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMetricPointCountResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostMetricPointRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostMetricPointResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteMetricPointRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteMetricPointResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ValidationError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetricPointPaging_ValidationError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetricPointPaging_ValidationError_LimitInvalid); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetricPointPaging_ValidationError_OffsetInvalid); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetricPointFilter_ValidationError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMetricPointListResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMetricPointCountResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostMetricPointResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[1].OneofWrappers = []interface{}{
		(*GetMetricPointResponse_Data)(nil),
	}
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[2].OneofWrappers = []interface{}{
		(*GetMetricPointListRequest_Paging)(nil),
	}
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[5].OneofWrappers = []interface{}{
		(*GetMetricPointListResponse_Data)(nil),
		(*GetMetricPointListResponse_Error_)(nil),
	}
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[7].OneofWrappers = []interface{}{
		(*GetMetricPointCountResponse_Data)(nil),
		(*GetMetricPointCountResponse_Error_)(nil),
	}
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[9].OneofWrappers = []interface{}{
		(*PostMetricPointResponse_Data)(nil),
		(*PostMetricPointResponse_Error_)(nil),
	}
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[13].OneofWrappers = []interface{}{
		(*MetricPointPaging_ValidationError_Limit)(nil),
		(*MetricPointPaging_ValidationError_Offset)(nil),
	}
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[17].OneofWrappers = []interface{}{
		(*GetMetricPointListResponse_Error_MetricPointFilterValidation)(nil),
		(*GetMetricPointListResponse_Error_MetricPointPagingValidation)(nil),
	}
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[18].OneofWrappers = []interface{}{
		(*GetMetricPointCountResponse_Error_MetricPointFilterValidation)(nil),
	}
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes[19].OneofWrappers = []interface{}{
		(*PostMetricPointResponse_Error_Validation)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   20,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_goTypes,
		DependencyIndexes: file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_depIdxs,
		EnumInfos:         file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_enumTypes,
		MessageInfos:      file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_msgTypes,
	}.Build()
	File_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto = out.File
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_rawDesc = nil
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_goTypes = nil
	file_keyapis_telemetry_control_v1_keyapis_telemetry_control_metric_point_v1_proto_depIdxs = nil
}
