// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v6.30.2
// source: api/device.proto

package api

import (
	common "github.com/chirpstack/chirpstack/api/go/v4/common"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	structpb "google.golang.org/protobuf/types/known/structpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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 ListDevicesRequest_OrderBy int32

const (
	ListDevicesRequest_NAME                ListDevicesRequest_OrderBy = 0
	ListDevicesRequest_DEV_EUI             ListDevicesRequest_OrderBy = 1
	ListDevicesRequest_LAST_SEEN_AT        ListDevicesRequest_OrderBy = 2
	ListDevicesRequest_DEVICE_PROFILE_NAME ListDevicesRequest_OrderBy = 3
)

// Enum value maps for ListDevicesRequest_OrderBy.
var (
	ListDevicesRequest_OrderBy_name = map[int32]string{
		0: "NAME",
		1: "DEV_EUI",
		2: "LAST_SEEN_AT",
		3: "DEVICE_PROFILE_NAME",
	}
	ListDevicesRequest_OrderBy_value = map[string]int32{
		"NAME":                0,
		"DEV_EUI":             1,
		"LAST_SEEN_AT":        2,
		"DEVICE_PROFILE_NAME": 3,
	}
)

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

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

func (ListDevicesRequest_OrderBy) Descriptor() protoreflect.EnumDescriptor {
	return file_api_device_proto_enumTypes[0].Descriptor()
}

func (ListDevicesRequest_OrderBy) Type() protoreflect.EnumType {
	return &file_api_device_proto_enumTypes[0]
}

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

// Deprecated: Use ListDevicesRequest_OrderBy.Descriptor instead.
func (ListDevicesRequest_OrderBy) EnumDescriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{9, 0}
}

type Device struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevEUI (EUI64).
	DevEui string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Name.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Description.
	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	// Application ID (UUID).
	ApplicationId string `protobuf:"bytes,4,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"`
	// Device-profile ID (UUID).
	DeviceProfileId string `protobuf:"bytes,5,opt,name=device_profile_id,json=deviceProfileId,proto3" json:"device_profile_id,omitempty"`
	// Skip frame-counter checks (this is insecure, but could be helpful for
	// debugging).
	SkipFcntCheck bool `protobuf:"varint,6,opt,name=skip_fcnt_check,json=skipFcntCheck,proto3" json:"skip_fcnt_check,omitempty"`
	// Device is disabled.
	IsDisabled bool `protobuf:"varint,7,opt,name=is_disabled,json=isDisabled,proto3" json:"is_disabled,omitempty"`
	// Variables (user defined).
	// These variables can be used together with integrations to store tokens /
	// secrets that must be configured per device. These variables are not
	// exposed in the event payloads.
	Variables map[string]string `protobuf:"bytes,8,rep,name=variables,proto3" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Tags (user defined).
	// These tags can be used to add additional information to the device.
	// These tags are exposed in all the integration events.
	Tags map[string]string `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// JoinEUI (optional, EUI64).
	// This field will be automatically set / updated on OTAA. However, in some
	// cases it must be pre-configured. For example to allow OTAA using a Relay.
	// In this case the Relay needs to know the JoinEUI + DevEUI combinations
	// of the devices for which it needs to forward uplinks.
	JoinEui       string `protobuf:"bytes,10,opt,name=join_eui,json=joinEui,proto3" json:"join_eui,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Device) Reset() {
	*x = Device{}
	mi := &file_api_device_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Device) ProtoMessage() {}

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

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

func (x *Device) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

func (x *Device) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Device) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Device) GetApplicationId() string {
	if x != nil {
		return x.ApplicationId
	}
	return ""
}

func (x *Device) GetDeviceProfileId() string {
	if x != nil {
		return x.DeviceProfileId
	}
	return ""
}

func (x *Device) GetSkipFcntCheck() bool {
	if x != nil {
		return x.SkipFcntCheck
	}
	return false
}

func (x *Device) GetIsDisabled() bool {
	if x != nil {
		return x.IsDisabled
	}
	return false
}

func (x *Device) GetVariables() map[string]string {
	if x != nil {
		return x.Variables
	}
	return nil
}

func (x *Device) GetTags() map[string]string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *Device) GetJoinEui() string {
	if x != nil {
		return x.JoinEui
	}
	return ""
}

type DeviceStatus struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The device margin status
	// -32..32: The demodulation SNR ration in dB
	Margin int32 `protobuf:"varint,1,opt,name=margin,proto3" json:"margin,omitempty"`
	// Device is connected to an external power source.
	ExternalPowerSource bool `protobuf:"varint,2,opt,name=external_power_source,json=externalPowerSource,proto3" json:"external_power_source,omitempty"`
	// Device battery level as a percentage.
	// -1 when the battery level is not available.
	BatteryLevel  float32 `protobuf:"fixed32,3,opt,name=battery_level,json=batteryLevel,proto3" json:"battery_level,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeviceStatus) Reset() {
	*x = DeviceStatus{}
	mi := &file_api_device_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeviceStatus) ProtoMessage() {}

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

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

func (x *DeviceStatus) GetMargin() int32 {
	if x != nil {
		return x.Margin
	}
	return 0
}

func (x *DeviceStatus) GetExternalPowerSource() bool {
	if x != nil {
		return x.ExternalPowerSource
	}
	return false
}

func (x *DeviceStatus) GetBatteryLevel() float32 {
	if x != nil {
		return x.BatteryLevel
	}
	return 0
}

type DeviceListItem struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevEUI (EUI64).
	DevEui string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Created at timestamp.
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Last update timestamp.
	UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// Last seen at timestamp.
	LastSeenAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_seen_at,json=lastSeenAt,proto3" json:"last_seen_at,omitempty"`
	// Name.
	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
	// Description.
	Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
	// Device-profile ID (UUID).
	DeviceProfileId string `protobuf:"bytes,7,opt,name=device_profile_id,json=deviceProfileId,proto3" json:"device_profile_id,omitempty"`
	// Device-profile name.
	DeviceProfileName string `protobuf:"bytes,8,opt,name=device_profile_name,json=deviceProfileName,proto3" json:"device_profile_name,omitempty"`
	// Device status.
	DeviceStatus *DeviceStatus `protobuf:"bytes,9,opt,name=device_status,json=deviceStatus,proto3" json:"device_status,omitempty"`
	// Device tags.
	Tags          map[string]string `protobuf:"bytes,10,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeviceListItem) Reset() {
	*x = DeviceListItem{}
	mi := &file_api_device_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeviceListItem) ProtoMessage() {}

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

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

func (x *DeviceListItem) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

func (x *DeviceListItem) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *DeviceListItem) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

func (x *DeviceListItem) GetLastSeenAt() *timestamppb.Timestamp {
	if x != nil {
		return x.LastSeenAt
	}
	return nil
}

func (x *DeviceListItem) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *DeviceListItem) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *DeviceListItem) GetDeviceProfileId() string {
	if x != nil {
		return x.DeviceProfileId
	}
	return ""
}

func (x *DeviceListItem) GetDeviceProfileName() string {
	if x != nil {
		return x.DeviceProfileName
	}
	return ""
}

func (x *DeviceListItem) GetDeviceStatus() *DeviceStatus {
	if x != nil {
		return x.DeviceStatus
	}
	return nil
}

func (x *DeviceListItem) GetTags() map[string]string {
	if x != nil {
		return x.Tags
	}
	return nil
}

type DeviceKeys struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevEUI (EUI64).
	DevEui string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Network root key (128 bit).
	// Note: For LoRaWAN 1.0.x, use this field for the LoRaWAN 1.0.x 'AppKey`!
	NwkKey string `protobuf:"bytes,2,opt,name=nwk_key,json=nwkKey,proto3" json:"nwk_key,omitempty"`
	// Application root key (128 bit).
	// Note: This field only needs to be set for LoRaWAN 1.1.x devices!
	AppKey string `protobuf:"bytes,3,opt,name=app_key,json=appKey,proto3" json:"app_key,omitempty"`
	// Gen App Key (128 bit).
	// Note: This field only needs to be set for LoRaWAN 1.0.x devices that
	// implement TS005 (remote multicast setup).
	GenAppKey     string `protobuf:"bytes,4,opt,name=gen_app_key,json=genAppKey,proto3" json:"gen_app_key,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeviceKeys) Reset() {
	*x = DeviceKeys{}
	mi := &file_api_device_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeviceKeys) ProtoMessage() {}

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

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

func (x *DeviceKeys) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

func (x *DeviceKeys) GetNwkKey() string {
	if x != nil {
		return x.NwkKey
	}
	return ""
}

func (x *DeviceKeys) GetAppKey() string {
	if x != nil {
		return x.AppKey
	}
	return ""
}

func (x *DeviceKeys) GetGenAppKey() string {
	if x != nil {
		return x.GenAppKey
	}
	return ""
}

type CreateDeviceRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device object.
	Device        *Device `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateDeviceRequest) Reset() {
	*x = CreateDeviceRequest{}
	mi := &file_api_device_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CreateDeviceRequest) ProtoMessage() {}

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

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

func (x *CreateDeviceRequest) GetDevice() *Device {
	if x != nil {
		return x.Device
	}
	return nil
}

type GetDeviceRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevEUI (EUI64).
	DevEui        string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetDeviceRequest) Reset() {
	*x = GetDeviceRequest{}
	mi := &file_api_device_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeviceRequest) ProtoMessage() {}

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

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

func (x *GetDeviceRequest) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

type GetDeviceResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device object.
	Device *Device `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
	// Created at timestamp.
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Last update timestamp.
	UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// Last seen at timestamp.
	LastSeenAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_seen_at,json=lastSeenAt,proto3" json:"last_seen_at,omitempty"`
	// Device status.
	DeviceStatus *DeviceStatus `protobuf:"bytes,5,opt,name=device_status,json=deviceStatus,proto3" json:"device_status,omitempty"`
	// Enabled device class.
	ClassEnabled  common.DeviceClass `protobuf:"varint,6,opt,name=class_enabled,json=classEnabled,proto3,enum=common.DeviceClass" json:"class_enabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetDeviceResponse) Reset() {
	*x = GetDeviceResponse{}
	mi := &file_api_device_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeviceResponse) ProtoMessage() {}

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

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

func (x *GetDeviceResponse) GetDevice() *Device {
	if x != nil {
		return x.Device
	}
	return nil
}

func (x *GetDeviceResponse) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *GetDeviceResponse) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

func (x *GetDeviceResponse) GetLastSeenAt() *timestamppb.Timestamp {
	if x != nil {
		return x.LastSeenAt
	}
	return nil
}

func (x *GetDeviceResponse) GetDeviceStatus() *DeviceStatus {
	if x != nil {
		return x.DeviceStatus
	}
	return nil
}

func (x *GetDeviceResponse) GetClassEnabled() common.DeviceClass {
	if x != nil {
		return x.ClassEnabled
	}
	return common.DeviceClass(0)
}

type UpdateDeviceRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device object.
	Device        *Device `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateDeviceRequest) Reset() {
	*x = UpdateDeviceRequest{}
	mi := &file_api_device_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateDeviceRequest) ProtoMessage() {}

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

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

func (x *UpdateDeviceRequest) GetDevice() *Device {
	if x != nil {
		return x.Device
	}
	return nil
}

type DeleteDeviceRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevEUI (EUI64).
	DevEui        string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteDeviceRequest) Reset() {
	*x = DeleteDeviceRequest{}
	mi := &file_api_device_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeleteDeviceRequest) ProtoMessage() {}

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

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

func (x *DeleteDeviceRequest) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

type ListDevicesRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Max number of devices to return in the result-set.
	// If not set, it will be treated as 0, and the response will only return the total_count.
	Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
	// Offset in the result-set (for pagination).
	Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
	// If set, the given string will be used to search on name (optional).
	Search string `protobuf:"bytes,3,opt,name=search,proto3" json:"search,omitempty"`
	// Application ID (UUID) to filter devices on.
	ApplicationId string `protobuf:"bytes,4,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"`
	// Multicst-group ID (UUID) to filter devices on.
	MulticastGroupId string `protobuf:"bytes,5,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
	// If set, the given value will be used to sort by (optional).
	OrderBy ListDevicesRequest_OrderBy `protobuf:"varint,6,opt,name=order_by,json=orderBy,proto3,enum=api.ListDevicesRequest_OrderBy" json:"order_by,omitempty"`
	// If set, the sorting direction will be decending (default = ascending) (optional).
	OrderByDesc bool `protobuf:"varint,7,opt,name=order_by_desc,json=orderByDesc,proto3" json:"order_by_desc,omitempty"`
	// Tags to filter devices on.
	Tags map[string]string `protobuf:"bytes,8,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Device-profile ID (UUID) to filter devices on.
	DeviceProfileId string `protobuf:"bytes,9,opt,name=device_profile_id,json=deviceProfileId,proto3" json:"device_profile_id,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ListDevicesRequest) Reset() {
	*x = ListDevicesRequest{}
	mi := &file_api_device_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListDevicesRequest) ProtoMessage() {}

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

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

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

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

func (x *ListDevicesRequest) GetSearch() string {
	if x != nil {
		return x.Search
	}
	return ""
}

func (x *ListDevicesRequest) GetApplicationId() string {
	if x != nil {
		return x.ApplicationId
	}
	return ""
}

func (x *ListDevicesRequest) GetMulticastGroupId() string {
	if x != nil {
		return x.MulticastGroupId
	}
	return ""
}

func (x *ListDevicesRequest) GetOrderBy() ListDevicesRequest_OrderBy {
	if x != nil {
		return x.OrderBy
	}
	return ListDevicesRequest_NAME
}

func (x *ListDevicesRequest) GetOrderByDesc() bool {
	if x != nil {
		return x.OrderByDesc
	}
	return false
}

func (x *ListDevicesRequest) GetTags() map[string]string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *ListDevicesRequest) GetDeviceProfileId() string {
	if x != nil {
		return x.DeviceProfileId
	}
	return ""
}

type ListDevicesResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total number of devices.
	TotalCount uint32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	// Result-set.
	Result        []*DeviceListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListDevicesResponse) Reset() {
	*x = ListDevicesResponse{}
	mi := &file_api_device_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListDevicesResponse) ProtoMessage() {}

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

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

func (x *ListDevicesResponse) GetTotalCount() uint32 {
	if x != nil {
		return x.TotalCount
	}
	return 0
}

func (x *ListDevicesResponse) GetResult() []*DeviceListItem {
	if x != nil {
		return x.Result
	}
	return nil
}

type CreateDeviceKeysRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device-keys object.
	DeviceKeys    *DeviceKeys `protobuf:"bytes,1,opt,name=device_keys,json=deviceKeys,proto3" json:"device_keys,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateDeviceKeysRequest) Reset() {
	*x = CreateDeviceKeysRequest{}
	mi := &file_api_device_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CreateDeviceKeysRequest) ProtoMessage() {}

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

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

func (x *CreateDeviceKeysRequest) GetDeviceKeys() *DeviceKeys {
	if x != nil {
		return x.DeviceKeys
	}
	return nil
}

type GetDeviceKeysRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevEUI (EUI64).
	DevEui        string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetDeviceKeysRequest) Reset() {
	*x = GetDeviceKeysRequest{}
	mi := &file_api_device_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeviceKeysRequest) ProtoMessage() {}

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

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

func (x *GetDeviceKeysRequest) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

type GetDeviceKeysResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device-keys object.
	DeviceKeys *DeviceKeys `protobuf:"bytes,1,opt,name=device_keys,json=deviceKeys,proto3" json:"device_keys,omitempty"`
	// Created at timestamp.
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Last update timestamp.
	UpdatedAt     *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetDeviceKeysResponse) Reset() {
	*x = GetDeviceKeysResponse{}
	mi := &file_api_device_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeviceKeysResponse) ProtoMessage() {}

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

// Deprecated: Use GetDeviceKeysResponse.ProtoReflect.Descriptor instead.
func (*GetDeviceKeysResponse) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{13}
}

func (x *GetDeviceKeysResponse) GetDeviceKeys() *DeviceKeys {
	if x != nil {
		return x.DeviceKeys
	}
	return nil
}

func (x *GetDeviceKeysResponse) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *GetDeviceKeysResponse) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

type UpdateDeviceKeysRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device-keys object.
	DeviceKeys    *DeviceKeys `protobuf:"bytes,1,opt,name=device_keys,json=deviceKeys,proto3" json:"device_keys,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateDeviceKeysRequest) Reset() {
	*x = UpdateDeviceKeysRequest{}
	mi := &file_api_device_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateDeviceKeysRequest) ProtoMessage() {}

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

// Deprecated: Use UpdateDeviceKeysRequest.ProtoReflect.Descriptor instead.
func (*UpdateDeviceKeysRequest) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{14}
}

func (x *UpdateDeviceKeysRequest) GetDeviceKeys() *DeviceKeys {
	if x != nil {
		return x.DeviceKeys
	}
	return nil
}

type DeleteDeviceKeysRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevEUI (EUI64).
	DevEui        string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteDeviceKeysRequest) Reset() {
	*x = DeleteDeviceKeysRequest{}
	mi := &file_api_device_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeleteDeviceKeysRequest) ProtoMessage() {}

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

// Deprecated: Use DeleteDeviceKeysRequest.ProtoReflect.Descriptor instead.
func (*DeleteDeviceKeysRequest) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{15}
}

func (x *DeleteDeviceKeysRequest) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

type DeviceActivation struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device EUI (EUI64).
	DevEui string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Device address (HEX encoded).
	DevAddr string `protobuf:"bytes,2,opt,name=dev_addr,json=devAddr,proto3" json:"dev_addr,omitempty"`
	// Application session key (HEX encoded).
	AppSKey string `protobuf:"bytes,3,opt,name=app_s_key,json=appSKey,proto3" json:"app_s_key,omitempty"`
	// Network session encryption key (HEX encoded).
	// Note: For LoRaWAN 1.0.x devices, set this to the NwkSKey.
	NwkSEncKey string `protobuf:"bytes,4,opt,name=nwk_s_enc_key,json=nwkSEncKey,proto3" json:"nwk_s_enc_key,omitempty"`
	// Serving network session integrity key (HEX encoded).
	// Note: For LoRaWAN 1.0.x devices, set this to the NwkSKey.
	SNwkSIntKey string `protobuf:"bytes,8,opt,name=s_nwk_s_int_key,json=sNwkSIntKey,proto3" json:"s_nwk_s_int_key,omitempty"`
	// Forwarding network session integrity key (HEX encoded).
	// Note: For LoRaWAN 1.0.x devices, set this to the NwkSKey.
	FNwkSIntKey string `protobuf:"bytes,9,opt,name=f_nwk_s_int_key,json=fNwkSIntKey,proto3" json:"f_nwk_s_int_key,omitempty"`
	// Uplink frame-counter.
	FCntUp uint32 `protobuf:"varint,5,opt,name=f_cnt_up,json=fCntUp,proto3" json:"f_cnt_up,omitempty"`
	// Downlink network frame-counter.
	NFCntDown uint32 `protobuf:"varint,6,opt,name=n_f_cnt_down,json=nFCntDown,proto3" json:"n_f_cnt_down,omitempty"`
	// Downlink application frame-counter.
	AFCntDown     uint32 `protobuf:"varint,10,opt,name=a_f_cnt_down,json=aFCntDown,proto3" json:"a_f_cnt_down,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeviceActivation) Reset() {
	*x = DeviceActivation{}
	mi := &file_api_device_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeviceActivation) ProtoMessage() {}

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

// Deprecated: Use DeviceActivation.ProtoReflect.Descriptor instead.
func (*DeviceActivation) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{16}
}

func (x *DeviceActivation) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

func (x *DeviceActivation) GetDevAddr() string {
	if x != nil {
		return x.DevAddr
	}
	return ""
}

func (x *DeviceActivation) GetAppSKey() string {
	if x != nil {
		return x.AppSKey
	}
	return ""
}

func (x *DeviceActivation) GetNwkSEncKey() string {
	if x != nil {
		return x.NwkSEncKey
	}
	return ""
}

func (x *DeviceActivation) GetSNwkSIntKey() string {
	if x != nil {
		return x.SNwkSIntKey
	}
	return ""
}

func (x *DeviceActivation) GetFNwkSIntKey() string {
	if x != nil {
		return x.FNwkSIntKey
	}
	return ""
}

func (x *DeviceActivation) GetFCntUp() uint32 {
	if x != nil {
		return x.FCntUp
	}
	return 0
}

func (x *DeviceActivation) GetNFCntDown() uint32 {
	if x != nil {
		return x.NFCntDown
	}
	return 0
}

func (x *DeviceActivation) GetAFCntDown() uint32 {
	if x != nil {
		return x.AFCntDown
	}
	return 0
}

type ActivateDeviceRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device activation object.
	DeviceActivation *DeviceActivation `protobuf:"bytes,1,opt,name=device_activation,json=deviceActivation,proto3" json:"device_activation,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ActivateDeviceRequest) Reset() {
	*x = ActivateDeviceRequest{}
	mi := &file_api_device_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ActivateDeviceRequest) ProtoMessage() {}

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

// Deprecated: Use ActivateDeviceRequest.ProtoReflect.Descriptor instead.
func (*ActivateDeviceRequest) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{17}
}

func (x *ActivateDeviceRequest) GetDeviceActivation() *DeviceActivation {
	if x != nil {
		return x.DeviceActivation
	}
	return nil
}

type DeactivateDeviceRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevEUI (EUI64).
	DevEui        string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeactivateDeviceRequest) Reset() {
	*x = DeactivateDeviceRequest{}
	mi := &file_api_device_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeactivateDeviceRequest) ProtoMessage() {}

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

// Deprecated: Use DeactivateDeviceRequest.ProtoReflect.Descriptor instead.
func (*DeactivateDeviceRequest) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{18}
}

func (x *DeactivateDeviceRequest) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

type GetDeviceActivationRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevEUI (EUI64).
	DevEui        string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetDeviceActivationRequest) Reset() {
	*x = GetDeviceActivationRequest{}
	mi := &file_api_device_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeviceActivationRequest) ProtoMessage() {}

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

// Deprecated: Use GetDeviceActivationRequest.ProtoReflect.Descriptor instead.
func (*GetDeviceActivationRequest) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{19}
}

func (x *GetDeviceActivationRequest) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

type GetDeviceActivationResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device activation object.
	DeviceActivation *DeviceActivation `protobuf:"bytes,1,opt,name=device_activation,json=deviceActivation,proto3" json:"device_activation,omitempty"`
	// Join-Server context.
	// A non-empty value indicatest that ChirpStack does not have access to
	// the AppSKey and that the encryption / decryption of the payloads is
	// the responsibility of the end-application.
	JoinServerContext *common.JoinServerContext `protobuf:"bytes,2,opt,name=join_server_context,json=joinServerContext,proto3" json:"join_server_context,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *GetDeviceActivationResponse) Reset() {
	*x = GetDeviceActivationResponse{}
	mi := &file_api_device_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeviceActivationResponse) ProtoMessage() {}

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

// Deprecated: Use GetDeviceActivationResponse.ProtoReflect.Descriptor instead.
func (*GetDeviceActivationResponse) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{20}
}

func (x *GetDeviceActivationResponse) GetDeviceActivation() *DeviceActivation {
	if x != nil {
		return x.DeviceActivation
	}
	return nil
}

func (x *GetDeviceActivationResponse) GetJoinServerContext() *common.JoinServerContext {
	if x != nil {
		return x.JoinServerContext
	}
	return nil
}

type GetRandomDevAddrRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevEUI (EUI64).
	DevEui        string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetRandomDevAddrRequest) Reset() {
	*x = GetRandomDevAddrRequest{}
	mi := &file_api_device_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetRandomDevAddrRequest) ProtoMessage() {}

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

// Deprecated: Use GetRandomDevAddrRequest.ProtoReflect.Descriptor instead.
func (*GetRandomDevAddrRequest) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{21}
}

func (x *GetRandomDevAddrRequest) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

type GetRandomDevAddrResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevAddr.
	DevAddr       string `protobuf:"bytes,1,opt,name=dev_addr,json=devAddr,proto3" json:"dev_addr,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetRandomDevAddrResponse) Reset() {
	*x = GetRandomDevAddrResponse{}
	mi := &file_api_device_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetRandomDevAddrResponse) ProtoMessage() {}

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

// Deprecated: Use GetRandomDevAddrResponse.ProtoReflect.Descriptor instead.
func (*GetRandomDevAddrResponse) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{22}
}

func (x *GetRandomDevAddrResponse) GetDevAddr() string {
	if x != nil {
		return x.DevAddr
	}
	return ""
}

type GetDeviceMetricsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevEUI (EUI64).
	DevEui string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Interval start timestamp.
	Start *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"`
	// Interval end timestamp.
	End *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end,proto3" json:"end,omitempty"`
	// Aggregation.
	Aggregation   common.Aggregation `protobuf:"varint,4,opt,name=aggregation,proto3,enum=common.Aggregation" json:"aggregation,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetDeviceMetricsRequest) Reset() {
	*x = GetDeviceMetricsRequest{}
	mi := &file_api_device_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeviceMetricsRequest) ProtoMessage() {}

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

// Deprecated: Use GetDeviceMetricsRequest.ProtoReflect.Descriptor instead.
func (*GetDeviceMetricsRequest) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{23}
}

func (x *GetDeviceMetricsRequest) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

func (x *GetDeviceMetricsRequest) GetStart() *timestamppb.Timestamp {
	if x != nil {
		return x.Start
	}
	return nil
}

func (x *GetDeviceMetricsRequest) GetEnd() *timestamppb.Timestamp {
	if x != nil {
		return x.End
	}
	return nil
}

func (x *GetDeviceMetricsRequest) GetAggregation() common.Aggregation {
	if x != nil {
		return x.Aggregation
	}
	return common.Aggregation(0)
}

type GetDeviceMetricsResponse struct {
	state         protoimpl.MessageState    `protogen:"open.v1"`
	Metrics       map[string]*common.Metric `protobuf:"bytes,1,rep,name=metrics,proto3" json:"metrics,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	States        map[string]*DeviceState   `protobuf:"bytes,2,rep,name=states,proto3" json:"states,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetDeviceMetricsResponse) Reset() {
	*x = GetDeviceMetricsResponse{}
	mi := &file_api_device_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeviceMetricsResponse) ProtoMessage() {}

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

// Deprecated: Use GetDeviceMetricsResponse.ProtoReflect.Descriptor instead.
func (*GetDeviceMetricsResponse) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{24}
}

func (x *GetDeviceMetricsResponse) GetMetrics() map[string]*common.Metric {
	if x != nil {
		return x.Metrics
	}
	return nil
}

func (x *GetDeviceMetricsResponse) GetStates() map[string]*DeviceState {
	if x != nil {
		return x.States
	}
	return nil
}

type DeviceState struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Value.
	Value         string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeviceState) Reset() {
	*x = DeviceState{}
	mi := &file_api_device_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeviceState) ProtoMessage() {}

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

// Deprecated: Use DeviceState.ProtoReflect.Descriptor instead.
func (*DeviceState) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{25}
}

func (x *DeviceState) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *DeviceState) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

type GetDeviceLinkMetricsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// DevEUI (EUI64).
	DevEui string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Interval start timestamp.
	Start *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"`
	// Interval end timestamp.
	End *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end,proto3" json:"end,omitempty"`
	// Aggregation.
	Aggregation   common.Aggregation `protobuf:"varint,4,opt,name=aggregation,proto3,enum=common.Aggregation" json:"aggregation,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetDeviceLinkMetricsRequest) Reset() {
	*x = GetDeviceLinkMetricsRequest{}
	mi := &file_api_device_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeviceLinkMetricsRequest) ProtoMessage() {}

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

// Deprecated: Use GetDeviceLinkMetricsRequest.ProtoReflect.Descriptor instead.
func (*GetDeviceLinkMetricsRequest) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{26}
}

func (x *GetDeviceLinkMetricsRequest) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

func (x *GetDeviceLinkMetricsRequest) GetStart() *timestamppb.Timestamp {
	if x != nil {
		return x.Start
	}
	return nil
}

func (x *GetDeviceLinkMetricsRequest) GetEnd() *timestamppb.Timestamp {
	if x != nil {
		return x.End
	}
	return nil
}

func (x *GetDeviceLinkMetricsRequest) GetAggregation() common.Aggregation {
	if x != nil {
		return x.Aggregation
	}
	return common.Aggregation(0)
}

type GetDeviceLinkMetricsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Packets received from the device.
	RxPackets *common.Metric `protobuf:"bytes,1,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"`
	// RSSI (as reported by the gateway(s)).
	GwRssi *common.Metric `protobuf:"bytes,2,opt,name=gw_rssi,json=gwRssi,proto3" json:"gw_rssi,omitempty"`
	// SNR (as reported by the gateway(s)).
	GwSnr *common.Metric `protobuf:"bytes,3,opt,name=gw_snr,json=gwSnr,proto3" json:"gw_snr,omitempty"`
	// Packets received by frequency.
	RxPacketsPerFreq *common.Metric `protobuf:"bytes,4,opt,name=rx_packets_per_freq,json=rxPacketsPerFreq,proto3" json:"rx_packets_per_freq,omitempty"`
	// Packets received by DR.
	RxPacketsPerDr *common.Metric `protobuf:"bytes,5,opt,name=rx_packets_per_dr,json=rxPacketsPerDr,proto3" json:"rx_packets_per_dr,omitempty"`
	// Errors.
	Errors        *common.Metric `protobuf:"bytes,6,opt,name=errors,proto3" json:"errors,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetDeviceLinkMetricsResponse) Reset() {
	*x = GetDeviceLinkMetricsResponse{}
	mi := &file_api_device_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeviceLinkMetricsResponse) ProtoMessage() {}

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

// Deprecated: Use GetDeviceLinkMetricsResponse.ProtoReflect.Descriptor instead.
func (*GetDeviceLinkMetricsResponse) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{27}
}

func (x *GetDeviceLinkMetricsResponse) GetRxPackets() *common.Metric {
	if x != nil {
		return x.RxPackets
	}
	return nil
}

func (x *GetDeviceLinkMetricsResponse) GetGwRssi() *common.Metric {
	if x != nil {
		return x.GwRssi
	}
	return nil
}

func (x *GetDeviceLinkMetricsResponse) GetGwSnr() *common.Metric {
	if x != nil {
		return x.GwSnr
	}
	return nil
}

func (x *GetDeviceLinkMetricsResponse) GetRxPacketsPerFreq() *common.Metric {
	if x != nil {
		return x.RxPacketsPerFreq
	}
	return nil
}

func (x *GetDeviceLinkMetricsResponse) GetRxPacketsPerDr() *common.Metric {
	if x != nil {
		return x.RxPacketsPerDr
	}
	return nil
}

func (x *GetDeviceLinkMetricsResponse) GetErrors() *common.Metric {
	if x != nil {
		return x.Errors
	}
	return nil
}

type DeviceQueueItem struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID (UUID).
	// This is automatically generated on enqueue.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Device EUI (EUI64).
	DevEui string `protobuf:"bytes,2,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Confirmed.
	Confirmed bool `protobuf:"varint,3,opt,name=confirmed,proto3" json:"confirmed,omitempty"`
	// FPort (must be > 0).
	// On enqueue and if using a JavaScript codec, this value might be
	// automatically set by the codec function.
	FPort uint32 `protobuf:"varint,4,opt,name=f_port,json=fPort,proto3" json:"f_port,omitempty"`
	// Data.
	// Or use the json_object field when a codec has been configured.
	Data []byte `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"`
	// Only use this when a codec has been configured that can encode this
	// object to bytes.
	Object *structpb.Struct `protobuf:"bytes,6,opt,name=object,proto3" json:"object,omitempty"`
	// Is pending.
	// This is set by ChirpStack to true when the downlink is pending (e.g. it
	// has been sent, but a confirmation is still pending).
	IsPending bool `protobuf:"varint,7,opt,name=is_pending,json=isPending,proto3" json:"is_pending,omitempty"`
	// Downlink frame-counter.
	// Do not set this for plain-text data payloads. It will be automatically set
	// by ChirpStack when the payload has been sent as downlink.
	FCntDown uint32 `protobuf:"varint,8,opt,name=f_cnt_down,json=fCntDown,proto3" json:"f_cnt_down,omitempty"`
	// Is encrypted.
	// This must be set to true if the end-application has already encrypted
	// the data payload. In this case, the f_cnt_down field must be set to
	// the corresponding frame-counter which has been used during the encryption.
	IsEncrypted bool `protobuf:"varint,9,opt,name=is_encrypted,json=isEncrypted,proto3" json:"is_encrypted,omitempty"`
	// Expires at (optional).
	// Expired queue-items will be automatically removed from the queue.
	ExpiresAt     *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeviceQueueItem) Reset() {
	*x = DeviceQueueItem{}
	mi := &file_api_device_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeviceQueueItem) ProtoMessage() {}

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

// Deprecated: Use DeviceQueueItem.ProtoReflect.Descriptor instead.
func (*DeviceQueueItem) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{28}
}

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

func (x *DeviceQueueItem) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

func (x *DeviceQueueItem) GetConfirmed() bool {
	if x != nil {
		return x.Confirmed
	}
	return false
}

func (x *DeviceQueueItem) GetFPort() uint32 {
	if x != nil {
		return x.FPort
	}
	return 0
}

func (x *DeviceQueueItem) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *DeviceQueueItem) GetObject() *structpb.Struct {
	if x != nil {
		return x.Object
	}
	return nil
}

func (x *DeviceQueueItem) GetIsPending() bool {
	if x != nil {
		return x.IsPending
	}
	return false
}

func (x *DeviceQueueItem) GetFCntDown() uint32 {
	if x != nil {
		return x.FCntDown
	}
	return 0
}

func (x *DeviceQueueItem) GetIsEncrypted() bool {
	if x != nil {
		return x.IsEncrypted
	}
	return false
}

func (x *DeviceQueueItem) GetExpiresAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ExpiresAt
	}
	return nil
}

type EnqueueDeviceQueueItemRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Item to enqueue.
	QueueItem *DeviceQueueItem `protobuf:"bytes,1,opt,name=queue_item,json=queueItem,proto3" json:"queue_item,omitempty"`
	// Flush queue before enqueue.
	FlushQueue    bool `protobuf:"varint,2,opt,name=flush_queue,json=flushQueue,proto3" json:"flush_queue,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EnqueueDeviceQueueItemRequest) Reset() {
	*x = EnqueueDeviceQueueItemRequest{}
	mi := &file_api_device_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EnqueueDeviceQueueItemRequest) ProtoMessage() {}

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

// Deprecated: Use EnqueueDeviceQueueItemRequest.ProtoReflect.Descriptor instead.
func (*EnqueueDeviceQueueItemRequest) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{29}
}

func (x *EnqueueDeviceQueueItemRequest) GetQueueItem() *DeviceQueueItem {
	if x != nil {
		return x.QueueItem
	}
	return nil
}

func (x *EnqueueDeviceQueueItemRequest) GetFlushQueue() bool {
	if x != nil {
		return x.FlushQueue
	}
	return false
}

type EnqueueDeviceQueueItemResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID (UUID).
	Id            string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EnqueueDeviceQueueItemResponse) Reset() {
	*x = EnqueueDeviceQueueItemResponse{}
	mi := &file_api_device_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EnqueueDeviceQueueItemResponse) ProtoMessage() {}

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

// Deprecated: Use EnqueueDeviceQueueItemResponse.ProtoReflect.Descriptor instead.
func (*EnqueueDeviceQueueItemResponse) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{30}
}

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

type FlushDeviceQueueRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device EUI (EUI64).
	DevEui        string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FlushDeviceQueueRequest) Reset() {
	*x = FlushDeviceQueueRequest{}
	mi := &file_api_device_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*FlushDeviceQueueRequest) ProtoMessage() {}

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

// Deprecated: Use FlushDeviceQueueRequest.ProtoReflect.Descriptor instead.
func (*FlushDeviceQueueRequest) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{31}
}

func (x *FlushDeviceQueueRequest) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

type GetDeviceQueueItemsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device EUI (EUI64).
	DevEui string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Return only the count, not the result-set.
	CountOnly     bool `protobuf:"varint,2,opt,name=count_only,json=countOnly,proto3" json:"count_only,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetDeviceQueueItemsRequest) Reset() {
	*x = GetDeviceQueueItemsRequest{}
	mi := &file_api_device_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeviceQueueItemsRequest) ProtoMessage() {}

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

// Deprecated: Use GetDeviceQueueItemsRequest.ProtoReflect.Descriptor instead.
func (*GetDeviceQueueItemsRequest) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{32}
}

func (x *GetDeviceQueueItemsRequest) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

func (x *GetDeviceQueueItemsRequest) GetCountOnly() bool {
	if x != nil {
		return x.CountOnly
	}
	return false
}

type GetDeviceQueueItemsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total number of queue items.
	TotalCount uint32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	// Result-set.
	Result        []*DeviceQueueItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetDeviceQueueItemsResponse) Reset() {
	*x = GetDeviceQueueItemsResponse{}
	mi := &file_api_device_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeviceQueueItemsResponse) ProtoMessage() {}

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

// Deprecated: Use GetDeviceQueueItemsResponse.ProtoReflect.Descriptor instead.
func (*GetDeviceQueueItemsResponse) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{33}
}

func (x *GetDeviceQueueItemsResponse) GetTotalCount() uint32 {
	if x != nil {
		return x.TotalCount
	}
	return 0
}

func (x *GetDeviceQueueItemsResponse) GetResult() []*DeviceQueueItem {
	if x != nil {
		return x.Result
	}
	return nil
}

type FlushDevNoncesRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device EUI (EUI64).
	DevEui        string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FlushDevNoncesRequest) Reset() {
	*x = FlushDevNoncesRequest{}
	mi := &file_api_device_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*FlushDevNoncesRequest) ProtoMessage() {}

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

// Deprecated: Use FlushDevNoncesRequest.ProtoReflect.Descriptor instead.
func (*FlushDevNoncesRequest) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{34}
}

func (x *FlushDevNoncesRequest) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

type GetDeviceNextFCntDownRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Device EUI (EUI64).
	DevEui        string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetDeviceNextFCntDownRequest) Reset() {
	*x = GetDeviceNextFCntDownRequest{}
	mi := &file_api_device_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeviceNextFCntDownRequest) ProtoMessage() {}

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

// Deprecated: Use GetDeviceNextFCntDownRequest.ProtoReflect.Descriptor instead.
func (*GetDeviceNextFCntDownRequest) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{35}
}

func (x *GetDeviceNextFCntDownRequest) GetDevEui() string {
	if x != nil {
		return x.DevEui
	}
	return ""
}

type GetDeviceNextFCntDownResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// FCntDown.
	FCntDown      uint32 `protobuf:"varint,1,opt,name=f_cnt_down,json=fCntDown,proto3" json:"f_cnt_down,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetDeviceNextFCntDownResponse) Reset() {
	*x = GetDeviceNextFCntDownResponse{}
	mi := &file_api_device_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeviceNextFCntDownResponse) ProtoMessage() {}

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

// Deprecated: Use GetDeviceNextFCntDownResponse.ProtoReflect.Descriptor instead.
func (*GetDeviceNextFCntDownResponse) Descriptor() ([]byte, []int) {
	return file_api_device_proto_rawDescGZIP(), []int{36}
}

func (x *GetDeviceNextFCntDownResponse) GetFCntDown() uint32 {
	if x != nil {
		return x.FCntDown
	}
	return 0
}

var File_api_device_proto protoreflect.FileDescriptor

const file_api_device_proto_rawDesc = "" +
	"\n" +
	"\x10api/device.proto\x12\x03api\x1a\x13common/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1bgoogle/protobuf/empty.proto\"\xea\x03\n" +
	"\x06Device\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\x03 \x01(\tR\vdescription\x12%\n" +
	"\x0eapplication_id\x18\x04 \x01(\tR\rapplicationId\x12*\n" +
	"\x11device_profile_id\x18\x05 \x01(\tR\x0fdeviceProfileId\x12&\n" +
	"\x0fskip_fcnt_check\x18\x06 \x01(\bR\rskipFcntCheck\x12\x1f\n" +
	"\vis_disabled\x18\a \x01(\bR\n" +
	"isDisabled\x128\n" +
	"\tvariables\x18\b \x03(\v2\x1a.api.Device.VariablesEntryR\tvariables\x12)\n" +
	"\x04tags\x18\t \x03(\v2\x15.api.Device.TagsEntryR\x04tags\x12\x19\n" +
	"\bjoin_eui\x18\n" +
	" \x01(\tR\ajoinEui\x1a<\n" +
	"\x0eVariablesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a7\n" +
	"\tTagsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x7f\n" +
	"\fDeviceStatus\x12\x16\n" +
	"\x06margin\x18\x01 \x01(\x05R\x06margin\x122\n" +
	"\x15external_power_source\x18\x02 \x01(\bR\x13externalPowerSource\x12#\n" +
	"\rbattery_level\x18\x03 \x01(\x02R\fbatteryLevel\"\x93\x04\n" +
	"\x0eDeviceListItem\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\x129\n" +
	"\n" +
	"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12<\n" +
	"\flast_seen_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"lastSeenAt\x12\x12\n" +
	"\x04name\x18\x05 \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\x06 \x01(\tR\vdescription\x12*\n" +
	"\x11device_profile_id\x18\a \x01(\tR\x0fdeviceProfileId\x12.\n" +
	"\x13device_profile_name\x18\b \x01(\tR\x11deviceProfileName\x126\n" +
	"\rdevice_status\x18\t \x01(\v2\x11.api.DeviceStatusR\fdeviceStatus\x121\n" +
	"\x04tags\x18\n" +
	" \x03(\v2\x1d.api.DeviceListItem.TagsEntryR\x04tags\x1a7\n" +
	"\tTagsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"w\n" +
	"\n" +
	"DeviceKeys\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\x12\x17\n" +
	"\anwk_key\x18\x02 \x01(\tR\x06nwkKey\x12\x17\n" +
	"\aapp_key\x18\x03 \x01(\tR\x06appKey\x12\x1e\n" +
	"\vgen_app_key\x18\x04 \x01(\tR\tgenAppKey\":\n" +
	"\x13CreateDeviceRequest\x12#\n" +
	"\x06device\x18\x01 \x01(\v2\v.api.DeviceR\x06device\"+\n" +
	"\x10GetDeviceRequest\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\"\xde\x02\n" +
	"\x11GetDeviceResponse\x12#\n" +
	"\x06device\x18\x01 \x01(\v2\v.api.DeviceR\x06device\x129\n" +
	"\n" +
	"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12<\n" +
	"\flast_seen_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"lastSeenAt\x126\n" +
	"\rdevice_status\x18\x05 \x01(\v2\x11.api.DeviceStatusR\fdeviceStatus\x128\n" +
	"\rclass_enabled\x18\x06 \x01(\x0e2\x13.common.DeviceClassR\fclassEnabled\":\n" +
	"\x13UpdateDeviceRequest\x12#\n" +
	"\x06device\x18\x01 \x01(\v2\v.api.DeviceR\x06device\".\n" +
	"\x13DeleteDeviceRequest\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\"\xf8\x03\n" +
	"\x12ListDevicesRequest\x12\x14\n" +
	"\x05limit\x18\x01 \x01(\rR\x05limit\x12\x16\n" +
	"\x06offset\x18\x02 \x01(\rR\x06offset\x12\x16\n" +
	"\x06search\x18\x03 \x01(\tR\x06search\x12%\n" +
	"\x0eapplication_id\x18\x04 \x01(\tR\rapplicationId\x12,\n" +
	"\x12multicast_group_id\x18\x05 \x01(\tR\x10multicastGroupId\x12:\n" +
	"\border_by\x18\x06 \x01(\x0e2\x1f.api.ListDevicesRequest.OrderByR\aorderBy\x12\"\n" +
	"\rorder_by_desc\x18\a \x01(\bR\vorderByDesc\x125\n" +
	"\x04tags\x18\b \x03(\v2!.api.ListDevicesRequest.TagsEntryR\x04tags\x12*\n" +
	"\x11device_profile_id\x18\t \x01(\tR\x0fdeviceProfileId\x1a7\n" +
	"\tTagsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"K\n" +
	"\aOrderBy\x12\b\n" +
	"\x04NAME\x10\x00\x12\v\n" +
	"\aDEV_EUI\x10\x01\x12\x10\n" +
	"\fLAST_SEEN_AT\x10\x02\x12\x17\n" +
	"\x13DEVICE_PROFILE_NAME\x10\x03\"c\n" +
	"\x13ListDevicesResponse\x12\x1f\n" +
	"\vtotal_count\x18\x01 \x01(\rR\n" +
	"totalCount\x12+\n" +
	"\x06result\x18\x02 \x03(\v2\x13.api.DeviceListItemR\x06result\"K\n" +
	"\x17CreateDeviceKeysRequest\x120\n" +
	"\vdevice_keys\x18\x01 \x01(\v2\x0f.api.DeviceKeysR\n" +
	"deviceKeys\"/\n" +
	"\x14GetDeviceKeysRequest\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\"\xbf\x01\n" +
	"\x15GetDeviceKeysResponse\x120\n" +
	"\vdevice_keys\x18\x01 \x01(\v2\x0f.api.DeviceKeysR\n" +
	"deviceKeys\x129\n" +
	"\n" +
	"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"K\n" +
	"\x17UpdateDeviceKeysRequest\x120\n" +
	"\vdevice_keys\x18\x01 \x01(\v2\x0f.api.DeviceKeysR\n" +
	"deviceKeys\"2\n" +
	"\x17DeleteDeviceKeysRequest\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\"\xad\x02\n" +
	"\x10DeviceActivation\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\x12\x19\n" +
	"\bdev_addr\x18\x02 \x01(\tR\adevAddr\x12\x1a\n" +
	"\tapp_s_key\x18\x03 \x01(\tR\aappSKey\x12!\n" +
	"\rnwk_s_enc_key\x18\x04 \x01(\tR\n" +
	"nwkSEncKey\x12$\n" +
	"\x0fs_nwk_s_int_key\x18\b \x01(\tR\vsNwkSIntKey\x12$\n" +
	"\x0ff_nwk_s_int_key\x18\t \x01(\tR\vfNwkSIntKey\x12\x18\n" +
	"\bf_cnt_up\x18\x05 \x01(\rR\x06fCntUp\x12\x1f\n" +
	"\fn_f_cnt_down\x18\x06 \x01(\rR\tnFCntDown\x12\x1f\n" +
	"\fa_f_cnt_down\x18\n" +
	" \x01(\rR\taFCntDown\"[\n" +
	"\x15ActivateDeviceRequest\x12B\n" +
	"\x11device_activation\x18\x01 \x01(\v2\x15.api.DeviceActivationR\x10deviceActivation\"2\n" +
	"\x17DeactivateDeviceRequest\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\"5\n" +
	"\x1aGetDeviceActivationRequest\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\"\xac\x01\n" +
	"\x1bGetDeviceActivationResponse\x12B\n" +
	"\x11device_activation\x18\x01 \x01(\v2\x15.api.DeviceActivationR\x10deviceActivation\x12I\n" +
	"\x13join_server_context\x18\x02 \x01(\v2\x19.common.JoinServerContextR\x11joinServerContext\"2\n" +
	"\x17GetRandomDevAddrRequest\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\"5\n" +
	"\x18GetRandomDevAddrResponse\x12\x19\n" +
	"\bdev_addr\x18\x01 \x01(\tR\adevAddr\"\xc9\x01\n" +
	"\x17GetDeviceMetricsRequest\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\x120\n" +
	"\x05start\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x05start\x12,\n" +
	"\x03end\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x03end\x125\n" +
	"\vaggregation\x18\x04 \x01(\x0e2\x13.common.AggregationR\vaggregation\"\xbc\x02\n" +
	"\x18GetDeviceMetricsResponse\x12D\n" +
	"\ametrics\x18\x01 \x03(\v2*.api.GetDeviceMetricsResponse.MetricsEntryR\ametrics\x12A\n" +
	"\x06states\x18\x02 \x03(\v2).api.GetDeviceMetricsResponse.StatesEntryR\x06states\x1aJ\n" +
	"\fMetricsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12$\n" +
	"\x05value\x18\x02 \x01(\v2\x0e.common.MetricR\x05value:\x028\x01\x1aK\n" +
	"\vStatesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12&\n" +
	"\x05value\x18\x02 \x01(\v2\x10.api.DeviceStateR\x05value:\x028\x01\"7\n" +
	"\vDeviceState\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x14\n" +
	"\x05value\x18\x03 \x01(\tR\x05value\"\xcd\x01\n" +
	"\x1bGetDeviceLinkMetricsRequest\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\x120\n" +
	"\x05start\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x05start\x12,\n" +
	"\x03end\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x03end\x125\n" +
	"\vaggregation\x18\x04 \x01(\x0e2\x13.common.AggregationR\vaggregation\"\xbf\x02\n" +
	"\x1cGetDeviceLinkMetricsResponse\x12-\n" +
	"\n" +
	"rx_packets\x18\x01 \x01(\v2\x0e.common.MetricR\trxPackets\x12'\n" +
	"\agw_rssi\x18\x02 \x01(\v2\x0e.common.MetricR\x06gwRssi\x12%\n" +
	"\x06gw_snr\x18\x03 \x01(\v2\x0e.common.MetricR\x05gwSnr\x12=\n" +
	"\x13rx_packets_per_freq\x18\x04 \x01(\v2\x0e.common.MetricR\x10rxPacketsPerFreq\x129\n" +
	"\x11rx_packets_per_dr\x18\x05 \x01(\v2\x0e.common.MetricR\x0erxPacketsPerDr\x12&\n" +
	"\x06errors\x18\x06 \x01(\v2\x0e.common.MetricR\x06errors\"\xcf\x02\n" +
	"\x0fDeviceQueueItem\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" +
	"\adev_eui\x18\x02 \x01(\tR\x06devEui\x12\x1c\n" +
	"\tconfirmed\x18\x03 \x01(\bR\tconfirmed\x12\x15\n" +
	"\x06f_port\x18\x04 \x01(\rR\x05fPort\x12\x12\n" +
	"\x04data\x18\x05 \x01(\fR\x04data\x12/\n" +
	"\x06object\x18\x06 \x01(\v2\x17.google.protobuf.StructR\x06object\x12\x1d\n" +
	"\n" +
	"is_pending\x18\a \x01(\bR\tisPending\x12\x1c\n" +
	"\n" +
	"f_cnt_down\x18\b \x01(\rR\bfCntDown\x12!\n" +
	"\fis_encrypted\x18\t \x01(\bR\visEncrypted\x129\n" +
	"\n" +
	"expires_at\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"u\n" +
	"\x1dEnqueueDeviceQueueItemRequest\x123\n" +
	"\n" +
	"queue_item\x18\x01 \x01(\v2\x14.api.DeviceQueueItemR\tqueueItem\x12\x1f\n" +
	"\vflush_queue\x18\x02 \x01(\bR\n" +
	"flushQueue\"0\n" +
	"\x1eEnqueueDeviceQueueItemResponse\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"2\n" +
	"\x17FlushDeviceQueueRequest\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\"T\n" +
	"\x1aGetDeviceQueueItemsRequest\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\x12\x1d\n" +
	"\n" +
	"count_only\x18\x02 \x01(\bR\tcountOnly\"l\n" +
	"\x1bGetDeviceQueueItemsResponse\x12\x1f\n" +
	"\vtotal_count\x18\x01 \x01(\rR\n" +
	"totalCount\x12,\n" +
	"\x06result\x18\x02 \x03(\v2\x14.api.DeviceQueueItemR\x06result\"0\n" +
	"\x15FlushDevNoncesRequest\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\"7\n" +
	"\x1cGetDeviceNextFCntDownRequest\x12\x17\n" +
	"\adev_eui\x18\x01 \x01(\tR\x06devEui\"=\n" +
	"\x1dGetDeviceNextFCntDownResponse\x12\x1c\n" +
	"\n" +
	"f_cnt_down\x18\x01 \x01(\rR\bfCntDown2\xe2\x11\n" +
	"\rDeviceService\x12S\n" +
	"\x06Create\x12\x18.api.CreateDeviceRequest\x1a\x16.google.protobuf.Empty\"\x17\x82\xd3\xe4\x93\x02\x11:\x01*\"\f/api/devices\x12T\n" +
	"\x03Get\x12\x15.api.GetDeviceRequest\x1a\x16.api.GetDeviceResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/api/devices/{dev_eui}\x12d\n" +
	"\x06Update\x12\x18.api.UpdateDeviceRequest\x1a\x16.google.protobuf.Empty\"(\x82\xd3\xe4\x93\x02\":\x01*\x1a\x1d/api/devices/{device.dev_eui}\x12Z\n" +
	"\x06Delete\x12\x18.api.DeleteDeviceRequest\x1a\x16.google.protobuf.Empty\"\x1e\x82\xd3\xe4\x93\x02\x18*\x16/api/devices/{dev_eui}\x12O\n" +
	"\x04List\x12\x17.api.ListDevicesRequest\x1a\x18.api.ListDevicesResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\f/api/devices\x12v\n" +
	"\n" +
	"CreateKeys\x12\x1c.api.CreateDeviceKeysRequest\x1a\x16.google.protobuf.Empty\"2\x82\xd3\xe4\x93\x02,:\x01*\"'/api/devices/{device_keys.dev_eui}/keys\x12e\n" +
	"\aGetKeys\x12\x19.api.GetDeviceKeysRequest\x1a\x1a.api.GetDeviceKeysResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/devices/{dev_eui}/keys\x12v\n" +
	"\n" +
	"UpdateKeys\x12\x1c.api.UpdateDeviceKeysRequest\x1a\x16.google.protobuf.Empty\"2\x82\xd3\xe4\x93\x02,:\x01*\x1a'/api/devices/{device_keys.dev_eui}/keys\x12g\n" +
	"\n" +
	"DeleteKeys\x12\x1c.api.DeleteDeviceKeysRequest\x1a\x16.google.protobuf.Empty\"#\x82\xd3\xe4\x93\x02\x1d*\x1b/api/devices/{dev_eui}/keys\x12o\n" +
	"\x0eFlushDevNonces\x12\x1a.api.FlushDevNoncesRequest\x1a\x16.google.protobuf.Empty\")\x82\xd3\xe4\x93\x02#*!/api/devices/{dev_eui}/dev-nonces\x12|\n" +
	"\bActivate\x12\x1a.api.ActivateDeviceRequest\x1a\x16.google.protobuf.Empty\"<\x82\xd3\xe4\x93\x026:\x01*\"1/api/devices/{device_activation.dev_eui}/activate\x12m\n" +
	"\n" +
	"Deactivate\x12\x1c.api.DeactivateDeviceRequest\x1a\x16.google.protobuf.Empty\")\x82\xd3\xe4\x93\x02#*!/api/devices/{dev_eui}/activation\x12}\n" +
	"\rGetActivation\x12\x1f.api.GetDeviceActivationRequest\x1a .api.GetDeviceActivationResponse\")\x82\xd3\xe4\x93\x02#\x12!/api/devices/{dev_eui}/activation\x12\x83\x01\n" +
	"\x10GetRandomDevAddr\x12\x1c.api.GetRandomDevAddrRequest\x1a\x1d.api.GetRandomDevAddrResponse\"2\x82\xd3\xe4\x93\x02,\"*/api/devices/{dev_eui}/get-random-dev-addr\x12q\n" +
	"\n" +
	"GetMetrics\x12\x1c.api.GetDeviceMetricsRequest\x1a\x1d.api.GetDeviceMetricsResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/api/devices/{dev_eui}/metrics\x12\x82\x01\n" +
	"\x0eGetLinkMetrics\x12 .api.GetDeviceLinkMetricsRequest\x1a!.api.GetDeviceLinkMetricsResponse\"+\x82\xd3\xe4\x93\x02%\x12#/api/devices/{dev_eui}/link-metrics\x12\x86\x01\n" +
	"\aEnqueue\x12\".api.EnqueueDeviceQueueItemRequest\x1a#.api.EnqueueDeviceQueueItemResponse\"2\x82\xd3\xe4\x93\x02,:\x01*\"'/api/devices/{queue_item.dev_eui}/queue\x12h\n" +
	"\n" +
	"FlushQueue\x12\x1c.api.FlushDeviceQueueRequest\x1a\x16.google.protobuf.Empty\"$\x82\xd3\xe4\x93\x02\x1e*\x1c/api/devices/{dev_eui}/queue\x12s\n" +
	"\bGetQueue\x12\x1f.api.GetDeviceQueueItemsRequest\x1a .api.GetDeviceQueueItemsResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/devices/{dev_eui}/queue\x12\x8f\x01\n" +
	"\x0fGetNextFCntDown\x12!.api.GetDeviceNextFCntDownRequest\x1a\".api.GetDeviceNextFCntDownResponse\"5\x82\xd3\xe4\x93\x02/:\x01*\"*/api/devices/{dev_eui}/get-next-f-cnt-downB\x91\x01\n" +
	"\x11io.chirpstack.apiB\vDeviceProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0eChirpstack.Api\xca\x02\x0eChirpstack\\Api\xe2\x02\x1aGPBMetadata\\Chirpstack\\Apib\x06proto3"

var (
	file_api_device_proto_rawDescOnce sync.Once
	file_api_device_proto_rawDescData []byte
)

func file_api_device_proto_rawDescGZIP() []byte {
	file_api_device_proto_rawDescOnce.Do(func() {
		file_api_device_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_api_device_proto_rawDesc), len(file_api_device_proto_rawDesc)))
	})
	return file_api_device_proto_rawDescData
}

var file_api_device_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_api_device_proto_msgTypes = make([]protoimpl.MessageInfo, 43)
var file_api_device_proto_goTypes = []any{
	(ListDevicesRequest_OrderBy)(0),        // 0: api.ListDevicesRequest.OrderBy
	(*Device)(nil),                         // 1: api.Device
	(*DeviceStatus)(nil),                   // 2: api.DeviceStatus
	(*DeviceListItem)(nil),                 // 3: api.DeviceListItem
	(*DeviceKeys)(nil),                     // 4: api.DeviceKeys
	(*CreateDeviceRequest)(nil),            // 5: api.CreateDeviceRequest
	(*GetDeviceRequest)(nil),               // 6: api.GetDeviceRequest
	(*GetDeviceResponse)(nil),              // 7: api.GetDeviceResponse
	(*UpdateDeviceRequest)(nil),            // 8: api.UpdateDeviceRequest
	(*DeleteDeviceRequest)(nil),            // 9: api.DeleteDeviceRequest
	(*ListDevicesRequest)(nil),             // 10: api.ListDevicesRequest
	(*ListDevicesResponse)(nil),            // 11: api.ListDevicesResponse
	(*CreateDeviceKeysRequest)(nil),        // 12: api.CreateDeviceKeysRequest
	(*GetDeviceKeysRequest)(nil),           // 13: api.GetDeviceKeysRequest
	(*GetDeviceKeysResponse)(nil),          // 14: api.GetDeviceKeysResponse
	(*UpdateDeviceKeysRequest)(nil),        // 15: api.UpdateDeviceKeysRequest
	(*DeleteDeviceKeysRequest)(nil),        // 16: api.DeleteDeviceKeysRequest
	(*DeviceActivation)(nil),               // 17: api.DeviceActivation
	(*ActivateDeviceRequest)(nil),          // 18: api.ActivateDeviceRequest
	(*DeactivateDeviceRequest)(nil),        // 19: api.DeactivateDeviceRequest
	(*GetDeviceActivationRequest)(nil),     // 20: api.GetDeviceActivationRequest
	(*GetDeviceActivationResponse)(nil),    // 21: api.GetDeviceActivationResponse
	(*GetRandomDevAddrRequest)(nil),        // 22: api.GetRandomDevAddrRequest
	(*GetRandomDevAddrResponse)(nil),       // 23: api.GetRandomDevAddrResponse
	(*GetDeviceMetricsRequest)(nil),        // 24: api.GetDeviceMetricsRequest
	(*GetDeviceMetricsResponse)(nil),       // 25: api.GetDeviceMetricsResponse
	(*DeviceState)(nil),                    // 26: api.DeviceState
	(*GetDeviceLinkMetricsRequest)(nil),    // 27: api.GetDeviceLinkMetricsRequest
	(*GetDeviceLinkMetricsResponse)(nil),   // 28: api.GetDeviceLinkMetricsResponse
	(*DeviceQueueItem)(nil),                // 29: api.DeviceQueueItem
	(*EnqueueDeviceQueueItemRequest)(nil),  // 30: api.EnqueueDeviceQueueItemRequest
	(*EnqueueDeviceQueueItemResponse)(nil), // 31: api.EnqueueDeviceQueueItemResponse
	(*FlushDeviceQueueRequest)(nil),        // 32: api.FlushDeviceQueueRequest
	(*GetDeviceQueueItemsRequest)(nil),     // 33: api.GetDeviceQueueItemsRequest
	(*GetDeviceQueueItemsResponse)(nil),    // 34: api.GetDeviceQueueItemsResponse
	(*FlushDevNoncesRequest)(nil),          // 35: api.FlushDevNoncesRequest
	(*GetDeviceNextFCntDownRequest)(nil),   // 36: api.GetDeviceNextFCntDownRequest
	(*GetDeviceNextFCntDownResponse)(nil),  // 37: api.GetDeviceNextFCntDownResponse
	nil,                                    // 38: api.Device.VariablesEntry
	nil,                                    // 39: api.Device.TagsEntry
	nil,                                    // 40: api.DeviceListItem.TagsEntry
	nil,                                    // 41: api.ListDevicesRequest.TagsEntry
	nil,                                    // 42: api.GetDeviceMetricsResponse.MetricsEntry
	nil,                                    // 43: api.GetDeviceMetricsResponse.StatesEntry
	(*timestamppb.Timestamp)(nil),          // 44: google.protobuf.Timestamp
	(common.DeviceClass)(0),                // 45: common.DeviceClass
	(*common.JoinServerContext)(nil),       // 46: common.JoinServerContext
	(common.Aggregation)(0),                // 47: common.Aggregation
	(*common.Metric)(nil),                  // 48: common.Metric
	(*structpb.Struct)(nil),                // 49: google.protobuf.Struct
	(*emptypb.Empty)(nil),                  // 50: google.protobuf.Empty
}
var file_api_device_proto_depIdxs = []int32{
	38, // 0: api.Device.variables:type_name -> api.Device.VariablesEntry
	39, // 1: api.Device.tags:type_name -> api.Device.TagsEntry
	44, // 2: api.DeviceListItem.created_at:type_name -> google.protobuf.Timestamp
	44, // 3: api.DeviceListItem.updated_at:type_name -> google.protobuf.Timestamp
	44, // 4: api.DeviceListItem.last_seen_at:type_name -> google.protobuf.Timestamp
	2,  // 5: api.DeviceListItem.device_status:type_name -> api.DeviceStatus
	40, // 6: api.DeviceListItem.tags:type_name -> api.DeviceListItem.TagsEntry
	1,  // 7: api.CreateDeviceRequest.device:type_name -> api.Device
	1,  // 8: api.GetDeviceResponse.device:type_name -> api.Device
	44, // 9: api.GetDeviceResponse.created_at:type_name -> google.protobuf.Timestamp
	44, // 10: api.GetDeviceResponse.updated_at:type_name -> google.protobuf.Timestamp
	44, // 11: api.GetDeviceResponse.last_seen_at:type_name -> google.protobuf.Timestamp
	2,  // 12: api.GetDeviceResponse.device_status:type_name -> api.DeviceStatus
	45, // 13: api.GetDeviceResponse.class_enabled:type_name -> common.DeviceClass
	1,  // 14: api.UpdateDeviceRequest.device:type_name -> api.Device
	0,  // 15: api.ListDevicesRequest.order_by:type_name -> api.ListDevicesRequest.OrderBy
	41, // 16: api.ListDevicesRequest.tags:type_name -> api.ListDevicesRequest.TagsEntry
	3,  // 17: api.ListDevicesResponse.result:type_name -> api.DeviceListItem
	4,  // 18: api.CreateDeviceKeysRequest.device_keys:type_name -> api.DeviceKeys
	4,  // 19: api.GetDeviceKeysResponse.device_keys:type_name -> api.DeviceKeys
	44, // 20: api.GetDeviceKeysResponse.created_at:type_name -> google.protobuf.Timestamp
	44, // 21: api.GetDeviceKeysResponse.updated_at:type_name -> google.protobuf.Timestamp
	4,  // 22: api.UpdateDeviceKeysRequest.device_keys:type_name -> api.DeviceKeys
	17, // 23: api.ActivateDeviceRequest.device_activation:type_name -> api.DeviceActivation
	17, // 24: api.GetDeviceActivationResponse.device_activation:type_name -> api.DeviceActivation
	46, // 25: api.GetDeviceActivationResponse.join_server_context:type_name -> common.JoinServerContext
	44, // 26: api.GetDeviceMetricsRequest.start:type_name -> google.protobuf.Timestamp
	44, // 27: api.GetDeviceMetricsRequest.end:type_name -> google.protobuf.Timestamp
	47, // 28: api.GetDeviceMetricsRequest.aggregation:type_name -> common.Aggregation
	42, // 29: api.GetDeviceMetricsResponse.metrics:type_name -> api.GetDeviceMetricsResponse.MetricsEntry
	43, // 30: api.GetDeviceMetricsResponse.states:type_name -> api.GetDeviceMetricsResponse.StatesEntry
	44, // 31: api.GetDeviceLinkMetricsRequest.start:type_name -> google.protobuf.Timestamp
	44, // 32: api.GetDeviceLinkMetricsRequest.end:type_name -> google.protobuf.Timestamp
	47, // 33: api.GetDeviceLinkMetricsRequest.aggregation:type_name -> common.Aggregation
	48, // 34: api.GetDeviceLinkMetricsResponse.rx_packets:type_name -> common.Metric
	48, // 35: api.GetDeviceLinkMetricsResponse.gw_rssi:type_name -> common.Metric
	48, // 36: api.GetDeviceLinkMetricsResponse.gw_snr:type_name -> common.Metric
	48, // 37: api.GetDeviceLinkMetricsResponse.rx_packets_per_freq:type_name -> common.Metric
	48, // 38: api.GetDeviceLinkMetricsResponse.rx_packets_per_dr:type_name -> common.Metric
	48, // 39: api.GetDeviceLinkMetricsResponse.errors:type_name -> common.Metric
	49, // 40: api.DeviceQueueItem.object:type_name -> google.protobuf.Struct
	44, // 41: api.DeviceQueueItem.expires_at:type_name -> google.protobuf.Timestamp
	29, // 42: api.EnqueueDeviceQueueItemRequest.queue_item:type_name -> api.DeviceQueueItem
	29, // 43: api.GetDeviceQueueItemsResponse.result:type_name -> api.DeviceQueueItem
	48, // 44: api.GetDeviceMetricsResponse.MetricsEntry.value:type_name -> common.Metric
	26, // 45: api.GetDeviceMetricsResponse.StatesEntry.value:type_name -> api.DeviceState
	5,  // 46: api.DeviceService.Create:input_type -> api.CreateDeviceRequest
	6,  // 47: api.DeviceService.Get:input_type -> api.GetDeviceRequest
	8,  // 48: api.DeviceService.Update:input_type -> api.UpdateDeviceRequest
	9,  // 49: api.DeviceService.Delete:input_type -> api.DeleteDeviceRequest
	10, // 50: api.DeviceService.List:input_type -> api.ListDevicesRequest
	12, // 51: api.DeviceService.CreateKeys:input_type -> api.CreateDeviceKeysRequest
	13, // 52: api.DeviceService.GetKeys:input_type -> api.GetDeviceKeysRequest
	15, // 53: api.DeviceService.UpdateKeys:input_type -> api.UpdateDeviceKeysRequest
	16, // 54: api.DeviceService.DeleteKeys:input_type -> api.DeleteDeviceKeysRequest
	35, // 55: api.DeviceService.FlushDevNonces:input_type -> api.FlushDevNoncesRequest
	18, // 56: api.DeviceService.Activate:input_type -> api.ActivateDeviceRequest
	19, // 57: api.DeviceService.Deactivate:input_type -> api.DeactivateDeviceRequest
	20, // 58: api.DeviceService.GetActivation:input_type -> api.GetDeviceActivationRequest
	22, // 59: api.DeviceService.GetRandomDevAddr:input_type -> api.GetRandomDevAddrRequest
	24, // 60: api.DeviceService.GetMetrics:input_type -> api.GetDeviceMetricsRequest
	27, // 61: api.DeviceService.GetLinkMetrics:input_type -> api.GetDeviceLinkMetricsRequest
	30, // 62: api.DeviceService.Enqueue:input_type -> api.EnqueueDeviceQueueItemRequest
	32, // 63: api.DeviceService.FlushQueue:input_type -> api.FlushDeviceQueueRequest
	33, // 64: api.DeviceService.GetQueue:input_type -> api.GetDeviceQueueItemsRequest
	36, // 65: api.DeviceService.GetNextFCntDown:input_type -> api.GetDeviceNextFCntDownRequest
	50, // 66: api.DeviceService.Create:output_type -> google.protobuf.Empty
	7,  // 67: api.DeviceService.Get:output_type -> api.GetDeviceResponse
	50, // 68: api.DeviceService.Update:output_type -> google.protobuf.Empty
	50, // 69: api.DeviceService.Delete:output_type -> google.protobuf.Empty
	11, // 70: api.DeviceService.List:output_type -> api.ListDevicesResponse
	50, // 71: api.DeviceService.CreateKeys:output_type -> google.protobuf.Empty
	14, // 72: api.DeviceService.GetKeys:output_type -> api.GetDeviceKeysResponse
	50, // 73: api.DeviceService.UpdateKeys:output_type -> google.protobuf.Empty
	50, // 74: api.DeviceService.DeleteKeys:output_type -> google.protobuf.Empty
	50, // 75: api.DeviceService.FlushDevNonces:output_type -> google.protobuf.Empty
	50, // 76: api.DeviceService.Activate:output_type -> google.protobuf.Empty
	50, // 77: api.DeviceService.Deactivate:output_type -> google.protobuf.Empty
	21, // 78: api.DeviceService.GetActivation:output_type -> api.GetDeviceActivationResponse
	23, // 79: api.DeviceService.GetRandomDevAddr:output_type -> api.GetRandomDevAddrResponse
	25, // 80: api.DeviceService.GetMetrics:output_type -> api.GetDeviceMetricsResponse
	28, // 81: api.DeviceService.GetLinkMetrics:output_type -> api.GetDeviceLinkMetricsResponse
	31, // 82: api.DeviceService.Enqueue:output_type -> api.EnqueueDeviceQueueItemResponse
	50, // 83: api.DeviceService.FlushQueue:output_type -> google.protobuf.Empty
	34, // 84: api.DeviceService.GetQueue:output_type -> api.GetDeviceQueueItemsResponse
	37, // 85: api.DeviceService.GetNextFCntDown:output_type -> api.GetDeviceNextFCntDownResponse
	66, // [66:86] is the sub-list for method output_type
	46, // [46:66] is the sub-list for method input_type
	46, // [46:46] is the sub-list for extension type_name
	46, // [46:46] is the sub-list for extension extendee
	0,  // [0:46] is the sub-list for field type_name
}

func init() { file_api_device_proto_init() }
func file_api_device_proto_init() {
	if File_api_device_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_api_device_proto_rawDesc), len(file_api_device_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   43,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_api_device_proto_goTypes,
		DependencyIndexes: file_api_device_proto_depIdxs,
		EnumInfos:         file_api_device_proto_enumTypes,
		MessageInfos:      file_api_device_proto_msgTypes,
	}.Build()
	File_api_device_proto = out.File
	file_api_device_proto_goTypes = nil
	file_api_device_proto_depIdxs = nil
}
