From bea183a0b1f2afafcab680b032d0b0d17f203662 Mon Sep 17 00:00:00 2001 From: Luca Dorigo Date: Wed, 7 Dec 2022 10:03:20 +0100 Subject: [PATCH 1/3] Use protoc mypy plugin to generate type stubs --- python/Makefile | 25 +- python/src/chirpstack_api/as_pb/as_pb_grpc.py | 172 ++ python/src/chirpstack_api/as_pb/as_pb_pb2.pyi | 545 ++++++ .../chirpstack_api/as_pb/as_pb_pb2_grpc.pyi | 139 ++ .../as_pb/external/api/application_grpc.py | 715 ++++++++ .../as_pb/external/api/application_pb2.pyi | 1356 ++++++++++++++ .../external/api/application_pb2_grpc.pyi | 535 ++++++ .../as_pb/external/api/deviceProfile_grpc.py | 108 ++ .../as_pb/external/api/deviceProfile_pb2.pyi | 181 ++ .../external/api/deviceProfile_pb2_grpc.pyi | 77 + .../as_pb/external/api/deviceQueue_grpc.py | 74 + .../as_pb/external/api/deviceQueue_pb2.pyi | 120 ++ .../external/api/deviceQueue_pb2_grpc.pyi | 53 + .../as_pb/external/api/device_grpc.py | 301 ++++ .../as_pb/external/api/device_pb2.pyi | 745 ++++++++ .../as_pb/external/api/device_pb2_grpc.pyi | 234 +++ .../as_pb/external/api/frameLog_grpc.py | 3 + .../as_pb/external/api/frameLog_pb2.pyi | 84 + .../as_pb/external/api/frameLog_pb2_grpc.pyi | 6 + .../as_pb/external/api/gatewayProfile_grpc.py | 109 ++ .../as_pb/external/api/gatewayProfile_pb2.pyi | 243 +++ .../external/api/gatewayProfile_pb2_grpc.pyi | 77 + .../as_pb/external/api/gateway_grpc.py | 173 ++ .../as_pb/external/api/gateway_pb2.pyi | 609 +++++++ .../as_pb/external/api/gateway_pb2_grpc.pyi | 138 ++ .../as_pb/external/api/internal_grpc.py | 188 ++ .../as_pb/external/api/internal_pb2.pyi | 472 +++++ .../as_pb/external/api/internal_pb2_grpc.pyi | 137 ++ .../as_pb/external/api/multicastGroup_grpc.py | 187 ++ .../as_pb/external/api/multicastGroup_pb2.pyi | 368 ++++ .../external/api/multicastGroup_pb2_grpc.pyi | 137 ++ .../as_pb/external/api/networkServer_grpc.py | 123 ++ .../as_pb/external/api/networkServer_pb2.pyi | 283 +++ .../external/api/networkServer_pb2_grpc.pyi | 89 + .../as_pb/external/api/organization_grpc.py | 187 ++ .../as_pb/external/api/organization_pb2.pyi | 405 +++++ .../external/api/organization_pb2_grpc.pyi | 137 ++ .../as_pb/external/api/profiles_grpc.py | 3 + .../as_pb/external/api/profiles_pb2.pyi | 302 ++++ .../as_pb/external/api/profiles_pb2_grpc.pyi | 6 + .../as_pb/external/api/serviceProfile_grpc.py | 108 ++ .../as_pb/external/api/serviceProfile_pb2.pyi | 181 ++ .../external/api/serviceProfile_pb2_grpc.pyi | 77 + .../as_pb/external/api/user_grpc.py | 123 ++ .../as_pb/external/api/user_pb2.pyi | 258 +++ .../as_pb/external/api/user_pb2_grpc.pyi | 89 + .../as_pb/integration/integration_pb2.pyi | 617 +++++++ .../src/chirpstack_api/common/common_pb2.pyi | 227 +++ python/src/chirpstack_api/fuota/fuota_grpc.py | 74 + python/src/chirpstack_api/fuota/fuota_pb2.pyi | 376 ++++ .../chirpstack_api/fuota/fuota_pb2_grpc.pyi | 54 + python/src/chirpstack_api/geo/geo_pb2.pyi | 112 ++ python/src/chirpstack_api/gw/gw_pb2.pyi | 1024 +++++++++++ python/src/chirpstack_api/nc/nc_pb2.pyi | 155 ++ python/src/chirpstack_api/ns/ns_grpc.py | 830 +++++++++ python/src/chirpstack_api/ns/ns_pb2.pyi | 1595 +++++++++++++++++ python/src/chirpstack_api/ns/ns_pb2_grpc.pyi | 634 +++++++ python/src/chirpstack_api/ns/profiles_pb2.pyi | 251 +++ 58 files changed, 16619 insertions(+), 12 deletions(-) create mode 100644 python/src/chirpstack_api/as_pb/as_pb_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/as_pb_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/as_pb_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/application_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/external/api/application_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/application_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/deviceProfile_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/external/api/deviceProfile_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/deviceProfile_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/deviceQueue_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/external/api/deviceQueue_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/deviceQueue_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/device_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/external/api/device_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/device_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/frameLog_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/external/api/frameLog_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/frameLog_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/gatewayProfile_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/external/api/gatewayProfile_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/gatewayProfile_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/gateway_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/external/api/gateway_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/gateway_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/internal_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/external/api/internal_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/internal_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/multicastGroup_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/external/api/multicastGroup_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/multicastGroup_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/networkServer_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/external/api/networkServer_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/networkServer_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/organization_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/external/api/organization_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/organization_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/profiles_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/external/api/profiles_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/profiles_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/serviceProfile_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/external/api/serviceProfile_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/serviceProfile_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/user_grpc.py create mode 100644 python/src/chirpstack_api/as_pb/external/api/user_pb2.pyi create mode 100644 python/src/chirpstack_api/as_pb/external/api/user_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/as_pb/integration/integration_pb2.pyi create mode 100644 python/src/chirpstack_api/common/common_pb2.pyi create mode 100644 python/src/chirpstack_api/fuota/fuota_grpc.py create mode 100644 python/src/chirpstack_api/fuota/fuota_pb2.pyi create mode 100644 python/src/chirpstack_api/fuota/fuota_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/geo/geo_pb2.pyi create mode 100644 python/src/chirpstack_api/gw/gw_pb2.pyi create mode 100644 python/src/chirpstack_api/nc/nc_pb2.pyi create mode 100644 python/src/chirpstack_api/ns/ns_grpc.py create mode 100644 python/src/chirpstack_api/ns/ns_pb2.pyi create mode 100644 python/src/chirpstack_api/ns/ns_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/ns/profiles_pb2.pyi diff --git a/python/Makefile b/python/Makefile index 96541d88..4d2196ef 100644 --- a/python/Makefile +++ b/python/Makefile @@ -1,11 +1,11 @@ -GOOGLEAPIS_PATH := "/googleapis" +GOOGLEAPIS_PATH := "googleapis" IMPORT_AS := import \"as_pb/ PACKAGE_NAME := import \"chirpstack-api/ all: requirements version pre-build common gw geo nc ns fuota as as-integration as-external-api requirements: - pip install grpcio-tools + pip install grpcio-tools mypy-protobuf version: sed -i 's/version.*/version = "$(VERSION)",/g' ./src/setup.py @@ -24,32 +24,33 @@ pre-build: mkdir -p src common: - python -m grpc_tools.protoc -I=proto --python_out=src proto/chirpstack-api/common/common.proto + python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src proto/chirpstack-api/common/common.proto gw: - python -m grpc_tools.protoc -I=proto --python_out=src proto/chirpstack-api/gw/gw.proto + python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src proto/chirpstack-api/gw/gw.proto geo: - python -m grpc_tools.protoc -I=proto --python_out=src --grpc_python_out=./src proto/chirpstack-api/geo/geo.proto + python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src proto/chirpstack-api/geo/geo.proto nc: - python -m grpc_tools.protoc -I=proto --python_out=src --grpc_python_out=./src proto/chirpstack-api/nc/nc.proto + python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src proto/chirpstack-api/nc/nc.proto ns: - python -m grpc_tools.protoc -I=proto --python_out=src proto/chirpstack-api/ns/profiles.proto - python -m grpc_tools.protoc -I=proto --python_out=src --grpc_python_out=src proto/chirpstack-api/ns/ns.proto + python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src proto/chirpstack-api/ns/profiles.proto + python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src --python_grpc_out=src --mypy_grpc_out=src proto/chirpstack-api/ns/ns.proto + fuota: - python -m grpc_tools.protoc -I=proto --python_out=src --grpc_python_out=src proto/chirpstack-api/fuota/fuota.proto + python -m grpc_tools.protoc -I grpc_tools.protoc -I=proto --python_out=src --mypy_out=src --python_grpc_out=src --mypy_grpc_out=src proto/chirpstack-api/fuota/fuota.proto as: - python -m grpc_tools.protoc -I=proto --python_out=src --grpc_python_out=src proto/chirpstack-api/as_pb/as_pb.proto + python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src --python_grpc_out=src --mypy_grpc_out=src proto/chirpstack-api/as_pb/as_pb.proto as-integration: - python -m grpc_tools.protoc -I=proto --python_out=src proto/chirpstack-api/as_pb/integration/integration.proto + python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src proto/chirpstack-api/as_pb/integration/integration.proto as-external-api: - $(eval PROTOC_GEN := python -m grpc_tools.protoc -I=proto -I=$(GOOGLEAPIS_PATH) --python_out=src --grpc_python_out=src) + $(eval PROTOC_GEN := python -m grpc_tools.protoc -I=proto -I=$(GOOGLEAPIS_PATH) --python_out=src --mypy_out=src --python_grpc_out=src --mypy_grpc_out=src) $(PROTOC_GEN) proto/chirpstack-api/as_pb/external/api/application.proto $(PROTOC_GEN) proto/chirpstack-api/as_pb/external/api/frameLog.proto diff --git a/python/src/chirpstack_api/as_pb/as_pb_grpc.py b/python/src/chirpstack_api/as_pb/as_pb_grpc.py new file mode 100644 index 00000000..1a693665 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/as_pb_grpc.py @@ -0,0 +1,172 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/as_pb.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.protobuf.empty_pb2 +import google.protobuf.timestamp_pb2 +import chirpstack_api.common.common_pb2 +import chirpstack_api.gw.gw_pb2 +import chirpstack_api.as_pb.as_pb_pb2 + + +class ApplicationServerServiceBase(abc.ABC): + + @abc.abstractmethod + async def HandleUplinkData(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.HandleUplinkDataRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def HandleProprietaryUplink(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.HandleProprietaryUplinkRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def HandleError(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.HandleErrorRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def HandleDownlinkACK(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.HandleDownlinkACKRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def HandleGatewayStats(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.HandleGatewayStatsRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def HandleTxAck(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.HandleTxAckRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def SetDeviceStatus(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.SetDeviceStatusRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def SetDeviceLocation(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.SetDeviceLocationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def ReEncryptDeviceQueueItems(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.ReEncryptDeviceQueueItemsRequest, chirpstack_api.as_pb.as_pb_pb2.ReEncryptDeviceQueueItemsResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/as.ApplicationServerService/HandleUplinkData': grpclib.const.Handler( + self.HandleUplinkData, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.as_pb_pb2.HandleUplinkDataRequest, + google.protobuf.empty_pb2.Empty, + ), + '/as.ApplicationServerService/HandleProprietaryUplink': grpclib.const.Handler( + self.HandleProprietaryUplink, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.as_pb_pb2.HandleProprietaryUplinkRequest, + google.protobuf.empty_pb2.Empty, + ), + '/as.ApplicationServerService/HandleError': grpclib.const.Handler( + self.HandleError, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.as_pb_pb2.HandleErrorRequest, + google.protobuf.empty_pb2.Empty, + ), + '/as.ApplicationServerService/HandleDownlinkACK': grpclib.const.Handler( + self.HandleDownlinkACK, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.as_pb_pb2.HandleDownlinkACKRequest, + google.protobuf.empty_pb2.Empty, + ), + '/as.ApplicationServerService/HandleGatewayStats': grpclib.const.Handler( + self.HandleGatewayStats, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.as_pb_pb2.HandleGatewayStatsRequest, + google.protobuf.empty_pb2.Empty, + ), + '/as.ApplicationServerService/HandleTxAck': grpclib.const.Handler( + self.HandleTxAck, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.as_pb_pb2.HandleTxAckRequest, + google.protobuf.empty_pb2.Empty, + ), + '/as.ApplicationServerService/SetDeviceStatus': grpclib.const.Handler( + self.SetDeviceStatus, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.as_pb_pb2.SetDeviceStatusRequest, + google.protobuf.empty_pb2.Empty, + ), + '/as.ApplicationServerService/SetDeviceLocation': grpclib.const.Handler( + self.SetDeviceLocation, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.as_pb_pb2.SetDeviceLocationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/as.ApplicationServerService/ReEncryptDeviceQueueItems': grpclib.const.Handler( + self.ReEncryptDeviceQueueItems, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.as_pb_pb2.ReEncryptDeviceQueueItemsRequest, + chirpstack_api.as_pb.as_pb_pb2.ReEncryptDeviceQueueItemsResponse, + ), + } + + +class ApplicationServerServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.HandleUplinkData = grpclib.client.UnaryUnaryMethod( + channel, + '/as.ApplicationServerService/HandleUplinkData', + chirpstack_api.as_pb.as_pb_pb2.HandleUplinkDataRequest, + google.protobuf.empty_pb2.Empty, + ) + self.HandleProprietaryUplink = grpclib.client.UnaryUnaryMethod( + channel, + '/as.ApplicationServerService/HandleProprietaryUplink', + chirpstack_api.as_pb.as_pb_pb2.HandleProprietaryUplinkRequest, + google.protobuf.empty_pb2.Empty, + ) + self.HandleError = grpclib.client.UnaryUnaryMethod( + channel, + '/as.ApplicationServerService/HandleError', + chirpstack_api.as_pb.as_pb_pb2.HandleErrorRequest, + google.protobuf.empty_pb2.Empty, + ) + self.HandleDownlinkACK = grpclib.client.UnaryUnaryMethod( + channel, + '/as.ApplicationServerService/HandleDownlinkACK', + chirpstack_api.as_pb.as_pb_pb2.HandleDownlinkACKRequest, + google.protobuf.empty_pb2.Empty, + ) + self.HandleGatewayStats = grpclib.client.UnaryUnaryMethod( + channel, + '/as.ApplicationServerService/HandleGatewayStats', + chirpstack_api.as_pb.as_pb_pb2.HandleGatewayStatsRequest, + google.protobuf.empty_pb2.Empty, + ) + self.HandleTxAck = grpclib.client.UnaryUnaryMethod( + channel, + '/as.ApplicationServerService/HandleTxAck', + chirpstack_api.as_pb.as_pb_pb2.HandleTxAckRequest, + google.protobuf.empty_pb2.Empty, + ) + self.SetDeviceStatus = grpclib.client.UnaryUnaryMethod( + channel, + '/as.ApplicationServerService/SetDeviceStatus', + chirpstack_api.as_pb.as_pb_pb2.SetDeviceStatusRequest, + google.protobuf.empty_pb2.Empty, + ) + self.SetDeviceLocation = grpclib.client.UnaryUnaryMethod( + channel, + '/as.ApplicationServerService/SetDeviceLocation', + chirpstack_api.as_pb.as_pb_pb2.SetDeviceLocationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.ReEncryptDeviceQueueItems = grpclib.client.UnaryUnaryMethod( + channel, + '/as.ApplicationServerService/ReEncryptDeviceQueueItems', + chirpstack_api.as_pb.as_pb_pb2.ReEncryptDeviceQueueItemsRequest, + chirpstack_api.as_pb.as_pb_pb2.ReEncryptDeviceQueueItemsResponse, + ) diff --git a/python/src/chirpstack_api/as_pb/as_pb_pb2.pyi b/python/src/chirpstack_api/as_pb/as_pb_pb2.pyi new file mode 100644 index 00000000..762955e2 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/as_pb_pb2.pyi @@ -0,0 +1,545 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import chirpstack_api.common.common_pb2 +import chirpstack_api.gw.gw_pb2 +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class RXWindow(_RXWindow, metaclass=_RXWindowEnumTypeWrapper): + pass +class _RXWindow: + V = typing.NewType('V', builtins.int) +class _RXWindowEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RXWindow.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + RX1 = RXWindow.V(0) + RX2 = RXWindow.V(1) + +RX1 = RXWindow.V(0) +RX2 = RXWindow.V(1) +global___RXWindow = RXWindow + + +class ErrorType(_ErrorType, metaclass=_ErrorTypeEnumTypeWrapper): + pass +class _ErrorType: + V = typing.NewType('V', builtins.int) +class _ErrorTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ErrorType.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # Generic error type. + GENERIC = ErrorType.V(0) + # OTAA error. + OTAA = ErrorType.V(1) + # Uplink frame-counter was reset. + DATA_UP_FCNT_RESET = ErrorType.V(2) + # Uplink MIC error. + DATA_UP_MIC = ErrorType.V(3) + # Downlink payload size error. + DEVICE_QUEUE_ITEM_SIZE = ErrorType.V(4) + # Downlink frame-counter error. + DEVICE_QUEUE_ITEM_FCNT = ErrorType.V(5) + # Uplink frame-counter retransmission. + DATA_UP_FCNT_RETRANSMISSION = ErrorType.V(6) + # Downlink gateway error. + DATA_DOWN_GATEWAY = ErrorType.V(7) + +# Generic error type. +GENERIC = ErrorType.V(0) +# OTAA error. +OTAA = ErrorType.V(1) +# Uplink frame-counter was reset. +DATA_UP_FCNT_RESET = ErrorType.V(2) +# Uplink MIC error. +DATA_UP_MIC = ErrorType.V(3) +# Downlink payload size error. +DEVICE_QUEUE_ITEM_SIZE = ErrorType.V(4) +# Downlink frame-counter error. +DEVICE_QUEUE_ITEM_FCNT = ErrorType.V(5) +# Uplink frame-counter retransmission. +DATA_UP_FCNT_RETRANSMISSION = ErrorType.V(6) +# Downlink gateway error. +DATA_DOWN_GATEWAY = ErrorType.V(7) +global___ErrorType = ErrorType + + +class DeviceActivationContext(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_ADDR_FIELD_NUMBER: builtins.int + APP_S_KEY_FIELD_NUMBER: builtins.int + # Assigned Device Address. + dev_addr: builtins.bytes = ... + # Application session key (envelope). + @property + def app_s_key(self) -> chirpstack_api.common.common_pb2.KeyEnvelope: ... + def __init__(self, + *, + dev_addr : builtins.bytes = ..., + app_s_key : typing.Optional[chirpstack_api.common.common_pb2.KeyEnvelope] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"app_s_key",b"app_s_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"app_s_key",b"app_s_key",u"dev_addr",b"dev_addr"]) -> None: ... +global___DeviceActivationContext = DeviceActivationContext + +class HandleUplinkDataRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + JOIN_EUI_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + F_PORT_FIELD_NUMBER: builtins.int + ADR_FIELD_NUMBER: builtins.int + DR_FIELD_NUMBER: builtins.int + TX_INFO_FIELD_NUMBER: builtins.int + RX_INFO_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + DEVICE_ACTIVATION_CONTEXT_FIELD_NUMBER: builtins.int + CONFIRMED_UPLINK_FIELD_NUMBER: builtins.int + # DevEUI EUI (8 bytes). + dev_eui: builtins.bytes = ... + # Join EUI used for OTAA activation (8 bytes). + join_eui: builtins.bytes = ... + # Frame-counter. + f_cnt: builtins.int = ... + # Frame port. + f_port: builtins.int = ... + # ADR enabled. + adr: builtins.bool = ... + # Data-rate. + dr: builtins.int = ... + # TX meta-data. + @property + def tx_info(self) -> chirpstack_api.gw.gw_pb2.UplinkTXInfo: ... + # RX meta-data. + @property + def rx_info(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[chirpstack_api.gw.gw_pb2.UplinkRXInfo]: ... + # Received data (encrypted). + data: builtins.bytes = ... + # Device activation context. + # + # This field is only set on the first uplink frame when the security + # context has changed (e.g. a new OTAA (re)activation). + @property + def device_activation_context(self) -> global___DeviceActivationContext: ... + # Uplink was of type confirmed. + confirmed_uplink: builtins.bool = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + join_eui : builtins.bytes = ..., + f_cnt : builtins.int = ..., + f_port : builtins.int = ..., + adr : builtins.bool = ..., + dr : builtins.int = ..., + tx_info : typing.Optional[chirpstack_api.gw.gw_pb2.UplinkTXInfo] = ..., + rx_info : typing.Optional[typing.Iterable[chirpstack_api.gw.gw_pb2.UplinkRXInfo]] = ..., + data : builtins.bytes = ..., + device_activation_context : typing.Optional[global___DeviceActivationContext] = ..., + confirmed_uplink : builtins.bool = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device_activation_context",b"device_activation_context",u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"adr",b"adr",u"confirmed_uplink",b"confirmed_uplink",u"data",b"data",u"dev_eui",b"dev_eui",u"device_activation_context",b"device_activation_context",u"dr",b"dr",u"f_cnt",b"f_cnt",u"f_port",b"f_port",u"join_eui",b"join_eui",u"rx_info",b"rx_info",u"tx_info",b"tx_info"]) -> None: ... +global___HandleUplinkDataRequest = HandleUplinkDataRequest + +class HandleProprietaryUplinkRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MAC_PAYLOAD_FIELD_NUMBER: builtins.int + MIC_FIELD_NUMBER: builtins.int + TX_INFO_FIELD_NUMBER: builtins.int + RX_INFO_FIELD_NUMBER: builtins.int + # MACPayload of the proprietary LoRaWAN frame. + mac_payload: builtins.bytes = ... + # MIC of the proprietary LoRaWAN frame. + mic: builtins.bytes = ... + # TXInfo contains the TX related meta-data. + @property + def tx_info(self) -> chirpstack_api.gw.gw_pb2.UplinkTXInfo: ... + # RXInfo contains the RX related meta-data. + @property + def rx_info(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[chirpstack_api.gw.gw_pb2.UplinkRXInfo]: ... + def __init__(self, + *, + mac_payload : builtins.bytes = ..., + mic : builtins.bytes = ..., + tx_info : typing.Optional[chirpstack_api.gw.gw_pb2.UplinkTXInfo] = ..., + rx_info : typing.Optional[typing.Iterable[chirpstack_api.gw.gw_pb2.UplinkRXInfo]] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"mac_payload",b"mac_payload",u"mic",b"mic",u"rx_info",b"rx_info",u"tx_info",b"tx_info"]) -> None: ... +global___HandleProprietaryUplinkRequest = HandleProprietaryUplinkRequest + +class HandleErrorRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + # Device EUI (8 bytes). + dev_eui: builtins.bytes = ... + # Type of the error. + type: global___ErrorType.V = ... + # Error string describing the error. + error: typing.Text = ... + # Frame-counter (if applicable) related to the error. + f_cnt: builtins.int = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + type : global___ErrorType.V = ..., + error : typing.Text = ..., + f_cnt : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui",u"error",b"error",u"f_cnt",b"f_cnt",u"type",b"type"]) -> None: ... +global___HandleErrorRequest = HandleErrorRequest + +class HandleDownlinkACKRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + ACKNOWLEDGED_FIELD_NUMBER: builtins.int + # Device EUI (8 bytes). + dev_eui: builtins.bytes = ... + # Downlink frame-counter. + f_cnt: builtins.int = ... + # Frame was acknowledged? + acknowledged: builtins.bool = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + f_cnt : builtins.int = ..., + acknowledged : builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"acknowledged",b"acknowledged",u"dev_eui",b"dev_eui",u"f_cnt",b"f_cnt"]) -> None: ... +global___HandleDownlinkACKRequest = HandleDownlinkACKRequest + +class SetDeviceStatusRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + BATTERY_FIELD_NUMBER: builtins.int + MARGIN_FIELD_NUMBER: builtins.int + EXTERNAL_POWER_SOURCE_FIELD_NUMBER: builtins.int + BATTERY_LEVEL_UNAVAILABLE_FIELD_NUMBER: builtins.int + BATTERY_LEVEL_FIELD_NUMBER: builtins.int + # Device EUI (8 bytes). + dev_eui: builtins.bytes = ... + # Battery level (deprecated, use battery_level). + # 0: The end-device is connected to an external power source + # 1..254: The battery level, 1 being at minimum and 254 being at maximum + # 255: The end-device was not able to measure the battery level + battery: builtins.int = ... + # The device margin status + # -32..32: The demodulation SNR ration in dB + margin: builtins.int = ... + # Device is connected to an external power source. + external_power_source: builtins.bool = ... + # Device battery status is not available. + battery_level_unavailable: builtins.bool = ... + # Battery level as a percentage. + battery_level: builtins.float = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + battery : builtins.int = ..., + margin : builtins.int = ..., + external_power_source : builtins.bool = ..., + battery_level_unavailable : builtins.bool = ..., + battery_level : builtins.float = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"battery",b"battery",u"battery_level",b"battery_level",u"battery_level_unavailable",b"battery_level_unavailable",u"dev_eui",b"dev_eui",u"external_power_source",b"external_power_source",u"margin",b"margin"]) -> None: ... +global___SetDeviceStatusRequest = SetDeviceStatusRequest + +class SetDeviceLocationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + LOCATION_FIELD_NUMBER: builtins.int + UPLINK_IDS_FIELD_NUMBER: builtins.int + # Device EUI (8 bytes). + dev_eui: builtins.bytes = ... + # The location of the device. + @property + def location(self) -> chirpstack_api.common.common_pb2.Location: ... + # Uplink IDs used for geolocation. + @property + def uplink_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + location : typing.Optional[chirpstack_api.common.common_pb2.Location] = ..., + uplink_ids : typing.Optional[typing.Iterable[builtins.bytes]] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"location",b"location"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui",u"location",b"location",u"uplink_ids",b"uplink_ids"]) -> None: ... +global___SetDeviceLocationRequest = SetDeviceLocationRequest + +class HandleGatewayStatsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class MetadataEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class TxPacketsPerFrequencyEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int = ... + value: builtins.int = ... + def __init__(self, + *, + key : builtins.int = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class RxPacketsPerFrequencyEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int = ... + value: builtins.int = ... + def __init__(self, + *, + key : builtins.int = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class TxPacketsPerDrEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int = ... + value: builtins.int = ... + def __init__(self, + *, + key : builtins.int = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class RxPacketsPerDrEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int = ... + value: builtins.int = ... + def __init__(self, + *, + key : builtins.int = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class TxPacketsPerStatusEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: builtins.int = ... + def __init__(self, + *, + key : typing.Text = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + GATEWAY_ID_FIELD_NUMBER: builtins.int + STATS_ID_FIELD_NUMBER: builtins.int + TIME_FIELD_NUMBER: builtins.int + LOCATION_FIELD_NUMBER: builtins.int + RX_PACKETS_RECEIVED_FIELD_NUMBER: builtins.int + RX_PACKETS_RECEIVED_OK_FIELD_NUMBER: builtins.int + TX_PACKETS_RECEIVED_FIELD_NUMBER: builtins.int + TX_PACKETS_EMITTED_FIELD_NUMBER: builtins.int + METADATA_FIELD_NUMBER: builtins.int + TX_PACKETS_PER_FREQUENCY_FIELD_NUMBER: builtins.int + RX_PACKETS_PER_FREQUENCY_FIELD_NUMBER: builtins.int + TX_PACKETS_PER_DR_FIELD_NUMBER: builtins.int + RX_PACKETS_PER_DR_FIELD_NUMBER: builtins.int + TX_PACKETS_PER_STATUS_FIELD_NUMBER: builtins.int + # Gateway ID (8 bytes). + gateway_id: builtins.bytes = ... + # Stats ID (UUID). + stats_id: builtins.bytes = ... + # Timestamp. + @property + def time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Gateway location. + @property + def location(self) -> chirpstack_api.common.common_pb2.Location: ... + # Uplink frames received. + rx_packets_received: builtins.int = ... + # Uplink frames received OK. + rx_packets_received_ok: builtins.int = ... + # Downlink transmissions requested. + tx_packets_received: builtins.int = ... + # Downlink emitted. + tx_packets_emitted: builtins.int = ... + # Gateway metadata. + @property + def metadata(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Tx packets per frequency. + @property + def tx_packets_per_frequency(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]: ... + # Rx packets per frequency. + @property + def rx_packets_per_frequency(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]: ... + # Tx packets per DR. + @property + def tx_packets_per_dr(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]: ... + # Rx packets per DR. + @property + def rx_packets_per_dr(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]: ... + # Tx packets per status. + @property + def tx_packets_per_status(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, builtins.int]: ... + def __init__(self, + *, + gateway_id : builtins.bytes = ..., + stats_id : builtins.bytes = ..., + time : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + location : typing.Optional[chirpstack_api.common.common_pb2.Location] = ..., + rx_packets_received : builtins.int = ..., + rx_packets_received_ok : builtins.int = ..., + tx_packets_received : builtins.int = ..., + tx_packets_emitted : builtins.int = ..., + metadata : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + tx_packets_per_frequency : typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ..., + rx_packets_per_frequency : typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ..., + tx_packets_per_dr : typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ..., + rx_packets_per_dr : typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ..., + tx_packets_per_status : typing.Optional[typing.Mapping[typing.Text, builtins.int]] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"location",b"location",u"time",b"time"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway_id",b"gateway_id",u"location",b"location",u"metadata",b"metadata",u"rx_packets_per_dr",b"rx_packets_per_dr",u"rx_packets_per_frequency",b"rx_packets_per_frequency",u"rx_packets_received",b"rx_packets_received",u"rx_packets_received_ok",b"rx_packets_received_ok",u"stats_id",b"stats_id",u"time",b"time",u"tx_packets_emitted",b"tx_packets_emitted",u"tx_packets_per_dr",b"tx_packets_per_dr",u"tx_packets_per_frequency",b"tx_packets_per_frequency",u"tx_packets_per_status",b"tx_packets_per_status",u"tx_packets_received",b"tx_packets_received"]) -> None: ... +global___HandleGatewayStatsRequest = HandleGatewayStatsRequest + +class HandleTxAckRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + GATEWAY_ID_FIELD_NUMBER: builtins.int + TX_INFO_FIELD_NUMBER: builtins.int + # Device EUI (8 bytes). + dev_eui: builtins.bytes = ... + # Downlink frame-counter. + f_cnt: builtins.int = ... + # Gateway ID. + gateway_id: builtins.bytes = ... + # TXInfo contains the TX related meta-data. + @property + def tx_info(self) -> chirpstack_api.gw.gw_pb2.DownlinkTXInfo: ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + f_cnt : builtins.int = ..., + gateway_id : builtins.bytes = ..., + tx_info : typing.Optional[chirpstack_api.gw.gw_pb2.DownlinkTXInfo] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui",u"f_cnt",b"f_cnt",u"gateway_id",b"gateway_id",u"tx_info",b"tx_info"]) -> None: ... +global___HandleTxAckRequest = HandleTxAckRequest + +class ReEncryptDeviceQueueItemsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + DEV_ADDR_FIELD_NUMBER: builtins.int + F_CNT_START_FIELD_NUMBER: builtins.int + ITEMS_FIELD_NUMBER: builtins.int + # DevEUI of the device. + dev_eui: builtins.bytes = ... + # Device addres. + # This is the device address which was used to encrypt the given + # payloads. + dev_addr: builtins.bytes = ... + # Downlink frame-counter to start with. + # The application-server must use this value when encrypting the first + # item, and increment it for each successive item. + f_cnt_start: builtins.int = ... + # Items to re-encrypt. + @property + def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ReEncryptDeviceQueueItem]: ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + dev_addr : builtins.bytes = ..., + f_cnt_start : builtins.int = ..., + items : typing.Optional[typing.Iterable[global___ReEncryptDeviceQueueItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_addr",b"dev_addr",u"dev_eui",b"dev_eui",u"f_cnt_start",b"f_cnt_start",u"items",b"items"]) -> None: ... +global___ReEncryptDeviceQueueItemsRequest = ReEncryptDeviceQueueItemsRequest + +class ReEncryptDeviceQueueItemsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ITEMS_FIELD_NUMBER: builtins.int + @property + def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ReEncryptedDeviceQueueItem]: ... + def __init__(self, + *, + items : typing.Optional[typing.Iterable[global___ReEncryptedDeviceQueueItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"items",b"items"]) -> None: ... +global___ReEncryptDeviceQueueItemsResponse = ReEncryptDeviceQueueItemsResponse + +class ReEncryptDeviceQueueItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + FRM_PAYLOAD_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + F_PORT_FIELD_NUMBER: builtins.int + CONFIRMED_FIELD_NUMBER: builtins.int + # The encrypted FRMPayload bytes. + frm_payload: builtins.bytes = ... + # The original FCnt of the payload. + f_cnt: builtins.int = ... + # The FPort of the payload. + f_port: builtins.int = ... + # Payload is of type confirmed. + confirmed: builtins.bool = ... + def __init__(self, + *, + frm_payload : builtins.bytes = ..., + f_cnt : builtins.int = ..., + f_port : builtins.int = ..., + confirmed : builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"confirmed",b"confirmed",u"f_cnt",b"f_cnt",u"f_port",b"f_port",u"frm_payload",b"frm_payload"]) -> None: ... +global___ReEncryptDeviceQueueItem = ReEncryptDeviceQueueItem + +class ReEncryptedDeviceQueueItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + FRM_PAYLOAD_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + F_PORT_FIELD_NUMBER: builtins.int + CONFIRMED_FIELD_NUMBER: builtins.int + # The re-encrypted FRMPayload bytes. + frm_payload: builtins.bytes = ... + # The new FCnt of the payload. + f_cnt: builtins.int = ... + # The FPort of the payload. + f_port: builtins.int = ... + # Payload is of type confirmed. + confirmed: builtins.bool = ... + def __init__(self, + *, + frm_payload : builtins.bytes = ..., + f_cnt : builtins.int = ..., + f_port : builtins.int = ..., + confirmed : builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"confirmed",b"confirmed",u"f_cnt",b"f_cnt",u"f_port",b"f_port",u"frm_payload",b"frm_payload"]) -> None: ... +global___ReEncryptedDeviceQueueItem = ReEncryptedDeviceQueueItem diff --git a/python/src/chirpstack_api/as_pb/as_pb_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/as_pb_pb2_grpc.pyi new file mode 100644 index 00000000..d67e4ce1 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/as_pb_pb2_grpc.pyi @@ -0,0 +1,139 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc + +from .as_pb_pb2 import * +# ApplicationServerService is the service providing the application-server interface. +class ApplicationServerServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # HandleUplinkData handles uplink data received from an end-device. + HandleUplinkData:grpc.UnaryUnaryMultiCallable[ + global___HandleUplinkDataRequest, + google.protobuf.empty_pb2.Empty] = ... + + # HandleProprietaryUplink handles proprietary uplink payloads. + HandleProprietaryUplink:grpc.UnaryUnaryMultiCallable[ + global___HandleProprietaryUplinkRequest, + google.protobuf.empty_pb2.Empty] = ... + + # HandleError handles an error message. + HandleError:grpc.UnaryUnaryMultiCallable[ + global___HandleErrorRequest, + google.protobuf.empty_pb2.Empty] = ... + + # HandleDownlinkACK handles a downlink ACK or nACK response. + HandleDownlinkACK:grpc.UnaryUnaryMultiCallable[ + global___HandleDownlinkACKRequest, + google.protobuf.empty_pb2.Empty] = ... + + # HandleGatewayStats handles the given gateway stats. + HandleGatewayStats:grpc.UnaryUnaryMultiCallable[ + global___HandleGatewayStatsRequest, + google.protobuf.empty_pb2.Empty] = ... + + # HandleTXACK handles the TX acknowledgement. + HandleTxAck:grpc.UnaryUnaryMultiCallable[ + global___HandleTxAckRequest, + google.protobuf.empty_pb2.Empty] = ... + + # SetDeviceStatus updates the device-status for a device. + SetDeviceStatus:grpc.UnaryUnaryMultiCallable[ + global___SetDeviceStatusRequest, + google.protobuf.empty_pb2.Empty] = ... + + # SetDeviceLocation updates the device-location for a device. + SetDeviceLocation:grpc.UnaryUnaryMultiCallable[ + global___SetDeviceLocationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # ReEncryptDeviceQueueItems requests the application-server to re-encrypt + # the given payload items using the new parameters. This request is + # for example triggered when the associated frame-counter of a downlink + # payload will be used by a mac-layer only payload, e.g. when the NS has + # mac-commands (or ACKs) to send to the device and combining this with + # an application-layer payload would exceed the max. payload size. + # Note there is no requirement that the number of returned items must be + # equal to the number of requested items. + ReEncryptDeviceQueueItems:grpc.UnaryUnaryMultiCallable[ + global___ReEncryptDeviceQueueItemsRequest, + global___ReEncryptDeviceQueueItemsResponse] = ... + + +# ApplicationServerService is the service providing the application-server interface. +class ApplicationServerServiceServicer(metaclass=abc.ABCMeta): + # HandleUplinkData handles uplink data received from an end-device. + @abc.abstractmethod + def HandleUplinkData(self, + request: global___HandleUplinkDataRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # HandleProprietaryUplink handles proprietary uplink payloads. + @abc.abstractmethod + def HandleProprietaryUplink(self, + request: global___HandleProprietaryUplinkRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # HandleError handles an error message. + @abc.abstractmethod + def HandleError(self, + request: global___HandleErrorRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # HandleDownlinkACK handles a downlink ACK or nACK response. + @abc.abstractmethod + def HandleDownlinkACK(self, + request: global___HandleDownlinkACKRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # HandleGatewayStats handles the given gateway stats. + @abc.abstractmethod + def HandleGatewayStats(self, + request: global___HandleGatewayStatsRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # HandleTXACK handles the TX acknowledgement. + @abc.abstractmethod + def HandleTxAck(self, + request: global___HandleTxAckRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # SetDeviceStatus updates the device-status for a device. + @abc.abstractmethod + def SetDeviceStatus(self, + request: global___SetDeviceStatusRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # SetDeviceLocation updates the device-location for a device. + @abc.abstractmethod + def SetDeviceLocation(self, + request: global___SetDeviceLocationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # ReEncryptDeviceQueueItems requests the application-server to re-encrypt + # the given payload items using the new parameters. This request is + # for example triggered when the associated frame-counter of a downlink + # payload will be used by a mac-layer only payload, e.g. when the NS has + # mac-commands (or ACKs) to send to the device and combining this with + # an application-layer payload would exceed the max. payload size. + # Note there is no requirement that the number of returned items must be + # equal to the number of requested items. + @abc.abstractmethod + def ReEncryptDeviceQueueItems(self, + request: global___ReEncryptDeviceQueueItemsRequest, + context: grpc.ServicerContext, + ) -> global___ReEncryptDeviceQueueItemsResponse: ... + + +def add_ApplicationServerServiceServicer_to_server(servicer: ApplicationServerServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/as_pb/external/api/application_grpc.py b/python/src/chirpstack_api/as_pb/external/api/application_grpc.py new file mode 100644 index 00000000..dec30bf7 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/application_grpc.py @@ -0,0 +1,715 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/external/api/application.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.protobuf.timestamp_pb2 +import google.api.annotations_pb2 +import google.protobuf.empty_pb2 +import chirpstack_api.as_pb.external.api.application_pb2 + + +class ApplicationServiceBase(abc.ABC): + + @abc.abstractmethod + async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateApplicationRequest, chirpstack_api.as_pb.external.api.application_pb2.CreateApplicationResponse]') -> None: + pass + + @abc.abstractmethod + async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetApplicationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetApplicationResponse]') -> None: + pass + + @abc.abstractmethod + async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateApplicationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteApplicationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.ListApplicationRequest, chirpstack_api.as_pb.external.api.application_pb2.ListApplicationResponse]') -> None: + pass + + @abc.abstractmethod + async def CreateHTTPIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateHTTPIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetHTTPIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetHTTPIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetHTTPIntegrationResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateHTTPIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateHTTPIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteHTTPIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteHTTPIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def CreateInfluxDBIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateInfluxDBIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetInfluxDBIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetInfluxDBIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetInfluxDBIntegrationResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateInfluxDBIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateInfluxDBIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteInfluxDBIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteInfluxDBIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def CreateThingsBoardIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateThingsBoardIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetThingsBoardIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetThingsBoardIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetThingsBoardIntegrationResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateThingsBoardIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateThingsBoardIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteThingsBoardIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteThingsBoardIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def CreateMyDevicesIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateMyDevicesIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetMyDevicesIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetMyDevicesIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetMyDevicesIntegrationResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateMyDevicesIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateMyDevicesIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteMyDevicesIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteMyDevicesIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def CreateLoRaCloudIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateLoRaCloudIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetLoRaCloudIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetLoRaCloudIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetLoRaCloudIntegrationResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateLoRaCloudIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateLoRaCloudIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteLoRaCloudIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteLoRaCloudIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def CreateGCPPubSubIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateGCPPubSubIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetGCPPubSubIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetGCPPubSubIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetGCPPubSubIntegrationResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateGCPPubSubIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateGCPPubSubIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteGCPPubSubIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteGCPPubSubIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def CreateAWSSNSIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateAWSSNSIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetAWSSNSIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetAWSSNSIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetAWSSNSIntegrationResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateAWSSNSIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateAWSSNSIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteAWSSNSIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteAWSSNSIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def CreateAzureServiceBusIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateAzureServiceBusIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetAzureServiceBusIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetAzureServiceBusIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetAzureServiceBusIntegrationResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateAzureServiceBusIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateAzureServiceBusIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteAzureServiceBusIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteAzureServiceBusIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def CreatePilotThingsIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreatePilotThingsIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetPilotThingsIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetPilotThingsIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetPilotThingsIntegrationResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdatePilotThingsIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdatePilotThingsIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeletePilotThingsIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeletePilotThingsIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def ListIntegrations(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.ListIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.ListIntegrationResponse]') -> None: + pass + + @abc.abstractmethod + async def GenerateMQTTIntegrationClientCertificate(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GenerateMQTTIntegrationClientCertificateRequest, chirpstack_api.as_pb.external.api.application_pb2.GenerateMQTTIntegrationClientCertificateResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/api.ApplicationService/Create': grpclib.const.Handler( + self.Create, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.CreateApplicationRequest, + chirpstack_api.as_pb.external.api.application_pb2.CreateApplicationResponse, + ), + '/api.ApplicationService/Get': grpclib.const.Handler( + self.Get, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.GetApplicationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetApplicationResponse, + ), + '/api.ApplicationService/Update': grpclib.const.Handler( + self.Update, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.UpdateApplicationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/Delete': grpclib.const.Handler( + self.Delete, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.DeleteApplicationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/List': grpclib.const.Handler( + self.List, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.ListApplicationRequest, + chirpstack_api.as_pb.external.api.application_pb2.ListApplicationResponse, + ), + '/api.ApplicationService/CreateHTTPIntegration': grpclib.const.Handler( + self.CreateHTTPIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.CreateHTTPIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/GetHTTPIntegration': grpclib.const.Handler( + self.GetHTTPIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.GetHTTPIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetHTTPIntegrationResponse, + ), + '/api.ApplicationService/UpdateHTTPIntegration': grpclib.const.Handler( + self.UpdateHTTPIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.UpdateHTTPIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/DeleteHTTPIntegration': grpclib.const.Handler( + self.DeleteHTTPIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.DeleteHTTPIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/CreateInfluxDBIntegration': grpclib.const.Handler( + self.CreateInfluxDBIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.CreateInfluxDBIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/GetInfluxDBIntegration': grpclib.const.Handler( + self.GetInfluxDBIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.GetInfluxDBIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetInfluxDBIntegrationResponse, + ), + '/api.ApplicationService/UpdateInfluxDBIntegration': grpclib.const.Handler( + self.UpdateInfluxDBIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.UpdateInfluxDBIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/DeleteInfluxDBIntegration': grpclib.const.Handler( + self.DeleteInfluxDBIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.DeleteInfluxDBIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/CreateThingsBoardIntegration': grpclib.const.Handler( + self.CreateThingsBoardIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.CreateThingsBoardIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/GetThingsBoardIntegration': grpclib.const.Handler( + self.GetThingsBoardIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.GetThingsBoardIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetThingsBoardIntegrationResponse, + ), + '/api.ApplicationService/UpdateThingsBoardIntegration': grpclib.const.Handler( + self.UpdateThingsBoardIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.UpdateThingsBoardIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/DeleteThingsBoardIntegration': grpclib.const.Handler( + self.DeleteThingsBoardIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.DeleteThingsBoardIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/CreateMyDevicesIntegration': grpclib.const.Handler( + self.CreateMyDevicesIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.CreateMyDevicesIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/GetMyDevicesIntegration': grpclib.const.Handler( + self.GetMyDevicesIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.GetMyDevicesIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetMyDevicesIntegrationResponse, + ), + '/api.ApplicationService/UpdateMyDevicesIntegration': grpclib.const.Handler( + self.UpdateMyDevicesIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.UpdateMyDevicesIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/DeleteMyDevicesIntegration': grpclib.const.Handler( + self.DeleteMyDevicesIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.DeleteMyDevicesIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/CreateLoRaCloudIntegration': grpclib.const.Handler( + self.CreateLoRaCloudIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.CreateLoRaCloudIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/GetLoRaCloudIntegration': grpclib.const.Handler( + self.GetLoRaCloudIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.GetLoRaCloudIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetLoRaCloudIntegrationResponse, + ), + '/api.ApplicationService/UpdateLoRaCloudIntegration': grpclib.const.Handler( + self.UpdateLoRaCloudIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.UpdateLoRaCloudIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/DeleteLoRaCloudIntegration': grpclib.const.Handler( + self.DeleteLoRaCloudIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.DeleteLoRaCloudIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/CreateGCPPubSubIntegration': grpclib.const.Handler( + self.CreateGCPPubSubIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.CreateGCPPubSubIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/GetGCPPubSubIntegration': grpclib.const.Handler( + self.GetGCPPubSubIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.GetGCPPubSubIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetGCPPubSubIntegrationResponse, + ), + '/api.ApplicationService/UpdateGCPPubSubIntegration': grpclib.const.Handler( + self.UpdateGCPPubSubIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.UpdateGCPPubSubIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/DeleteGCPPubSubIntegration': grpclib.const.Handler( + self.DeleteGCPPubSubIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.DeleteGCPPubSubIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/CreateAWSSNSIntegration': grpclib.const.Handler( + self.CreateAWSSNSIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.CreateAWSSNSIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/GetAWSSNSIntegration': grpclib.const.Handler( + self.GetAWSSNSIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.GetAWSSNSIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetAWSSNSIntegrationResponse, + ), + '/api.ApplicationService/UpdateAWSSNSIntegration': grpclib.const.Handler( + self.UpdateAWSSNSIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.UpdateAWSSNSIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/DeleteAWSSNSIntegration': grpclib.const.Handler( + self.DeleteAWSSNSIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.DeleteAWSSNSIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/CreateAzureServiceBusIntegration': grpclib.const.Handler( + self.CreateAzureServiceBusIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.CreateAzureServiceBusIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/GetAzureServiceBusIntegration': grpclib.const.Handler( + self.GetAzureServiceBusIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.GetAzureServiceBusIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetAzureServiceBusIntegrationResponse, + ), + '/api.ApplicationService/UpdateAzureServiceBusIntegration': grpclib.const.Handler( + self.UpdateAzureServiceBusIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.UpdateAzureServiceBusIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/DeleteAzureServiceBusIntegration': grpclib.const.Handler( + self.DeleteAzureServiceBusIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.DeleteAzureServiceBusIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/CreatePilotThingsIntegration': grpclib.const.Handler( + self.CreatePilotThingsIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.CreatePilotThingsIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/GetPilotThingsIntegration': grpclib.const.Handler( + self.GetPilotThingsIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.GetPilotThingsIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetPilotThingsIntegrationResponse, + ), + '/api.ApplicationService/UpdatePilotThingsIntegration': grpclib.const.Handler( + self.UpdatePilotThingsIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.UpdatePilotThingsIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/DeletePilotThingsIntegration': grpclib.const.Handler( + self.DeletePilotThingsIntegration, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.DeletePilotThingsIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ApplicationService/ListIntegrations': grpclib.const.Handler( + self.ListIntegrations, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.ListIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.ListIntegrationResponse, + ), + '/api.ApplicationService/GenerateMQTTIntegrationClientCertificate': grpclib.const.Handler( + self.GenerateMQTTIntegrationClientCertificate, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.application_pb2.GenerateMQTTIntegrationClientCertificateRequest, + chirpstack_api.as_pb.external.api.application_pb2.GenerateMQTTIntegrationClientCertificateResponse, + ), + } + + +class ApplicationServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.Create = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/Create', + chirpstack_api.as_pb.external.api.application_pb2.CreateApplicationRequest, + chirpstack_api.as_pb.external.api.application_pb2.CreateApplicationResponse, + ) + self.Get = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/Get', + chirpstack_api.as_pb.external.api.application_pb2.GetApplicationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetApplicationResponse, + ) + self.Update = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/Update', + chirpstack_api.as_pb.external.api.application_pb2.UpdateApplicationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Delete = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/Delete', + chirpstack_api.as_pb.external.api.application_pb2.DeleteApplicationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.List = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/List', + chirpstack_api.as_pb.external.api.application_pb2.ListApplicationRequest, + chirpstack_api.as_pb.external.api.application_pb2.ListApplicationResponse, + ) + self.CreateHTTPIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/CreateHTTPIntegration', + chirpstack_api.as_pb.external.api.application_pb2.CreateHTTPIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetHTTPIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/GetHTTPIntegration', + chirpstack_api.as_pb.external.api.application_pb2.GetHTTPIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetHTTPIntegrationResponse, + ) + self.UpdateHTTPIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/UpdateHTTPIntegration', + chirpstack_api.as_pb.external.api.application_pb2.UpdateHTTPIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteHTTPIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/DeleteHTTPIntegration', + chirpstack_api.as_pb.external.api.application_pb2.DeleteHTTPIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.CreateInfluxDBIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/CreateInfluxDBIntegration', + chirpstack_api.as_pb.external.api.application_pb2.CreateInfluxDBIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetInfluxDBIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/GetInfluxDBIntegration', + chirpstack_api.as_pb.external.api.application_pb2.GetInfluxDBIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetInfluxDBIntegrationResponse, + ) + self.UpdateInfluxDBIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/UpdateInfluxDBIntegration', + chirpstack_api.as_pb.external.api.application_pb2.UpdateInfluxDBIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteInfluxDBIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/DeleteInfluxDBIntegration', + chirpstack_api.as_pb.external.api.application_pb2.DeleteInfluxDBIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.CreateThingsBoardIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/CreateThingsBoardIntegration', + chirpstack_api.as_pb.external.api.application_pb2.CreateThingsBoardIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetThingsBoardIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/GetThingsBoardIntegration', + chirpstack_api.as_pb.external.api.application_pb2.GetThingsBoardIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetThingsBoardIntegrationResponse, + ) + self.UpdateThingsBoardIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/UpdateThingsBoardIntegration', + chirpstack_api.as_pb.external.api.application_pb2.UpdateThingsBoardIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteThingsBoardIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/DeleteThingsBoardIntegration', + chirpstack_api.as_pb.external.api.application_pb2.DeleteThingsBoardIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.CreateMyDevicesIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/CreateMyDevicesIntegration', + chirpstack_api.as_pb.external.api.application_pb2.CreateMyDevicesIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetMyDevicesIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/GetMyDevicesIntegration', + chirpstack_api.as_pb.external.api.application_pb2.GetMyDevicesIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetMyDevicesIntegrationResponse, + ) + self.UpdateMyDevicesIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/UpdateMyDevicesIntegration', + chirpstack_api.as_pb.external.api.application_pb2.UpdateMyDevicesIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteMyDevicesIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/DeleteMyDevicesIntegration', + chirpstack_api.as_pb.external.api.application_pb2.DeleteMyDevicesIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.CreateLoRaCloudIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/CreateLoRaCloudIntegration', + chirpstack_api.as_pb.external.api.application_pb2.CreateLoRaCloudIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetLoRaCloudIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/GetLoRaCloudIntegration', + chirpstack_api.as_pb.external.api.application_pb2.GetLoRaCloudIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetLoRaCloudIntegrationResponse, + ) + self.UpdateLoRaCloudIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/UpdateLoRaCloudIntegration', + chirpstack_api.as_pb.external.api.application_pb2.UpdateLoRaCloudIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteLoRaCloudIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/DeleteLoRaCloudIntegration', + chirpstack_api.as_pb.external.api.application_pb2.DeleteLoRaCloudIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.CreateGCPPubSubIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/CreateGCPPubSubIntegration', + chirpstack_api.as_pb.external.api.application_pb2.CreateGCPPubSubIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetGCPPubSubIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/GetGCPPubSubIntegration', + chirpstack_api.as_pb.external.api.application_pb2.GetGCPPubSubIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetGCPPubSubIntegrationResponse, + ) + self.UpdateGCPPubSubIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/UpdateGCPPubSubIntegration', + chirpstack_api.as_pb.external.api.application_pb2.UpdateGCPPubSubIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteGCPPubSubIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/DeleteGCPPubSubIntegration', + chirpstack_api.as_pb.external.api.application_pb2.DeleteGCPPubSubIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.CreateAWSSNSIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/CreateAWSSNSIntegration', + chirpstack_api.as_pb.external.api.application_pb2.CreateAWSSNSIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetAWSSNSIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/GetAWSSNSIntegration', + chirpstack_api.as_pb.external.api.application_pb2.GetAWSSNSIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetAWSSNSIntegrationResponse, + ) + self.UpdateAWSSNSIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/UpdateAWSSNSIntegration', + chirpstack_api.as_pb.external.api.application_pb2.UpdateAWSSNSIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteAWSSNSIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/DeleteAWSSNSIntegration', + chirpstack_api.as_pb.external.api.application_pb2.DeleteAWSSNSIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.CreateAzureServiceBusIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/CreateAzureServiceBusIntegration', + chirpstack_api.as_pb.external.api.application_pb2.CreateAzureServiceBusIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetAzureServiceBusIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/GetAzureServiceBusIntegration', + chirpstack_api.as_pb.external.api.application_pb2.GetAzureServiceBusIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetAzureServiceBusIntegrationResponse, + ) + self.UpdateAzureServiceBusIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/UpdateAzureServiceBusIntegration', + chirpstack_api.as_pb.external.api.application_pb2.UpdateAzureServiceBusIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteAzureServiceBusIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/DeleteAzureServiceBusIntegration', + chirpstack_api.as_pb.external.api.application_pb2.DeleteAzureServiceBusIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.CreatePilotThingsIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/CreatePilotThingsIntegration', + chirpstack_api.as_pb.external.api.application_pb2.CreatePilotThingsIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetPilotThingsIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/GetPilotThingsIntegration', + chirpstack_api.as_pb.external.api.application_pb2.GetPilotThingsIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.GetPilotThingsIntegrationResponse, + ) + self.UpdatePilotThingsIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/UpdatePilotThingsIntegration', + chirpstack_api.as_pb.external.api.application_pb2.UpdatePilotThingsIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeletePilotThingsIntegration = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/DeletePilotThingsIntegration', + chirpstack_api.as_pb.external.api.application_pb2.DeletePilotThingsIntegrationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.ListIntegrations = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/ListIntegrations', + chirpstack_api.as_pb.external.api.application_pb2.ListIntegrationRequest, + chirpstack_api.as_pb.external.api.application_pb2.ListIntegrationResponse, + ) + self.GenerateMQTTIntegrationClientCertificate = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ApplicationService/GenerateMQTTIntegrationClientCertificate', + chirpstack_api.as_pb.external.api.application_pb2.GenerateMQTTIntegrationClientCertificateRequest, + chirpstack_api.as_pb.external.api.application_pb2.GenerateMQTTIntegrationClientCertificateResponse, + ) diff --git a/python/src/chirpstack_api/as_pb/external/api/application_pb2.pyi b/python/src/chirpstack_api/as_pb/external/api/application_pb2.pyi new file mode 100644 index 00000000..9335fdd6 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/application_pb2.pyi @@ -0,0 +1,1356 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class IntegrationKind(_IntegrationKind, metaclass=_IntegrationKindEnumTypeWrapper): + pass +class _IntegrationKind: + V = typing.NewType('V', builtins.int) +class _IntegrationKindEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_IntegrationKind.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + HTTP = IntegrationKind.V(0) + INFLUXDB = IntegrationKind.V(1) + THINGSBOARD = IntegrationKind.V(2) + MYDEVICES = IntegrationKind.V(3) + LORACLOUD = IntegrationKind.V(4) + GCP_PUBSUB = IntegrationKind.V(5) + AWS_SNS = IntegrationKind.V(6) + AZURE_SERVICE_BUS = IntegrationKind.V(7) + PILOT_THINGS = IntegrationKind.V(8) + MQTT_GLOBAL = IntegrationKind.V(9) + +HTTP = IntegrationKind.V(0) +INFLUXDB = IntegrationKind.V(1) +THINGSBOARD = IntegrationKind.V(2) +MYDEVICES = IntegrationKind.V(3) +LORACLOUD = IntegrationKind.V(4) +GCP_PUBSUB = IntegrationKind.V(5) +AWS_SNS = IntegrationKind.V(6) +AZURE_SERVICE_BUS = IntegrationKind.V(7) +PILOT_THINGS = IntegrationKind.V(8) +MQTT_GLOBAL = IntegrationKind.V(9) +global___IntegrationKind = IntegrationKind + + +class Marshaler(_Marshaler, metaclass=_MarshalerEnumTypeWrapper): + pass +class _Marshaler: + V = typing.NewType('V', builtins.int) +class _MarshalerEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Marshaler.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + JSON = Marshaler.V(0) + PROTOBUF = Marshaler.V(1) + JSON_V3 = Marshaler.V(2) + +JSON = Marshaler.V(0) +PROTOBUF = Marshaler.V(1) +JSON_V3 = Marshaler.V(2) +global___Marshaler = Marshaler + + +class InfluxDBPrecision(_InfluxDBPrecision, metaclass=_InfluxDBPrecisionEnumTypeWrapper): + pass +class _InfluxDBPrecision: + V = typing.NewType('V', builtins.int) +class _InfluxDBPrecisionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_InfluxDBPrecision.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + NS = InfluxDBPrecision.V(0) + U = InfluxDBPrecision.V(1) + MS = InfluxDBPrecision.V(2) + S = InfluxDBPrecision.V(3) + M = InfluxDBPrecision.V(4) + H = InfluxDBPrecision.V(5) + +NS = InfluxDBPrecision.V(0) +U = InfluxDBPrecision.V(1) +MS = InfluxDBPrecision.V(2) +S = InfluxDBPrecision.V(3) +M = InfluxDBPrecision.V(4) +H = InfluxDBPrecision.V(5) +global___InfluxDBPrecision = InfluxDBPrecision + + +class InfluxDBVersion(_InfluxDBVersion, metaclass=_InfluxDBVersionEnumTypeWrapper): + pass +class _InfluxDBVersion: + V = typing.NewType('V', builtins.int) +class _InfluxDBVersionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_InfluxDBVersion.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + INFLUXDB_1 = InfluxDBVersion.V(0) + INFLUXDB_2 = InfluxDBVersion.V(1) + +INFLUXDB_1 = InfluxDBVersion.V(0) +INFLUXDB_2 = InfluxDBVersion.V(1) +global___InfluxDBVersion = InfluxDBVersion + + +class Application(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + SERVICE_PROFILE_ID_FIELD_NUMBER: builtins.int + PAYLOAD_CODEC_FIELD_NUMBER: builtins.int + PAYLOAD_ENCODER_SCRIPT_FIELD_NUMBER: builtins.int + PAYLOAD_DECODER_SCRIPT_FIELD_NUMBER: builtins.int + # Application ID. + # This will be automatically assigned on create. + id: builtins.int = ... + # Name of the application (must be unique). + name: typing.Text = ... + # Description of the application. + description: typing.Text = ... + # ID of the organization to which the application belongs. + # After create, this can not be modified. + organization_id: builtins.int = ... + # ID of the service profile. + service_profile_id: typing.Text = ... + # Payload codec. + # NOTE: These field have moved to the device-profile and will be removed + # in the next major release. When set, the device-profile payload_ fields + # have priority over the application payload_ fields. + payload_codec: typing.Text = ... + # Payload encoder script. + # NOTE: These field have moved to the device-profile and will be removed + # in the next major release. When set, the device-profile payload_ fields + # have priority over the application payload_ fields. + payload_encoder_script: typing.Text = ... + # Payload decoder script. + # NOTE: These field have moved to the device-profile and will be removed + # in the next major release. When set, the device-profile payload_ fields + # have priority over the application payload_ fields. + payload_decoder_script: typing.Text = ... + def __init__(self, + *, + id : builtins.int = ..., + name : typing.Text = ..., + description : typing.Text = ..., + organization_id : builtins.int = ..., + service_profile_id : typing.Text = ..., + payload_codec : typing.Text = ..., + payload_encoder_script : typing.Text = ..., + payload_decoder_script : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"description",b"description",u"id",b"id",u"name",b"name",u"organization_id",b"organization_id",u"payload_codec",b"payload_codec",u"payload_decoder_script",b"payload_decoder_script",u"payload_encoder_script",b"payload_encoder_script",u"service_profile_id",b"service_profile_id"]) -> None: ... +global___Application = Application + +class ApplicationListItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + SERVICE_PROFILE_ID_FIELD_NUMBER: builtins.int + SERVICE_PROFILE_NAME_FIELD_NUMBER: builtins.int + # Application ID. + id: builtins.int = ... + # Name of the application. + name: typing.Text = ... + # Description of the application. + description: typing.Text = ... + # ID of the organization to which the application belongs. + organization_id: builtins.int = ... + # ID of the service profile. + service_profile_id: typing.Text = ... + # Service-profile name. + service_profile_name: typing.Text = ... + def __init__(self, + *, + id : builtins.int = ..., + name : typing.Text = ..., + description : typing.Text = ..., + organization_id : builtins.int = ..., + service_profile_id : typing.Text = ..., + service_profile_name : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"description",b"description",u"id",b"id",u"name",b"name",u"organization_id",b"organization_id",u"service_profile_id",b"service_profile_id",u"service_profile_name",b"service_profile_name"]) -> None: ... +global___ApplicationListItem = ApplicationListItem + +class CreateApplicationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_FIELD_NUMBER: builtins.int + # Application object to create. + @property + def application(self) -> global___Application: ... + def __init__(self, + *, + application : typing.Optional[global___Application] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"application",b"application"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application",b"application"]) -> None: ... +global___CreateApplicationRequest = CreateApplicationRequest + +class CreateApplicationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Application ID. + id: builtins.int = ... + def __init__(self, + *, + id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___CreateApplicationResponse = CreateApplicationResponse + +class GetApplicationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Application ID. + id: builtins.int = ... + def __init__(self, + *, + id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetApplicationRequest = GetApplicationRequest + +class GetApplicationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_FIELD_NUMBER: builtins.int + # Application object. + @property + def application(self) -> global___Application: ... + def __init__(self, + *, + application : typing.Optional[global___Application] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"application",b"application"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application",b"application"]) -> None: ... +global___GetApplicationResponse = GetApplicationResponse + +class UpdateApplicationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_FIELD_NUMBER: builtins.int + # Application object to update. + @property + def application(self) -> global___Application: ... + def __init__(self, + *, + application : typing.Optional[global___Application] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"application",b"application"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application",b"application"]) -> None: ... +global___UpdateApplicationRequest = UpdateApplicationRequest + +class DeleteApplicationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Application ID. + id: builtins.int = ... + def __init__(self, + *, + id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteApplicationRequest = DeleteApplicationRequest + +class ListApplicationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + LIMIT_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + SEARCH_FIELD_NUMBER: builtins.int + # Max number of applications to return in the result-test. + limit: builtins.int = ... + # Offset in the result-set (for pagination). + offset: builtins.int = ... + # ID of the organization to filter on. + organization_id: builtins.int = ... + # Search on name (optional). + search: typing.Text = ... + def __init__(self, + *, + limit : builtins.int = ..., + offset : builtins.int = ..., + organization_id : builtins.int = ..., + search : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"limit",b"limit",u"offset",b"offset",u"organization_id",b"organization_id",u"search",b"search"]) -> None: ... +global___ListApplicationRequest = ListApplicationRequest + +class ListApplicationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TOTAL_COUNT_FIELD_NUMBER: builtins.int + RESULT_FIELD_NUMBER: builtins.int + # Total number of applications available within the result-set. + total_count: builtins.int = ... + # Applications within this result-set. + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ApplicationListItem]: ... + def __init__(self, + *, + total_count : builtins.int = ..., + result : typing.Optional[typing.Iterable[global___ApplicationListItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result",u"total_count",b"total_count"]) -> None: ... +global___ListApplicationResponse = ListApplicationResponse + +class HTTPIntegrationHeader(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + # Key + key: typing.Text = ... + # Value + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... +global___HTTPIntegrationHeader = HTTPIntegrationHeader + +class HTTPIntegration(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + HEADERS_FIELD_NUMBER: builtins.int + UPLINK_DATA_URL_FIELD_NUMBER: builtins.int + JOIN_NOTIFICATION_URL_FIELD_NUMBER: builtins.int + ACK_NOTIFICATION_URL_FIELD_NUMBER: builtins.int + ERROR_NOTIFICATION_URL_FIELD_NUMBER: builtins.int + STATUS_NOTIFICATION_URL_FIELD_NUMBER: builtins.int + LOCATION_NOTIFICATION_URL_FIELD_NUMBER: builtins.int + TX_ACK_NOTIFICATION_URL_FIELD_NUMBER: builtins.int + INTEGRATION_NOTIFICATION_URL_FIELD_NUMBER: builtins.int + MARSHALER_FIELD_NUMBER: builtins.int + EVENT_ENDPOINT_URL_FIELD_NUMBER: builtins.int + # The id of the application. + application_id: builtins.int = ... + # The headers to use when making HTTP callbacks. + @property + def headers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HTTPIntegrationHeader]: ... + # The URL to call for uplink data. + # Deprecated: use event_endpoint_url. + uplink_data_url: typing.Text = ... + # The URL to call for join notifications. + # Deprecated: use event_endpoint_url. + join_notification_url: typing.Text = ... + # The URL to call for ACK notifications (for confirmed downlink data). + # Deprecated: use event_endpoint_url. + ack_notification_url: typing.Text = ... + # The URL to call for error notifications. + # Deprecated: use event_endpoint_url. + error_notification_url: typing.Text = ... + # The URL to call for device-status notifications. + # Deprecated: use event_endpoint_url. + status_notification_url: typing.Text = ... + # The URL to call for location notifications. + # Deprecated: use event_endpoint_url. + location_notification_url: typing.Text = ... + # The URL to call for tx ack notifications (downlink acknowledged by gateway for transmission). + # Deprecated: use event_endpoint_url. + tx_ack_notification_url: typing.Text = ... + # The URL to call for integration notifications. + # Deprecated: use event_endpoint_url. + integration_notification_url: typing.Text = ... + # Marshaler. + # This defines the marshaler that is used to encode the event payload. + marshaler: global___Marshaler.V = ... + # Event endpoint URL. + # The HTTP integration will POST all events to this enpoint. The request + # will contain a query parameters "event" containing the type of the + # event. + event_endpoint_url: typing.Text = ... + def __init__(self, + *, + application_id : builtins.int = ..., + headers : typing.Optional[typing.Iterable[global___HTTPIntegrationHeader]] = ..., + uplink_data_url : typing.Text = ..., + join_notification_url : typing.Text = ..., + ack_notification_url : typing.Text = ..., + error_notification_url : typing.Text = ..., + status_notification_url : typing.Text = ..., + location_notification_url : typing.Text = ..., + tx_ack_notification_url : typing.Text = ..., + integration_notification_url : typing.Text = ..., + marshaler : global___Marshaler.V = ..., + event_endpoint_url : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"ack_notification_url",b"ack_notification_url",u"application_id",b"application_id",u"error_notification_url",b"error_notification_url",u"event_endpoint_url",b"event_endpoint_url",u"headers",b"headers",u"integration_notification_url",b"integration_notification_url",u"join_notification_url",b"join_notification_url",u"location_notification_url",b"location_notification_url",u"marshaler",b"marshaler",u"status_notification_url",b"status_notification_url",u"tx_ack_notification_url",b"tx_ack_notification_url",u"uplink_data_url",b"uplink_data_url"]) -> None: ... +global___HTTPIntegration = HTTPIntegration + +class CreateHTTPIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object to create. + @property + def integration(self) -> global___HTTPIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___HTTPIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___CreateHTTPIntegrationRequest = CreateHTTPIntegrationRequest + +class GetHTTPIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___GetHTTPIntegrationRequest = GetHTTPIntegrationRequest + +class GetHTTPIntegrationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object. + @property + def integration(self) -> global___HTTPIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___HTTPIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___GetHTTPIntegrationResponse = GetHTTPIntegrationResponse + +class UpdateHTTPIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object to update. + @property + def integration(self) -> global___HTTPIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___HTTPIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___UpdateHTTPIntegrationRequest = UpdateHTTPIntegrationRequest + +class DeleteHTTPIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # The id of the application. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___DeleteHTTPIntegrationRequest = DeleteHTTPIntegrationRequest + +class ListIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # The id of the application. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___ListIntegrationRequest = ListIntegrationRequest + +class IntegrationListItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KIND_FIELD_NUMBER: builtins.int + # Integration kind. + kind: global___IntegrationKind.V = ... + def __init__(self, + *, + kind : global___IntegrationKind.V = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"kind",b"kind"]) -> None: ... +global___IntegrationListItem = IntegrationListItem + +class ListIntegrationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TOTAL_COUNT_FIELD_NUMBER: builtins.int + RESULT_FIELD_NUMBER: builtins.int + # Total number of integrations available within the result-set. + total_count: builtins.int = ... + # Integrations within result-set. + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IntegrationListItem]: ... + def __init__(self, + *, + total_count : builtins.int = ..., + result : typing.Optional[typing.Iterable[global___IntegrationListItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result",u"total_count",b"total_count"]) -> None: ... +global___ListIntegrationResponse = ListIntegrationResponse + +class InfluxDBIntegration(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + ENDPOINT_FIELD_NUMBER: builtins.int + DB_FIELD_NUMBER: builtins.int + USERNAME_FIELD_NUMBER: builtins.int + PASSWORD_FIELD_NUMBER: builtins.int + RETENTION_POLICY_NAME_FIELD_NUMBER: builtins.int + PRECISION_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + TOKEN_FIELD_NUMBER: builtins.int + ORGANIZATION_FIELD_NUMBER: builtins.int + BUCKET_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # InfluxDB API write endpoint (e.g. http://localhost:8086/write). + endpoint: typing.Text = ... + # InfluxDB database name. (InfluxDB v1) + db: typing.Text = ... + # InfluxDB username. (InfluxDB v1) + username: typing.Text = ... + # InfluxDB password. (InfluxDB v1) + password: typing.Text = ... + # InfluxDB retention policy name. (InfluxDB v1) + retention_policy_name: typing.Text = ... + # InfluxDB timestamp precision (InfluxDB v1). + precision: global___InfluxDBPrecision.V = ... + # InfluxDB version. + version: global___InfluxDBVersion.V = ... + # Token. (InfluxDB v2) + token: typing.Text = ... + # Organization. (InfluxDB v2) + organization: typing.Text = ... + # Bucket. (InfluxDB v2) + bucket: typing.Text = ... + def __init__(self, + *, + application_id : builtins.int = ..., + endpoint : typing.Text = ..., + db : typing.Text = ..., + username : typing.Text = ..., + password : typing.Text = ..., + retention_policy_name : typing.Text = ..., + precision : global___InfluxDBPrecision.V = ..., + version : global___InfluxDBVersion.V = ..., + token : typing.Text = ..., + organization : typing.Text = ..., + bucket : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"bucket",b"bucket",u"db",b"db",u"endpoint",b"endpoint",u"organization",b"organization",u"password",b"password",u"precision",b"precision",u"retention_policy_name",b"retention_policy_name",u"token",b"token",u"username",b"username",u"version",b"version"]) -> None: ... +global___InfluxDBIntegration = InfluxDBIntegration + +class CreateInfluxDBIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object to create. + @property + def integration(self) -> global___InfluxDBIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___InfluxDBIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___CreateInfluxDBIntegrationRequest = CreateInfluxDBIntegrationRequest + +class GetInfluxDBIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___GetInfluxDBIntegrationRequest = GetInfluxDBIntegrationRequest + +class GetInfluxDBIntegrationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object. + @property + def integration(self) -> global___InfluxDBIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___InfluxDBIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___GetInfluxDBIntegrationResponse = GetInfluxDBIntegrationResponse + +class UpdateInfluxDBIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object. + @property + def integration(self) -> global___InfluxDBIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___InfluxDBIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___UpdateInfluxDBIntegrationRequest = UpdateInfluxDBIntegrationRequest + +class DeleteInfluxDBIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___DeleteInfluxDBIntegrationRequest = DeleteInfluxDBIntegrationRequest + +class ThingsBoardIntegration(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + SERVER_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # ThingsBoard server endpoint, e.g. https://example.com + server: typing.Text = ... + def __init__(self, + *, + application_id : builtins.int = ..., + server : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"server",b"server"]) -> None: ... +global___ThingsBoardIntegration = ThingsBoardIntegration + +class CreateThingsBoardIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object to create. + @property + def integration(self) -> global___ThingsBoardIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___ThingsBoardIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___CreateThingsBoardIntegrationRequest = CreateThingsBoardIntegrationRequest + +class GetThingsBoardIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___GetThingsBoardIntegrationRequest = GetThingsBoardIntegrationRequest + +class GetThingsBoardIntegrationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object. + @property + def integration(self) -> global___ThingsBoardIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___ThingsBoardIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___GetThingsBoardIntegrationResponse = GetThingsBoardIntegrationResponse + +class UpdateThingsBoardIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object. + @property + def integration(self) -> global___ThingsBoardIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___ThingsBoardIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___UpdateThingsBoardIntegrationRequest = UpdateThingsBoardIntegrationRequest + +class DeleteThingsBoardIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___DeleteThingsBoardIntegrationRequest = DeleteThingsBoardIntegrationRequest + +class MyDevicesIntegration(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + ENDPOINT_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # MyDevices API endpoint. + endpoint: typing.Text = ... + def __init__(self, + *, + application_id : builtins.int = ..., + endpoint : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"endpoint",b"endpoint"]) -> None: ... +global___MyDevicesIntegration = MyDevicesIntegration + +class CreateMyDevicesIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object to create. + @property + def integration(self) -> global___MyDevicesIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___MyDevicesIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___CreateMyDevicesIntegrationRequest = CreateMyDevicesIntegrationRequest + +class GetMyDevicesIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___GetMyDevicesIntegrationRequest = GetMyDevicesIntegrationRequest + +class GetMyDevicesIntegrationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object. + @property + def integration(self) -> global___MyDevicesIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___MyDevicesIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___GetMyDevicesIntegrationResponse = GetMyDevicesIntegrationResponse + +class UpdateMyDevicesIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object. + @property + def integration(self) -> global___MyDevicesIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___MyDevicesIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___UpdateMyDevicesIntegrationRequest = UpdateMyDevicesIntegrationRequest + +class DeleteMyDevicesIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___DeleteMyDevicesIntegrationRequest = DeleteMyDevicesIntegrationRequest + +class LoRaCloudIntegration(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + GEOLOCATION_FIELD_NUMBER: builtins.int + GEOLOCATION_TOKEN_FIELD_NUMBER: builtins.int + GEOLOCATION_BUFFER_TTL_FIELD_NUMBER: builtins.int + GEOLOCATION_MIN_BUFFER_SIZE_FIELD_NUMBER: builtins.int + GEOLOCATION_TDOA_FIELD_NUMBER: builtins.int + GEOLOCATION_RSSI_FIELD_NUMBER: builtins.int + GEOLOCATION_GNSS_FIELD_NUMBER: builtins.int + GEOLOCATION_GNSS_PAYLOAD_FIELD_FIELD_NUMBER: builtins.int + GEOLOCATION_GNSS_USE_RX_TIME_FIELD_NUMBER: builtins.int + GEOLOCATION_WIFI_FIELD_NUMBER: builtins.int + GEOLOCATION_WIFI_PAYLOAD_FIELD_FIELD_NUMBER: builtins.int + DAS_FIELD_NUMBER: builtins.int + DAS_TOKEN_FIELD_NUMBER: builtins.int + DAS_MODEM_PORT_FIELD_NUMBER: builtins.int + DAS_GNSS_PORT_FIELD_NUMBER: builtins.int + DAS_GNSS_USE_RX_TIME_FIELD_NUMBER: builtins.int + DAS_STREAMING_GEOLOC_WORKAROUND_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # Geolocation enabled. + geolocation: builtins.bool = ... + # Geolocation token. + # This token can be obtained from the LoRa Cloud console. + geolocation_token: typing.Text = ... + # Geolocation buffer TTL (in seconds). + # When > 0, uplink RX meta-data will be stored in a buffer so that + # the meta-data of multiple uplinks can be used for geolocation. + geolocation_buffer_ttl: builtins.int = ... + # Geolocation minimum buffer size. + # When > 0, geolocation will only be performed when the buffer has + # at least the given size. + geolocation_min_buffer_size: builtins.int = ... + # TDOA based geolocation is enabled. + geolocation_tdoa: builtins.bool = ... + # RSSI based geolocation is enabled. + geolocation_rssi: builtins.bool = ... + # GNSS based geolocation is enabled (LR1110). + geolocation_gnss: builtins.bool = ... + # GNSS payload field. + # This holds the name of the field in the decoded payload object which + # contains the GNSS payload bytes. + geolocation_gnss_payload_field: typing.Text = ... + # GNSS use RX time. + # In case this is set to true, the resolver will use the RX time of the + # network instead of the timestamp included in the LR1110 payload. + geolocation_gnss_use_rx_time: builtins.bool = ... + # Wifi based geolocation is enabled. + geolocation_wifi: builtins.bool = ... + # Wifi payload field. + # This holds the name of the field in the decoded payload object which + # contains an array of objects with the following fields: + # * macAddress - e.g. 01:23:45:67:89:ab + # * signalStrength - e.g. -51 (optional) + geolocation_wifi_payload_field: typing.Text = ... + # Device Application Services enabled. + das: builtins.bool = ... + # Device Application Services token. + # This token can be obtained from the LoRa Cloud console. + das_token: typing.Text = ... + # Device Application Services modem port (FPort). + # ChirpStack Application Server will only forward the FRMPayload to DAS + # when the uplink FPort is equal to this value. + das_modem_port: builtins.int = ... + # Device Application Services GNSS port (FPort). + # ChirpStack Application Server will forward the FRMPayload to DAS when + # as GNSS payload when the uplink FPort is equal to this value. + das_gnss_port: builtins.int = ... + # Device Application Services GNSS use RX time. + # In case this is set to true, the DAS resolver will use the RX time of the + # network instead of the timestamp included in the LR1110 payload. + das_gnss_use_rx_time: builtins.bool = ... + # Device Application Services streaming geoloc work-around. + # This is a temporarily work-around for processing streaming geolocation + # data. When enabled, stream records (expected in TLV format) are scanned + # for GNSS data (0x06 or 0x07). If found, the ChirpStack Application Server + # will make an additional call to the DAS API for resolving the location + # using the detected payload. + das_streaming_geoloc_workaround: builtins.bool = ... + def __init__(self, + *, + application_id : builtins.int = ..., + geolocation : builtins.bool = ..., + geolocation_token : typing.Text = ..., + geolocation_buffer_ttl : builtins.int = ..., + geolocation_min_buffer_size : builtins.int = ..., + geolocation_tdoa : builtins.bool = ..., + geolocation_rssi : builtins.bool = ..., + geolocation_gnss : builtins.bool = ..., + geolocation_gnss_payload_field : typing.Text = ..., + geolocation_gnss_use_rx_time : builtins.bool = ..., + geolocation_wifi : builtins.bool = ..., + geolocation_wifi_payload_field : typing.Text = ..., + das : builtins.bool = ..., + das_token : typing.Text = ..., + das_modem_port : builtins.int = ..., + das_gnss_port : builtins.int = ..., + das_gnss_use_rx_time : builtins.bool = ..., + das_streaming_geoloc_workaround : builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"das",b"das",u"das_gnss_port",b"das_gnss_port",u"das_gnss_use_rx_time",b"das_gnss_use_rx_time",u"das_modem_port",b"das_modem_port",u"das_streaming_geoloc_workaround",b"das_streaming_geoloc_workaround",u"das_token",b"das_token",u"geolocation",b"geolocation",u"geolocation_buffer_ttl",b"geolocation_buffer_ttl",u"geolocation_gnss",b"geolocation_gnss",u"geolocation_gnss_payload_field",b"geolocation_gnss_payload_field",u"geolocation_gnss_use_rx_time",b"geolocation_gnss_use_rx_time",u"geolocation_min_buffer_size",b"geolocation_min_buffer_size",u"geolocation_rssi",b"geolocation_rssi",u"geolocation_tdoa",b"geolocation_tdoa",u"geolocation_token",b"geolocation_token",u"geolocation_wifi",b"geolocation_wifi",u"geolocation_wifi_payload_field",b"geolocation_wifi_payload_field"]) -> None: ... +global___LoRaCloudIntegration = LoRaCloudIntegration + +class CreateLoRaCloudIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object to create. + @property + def integration(self) -> global___LoRaCloudIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___LoRaCloudIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___CreateLoRaCloudIntegrationRequest = CreateLoRaCloudIntegrationRequest + +class GetLoRaCloudIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___GetLoRaCloudIntegrationRequest = GetLoRaCloudIntegrationRequest + +class GetLoRaCloudIntegrationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object. + @property + def integration(self) -> global___LoRaCloudIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___LoRaCloudIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___GetLoRaCloudIntegrationResponse = GetLoRaCloudIntegrationResponse + +class UpdateLoRaCloudIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object. + @property + def integration(self) -> global___LoRaCloudIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___LoRaCloudIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___UpdateLoRaCloudIntegrationRequest = UpdateLoRaCloudIntegrationRequest + +class DeleteLoRaCloudIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___DeleteLoRaCloudIntegrationRequest = DeleteLoRaCloudIntegrationRequest + +class GCPPubSubIntegration(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + MARSHALER_FIELD_NUMBER: builtins.int + CREDENTIALS_FILE_FIELD_NUMBER: builtins.int + PROJECT_ID_FIELD_NUMBER: builtins.int + TOPIC_NAME_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # Marshaler. + # This defines the marshaler that is used to encode the event payload. + marshaler: global___Marshaler.V = ... + # Credentials file. + # This IAM service-account credentials file (JSON) must have the following Pub/Sub roles: + # * Pub/Sub Publisher + credentials_file: typing.Text = ... + # Project ID. + project_id: typing.Text = ... + # Topic name. + # This is the name of the Pub/Sub topic. + topic_name: typing.Text = ... + def __init__(self, + *, + application_id : builtins.int = ..., + marshaler : global___Marshaler.V = ..., + credentials_file : typing.Text = ..., + project_id : typing.Text = ..., + topic_name : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"credentials_file",b"credentials_file",u"marshaler",b"marshaler",u"project_id",b"project_id",u"topic_name",b"topic_name"]) -> None: ... +global___GCPPubSubIntegration = GCPPubSubIntegration + +class CreateGCPPubSubIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object to create. + @property + def integration(self) -> global___GCPPubSubIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___GCPPubSubIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___CreateGCPPubSubIntegrationRequest = CreateGCPPubSubIntegrationRequest + +class GetGCPPubSubIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___GetGCPPubSubIntegrationRequest = GetGCPPubSubIntegrationRequest + +class GetGCPPubSubIntegrationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object. + @property + def integration(self) -> global___GCPPubSubIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___GCPPubSubIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___GetGCPPubSubIntegrationResponse = GetGCPPubSubIntegrationResponse + +class UpdateGCPPubSubIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object to update. + @property + def integration(self) -> global___GCPPubSubIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___GCPPubSubIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___UpdateGCPPubSubIntegrationRequest = UpdateGCPPubSubIntegrationRequest + +class DeleteGCPPubSubIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # The id of the application. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___DeleteGCPPubSubIntegrationRequest = DeleteGCPPubSubIntegrationRequest + +class AWSSNSIntegration(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + MARSHALER_FIELD_NUMBER: builtins.int + REGION_FIELD_NUMBER: builtins.int + ACCESS_KEY_ID_FIELD_NUMBER: builtins.int + SECRET_ACCESS_KEY_FIELD_NUMBER: builtins.int + TOPIC_ARN_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # Marshaler. + # This defines the marshaler that is used to encode the event payload. + marshaler: global___Marshaler.V = ... + # AWS region. + region: typing.Text = ... + # AWS Access Key ID. + access_key_id: typing.Text = ... + # AWS Secret Access Key. + secret_access_key: typing.Text = ... + # Topic ARN. + topic_arn: typing.Text = ... + def __init__(self, + *, + application_id : builtins.int = ..., + marshaler : global___Marshaler.V = ..., + region : typing.Text = ..., + access_key_id : typing.Text = ..., + secret_access_key : typing.Text = ..., + topic_arn : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"access_key_id",b"access_key_id",u"application_id",b"application_id",u"marshaler",b"marshaler",u"region",b"region",u"secret_access_key",b"secret_access_key",u"topic_arn",b"topic_arn"]) -> None: ... +global___AWSSNSIntegration = AWSSNSIntegration + +class CreateAWSSNSIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object to create. + @property + def integration(self) -> global___AWSSNSIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___AWSSNSIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___CreateAWSSNSIntegrationRequest = CreateAWSSNSIntegrationRequest + +class GetAWSSNSIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___GetAWSSNSIntegrationRequest = GetAWSSNSIntegrationRequest + +class GetAWSSNSIntegrationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object. + @property + def integration(self) -> global___AWSSNSIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___AWSSNSIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___GetAWSSNSIntegrationResponse = GetAWSSNSIntegrationResponse + +class UpdateAWSSNSIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object to update. + @property + def integration(self) -> global___AWSSNSIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___AWSSNSIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___UpdateAWSSNSIntegrationRequest = UpdateAWSSNSIntegrationRequest + +class DeleteAWSSNSIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # The id of the application. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___DeleteAWSSNSIntegrationRequest = DeleteAWSSNSIntegrationRequest + +class AzureServiceBusIntegration(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + MARSHALER_FIELD_NUMBER: builtins.int + CONNECTION_STRING_FIELD_NUMBER: builtins.int + PUBLISH_NAME_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # Marshaler. + # This defines the marshaler that is used to encode the event payload. + marshaler: global___Marshaler.V = ... + # Connection string. + connection_string: typing.Text = ... + # Publish name. + # This is the name of the topic or queue. + publish_name: typing.Text = ... + def __init__(self, + *, + application_id : builtins.int = ..., + marshaler : global___Marshaler.V = ..., + connection_string : typing.Text = ..., + publish_name : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"connection_string",b"connection_string",u"marshaler",b"marshaler",u"publish_name",b"publish_name"]) -> None: ... +global___AzureServiceBusIntegration = AzureServiceBusIntegration + +class CreateAzureServiceBusIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object to create. + @property + def integration(self) -> global___AzureServiceBusIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___AzureServiceBusIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___CreateAzureServiceBusIntegrationRequest = CreateAzureServiceBusIntegrationRequest + +class GetAzureServiceBusIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___GetAzureServiceBusIntegrationRequest = GetAzureServiceBusIntegrationRequest + +class GetAzureServiceBusIntegrationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object. + @property + def integration(self) -> global___AzureServiceBusIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___AzureServiceBusIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___GetAzureServiceBusIntegrationResponse = GetAzureServiceBusIntegrationResponse + +class UpdateAzureServiceBusIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object to update. + @property + def integration(self) -> global___AzureServiceBusIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___AzureServiceBusIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___UpdateAzureServiceBusIntegrationRequest = UpdateAzureServiceBusIntegrationRequest + +class DeleteAzureServiceBusIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # The id of the application. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___DeleteAzureServiceBusIntegrationRequest = DeleteAzureServiceBusIntegrationRequest + +class PilotThingsIntegration(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + SERVER_FIELD_NUMBER: builtins.int + TOKEN_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # Server URL + server: typing.Text = ... + # Authentication token + token: typing.Text = ... + def __init__(self, + *, + application_id : builtins.int = ..., + server : typing.Text = ..., + token : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"server",b"server",u"token",b"token"]) -> None: ... +global___PilotThingsIntegration = PilotThingsIntegration + +class CreatePilotThingsIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object to create. + @property + def integration(self) -> global___PilotThingsIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___PilotThingsIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___CreatePilotThingsIntegrationRequest = CreatePilotThingsIntegrationRequest + +class GetPilotThingsIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___GetPilotThingsIntegrationRequest = GetPilotThingsIntegrationRequest + +class GetPilotThingsIntegrationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object. + @property + def integration(self) -> global___PilotThingsIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___PilotThingsIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___GetPilotThingsIntegrationResponse = GetPilotThingsIntegrationResponse + +class UpdatePilotThingsIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + INTEGRATION_FIELD_NUMBER: builtins.int + # Integration object to update. + @property + def integration(self) -> global___PilotThingsIntegration: ... + def __init__(self, + *, + integration : typing.Optional[global___PilotThingsIntegration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"integration",b"integration"]) -> None: ... +global___UpdatePilotThingsIntegrationRequest = UpdatePilotThingsIntegrationRequest + +class DeletePilotThingsIntegrationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # The id of the application. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___DeletePilotThingsIntegrationRequest = DeletePilotThingsIntegrationRequest + +class GenerateMQTTIntegrationClientCertificateRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + def __init__(self, + *, + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id"]) -> None: ... +global___GenerateMQTTIntegrationClientCertificateRequest = GenerateMQTTIntegrationClientCertificateRequest + +class GenerateMQTTIntegrationClientCertificateResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TLS_CERT_FIELD_NUMBER: builtins.int + TLS_KEY_FIELD_NUMBER: builtins.int + CA_CERT_FIELD_NUMBER: builtins.int + EXPIRES_AT_FIELD_NUMBER: builtins.int + # TLS certificate. + tls_cert: typing.Text = ... + # TLS key. + tls_key: typing.Text = ... + # CA certificate. + ca_cert: typing.Text = ... + # Expires at defines the expiration date of the certificate. + @property + def expires_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + tls_cert : typing.Text = ..., + tls_key : typing.Text = ..., + ca_cert : typing.Text = ..., + expires_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"expires_at",b"expires_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"ca_cert",b"ca_cert",u"expires_at",b"expires_at",u"tls_cert",b"tls_cert",u"tls_key",b"tls_key"]) -> None: ... +global___GenerateMQTTIntegrationClientCertificateResponse = GenerateMQTTIntegrationClientCertificateResponse diff --git a/python/src/chirpstack_api/as_pb/external/api/application_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/external/api/application_pb2_grpc.pyi new file mode 100644 index 00000000..8bf21c3f --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/application_pb2_grpc.pyi @@ -0,0 +1,535 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc + +from .application_pb2 import * +# ApplicationService is the service managing applications. +class ApplicationServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # Create creates the given application. + Create:grpc.UnaryUnaryMultiCallable[ + global___CreateApplicationRequest, + global___CreateApplicationResponse] = ... + + # Get returns the requested application. + Get:grpc.UnaryUnaryMultiCallable[ + global___GetApplicationRequest, + global___GetApplicationResponse] = ... + + # Update updates the given application. + Update:grpc.UnaryUnaryMultiCallable[ + global___UpdateApplicationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Delete deletes the given application. + Delete:grpc.UnaryUnaryMultiCallable[ + global___DeleteApplicationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # List lists the available applications. + List:grpc.UnaryUnaryMultiCallable[ + global___ListApplicationRequest, + global___ListApplicationResponse] = ... + + # CreateHTTPIntegration creates a HTTP application-integration. + CreateHTTPIntegration:grpc.UnaryUnaryMultiCallable[ + global___CreateHTTPIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetHTTPIntegration returns the HTTP application-integration. + GetHTTPIntegration:grpc.UnaryUnaryMultiCallable[ + global___GetHTTPIntegrationRequest, + global___GetHTTPIntegrationResponse] = ... + + # UpdateHTTPIntegration updates the HTTP application-integration. + UpdateHTTPIntegration:grpc.UnaryUnaryMultiCallable[ + global___UpdateHTTPIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteIntegration deletes the HTTP application-integration. + DeleteHTTPIntegration:grpc.UnaryUnaryMultiCallable[ + global___DeleteHTTPIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # CreateInfluxDBIntegration create an InfluxDB application-integration. + CreateInfluxDBIntegration:grpc.UnaryUnaryMultiCallable[ + global___CreateInfluxDBIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetInfluxDBIntegration returns the InfluxDB application-integration. + GetInfluxDBIntegration:grpc.UnaryUnaryMultiCallable[ + global___GetInfluxDBIntegrationRequest, + global___GetInfluxDBIntegrationResponse] = ... + + # UpdateInfluxDBIntegration updates the InfluxDB application-integration. + UpdateInfluxDBIntegration:grpc.UnaryUnaryMultiCallable[ + global___UpdateInfluxDBIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteInfluxDBIntegration deletes the InfluxDB application-integration. + DeleteInfluxDBIntegration:grpc.UnaryUnaryMultiCallable[ + global___DeleteInfluxDBIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # CreateThingsBoardIntegration creates a ThingsBoard application-integration. + CreateThingsBoardIntegration:grpc.UnaryUnaryMultiCallable[ + global___CreateThingsBoardIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetThingsBoardIntegration returns the ThingsBoard application-integration. + GetThingsBoardIntegration:grpc.UnaryUnaryMultiCallable[ + global___GetThingsBoardIntegrationRequest, + global___GetThingsBoardIntegrationResponse] = ... + + # UpdateThingsBoardIntegration updates the ThingsBoard application-integration. + UpdateThingsBoardIntegration:grpc.UnaryUnaryMultiCallable[ + global___UpdateThingsBoardIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteThingsBoardIntegration deletes the ThingsBoard application-integration. + DeleteThingsBoardIntegration:grpc.UnaryUnaryMultiCallable[ + global___DeleteThingsBoardIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # CreateMyDevicesIntegration creates a MyDevices application-integration. + CreateMyDevicesIntegration:grpc.UnaryUnaryMultiCallable[ + global___CreateMyDevicesIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetMyDevicesIntegration returns the MyDevices application-integration. + GetMyDevicesIntegration:grpc.UnaryUnaryMultiCallable[ + global___GetMyDevicesIntegrationRequest, + global___GetMyDevicesIntegrationResponse] = ... + + # UpdateMyDevicesIntegration updates the MyDevices application-integration. + UpdateMyDevicesIntegration:grpc.UnaryUnaryMultiCallable[ + global___UpdateMyDevicesIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteMyDevicesIntegration deletes the MyDevices application-integration. + DeleteMyDevicesIntegration:grpc.UnaryUnaryMultiCallable[ + global___DeleteMyDevicesIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # CreateLoRaCloudIntegration creates A LoRaCloud application-integration. + CreateLoRaCloudIntegration:grpc.UnaryUnaryMultiCallable[ + global___CreateLoRaCloudIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetLoRaCloudIntegration returns the LoRaCloud application-integration. + GetLoRaCloudIntegration:grpc.UnaryUnaryMultiCallable[ + global___GetLoRaCloudIntegrationRequest, + global___GetLoRaCloudIntegrationResponse] = ... + + # UpdateLoRaCloudIntegration updates the LoRaCloud application-integration. + UpdateLoRaCloudIntegration:grpc.UnaryUnaryMultiCallable[ + global___UpdateLoRaCloudIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteLoRaCloudIntegration deletes the LoRaCloud application-integration. + DeleteLoRaCloudIntegration:grpc.UnaryUnaryMultiCallable[ + global___DeleteLoRaCloudIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # CreateGCPPubSubIntegration creates a GCP PubSub application-integration. + CreateGCPPubSubIntegration:grpc.UnaryUnaryMultiCallable[ + global___CreateGCPPubSubIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetGCPPubSubIntegration returns the GCP PubSub application-integration. + GetGCPPubSubIntegration:grpc.UnaryUnaryMultiCallable[ + global___GetGCPPubSubIntegrationRequest, + global___GetGCPPubSubIntegrationResponse] = ... + + # UpdateGCPPubSubIntegration updates the GCP PubSub application-integration. + UpdateGCPPubSubIntegration:grpc.UnaryUnaryMultiCallable[ + global___UpdateGCPPubSubIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteGCPPubSubIntegration deletes the GCP PubSub application-integration. + DeleteGCPPubSubIntegration:grpc.UnaryUnaryMultiCallable[ + global___DeleteGCPPubSubIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # CreateAWSSNSIntegration creates a AWS SNS application-integration. + CreateAWSSNSIntegration:grpc.UnaryUnaryMultiCallable[ + global___CreateAWSSNSIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetAWSSNSIntegration returns the AWS SNS application-integration. + GetAWSSNSIntegration:grpc.UnaryUnaryMultiCallable[ + global___GetAWSSNSIntegrationRequest, + global___GetAWSSNSIntegrationResponse] = ... + + # UpdateAWSSNSIntegration updates the AWS SNS application-integration. + UpdateAWSSNSIntegration:grpc.UnaryUnaryMultiCallable[ + global___UpdateAWSSNSIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteAWSSNSIntegration deletes the AWS SNS application-integration. + DeleteAWSSNSIntegration:grpc.UnaryUnaryMultiCallable[ + global___DeleteAWSSNSIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # CreateAzureServiceBusIntegration creates an Azure Service-Bus application-integration. + CreateAzureServiceBusIntegration:grpc.UnaryUnaryMultiCallable[ + global___CreateAzureServiceBusIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetAzureServiceBusIntegration returns the Azure Service-Bus application-integration. + GetAzureServiceBusIntegration:grpc.UnaryUnaryMultiCallable[ + global___GetAzureServiceBusIntegrationRequest, + global___GetAzureServiceBusIntegrationResponse] = ... + + # UpdateAzureServiceBusIntegration updates the Azure Service-Bus application-integration. + UpdateAzureServiceBusIntegration:grpc.UnaryUnaryMultiCallable[ + global___UpdateAzureServiceBusIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteAzureServiceBusIntegration deletes the Azure Service-Bus application-integration. + DeleteAzureServiceBusIntegration:grpc.UnaryUnaryMultiCallable[ + global___DeleteAzureServiceBusIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # CreatePilotThingsIntegration creates an Pilot Things application-integration. + CreatePilotThingsIntegration:grpc.UnaryUnaryMultiCallable[ + global___CreatePilotThingsIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetPilotThingsIntegration returns the Pilot Things application-integration. + GetPilotThingsIntegration:grpc.UnaryUnaryMultiCallable[ + global___GetPilotThingsIntegrationRequest, + global___GetPilotThingsIntegrationResponse] = ... + + # UpdatePilotThingsIntegration updates the Pilot Things application-integration. + UpdatePilotThingsIntegration:grpc.UnaryUnaryMultiCallable[ + global___UpdatePilotThingsIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeletePilotThingsIntegration deletes the Pilot Things application-integration. + DeletePilotThingsIntegration:grpc.UnaryUnaryMultiCallable[ + global___DeletePilotThingsIntegrationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # ListIntegrations lists all configured integrations. + ListIntegrations:grpc.UnaryUnaryMultiCallable[ + global___ListIntegrationRequest, + global___ListIntegrationResponse] = ... + + # GenerateMQTTIntegrationClientCertificate generates an application ID specific TLS certificate + # to connect to the MQTT broker. + GenerateMQTTIntegrationClientCertificate:grpc.UnaryUnaryMultiCallable[ + global___GenerateMQTTIntegrationClientCertificateRequest, + global___GenerateMQTTIntegrationClientCertificateResponse] = ... + + +# ApplicationService is the service managing applications. +class ApplicationServiceServicer(metaclass=abc.ABCMeta): + # Create creates the given application. + @abc.abstractmethod + def Create(self, + request: global___CreateApplicationRequest, + context: grpc.ServicerContext, + ) -> global___CreateApplicationResponse: ... + + # Get returns the requested application. + @abc.abstractmethod + def Get(self, + request: global___GetApplicationRequest, + context: grpc.ServicerContext, + ) -> global___GetApplicationResponse: ... + + # Update updates the given application. + @abc.abstractmethod + def Update(self, + request: global___UpdateApplicationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Delete deletes the given application. + @abc.abstractmethod + def Delete(self, + request: global___DeleteApplicationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # List lists the available applications. + @abc.abstractmethod + def List(self, + request: global___ListApplicationRequest, + context: grpc.ServicerContext, + ) -> global___ListApplicationResponse: ... + + # CreateHTTPIntegration creates a HTTP application-integration. + @abc.abstractmethod + def CreateHTTPIntegration(self, + request: global___CreateHTTPIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetHTTPIntegration returns the HTTP application-integration. + @abc.abstractmethod + def GetHTTPIntegration(self, + request: global___GetHTTPIntegrationRequest, + context: grpc.ServicerContext, + ) -> global___GetHTTPIntegrationResponse: ... + + # UpdateHTTPIntegration updates the HTTP application-integration. + @abc.abstractmethod + def UpdateHTTPIntegration(self, + request: global___UpdateHTTPIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteIntegration deletes the HTTP application-integration. + @abc.abstractmethod + def DeleteHTTPIntegration(self, + request: global___DeleteHTTPIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # CreateInfluxDBIntegration create an InfluxDB application-integration. + @abc.abstractmethod + def CreateInfluxDBIntegration(self, + request: global___CreateInfluxDBIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetInfluxDBIntegration returns the InfluxDB application-integration. + @abc.abstractmethod + def GetInfluxDBIntegration(self, + request: global___GetInfluxDBIntegrationRequest, + context: grpc.ServicerContext, + ) -> global___GetInfluxDBIntegrationResponse: ... + + # UpdateInfluxDBIntegration updates the InfluxDB application-integration. + @abc.abstractmethod + def UpdateInfluxDBIntegration(self, + request: global___UpdateInfluxDBIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteInfluxDBIntegration deletes the InfluxDB application-integration. + @abc.abstractmethod + def DeleteInfluxDBIntegration(self, + request: global___DeleteInfluxDBIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # CreateThingsBoardIntegration creates a ThingsBoard application-integration. + @abc.abstractmethod + def CreateThingsBoardIntegration(self, + request: global___CreateThingsBoardIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetThingsBoardIntegration returns the ThingsBoard application-integration. + @abc.abstractmethod + def GetThingsBoardIntegration(self, + request: global___GetThingsBoardIntegrationRequest, + context: grpc.ServicerContext, + ) -> global___GetThingsBoardIntegrationResponse: ... + + # UpdateThingsBoardIntegration updates the ThingsBoard application-integration. + @abc.abstractmethod + def UpdateThingsBoardIntegration(self, + request: global___UpdateThingsBoardIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteThingsBoardIntegration deletes the ThingsBoard application-integration. + @abc.abstractmethod + def DeleteThingsBoardIntegration(self, + request: global___DeleteThingsBoardIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # CreateMyDevicesIntegration creates a MyDevices application-integration. + @abc.abstractmethod + def CreateMyDevicesIntegration(self, + request: global___CreateMyDevicesIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetMyDevicesIntegration returns the MyDevices application-integration. + @abc.abstractmethod + def GetMyDevicesIntegration(self, + request: global___GetMyDevicesIntegrationRequest, + context: grpc.ServicerContext, + ) -> global___GetMyDevicesIntegrationResponse: ... + + # UpdateMyDevicesIntegration updates the MyDevices application-integration. + @abc.abstractmethod + def UpdateMyDevicesIntegration(self, + request: global___UpdateMyDevicesIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteMyDevicesIntegration deletes the MyDevices application-integration. + @abc.abstractmethod + def DeleteMyDevicesIntegration(self, + request: global___DeleteMyDevicesIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # CreateLoRaCloudIntegration creates A LoRaCloud application-integration. + @abc.abstractmethod + def CreateLoRaCloudIntegration(self, + request: global___CreateLoRaCloudIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetLoRaCloudIntegration returns the LoRaCloud application-integration. + @abc.abstractmethod + def GetLoRaCloudIntegration(self, + request: global___GetLoRaCloudIntegrationRequest, + context: grpc.ServicerContext, + ) -> global___GetLoRaCloudIntegrationResponse: ... + + # UpdateLoRaCloudIntegration updates the LoRaCloud application-integration. + @abc.abstractmethod + def UpdateLoRaCloudIntegration(self, + request: global___UpdateLoRaCloudIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteLoRaCloudIntegration deletes the LoRaCloud application-integration. + @abc.abstractmethod + def DeleteLoRaCloudIntegration(self, + request: global___DeleteLoRaCloudIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # CreateGCPPubSubIntegration creates a GCP PubSub application-integration. + @abc.abstractmethod + def CreateGCPPubSubIntegration(self, + request: global___CreateGCPPubSubIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetGCPPubSubIntegration returns the GCP PubSub application-integration. + @abc.abstractmethod + def GetGCPPubSubIntegration(self, + request: global___GetGCPPubSubIntegrationRequest, + context: grpc.ServicerContext, + ) -> global___GetGCPPubSubIntegrationResponse: ... + + # UpdateGCPPubSubIntegration updates the GCP PubSub application-integration. + @abc.abstractmethod + def UpdateGCPPubSubIntegration(self, + request: global___UpdateGCPPubSubIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteGCPPubSubIntegration deletes the GCP PubSub application-integration. + @abc.abstractmethod + def DeleteGCPPubSubIntegration(self, + request: global___DeleteGCPPubSubIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # CreateAWSSNSIntegration creates a AWS SNS application-integration. + @abc.abstractmethod + def CreateAWSSNSIntegration(self, + request: global___CreateAWSSNSIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetAWSSNSIntegration returns the AWS SNS application-integration. + @abc.abstractmethod + def GetAWSSNSIntegration(self, + request: global___GetAWSSNSIntegrationRequest, + context: grpc.ServicerContext, + ) -> global___GetAWSSNSIntegrationResponse: ... + + # UpdateAWSSNSIntegration updates the AWS SNS application-integration. + @abc.abstractmethod + def UpdateAWSSNSIntegration(self, + request: global___UpdateAWSSNSIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteAWSSNSIntegration deletes the AWS SNS application-integration. + @abc.abstractmethod + def DeleteAWSSNSIntegration(self, + request: global___DeleteAWSSNSIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # CreateAzureServiceBusIntegration creates an Azure Service-Bus application-integration. + @abc.abstractmethod + def CreateAzureServiceBusIntegration(self, + request: global___CreateAzureServiceBusIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetAzureServiceBusIntegration returns the Azure Service-Bus application-integration. + @abc.abstractmethod + def GetAzureServiceBusIntegration(self, + request: global___GetAzureServiceBusIntegrationRequest, + context: grpc.ServicerContext, + ) -> global___GetAzureServiceBusIntegrationResponse: ... + + # UpdateAzureServiceBusIntegration updates the Azure Service-Bus application-integration. + @abc.abstractmethod + def UpdateAzureServiceBusIntegration(self, + request: global___UpdateAzureServiceBusIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteAzureServiceBusIntegration deletes the Azure Service-Bus application-integration. + @abc.abstractmethod + def DeleteAzureServiceBusIntegration(self, + request: global___DeleteAzureServiceBusIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # CreatePilotThingsIntegration creates an Pilot Things application-integration. + @abc.abstractmethod + def CreatePilotThingsIntegration(self, + request: global___CreatePilotThingsIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetPilotThingsIntegration returns the Pilot Things application-integration. + @abc.abstractmethod + def GetPilotThingsIntegration(self, + request: global___GetPilotThingsIntegrationRequest, + context: grpc.ServicerContext, + ) -> global___GetPilotThingsIntegrationResponse: ... + + # UpdatePilotThingsIntegration updates the Pilot Things application-integration. + @abc.abstractmethod + def UpdatePilotThingsIntegration(self, + request: global___UpdatePilotThingsIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeletePilotThingsIntegration deletes the Pilot Things application-integration. + @abc.abstractmethod + def DeletePilotThingsIntegration(self, + request: global___DeletePilotThingsIntegrationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # ListIntegrations lists all configured integrations. + @abc.abstractmethod + def ListIntegrations(self, + request: global___ListIntegrationRequest, + context: grpc.ServicerContext, + ) -> global___ListIntegrationResponse: ... + + # GenerateMQTTIntegrationClientCertificate generates an application ID specific TLS certificate + # to connect to the MQTT broker. + @abc.abstractmethod + def GenerateMQTTIntegrationClientCertificate(self, + request: global___GenerateMQTTIntegrationClientCertificateRequest, + context: grpc.ServicerContext, + ) -> global___GenerateMQTTIntegrationClientCertificateResponse: ... + + +def add_ApplicationServiceServicer_to_server(servicer: ApplicationServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/as_pb/external/api/deviceProfile_grpc.py b/python/src/chirpstack_api/as_pb/external/api/deviceProfile_grpc.py new file mode 100644 index 00000000..478db8a9 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/deviceProfile_grpc.py @@ -0,0 +1,108 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/external/api/deviceProfile.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.api.annotations_pb2 +import google.protobuf.timestamp_pb2 +import google.protobuf.empty_pb2 +import chirpstack_api.as_pb.external.api.profiles_pb2 +import chirpstack_api.as_pb.external.api.deviceProfile_pb2 + + +class DeviceProfileServiceBase(abc.ABC): + + @abc.abstractmethod + async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceProfile_pb2.CreateDeviceProfileRequest, chirpstack_api.as_pb.external.api.deviceProfile_pb2.CreateDeviceProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceProfile_pb2.GetDeviceProfileRequest, chirpstack_api.as_pb.external.api.deviceProfile_pb2.GetDeviceProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceProfile_pb2.UpdateDeviceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceProfile_pb2.DeleteDeviceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceProfile_pb2.ListDeviceProfileRequest, chirpstack_api.as_pb.external.api.deviceProfile_pb2.ListDeviceProfileResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/api.DeviceProfileService/Create': grpclib.const.Handler( + self.Create, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.deviceProfile_pb2.CreateDeviceProfileRequest, + chirpstack_api.as_pb.external.api.deviceProfile_pb2.CreateDeviceProfileResponse, + ), + '/api.DeviceProfileService/Get': grpclib.const.Handler( + self.Get, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.deviceProfile_pb2.GetDeviceProfileRequest, + chirpstack_api.as_pb.external.api.deviceProfile_pb2.GetDeviceProfileResponse, + ), + '/api.DeviceProfileService/Update': grpclib.const.Handler( + self.Update, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.deviceProfile_pb2.UpdateDeviceProfileRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.DeviceProfileService/Delete': grpclib.const.Handler( + self.Delete, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.deviceProfile_pb2.DeleteDeviceProfileRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.DeviceProfileService/List': grpclib.const.Handler( + self.List, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.deviceProfile_pb2.ListDeviceProfileRequest, + chirpstack_api.as_pb.external.api.deviceProfile_pb2.ListDeviceProfileResponse, + ), + } + + +class DeviceProfileServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.Create = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceProfileService/Create', + chirpstack_api.as_pb.external.api.deviceProfile_pb2.CreateDeviceProfileRequest, + chirpstack_api.as_pb.external.api.deviceProfile_pb2.CreateDeviceProfileResponse, + ) + self.Get = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceProfileService/Get', + chirpstack_api.as_pb.external.api.deviceProfile_pb2.GetDeviceProfileRequest, + chirpstack_api.as_pb.external.api.deviceProfile_pb2.GetDeviceProfileResponse, + ) + self.Update = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceProfileService/Update', + chirpstack_api.as_pb.external.api.deviceProfile_pb2.UpdateDeviceProfileRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Delete = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceProfileService/Delete', + chirpstack_api.as_pb.external.api.deviceProfile_pb2.DeleteDeviceProfileRequest, + google.protobuf.empty_pb2.Empty, + ) + self.List = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceProfileService/List', + chirpstack_api.as_pb.external.api.deviceProfile_pb2.ListDeviceProfileRequest, + chirpstack_api.as_pb.external.api.deviceProfile_pb2.ListDeviceProfileResponse, + ) diff --git a/python/src/chirpstack_api/as_pb/external/api/deviceProfile_pb2.pyi b/python/src/chirpstack_api/as_pb/external/api/deviceProfile_pb2.pyi new file mode 100644 index 00000000..8ef88fee --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/deviceProfile_pb2.pyi @@ -0,0 +1,181 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import chirpstack_api.as_pb.external.api.profiles_pb2 +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class CreateDeviceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_PROFILE_FIELD_NUMBER: builtins.int + # Device-profile object to create. + @property + def device_profile(self) -> chirpstack_api.as_pb.external.api.profiles_pb2.DeviceProfile: ... + def __init__(self, + *, + device_profile : typing.Optional[chirpstack_api.as_pb.external.api.profiles_pb2.DeviceProfile] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device_profile",b"device_profile"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device_profile",b"device_profile"]) -> None: ... +global___CreateDeviceProfileRequest = CreateDeviceProfileRequest + +class CreateDeviceProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Device-profile ID (UUID string). + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___CreateDeviceProfileResponse = CreateDeviceProfileResponse + +class GetDeviceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Device-profile ID (UUID string). + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetDeviceProfileRequest = GetDeviceProfileRequest + +class GetDeviceProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_PROFILE_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Device-profile object. + @property + def device_profile(self) -> chirpstack_api.as_pb.external.api.profiles_pb2.DeviceProfile: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + device_profile : typing.Optional[chirpstack_api.as_pb.external.api.profiles_pb2.DeviceProfile] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"device_profile",b"device_profile",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"device_profile",b"device_profile",u"updated_at",b"updated_at"]) -> None: ... +global___GetDeviceProfileResponse = GetDeviceProfileResponse + +class UpdateDeviceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_PROFILE_FIELD_NUMBER: builtins.int + # Device-profile object to update. + @property + def device_profile(self) -> chirpstack_api.as_pb.external.api.profiles_pb2.DeviceProfile: ... + def __init__(self, + *, + device_profile : typing.Optional[chirpstack_api.as_pb.external.api.profiles_pb2.DeviceProfile] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device_profile",b"device_profile"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device_profile",b"device_profile"]) -> None: ... +global___UpdateDeviceProfileRequest = UpdateDeviceProfileRequest + +class DeleteDeviceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Device-profile ID (UUID string). + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteDeviceProfileRequest = DeleteDeviceProfileRequest + +class DeviceProfileListItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + NETWORK_SERVER_ID_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + NETWORK_SERVER_NAME_FIELD_NUMBER: builtins.int + # Device-profile ID (UUID string). + id: typing.Text = ... + # Device-profile name. + name: typing.Text = ... + # Organization ID. + organization_id: builtins.int = ... + # Network-server ID. + network_server_id: builtins.int = ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Network-server name. + network_server_name: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + name : typing.Text = ..., + organization_id : builtins.int = ..., + network_server_id : builtins.int = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + network_server_name : typing.Text = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"id",b"id",u"name",b"name",u"network_server_id",b"network_server_id",u"network_server_name",b"network_server_name",u"organization_id",b"organization_id",u"updated_at",b"updated_at"]) -> None: ... +global___DeviceProfileListItem = DeviceProfileListItem + +class ListDeviceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + LIMIT_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Max number of items to return. + limit: builtins.int = ... + # Offset in the result-set (for pagination). + offset: builtins.int = ... + # Organization id to filter on. + organization_id: builtins.int = ... + # Application id to filter on. + application_id: builtins.int = ... + def __init__(self, + *, + limit : builtins.int = ..., + offset : builtins.int = ..., + organization_id : builtins.int = ..., + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"limit",b"limit",u"offset",b"offset",u"organization_id",b"organization_id"]) -> None: ... +global___ListDeviceProfileRequest = ListDeviceProfileRequest + +class ListDeviceProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TOTAL_COUNT_FIELD_NUMBER: builtins.int + RESULT_FIELD_NUMBER: builtins.int + # Total number of device-profiles. + total_count: builtins.int = ... + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DeviceProfileListItem]: ... + def __init__(self, + *, + total_count : builtins.int = ..., + result : typing.Optional[typing.Iterable[global___DeviceProfileListItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result",u"total_count",b"total_count"]) -> None: ... +global___ListDeviceProfileResponse = ListDeviceProfileResponse diff --git a/python/src/chirpstack_api/as_pb/external/api/deviceProfile_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/external/api/deviceProfile_pb2_grpc.pyi new file mode 100644 index 00000000..677e56c7 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/deviceProfile_pb2_grpc.pyi @@ -0,0 +1,77 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc + +from .deviceProfile_pb2 import * +# DeviceProfileService is the service managing device-profiles. +class DeviceProfileServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # Create creates the given device-profile. + Create:grpc.UnaryUnaryMultiCallable[ + global___CreateDeviceProfileRequest, + global___CreateDeviceProfileResponse] = ... + + # Get returns the device-profile matching the given id. + Get:grpc.UnaryUnaryMultiCallable[ + global___GetDeviceProfileRequest, + global___GetDeviceProfileResponse] = ... + + # Update updates the given device-profile. + Update:grpc.UnaryUnaryMultiCallable[ + global___UpdateDeviceProfileRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Delete deletes the device-profile matching the given id. + Delete:grpc.UnaryUnaryMultiCallable[ + global___DeleteDeviceProfileRequest, + google.protobuf.empty_pb2.Empty] = ... + + # List lists the available device-profiles. + List:grpc.UnaryUnaryMultiCallable[ + global___ListDeviceProfileRequest, + global___ListDeviceProfileResponse] = ... + + +# DeviceProfileService is the service managing device-profiles. +class DeviceProfileServiceServicer(metaclass=abc.ABCMeta): + # Create creates the given device-profile. + @abc.abstractmethod + def Create(self, + request: global___CreateDeviceProfileRequest, + context: grpc.ServicerContext, + ) -> global___CreateDeviceProfileResponse: ... + + # Get returns the device-profile matching the given id. + @abc.abstractmethod + def Get(self, + request: global___GetDeviceProfileRequest, + context: grpc.ServicerContext, + ) -> global___GetDeviceProfileResponse: ... + + # Update updates the given device-profile. + @abc.abstractmethod + def Update(self, + request: global___UpdateDeviceProfileRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Delete deletes the device-profile matching the given id. + @abc.abstractmethod + def Delete(self, + request: global___DeleteDeviceProfileRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # List lists the available device-profiles. + @abc.abstractmethod + def List(self, + request: global___ListDeviceProfileRequest, + context: grpc.ServicerContext, + ) -> global___ListDeviceProfileResponse: ... + + +def add_DeviceProfileServiceServicer_to_server(servicer: DeviceProfileServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/as_pb/external/api/deviceQueue_grpc.py b/python/src/chirpstack_api/as_pb/external/api/deviceQueue_grpc.py new file mode 100644 index 00000000..cb2ef787 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/deviceQueue_grpc.py @@ -0,0 +1,74 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/external/api/deviceQueue.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.api.annotations_pb2 +import google.protobuf.empty_pb2 +import chirpstack_api.as_pb.external.api.deviceQueue_pb2 + + +class DeviceQueueServiceBase(abc.ABC): + + @abc.abstractmethod + async def Enqueue(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceQueue_pb2.EnqueueDeviceQueueItemRequest, chirpstack_api.as_pb.external.api.deviceQueue_pb2.EnqueueDeviceQueueItemResponse]') -> None: + pass + + @abc.abstractmethod + async def Flush(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceQueue_pb2.FlushDeviceQueueRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceQueue_pb2.ListDeviceQueueItemsRequest, chirpstack_api.as_pb.external.api.deviceQueue_pb2.ListDeviceQueueItemsResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/api.DeviceQueueService/Enqueue': grpclib.const.Handler( + self.Enqueue, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.deviceQueue_pb2.EnqueueDeviceQueueItemRequest, + chirpstack_api.as_pb.external.api.deviceQueue_pb2.EnqueueDeviceQueueItemResponse, + ), + '/api.DeviceQueueService/Flush': grpclib.const.Handler( + self.Flush, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.deviceQueue_pb2.FlushDeviceQueueRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.DeviceQueueService/List': grpclib.const.Handler( + self.List, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.deviceQueue_pb2.ListDeviceQueueItemsRequest, + chirpstack_api.as_pb.external.api.deviceQueue_pb2.ListDeviceQueueItemsResponse, + ), + } + + +class DeviceQueueServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.Enqueue = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceQueueService/Enqueue', + chirpstack_api.as_pb.external.api.deviceQueue_pb2.EnqueueDeviceQueueItemRequest, + chirpstack_api.as_pb.external.api.deviceQueue_pb2.EnqueueDeviceQueueItemResponse, + ) + self.Flush = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceQueueService/Flush', + chirpstack_api.as_pb.external.api.deviceQueue_pb2.FlushDeviceQueueRequest, + google.protobuf.empty_pb2.Empty, + ) + self.List = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceQueueService/List', + chirpstack_api.as_pb.external.api.deviceQueue_pb2.ListDeviceQueueItemsRequest, + chirpstack_api.as_pb.external.api.deviceQueue_pb2.ListDeviceQueueItemsResponse, + ) diff --git a/python/src/chirpstack_api/as_pb/external/api/deviceQueue_pb2.pyi b/python/src/chirpstack_api/as_pb/external/api/deviceQueue_pb2.pyi new file mode 100644 index 00000000..4a3df5f0 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/deviceQueue_pb2.pyi @@ -0,0 +1,120 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class DeviceQueueItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + CONFIRMED_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + F_PORT_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + JSON_OBJECT_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + # Set this to true when an acknowledgement from the device is required. + # Please note that this must not be used to guarantee a delivery. + confirmed: builtins.bool = ... + # Downlink frame-counter. + # This will be automatically set on enquue. + f_cnt: builtins.int = ... + # FPort used (must be > 0) + f_port: builtins.int = ... + # Base64 encoded data. + # Or use the json_object field when an application codec has been configured. + data: builtins.bytes = ... + # JSON object (string). + # Only use this when an application codec has been configured that can convert + # this object into binary form. + json_object: typing.Text = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + confirmed : builtins.bool = ..., + f_cnt : builtins.int = ..., + f_port : builtins.int = ..., + data : builtins.bytes = ..., + json_object : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"confirmed",b"confirmed",u"data",b"data",u"dev_eui",b"dev_eui",u"f_cnt",b"f_cnt",u"f_port",b"f_port",u"json_object",b"json_object"]) -> None: ... +global___DeviceQueueItem = DeviceQueueItem + +class EnqueueDeviceQueueItemRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_QUEUE_ITEM_FIELD_NUMBER: builtins.int + # Queue-item object to enqueue. + @property + def device_queue_item(self) -> global___DeviceQueueItem: ... + def __init__(self, + *, + device_queue_item : typing.Optional[global___DeviceQueueItem] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device_queue_item",b"device_queue_item"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device_queue_item",b"device_queue_item"]) -> None: ... +global___EnqueueDeviceQueueItemRequest = EnqueueDeviceQueueItemRequest + +class EnqueueDeviceQueueItemResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + F_CNT_FIELD_NUMBER: builtins.int + # Frame-counter for the enqueued payload. + f_cnt: builtins.int = ... + def __init__(self, + *, + f_cnt : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"f_cnt",b"f_cnt"]) -> None: ... +global___EnqueueDeviceQueueItemResponse = EnqueueDeviceQueueItemResponse + +class FlushDeviceQueueRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___FlushDeviceQueueRequest = FlushDeviceQueueRequest + +class ListDeviceQueueItemsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + COUNT_ONLY_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + # Return only the count, not the result-set. + count_only: builtins.bool = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + count_only : builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"count_only",b"count_only",u"dev_eui",b"dev_eui"]) -> None: ... +global___ListDeviceQueueItemsRequest = ListDeviceQueueItemsRequest + +class ListDeviceQueueItemsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_QUEUE_ITEMS_FIELD_NUMBER: builtins.int + TOTAL_COUNT_FIELD_NUMBER: builtins.int + # The device queue items. + @property + def device_queue_items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DeviceQueueItem]: ... + # Total number of items in the queue. + total_count: builtins.int = ... + def __init__(self, + *, + device_queue_items : typing.Optional[typing.Iterable[global___DeviceQueueItem]] = ..., + total_count : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device_queue_items",b"device_queue_items",u"total_count",b"total_count"]) -> None: ... +global___ListDeviceQueueItemsResponse = ListDeviceQueueItemsResponse diff --git a/python/src/chirpstack_api/as_pb/external/api/deviceQueue_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/external/api/deviceQueue_pb2_grpc.pyi new file mode 100644 index 00000000..d7d50102 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/deviceQueue_pb2_grpc.pyi @@ -0,0 +1,53 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc + +from .deviceQueue_pb2 import * +# DeviceQueueService is the service managing the downlink data queue. +class DeviceQueueServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # Enqueue adds the given item to the device-queue. + Enqueue:grpc.UnaryUnaryMultiCallable[ + global___EnqueueDeviceQueueItemRequest, + global___EnqueueDeviceQueueItemResponse] = ... + + # Flush flushes the downlink device-queue. + Flush:grpc.UnaryUnaryMultiCallable[ + global___FlushDeviceQueueRequest, + google.protobuf.empty_pb2.Empty] = ... + + # List lists the items in the device-queue. + List:grpc.UnaryUnaryMultiCallable[ + global___ListDeviceQueueItemsRequest, + global___ListDeviceQueueItemsResponse] = ... + + +# DeviceQueueService is the service managing the downlink data queue. +class DeviceQueueServiceServicer(metaclass=abc.ABCMeta): + # Enqueue adds the given item to the device-queue. + @abc.abstractmethod + def Enqueue(self, + request: global___EnqueueDeviceQueueItemRequest, + context: grpc.ServicerContext, + ) -> global___EnqueueDeviceQueueItemResponse: ... + + # Flush flushes the downlink device-queue. + @abc.abstractmethod + def Flush(self, + request: global___FlushDeviceQueueRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # List lists the items in the device-queue. + @abc.abstractmethod + def List(self, + request: global___ListDeviceQueueItemsRequest, + context: grpc.ServicerContext, + ) -> global___ListDeviceQueueItemsResponse: ... + + +def add_DeviceQueueServiceServicer_to_server(servicer: DeviceQueueServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/as_pb/external/api/device_grpc.py b/python/src/chirpstack_api/as_pb/external/api/device_grpc.py new file mode 100644 index 00000000..9372ce94 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/device_grpc.py @@ -0,0 +1,301 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/external/api/device.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.api.annotations_pb2 +import google.protobuf.timestamp_pb2 +import google.protobuf.empty_pb2 +import chirpstack_api.common.common_pb2 +import chirpstack_api.as_pb.external.api.frameLog_pb2 +import chirpstack_api.as_pb.external.api.device_pb2 + + +class DeviceServiceBase(abc.ABC): + + @abc.abstractmethod + async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.CreateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.GetDeviceRequest, chirpstack_api.as_pb.external.api.device_pb2.GetDeviceResponse]') -> None: + pass + + @abc.abstractmethod + async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.ListDeviceRequest, chirpstack_api.as_pb.external.api.device_pb2.ListDeviceResponse]') -> None: + pass + + @abc.abstractmethod + async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.DeleteDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.UpdateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def CreateKeys(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.CreateDeviceKeysRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetKeys(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.GetDeviceKeysRequest, chirpstack_api.as_pb.external.api.device_pb2.GetDeviceKeysResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateKeys(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.UpdateDeviceKeysRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteKeys(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.DeleteDeviceKeysRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Activate(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.ActivateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Deactivate(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.DeactivateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetActivation(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.GetDeviceActivationRequest, chirpstack_api.as_pb.external.api.device_pb2.GetDeviceActivationResponse]') -> None: + pass + + @abc.abstractmethod + async def GetRandomDevAddr(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.GetRandomDevAddrRequest, chirpstack_api.as_pb.external.api.device_pb2.GetRandomDevAddrResponse]') -> None: + pass + + @abc.abstractmethod + async def GetStats(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.GetDeviceStatsRequest, chirpstack_api.as_pb.external.api.device_pb2.GetDeviceStatsResponse]') -> None: + pass + + @abc.abstractmethod + async def StreamFrameLogs(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceFrameLogsRequest, chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceFrameLogsResponse]') -> None: + pass + + @abc.abstractmethod + async def StreamEventLogs(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceEventLogsRequest, chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceEventLogsResponse]') -> None: + pass + + @abc.abstractmethod + async def ClearDeviceNonces(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.ClearDeviceNoncesRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/api.DeviceService/Create': grpclib.const.Handler( + self.Create, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.CreateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.DeviceService/Get': grpclib.const.Handler( + self.Get, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceRequest, + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceResponse, + ), + '/api.DeviceService/List': grpclib.const.Handler( + self.List, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.ListDeviceRequest, + chirpstack_api.as_pb.external.api.device_pb2.ListDeviceResponse, + ), + '/api.DeviceService/Delete': grpclib.const.Handler( + self.Delete, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.DeleteDeviceRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.DeviceService/Update': grpclib.const.Handler( + self.Update, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.UpdateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.DeviceService/CreateKeys': grpclib.const.Handler( + self.CreateKeys, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.CreateDeviceKeysRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.DeviceService/GetKeys': grpclib.const.Handler( + self.GetKeys, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceKeysRequest, + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceKeysResponse, + ), + '/api.DeviceService/UpdateKeys': grpclib.const.Handler( + self.UpdateKeys, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.UpdateDeviceKeysRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.DeviceService/DeleteKeys': grpclib.const.Handler( + self.DeleteKeys, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.DeleteDeviceKeysRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.DeviceService/Activate': grpclib.const.Handler( + self.Activate, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.ActivateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.DeviceService/Deactivate': grpclib.const.Handler( + self.Deactivate, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.DeactivateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.DeviceService/GetActivation': grpclib.const.Handler( + self.GetActivation, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceActivationRequest, + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceActivationResponse, + ), + '/api.DeviceService/GetRandomDevAddr': grpclib.const.Handler( + self.GetRandomDevAddr, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.GetRandomDevAddrRequest, + chirpstack_api.as_pb.external.api.device_pb2.GetRandomDevAddrResponse, + ), + '/api.DeviceService/GetStats': grpclib.const.Handler( + self.GetStats, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceStatsRequest, + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceStatsResponse, + ), + '/api.DeviceService/StreamFrameLogs': grpclib.const.Handler( + self.StreamFrameLogs, + grpclib.const.Cardinality.UNARY_STREAM, + chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceFrameLogsRequest, + chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceFrameLogsResponse, + ), + '/api.DeviceService/StreamEventLogs': grpclib.const.Handler( + self.StreamEventLogs, + grpclib.const.Cardinality.UNARY_STREAM, + chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceEventLogsRequest, + chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceEventLogsResponse, + ), + '/api.DeviceService/ClearDeviceNonces': grpclib.const.Handler( + self.ClearDeviceNonces, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.device_pb2.ClearDeviceNoncesRequest, + google.protobuf.empty_pb2.Empty, + ), + } + + +class DeviceServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.Create = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/Create', + chirpstack_api.as_pb.external.api.device_pb2.CreateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Get = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/Get', + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceRequest, + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceResponse, + ) + self.List = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/List', + chirpstack_api.as_pb.external.api.device_pb2.ListDeviceRequest, + chirpstack_api.as_pb.external.api.device_pb2.ListDeviceResponse, + ) + self.Delete = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/Delete', + chirpstack_api.as_pb.external.api.device_pb2.DeleteDeviceRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Update = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/Update', + chirpstack_api.as_pb.external.api.device_pb2.UpdateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ) + self.CreateKeys = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/CreateKeys', + chirpstack_api.as_pb.external.api.device_pb2.CreateDeviceKeysRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetKeys = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/GetKeys', + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceKeysRequest, + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceKeysResponse, + ) + self.UpdateKeys = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/UpdateKeys', + chirpstack_api.as_pb.external.api.device_pb2.UpdateDeviceKeysRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteKeys = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/DeleteKeys', + chirpstack_api.as_pb.external.api.device_pb2.DeleteDeviceKeysRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Activate = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/Activate', + chirpstack_api.as_pb.external.api.device_pb2.ActivateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Deactivate = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/Deactivate', + chirpstack_api.as_pb.external.api.device_pb2.DeactivateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetActivation = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/GetActivation', + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceActivationRequest, + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceActivationResponse, + ) + self.GetRandomDevAddr = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/GetRandomDevAddr', + chirpstack_api.as_pb.external.api.device_pb2.GetRandomDevAddrRequest, + chirpstack_api.as_pb.external.api.device_pb2.GetRandomDevAddrResponse, + ) + self.GetStats = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/GetStats', + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceStatsRequest, + chirpstack_api.as_pb.external.api.device_pb2.GetDeviceStatsResponse, + ) + self.StreamFrameLogs = grpclib.client.UnaryStreamMethod( + channel, + '/api.DeviceService/StreamFrameLogs', + chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceFrameLogsRequest, + chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceFrameLogsResponse, + ) + self.StreamEventLogs = grpclib.client.UnaryStreamMethod( + channel, + '/api.DeviceService/StreamEventLogs', + chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceEventLogsRequest, + chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceEventLogsResponse, + ) + self.ClearDeviceNonces = grpclib.client.UnaryUnaryMethod( + channel, + '/api.DeviceService/ClearDeviceNonces', + chirpstack_api.as_pb.external.api.device_pb2.ClearDeviceNoncesRequest, + google.protobuf.empty_pb2.Empty, + ) diff --git a/python/src/chirpstack_api/as_pb/external/api/device_pb2.pyi b/python/src/chirpstack_api/as_pb/external/api/device_pb2.pyi new file mode 100644 index 00000000..ac026938 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/device_pb2.pyi @@ -0,0 +1,745 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import chirpstack_api.as_pb.external.api.frameLog_pb2 +import chirpstack_api.common.common_pb2 +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class Device(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class VariablesEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class TagsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + DEV_EUI_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + APPLICATION_ID_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + DEVICE_PROFILE_ID_FIELD_NUMBER: builtins.int + SKIP_F_CNT_CHECK_FIELD_NUMBER: builtins.int + REFERENCE_ALTITUDE_FIELD_NUMBER: builtins.int + VARIABLES_FIELD_NUMBER: builtins.int + TAGS_FIELD_NUMBER: builtins.int + IS_DISABLED_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + # Name of the device (if left blank, it will be set to the DevEUI). + name: typing.Text = ... + # ID of the application to which the device must be added. + # It is possible to move a device to a different application on update, + # given that both the old and the new application share the same + # service-profile. + application_id: builtins.int = ... + # Description of the device. + description: typing.Text = ... + # DeviceProfileID attached to the device. + device_profile_id: typing.Text = ... + # Skip frame-counter checks (this is insecure, but could be helpful for debugging). + skip_f_cnt_check: builtins.bool = ... + # Reference altitude. + # When using geolocation, this altitude will be used as a reference + # (when supported by the geolocation-server) to increase geolocation + # accuracy. + reference_altitude: builtins.float = ... + # 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. + @property + def variables(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Tags (user defined). + # These tags are exposed in the event payloads or to integration. Tags are + # intended for aggregation and filtering. + @property + def tags(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Device is disabled. + is_disabled: builtins.bool = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + name : typing.Text = ..., + application_id : builtins.int = ..., + description : typing.Text = ..., + device_profile_id : typing.Text = ..., + skip_f_cnt_check : builtins.bool = ..., + reference_altitude : builtins.float = ..., + variables : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + tags : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + is_disabled : builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"description",b"description",u"dev_eui",b"dev_eui",u"device_profile_id",b"device_profile_id",u"is_disabled",b"is_disabled",u"name",b"name",u"reference_altitude",b"reference_altitude",u"skip_f_cnt_check",b"skip_f_cnt_check",u"tags",b"tags",u"variables",b"variables"]) -> None: ... +global___Device = Device + +class DeviceListItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + APPLICATION_ID_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + DEVICE_PROFILE_ID_FIELD_NUMBER: builtins.int + DEVICE_PROFILE_NAME_FIELD_NUMBER: builtins.int + DEVICE_STATUS_BATTERY_FIELD_NUMBER: builtins.int + DEVICE_STATUS_MARGIN_FIELD_NUMBER: builtins.int + DEVICE_STATUS_EXTERNAL_POWER_SOURCE_FIELD_NUMBER: builtins.int + DEVICE_STATUS_BATTERY_LEVEL_UNAVAILABLE_FIELD_NUMBER: builtins.int + DEVICE_STATUS_BATTERY_LEVEL_FIELD_NUMBER: builtins.int + LAST_SEEN_AT_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + # Name of the device. + name: typing.Text = ... + # Application ID. + application_id: builtins.int = ... + # Description of the device. + description: typing.Text = ... + # Device-profile ID attached to the device. + device_profile_id: typing.Text = ... + # Device-profile name. + device_profile_name: typing.Text = ... + # The device battery status (deprecated, use device_status_battery_level). + # 0: The end-device is connected to an external power source + # 1..254: The battery level, 1 being at minimum and 254 being at maximum + # 255: The end-device was not able to measure the battery level + # 256: The device-status is not available. + device_status_battery: builtins.int = ... + # The device margin status + # -32..32: The demodulation SNR ration in dB + # 256: The device-status is not available. + device_status_margin: builtins.int = ... + # Device is connected to an external power source. + device_status_external_power_source: builtins.bool = ... + # Device battery status is unavailable. + device_status_battery_level_unavailable: builtins.bool = ... + # Device battery level as a percentage. + device_status_battery_level: builtins.float = ... + # The last time the application-server received any data from the device, + # or an empty string when the device never sent any data. + @property + def last_seen_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + name : typing.Text = ..., + application_id : builtins.int = ..., + description : typing.Text = ..., + device_profile_id : typing.Text = ..., + device_profile_name : typing.Text = ..., + device_status_battery : builtins.int = ..., + device_status_margin : builtins.int = ..., + device_status_external_power_source : builtins.bool = ..., + device_status_battery_level_unavailable : builtins.bool = ..., + device_status_battery_level : builtins.float = ..., + last_seen_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"last_seen_at",b"last_seen_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"description",b"description",u"dev_eui",b"dev_eui",u"device_profile_id",b"device_profile_id",u"device_profile_name",b"device_profile_name",u"device_status_battery",b"device_status_battery",u"device_status_battery_level",b"device_status_battery_level",u"device_status_battery_level_unavailable",b"device_status_battery_level_unavailable",u"device_status_external_power_source",b"device_status_external_power_source",u"device_status_margin",b"device_status_margin",u"last_seen_at",b"last_seen_at",u"name",b"name"]) -> None: ... +global___DeviceListItem = DeviceListItem + +class DeviceKeys(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + NWK_KEY_FIELD_NUMBER: builtins.int + APP_KEY_FIELD_NUMBER: builtins.int + GEN_APP_KEY_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + # Network root key (HEX encoded). + # Note: For LoRaWAN 1.0.x, use this field for the LoRaWAN 1.0.x 'AppKey`! + nwk_key: typing.Text = ... + # Application root key (HEX encoded). + # Note: This field only needs to be set for LoRaWAN 1.1.x devices! + app_key: typing.Text = ... + # Gen application key (HEX encoded). + # This is an optional key that only must be set for LORaWAN 1.0.x devices + # that implement the remote multicast setup specification. + gen_app_key: typing.Text = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + nwk_key : typing.Text = ..., + app_key : typing.Text = ..., + gen_app_key : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"app_key",b"app_key",u"dev_eui",b"dev_eui",u"gen_app_key",b"gen_app_key",u"nwk_key",b"nwk_key"]) -> None: ... +global___DeviceKeys = DeviceKeys + +class CreateDeviceRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_FIELD_NUMBER: builtins.int + # Device object to create. + @property + def device(self) -> global___Device: ... + def __init__(self, + *, + device : typing.Optional[global___Device] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device",b"device"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device",b"device"]) -> None: ... +global___CreateDeviceRequest = CreateDeviceRequest + +class GetDeviceRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___GetDeviceRequest = GetDeviceRequest + +class GetDeviceResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_FIELD_NUMBER: builtins.int + LAST_SEEN_AT_FIELD_NUMBER: builtins.int + DEVICE_STATUS_BATTERY_FIELD_NUMBER: builtins.int + DEVICE_STATUS_MARGIN_FIELD_NUMBER: builtins.int + LOCATION_FIELD_NUMBER: builtins.int + # Device object. + @property + def device(self) -> global___Device: ... + # Created at 2 + # Updated at 3 + # First seen at 4 + + # Last seen timestamp. + @property + def last_seen_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # The device battery status + # 0: The end-device is connected to an external power source + # 1..254: The battery level, 1 being at minimum and 254 being at maximum + # 255: The end-device was not able to measure the battery level + # 256: The device-status is not available. + device_status_battery: builtins.int = ... + # The device margin status + # -32..32: The demodulation SNR ration in dB + # 256: The device-status is not available. + device_status_margin: builtins.int = ... + # Device location. + # This will set when the network-server was able to resolve the location + # using the geolocation-server. + @property + def location(self) -> chirpstack_api.common.common_pb2.Location: ... + def __init__(self, + *, + device : typing.Optional[global___Device] = ..., + last_seen_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + device_status_battery : builtins.int = ..., + device_status_margin : builtins.int = ..., + location : typing.Optional[chirpstack_api.common.common_pb2.Location] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device",b"device",u"last_seen_at",b"last_seen_at",u"location",b"location"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device",b"device",u"device_status_battery",b"device_status_battery",u"device_status_margin",b"device_status_margin",u"last_seen_at",b"last_seen_at",u"location",b"location"]) -> None: ... +global___GetDeviceResponse = GetDeviceResponse + +class ListDeviceRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class TagsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + LIMIT_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + APPLICATION_ID_FIELD_NUMBER: builtins.int + SEARCH_FIELD_NUMBER: builtins.int + MULTICAST_GROUP_ID_FIELD_NUMBER: builtins.int + SERVICE_PROFILE_ID_FIELD_NUMBER: builtins.int + TAGS_FIELD_NUMBER: builtins.int + # Max number of devices to return in the result-set. + limit: builtins.int = ... + # Offset in the result-set (for pagination). + offset: builtins.int = ... + # Application ID to filter on. + application_id: builtins.int = ... + # Search on name or DevEUI. + search: typing.Text = ... + # Multicast-group ID to filter on (string formatted UUID). + multicast_group_id: typing.Text = ... + # Service-profile ID to filter on (string formatted UUID). + service_profile_id: typing.Text = ... + # Tags to filter on. + @property + def tags(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + def __init__(self, + *, + limit : builtins.int = ..., + offset : builtins.int = ..., + application_id : builtins.int = ..., + search : typing.Text = ..., + multicast_group_id : typing.Text = ..., + service_profile_id : typing.Text = ..., + tags : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"limit",b"limit",u"multicast_group_id",b"multicast_group_id",u"offset",b"offset",u"search",b"search",u"service_profile_id",b"service_profile_id",u"tags",b"tags"]) -> None: ... +global___ListDeviceRequest = ListDeviceRequest + +class ListDeviceResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TOTAL_COUNT_FIELD_NUMBER: builtins.int + RESULT_FIELD_NUMBER: builtins.int + # Total number of devices available within the result-set. + total_count: builtins.int = ... + # Devices within this result-set. + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DeviceListItem]: ... + def __init__(self, + *, + total_count : builtins.int = ..., + result : typing.Optional[typing.Iterable[global___DeviceListItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result",u"total_count",b"total_count"]) -> None: ... +global___ListDeviceResponse = ListDeviceResponse + +class DeleteDeviceRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___DeleteDeviceRequest = DeleteDeviceRequest + +class UpdateDeviceRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_FIELD_NUMBER: builtins.int + # Device object to update. + @property + def device(self) -> global___Device: ... + def __init__(self, + *, + device : typing.Optional[global___Device] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device",b"device"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device",b"device"]) -> None: ... +global___UpdateDeviceRequest = UpdateDeviceRequest + +class CreateDeviceKeysRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_KEYS_FIELD_NUMBER: builtins.int + # Device-keys object to create. + @property + def device_keys(self) -> global___DeviceKeys: ... + def __init__(self, + *, + device_keys : typing.Optional[global___DeviceKeys] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device_keys",b"device_keys"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device_keys",b"device_keys"]) -> None: ... +global___CreateDeviceKeysRequest = CreateDeviceKeysRequest + +class GetDeviceKeysRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___GetDeviceKeysRequest = GetDeviceKeysRequest + +class GetDeviceKeysResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_KEYS_FIELD_NUMBER: builtins.int + # Device-key object. + @property + def device_keys(self) -> global___DeviceKeys: ... + def __init__(self, + *, + device_keys : typing.Optional[global___DeviceKeys] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device_keys",b"device_keys"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device_keys",b"device_keys"]) -> None: ... +global___GetDeviceKeysResponse = GetDeviceKeysResponse + +class UpdateDeviceKeysRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_KEYS_FIELD_NUMBER: builtins.int + # Device-keys object to update. + @property + def device_keys(self) -> global___DeviceKeys: ... + def __init__(self, + *, + device_keys : typing.Optional[global___DeviceKeys] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device_keys",b"device_keys"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device_keys",b"device_keys"]) -> None: ... +global___UpdateDeviceKeysRequest = UpdateDeviceKeysRequest + +class DeleteDeviceKeysRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___DeleteDeviceKeysRequest = DeleteDeviceKeysRequest + +class DeviceActivation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + DEV_ADDR_FIELD_NUMBER: builtins.int + APP_S_KEY_FIELD_NUMBER: builtins.int + NWK_S_ENC_KEY_FIELD_NUMBER: builtins.int + S_NWK_S_INT_KEY_FIELD_NUMBER: builtins.int + F_NWK_S_INT_KEY_FIELD_NUMBER: builtins.int + F_CNT_UP_FIELD_NUMBER: builtins.int + N_F_CNT_DOWN_FIELD_NUMBER: builtins.int + A_F_CNT_DOWN_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + # Device address (HEX encoded). + dev_addr: typing.Text = ... + # Application session key (HEX encoded). + app_s_key: typing.Text = ... + # Network session encryption key (HEX encoded). + nwk_s_enc_key: typing.Text = ... + # Serving network session integrity key (HEX encoded). + s_nwk_s_int_key: typing.Text = ... + # Forwarding network session integrity key (HEX encoded). + f_nwk_s_int_key: typing.Text = ... + # Uplink frame-counter. + f_cnt_up: builtins.int = ... + # Downlink network frame-counter. + n_f_cnt_down: builtins.int = ... + # Downlink application frame-counter. + a_f_cnt_down: builtins.int = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + dev_addr : typing.Text = ..., + app_s_key : typing.Text = ..., + nwk_s_enc_key : typing.Text = ..., + s_nwk_s_int_key : typing.Text = ..., + f_nwk_s_int_key : typing.Text = ..., + f_cnt_up : builtins.int = ..., + n_f_cnt_down : builtins.int = ..., + a_f_cnt_down : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"a_f_cnt_down",b"a_f_cnt_down",u"app_s_key",b"app_s_key",u"dev_addr",b"dev_addr",u"dev_eui",b"dev_eui",u"f_cnt_up",b"f_cnt_up",u"f_nwk_s_int_key",b"f_nwk_s_int_key",u"n_f_cnt_down",b"n_f_cnt_down",u"nwk_s_enc_key",b"nwk_s_enc_key",u"s_nwk_s_int_key",b"s_nwk_s_int_key"]) -> None: ... +global___DeviceActivation = DeviceActivation + +class ActivateDeviceRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_ACTIVATION_FIELD_NUMBER: builtins.int + @property + def device_activation(self) -> global___DeviceActivation: ... + def __init__(self, + *, + device_activation : typing.Optional[global___DeviceActivation] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device_activation",b"device_activation"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device_activation",b"device_activation"]) -> None: ... +global___ActivateDeviceRequest = ActivateDeviceRequest + +class DeactivateDeviceRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___DeactivateDeviceRequest = DeactivateDeviceRequest + +class GetDeviceActivationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___GetDeviceActivationRequest = GetDeviceActivationRequest + +class GetDeviceActivationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_ACTIVATION_FIELD_NUMBER: builtins.int + # Device-activation object. + @property + def device_activation(self) -> global___DeviceActivation: ... + def __init__(self, + *, + device_activation : typing.Optional[global___DeviceActivation] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device_activation",b"device_activation"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device_activation",b"device_activation"]) -> None: ... +global___GetDeviceActivationResponse = GetDeviceActivationResponse + +class GetRandomDevAddrRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___GetRandomDevAddrRequest = GetRandomDevAddrRequest + +class GetRandomDevAddrResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_ADDR_FIELD_NUMBER: builtins.int + # Device address (HEX encoded). + dev_addr: typing.Text = ... + def __init__(self, + *, + dev_addr : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_addr",b"dev_addr"]) -> None: ... +global___GetRandomDevAddrResponse = GetRandomDevAddrResponse + +class DeviceStats(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class RxPacketsPerFrequencyEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int = ... + value: builtins.int = ... + def __init__(self, + *, + key : builtins.int = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class RxPacketsPerDrEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int = ... + value: builtins.int = ... + def __init__(self, + *, + key : builtins.int = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class ErrorsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: builtins.int = ... + def __init__(self, + *, + key : typing.Text = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + TIMESTAMP_FIELD_NUMBER: builtins.int + RX_PACKETS_FIELD_NUMBER: builtins.int + GW_RSSI_FIELD_NUMBER: builtins.int + GW_SNR_FIELD_NUMBER: builtins.int + RX_PACKETS_PER_FREQUENCY_FIELD_NUMBER: builtins.int + RX_PACKETS_PER_DR_FIELD_NUMBER: builtins.int + ERRORS_FIELD_NUMBER: builtins.int + # Timestamp of the (aggregated) measurement. + @property + def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Packets received from the device. + rx_packets: builtins.int = ... + # Average RSSI (as reported by the gateway(s)). + gw_rssi: builtins.float = ... + # Average SNR (as reported by the gateway(s)). + gw_snr: builtins.float = ... + # Packets received by frequency. + @property + def rx_packets_per_frequency(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]: ... + # Packets received by DR. + @property + def rx_packets_per_dr(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]: ... + # Error count. + @property + def errors(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, builtins.int]: ... + def __init__(self, + *, + timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + rx_packets : builtins.int = ..., + gw_rssi : builtins.float = ..., + gw_snr : builtins.float = ..., + rx_packets_per_frequency : typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ..., + rx_packets_per_dr : typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ..., + errors : typing.Optional[typing.Mapping[typing.Text, builtins.int]] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"timestamp",b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"errors",b"errors",u"gw_rssi",b"gw_rssi",u"gw_snr",b"gw_snr",u"rx_packets",b"rx_packets",u"rx_packets_per_dr",b"rx_packets_per_dr",u"rx_packets_per_frequency",b"rx_packets_per_frequency",u"timestamp",b"timestamp"]) -> None: ... +global___DeviceStats = DeviceStats + +class GetDeviceStatsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + INTERVAL_FIELD_NUMBER: builtins.int + START_TIMESTAMP_FIELD_NUMBER: builtins.int + END_TIMESTAMP_FIELD_NUMBER: builtins.int + # DevEUI (HEX encoded). + dev_eui: typing.Text = ... + # Aggregation interval. One of "second", "minute", "hour", "day", "week", + # "month", "quarter", "year". Case insensitive. + interval: typing.Text = ... + # Timestamp to start from. + @property + def start_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Timestamp until to get from. + @property + def end_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + interval : typing.Text = ..., + start_timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + end_timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"end_timestamp",b"end_timestamp",u"start_timestamp",b"start_timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui",u"end_timestamp",b"end_timestamp",u"interval",b"interval",u"start_timestamp",b"start_timestamp"]) -> None: ... +global___GetDeviceStatsRequest = GetDeviceStatsRequest + +class GetDeviceStatsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + RESULT_FIELD_NUMBER: builtins.int + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DeviceStats]: ... + def __init__(self, + *, + result : typing.Optional[typing.Iterable[global___DeviceStats]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result"]) -> None: ... +global___GetDeviceStatsResponse = GetDeviceStatsResponse + +class StreamDeviceFrameLogsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___StreamDeviceFrameLogsRequest = StreamDeviceFrameLogsRequest + +class StreamDeviceFrameLogsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + UPLINK_FRAME_FIELD_NUMBER: builtins.int + DOWNLINK_FRAME_FIELD_NUMBER: builtins.int + # Contains an uplink frame. + @property + def uplink_frame(self) -> chirpstack_api.as_pb.external.api.frameLog_pb2.UplinkFrameLog: ... + # Contains a downlink frame. + @property + def downlink_frame(self) -> chirpstack_api.as_pb.external.api.frameLog_pb2.DownlinkFrameLog: ... + def __init__(self, + *, + uplink_frame : typing.Optional[chirpstack_api.as_pb.external.api.frameLog_pb2.UplinkFrameLog] = ..., + downlink_frame : typing.Optional[chirpstack_api.as_pb.external.api.frameLog_pb2.DownlinkFrameLog] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"downlink_frame",b"downlink_frame",u"frame",b"frame",u"uplink_frame",b"uplink_frame"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"downlink_frame",b"downlink_frame",u"frame",b"frame",u"uplink_frame",b"uplink_frame"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal[u"frame",b"frame"]) -> typing.Optional[typing_extensions.Literal["uplink_frame","downlink_frame"]]: ... +global___StreamDeviceFrameLogsResponse = StreamDeviceFrameLogsResponse + +class StreamDeviceEventLogsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___StreamDeviceEventLogsRequest = StreamDeviceEventLogsRequest + +class StreamDeviceEventLogsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TYPE_FIELD_NUMBER: builtins.int + PAYLOAD_JSON_FIELD_NUMBER: builtins.int + PUBLISHED_AT_FIELD_NUMBER: builtins.int + STREAM_ID_FIELD_NUMBER: builtins.int + # The event type. + type: typing.Text = ... + # The event payload in JSON encoding. + payload_json: typing.Text = ... + # Published at timestamp. + @property + def published_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Stream ID. + stream_id: typing.Text = ... + def __init__(self, + *, + type : typing.Text = ..., + payload_json : typing.Text = ..., + published_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + stream_id : typing.Text = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"published_at",b"published_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"payload_json",b"payload_json",u"published_at",b"published_at",u"stream_id",b"stream_id",u"type",b"type"]) -> None: ... +global___StreamDeviceEventLogsResponse = StreamDeviceEventLogsResponse + +class ClearDeviceNoncesRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # Device EUI (HEX encoded). + dev_eui: typing.Text = ... + def __init__(self, + *, + dev_eui : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___ClearDeviceNoncesRequest = ClearDeviceNoncesRequest diff --git a/python/src/chirpstack_api/as_pb/external/api/device_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/external/api/device_pb2_grpc.pyi new file mode 100644 index 00000000..57d8b5bb --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/device_pb2_grpc.pyi @@ -0,0 +1,234 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc +import typing + +from .device_pb2 import * +# DeviceService is the service managing the devices. +class DeviceServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # Create creates the given device. + Create:grpc.UnaryUnaryMultiCallable[ + global___CreateDeviceRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Get returns the device matching the given DevEUI. + Get:grpc.UnaryUnaryMultiCallable[ + global___GetDeviceRequest, + global___GetDeviceResponse] = ... + + # List returns the available devices. + List:grpc.UnaryUnaryMultiCallable[ + global___ListDeviceRequest, + global___ListDeviceResponse] = ... + + # Delete deletes the device matching the given DevEUI. + Delete:grpc.UnaryUnaryMultiCallable[ + global___DeleteDeviceRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Update updates the device matching the given DevEUI. + Update:grpc.UnaryUnaryMultiCallable[ + global___UpdateDeviceRequest, + google.protobuf.empty_pb2.Empty] = ... + + # CreateKeys creates the given device-keys. + CreateKeys:grpc.UnaryUnaryMultiCallable[ + global___CreateDeviceKeysRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetKeys returns the device-keys for the given DevEUI. + GetKeys:grpc.UnaryUnaryMultiCallable[ + global___GetDeviceKeysRequest, + global___GetDeviceKeysResponse] = ... + + # UpdateKeys updates the device-keys. + UpdateKeys:grpc.UnaryUnaryMultiCallable[ + global___UpdateDeviceKeysRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteKeys deletes the device-keys for the given DevEUI. + DeleteKeys:grpc.UnaryUnaryMultiCallable[ + global___DeleteDeviceKeysRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Activate (re)activates the device with the given parameters (for ABP or for importing OTAA activations). + Activate:grpc.UnaryUnaryMultiCallable[ + global___ActivateDeviceRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Deactivate de-activates the device. + Deactivate:grpc.UnaryUnaryMultiCallable[ + global___DeactivateDeviceRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetActivation returns the current activation details of the device (OTAA and ABP). + GetActivation:grpc.UnaryUnaryMultiCallable[ + global___GetDeviceActivationRequest, + global___GetDeviceActivationResponse] = ... + + # GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into account. + GetRandomDevAddr:grpc.UnaryUnaryMultiCallable[ + global___GetRandomDevAddrRequest, + global___GetRandomDevAddrResponse] = ... + + # GetStats returns the device stats. + GetStats:grpc.UnaryUnaryMultiCallable[ + global___GetDeviceStatsRequest, + global___GetDeviceStatsResponse] = ... + + # StreamFrameLogs streams the uplink and downlink frame-logs for the given DevEUI. + # * These are the raw LoRaWAN frames and this endpoint is intended for debugging only. + # * This endpoint does not work from a web-browser. + StreamFrameLogs:grpc.UnaryStreamMultiCallable[ + global___StreamDeviceFrameLogsRequest, + global___StreamDeviceFrameLogsResponse] = ... + + # StreamEventLogs stream the device events (uplink payloads, ACKs, joins, errors). + # * This endpoint is intended for debugging only. + # * This endpoint does not work from a web-browser. + StreamEventLogs:grpc.UnaryStreamMultiCallable[ + global___StreamDeviceEventLogsRequest, + global___StreamDeviceEventLogsResponse] = ... + + # ClearDeviceNonces deletes the device older activation records for the given DevEUI. + # * These are clear older DevNonce records from device activation records in Network Server + # * These clears all DevNonce records but keeps latest 20 records for maintain device activation status + ClearDeviceNonces:grpc.UnaryUnaryMultiCallable[ + global___ClearDeviceNoncesRequest, + google.protobuf.empty_pb2.Empty] = ... + + +# DeviceService is the service managing the devices. +class DeviceServiceServicer(metaclass=abc.ABCMeta): + # Create creates the given device. + @abc.abstractmethod + def Create(self, + request: global___CreateDeviceRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Get returns the device matching the given DevEUI. + @abc.abstractmethod + def Get(self, + request: global___GetDeviceRequest, + context: grpc.ServicerContext, + ) -> global___GetDeviceResponse: ... + + # List returns the available devices. + @abc.abstractmethod + def List(self, + request: global___ListDeviceRequest, + context: grpc.ServicerContext, + ) -> global___ListDeviceResponse: ... + + # Delete deletes the device matching the given DevEUI. + @abc.abstractmethod + def Delete(self, + request: global___DeleteDeviceRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Update updates the device matching the given DevEUI. + @abc.abstractmethod + def Update(self, + request: global___UpdateDeviceRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # CreateKeys creates the given device-keys. + @abc.abstractmethod + def CreateKeys(self, + request: global___CreateDeviceKeysRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetKeys returns the device-keys for the given DevEUI. + @abc.abstractmethod + def GetKeys(self, + request: global___GetDeviceKeysRequest, + context: grpc.ServicerContext, + ) -> global___GetDeviceKeysResponse: ... + + # UpdateKeys updates the device-keys. + @abc.abstractmethod + def UpdateKeys(self, + request: global___UpdateDeviceKeysRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteKeys deletes the device-keys for the given DevEUI. + @abc.abstractmethod + def DeleteKeys(self, + request: global___DeleteDeviceKeysRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Activate (re)activates the device with the given parameters (for ABP or for importing OTAA activations). + @abc.abstractmethod + def Activate(self, + request: global___ActivateDeviceRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Deactivate de-activates the device. + @abc.abstractmethod + def Deactivate(self, + request: global___DeactivateDeviceRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetActivation returns the current activation details of the device (OTAA and ABP). + @abc.abstractmethod + def GetActivation(self, + request: global___GetDeviceActivationRequest, + context: grpc.ServicerContext, + ) -> global___GetDeviceActivationResponse: ... + + # GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into account. + @abc.abstractmethod + def GetRandomDevAddr(self, + request: global___GetRandomDevAddrRequest, + context: grpc.ServicerContext, + ) -> global___GetRandomDevAddrResponse: ... + + # GetStats returns the device stats. + @abc.abstractmethod + def GetStats(self, + request: global___GetDeviceStatsRequest, + context: grpc.ServicerContext, + ) -> global___GetDeviceStatsResponse: ... + + # StreamFrameLogs streams the uplink and downlink frame-logs for the given DevEUI. + # * These are the raw LoRaWAN frames and this endpoint is intended for debugging only. + # * This endpoint does not work from a web-browser. + @abc.abstractmethod + def StreamFrameLogs(self, + request: global___StreamDeviceFrameLogsRequest, + context: grpc.ServicerContext, + ) -> typing.Iterator[global___StreamDeviceFrameLogsResponse]: ... + + # StreamEventLogs stream the device events (uplink payloads, ACKs, joins, errors). + # * This endpoint is intended for debugging only. + # * This endpoint does not work from a web-browser. + @abc.abstractmethod + def StreamEventLogs(self, + request: global___StreamDeviceEventLogsRequest, + context: grpc.ServicerContext, + ) -> typing.Iterator[global___StreamDeviceEventLogsResponse]: ... + + # ClearDeviceNonces deletes the device older activation records for the given DevEUI. + # * These are clear older DevNonce records from device activation records in Network Server + # * These clears all DevNonce records but keeps latest 20 records for maintain device activation status + @abc.abstractmethod + def ClearDeviceNonces(self, + request: global___ClearDeviceNoncesRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + +def add_DeviceServiceServicer_to_server(servicer: DeviceServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/as_pb/external/api/frameLog_grpc.py b/python/src/chirpstack_api/as_pb/external/api/frameLog_grpc.py new file mode 100644 index 00000000..80c1a63b --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/frameLog_grpc.py @@ -0,0 +1,3 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/external/api/frameLog.proto +# plugin: grpclib.plugin.main diff --git a/python/src/chirpstack_api/as_pb/external/api/frameLog_pb2.pyi b/python/src/chirpstack_api/as_pb/external/api/frameLog_pb2.pyi new file mode 100644 index 00000000..edc72d7f --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/frameLog_pb2.pyi @@ -0,0 +1,84 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import chirpstack_api.gw.gw_pb2 +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class RXWindow(_RXWindow, metaclass=_RXWindowEnumTypeWrapper): + pass +class _RXWindow: + V = typing.NewType('V', builtins.int) +class _RXWindowEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RXWindow.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + RX1 = RXWindow.V(0) + RX2 = RXWindow.V(1) + +RX1 = RXWindow.V(0) +RX2 = RXWindow.V(1) +global___RXWindow = RXWindow + + +class UplinkFrameLog(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TX_INFO_FIELD_NUMBER: builtins.int + RX_INFO_FIELD_NUMBER: builtins.int + PHY_PAYLOAD_JSON_FIELD_NUMBER: builtins.int + PUBLISHED_AT_FIELD_NUMBER: builtins.int + # TX information of the uplink. + @property + def tx_info(self) -> chirpstack_api.gw.gw_pb2.UplinkTXInfo: ... + # RX information of the uplink. + @property + def rx_info(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[chirpstack_api.gw.gw_pb2.UplinkRXInfo]: ... + # LoRaWAN PHYPayload. + phy_payload_json: typing.Text = ... + # Published at timestamp. + @property + def published_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + tx_info : typing.Optional[chirpstack_api.gw.gw_pb2.UplinkTXInfo] = ..., + rx_info : typing.Optional[typing.Iterable[chirpstack_api.gw.gw_pb2.UplinkRXInfo]] = ..., + phy_payload_json : typing.Text = ..., + published_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"published_at",b"published_at",u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"phy_payload_json",b"phy_payload_json",u"published_at",b"published_at",u"rx_info",b"rx_info",u"tx_info",b"tx_info"]) -> None: ... +global___UplinkFrameLog = UplinkFrameLog + +class DownlinkFrameLog(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TX_INFO_FIELD_NUMBER: builtins.int + PHY_PAYLOAD_JSON_FIELD_NUMBER: builtins.int + GATEWAY_ID_FIELD_NUMBER: builtins.int + PUBLISHED_AT_FIELD_NUMBER: builtins.int + # TX information of the downlink. + @property + def tx_info(self) -> chirpstack_api.gw.gw_pb2.DownlinkTXInfo: ... + # LoRaWAN PHYPayload. + phy_payload_json: typing.Text = ... + # Gateway ID. + gateway_id: typing.Text = ... + # Published at timestamp. + @property + def published_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + tx_info : typing.Optional[chirpstack_api.gw.gw_pb2.DownlinkTXInfo] = ..., + phy_payload_json : typing.Text = ..., + gateway_id : typing.Text = ..., + published_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"published_at",b"published_at",u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway_id",b"gateway_id",u"phy_payload_json",b"phy_payload_json",u"published_at",b"published_at",u"tx_info",b"tx_info"]) -> None: ... +global___DownlinkFrameLog = DownlinkFrameLog diff --git a/python/src/chirpstack_api/as_pb/external/api/frameLog_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/external/api/frameLog_pb2_grpc.pyi new file mode 100644 index 00000000..279095c9 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/frameLog_pb2_grpc.pyi @@ -0,0 +1,6 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +from .frameLog_pb2 import * \ No newline at end of file diff --git a/python/src/chirpstack_api/as_pb/external/api/gatewayProfile_grpc.py b/python/src/chirpstack_api/as_pb/external/api/gatewayProfile_grpc.py new file mode 100644 index 00000000..0847ae29 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/gatewayProfile_grpc.py @@ -0,0 +1,109 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/external/api/gatewayProfile.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.api.annotations_pb2 +import google.protobuf.timestamp_pb2 +import google.protobuf.duration_pb2 +import google.protobuf.empty_pb2 +import chirpstack_api.common.common_pb2 +import chirpstack_api.as_pb.external.api.gatewayProfile_pb2 + + +class GatewayProfileServiceBase(abc.ABC): + + @abc.abstractmethod + async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gatewayProfile_pb2.CreateGatewayProfileRequest, chirpstack_api.as_pb.external.api.gatewayProfile_pb2.CreateGatewayProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gatewayProfile_pb2.GetGatewayProfileRequest, chirpstack_api.as_pb.external.api.gatewayProfile_pb2.GetGatewayProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gatewayProfile_pb2.UpdateGatewayProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gatewayProfile_pb2.DeleteGatewayProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gatewayProfile_pb2.ListGatewayProfilesRequest, chirpstack_api.as_pb.external.api.gatewayProfile_pb2.ListGatewayProfilesResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/api.GatewayProfileService/Create': grpclib.const.Handler( + self.Create, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.CreateGatewayProfileRequest, + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.CreateGatewayProfileResponse, + ), + '/api.GatewayProfileService/Get': grpclib.const.Handler( + self.Get, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.GetGatewayProfileRequest, + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.GetGatewayProfileResponse, + ), + '/api.GatewayProfileService/Update': grpclib.const.Handler( + self.Update, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.UpdateGatewayProfileRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.GatewayProfileService/Delete': grpclib.const.Handler( + self.Delete, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.DeleteGatewayProfileRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.GatewayProfileService/List': grpclib.const.Handler( + self.List, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.ListGatewayProfilesRequest, + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.ListGatewayProfilesResponse, + ), + } + + +class GatewayProfileServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.Create = grpclib.client.UnaryUnaryMethod( + channel, + '/api.GatewayProfileService/Create', + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.CreateGatewayProfileRequest, + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.CreateGatewayProfileResponse, + ) + self.Get = grpclib.client.UnaryUnaryMethod( + channel, + '/api.GatewayProfileService/Get', + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.GetGatewayProfileRequest, + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.GetGatewayProfileResponse, + ) + self.Update = grpclib.client.UnaryUnaryMethod( + channel, + '/api.GatewayProfileService/Update', + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.UpdateGatewayProfileRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Delete = grpclib.client.UnaryUnaryMethod( + channel, + '/api.GatewayProfileService/Delete', + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.DeleteGatewayProfileRequest, + google.protobuf.empty_pb2.Empty, + ) + self.List = grpclib.client.UnaryUnaryMethod( + channel, + '/api.GatewayProfileService/List', + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.ListGatewayProfilesRequest, + chirpstack_api.as_pb.external.api.gatewayProfile_pb2.ListGatewayProfilesResponse, + ) diff --git a/python/src/chirpstack_api/as_pb/external/api/gatewayProfile_pb2.pyi b/python/src/chirpstack_api/as_pb/external/api/gatewayProfile_pb2.pyi new file mode 100644 index 00000000..c32d507d --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/gatewayProfile_pb2.pyi @@ -0,0 +1,243 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import chirpstack_api.common.common_pb2 +import google.protobuf.descriptor +import google.protobuf.duration_pb2 +import google.protobuf.internal.containers +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class GatewayProfile(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + NETWORK_SERVER_ID_FIELD_NUMBER: builtins.int + CHANNELS_FIELD_NUMBER: builtins.int + EXTRA_CHANNELS_FIELD_NUMBER: builtins.int + STATS_INTERVAL_FIELD_NUMBER: builtins.int + # Gateway-profile ID (UUID string). + id: typing.Text = ... + # Name of the gateway-profile. + name: typing.Text = ... + # Network-server ID of the gateway-profile. + network_server_id: builtins.int = ... + # Default channels (channels specified by the LoRaWAN Regional Parameters + # specification) enabled for this configuration. + @property + def channels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + # Extra channels added to the channel-configuration (in case the LoRaWAN + # region supports adding custom channels). + @property + def extra_channels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GatewayProfileExtraChannel]: ... + # Stats interval. + # This defines the (expected) stats interval which the gateways using this + # gateway-profile are using. + @property + def stats_interval(self) -> google.protobuf.duration_pb2.Duration: ... + def __init__(self, + *, + id : typing.Text = ..., + name : typing.Text = ..., + network_server_id : builtins.int = ..., + channels : typing.Optional[typing.Iterable[builtins.int]] = ..., + extra_channels : typing.Optional[typing.Iterable[global___GatewayProfileExtraChannel]] = ..., + stats_interval : typing.Optional[google.protobuf.duration_pb2.Duration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"stats_interval",b"stats_interval"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"channels",b"channels",u"extra_channels",b"extra_channels",u"id",b"id",u"name",b"name",u"network_server_id",b"network_server_id",u"stats_interval",b"stats_interval"]) -> None: ... +global___GatewayProfile = GatewayProfile + +class GatewayProfileListItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + NETWORK_SERVER_ID_FIELD_NUMBER: builtins.int + NETWORK_SERVER_NAME_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Gateway-profile ID (UUID string). + id: typing.Text = ... + # Gateway-profile name, + name: typing.Text = ... + # Network-server ID on which the gateway-profile is provisioned. + network_server_id: builtins.int = ... + # Network-server name. + network_server_name: typing.Text = ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + id : typing.Text = ..., + name : typing.Text = ..., + network_server_id : builtins.int = ..., + network_server_name : typing.Text = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"id",b"id",u"name",b"name",u"network_server_id",b"network_server_id",u"network_server_name",b"network_server_name",u"updated_at",b"updated_at"]) -> None: ... +global___GatewayProfileListItem = GatewayProfileListItem + +class GatewayProfileExtraChannel(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MODULATION_FIELD_NUMBER: builtins.int + FREQUENCY_FIELD_NUMBER: builtins.int + BANDWIDTH_FIELD_NUMBER: builtins.int + BITRATE_FIELD_NUMBER: builtins.int + SPREADING_FACTORS_FIELD_NUMBER: builtins.int + # Modulation. + modulation: chirpstack_api.common.common_pb2.Modulation.V = ... + # Frequency. + frequency: builtins.int = ... + # Bandwidth. + bandwidth: builtins.int = ... + # Bitrate (in case of FSK modulation). + bitrate: builtins.int = ... + # Spreading factors (in case of LoRa modulation). + @property + def spreading_factors(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + def __init__(self, + *, + modulation : chirpstack_api.common.common_pb2.Modulation.V = ..., + frequency : builtins.int = ..., + bandwidth : builtins.int = ..., + bitrate : builtins.int = ..., + spreading_factors : typing.Optional[typing.Iterable[builtins.int]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"bandwidth",b"bandwidth",u"bitrate",b"bitrate",u"frequency",b"frequency",u"modulation",b"modulation",u"spreading_factors",b"spreading_factors"]) -> None: ... +global___GatewayProfileExtraChannel = GatewayProfileExtraChannel + +class CreateGatewayProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_PROFILE_FIELD_NUMBER: builtins.int + # Gateway-profile object to create. + @property + def gateway_profile(self) -> global___GatewayProfile: ... + def __init__(self, + *, + gateway_profile : typing.Optional[global___GatewayProfile] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"gateway_profile",b"gateway_profile"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway_profile",b"gateway_profile"]) -> None: ... +global___CreateGatewayProfileRequest = CreateGatewayProfileRequest + +class CreateGatewayProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Gateway-profile ID (UUID string). + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___CreateGatewayProfileResponse = CreateGatewayProfileResponse + +class GetGatewayProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Gateway-profile ID (UUID string). + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetGatewayProfileRequest = GetGatewayProfileRequest + +class GetGatewayProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_PROFILE_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Gateway-profile object. + @property + def gateway_profile(self) -> global___GatewayProfile: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + gateway_profile : typing.Optional[global___GatewayProfile] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"gateway_profile",b"gateway_profile",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"gateway_profile",b"gateway_profile",u"updated_at",b"updated_at"]) -> None: ... +global___GetGatewayProfileResponse = GetGatewayProfileResponse + +class UpdateGatewayProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_PROFILE_FIELD_NUMBER: builtins.int + # Gateway-profile object to update. + @property + def gateway_profile(self) -> global___GatewayProfile: ... + def __init__(self, + *, + gateway_profile : typing.Optional[global___GatewayProfile] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"gateway_profile",b"gateway_profile"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway_profile",b"gateway_profile"]) -> None: ... +global___UpdateGatewayProfileRequest = UpdateGatewayProfileRequest + +class DeleteGatewayProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Gateway-profile id (UUID string). + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteGatewayProfileRequest = DeleteGatewayProfileRequest + +class ListGatewayProfilesRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + LIMIT_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + NETWORK_SERVER_ID_FIELD_NUMBER: builtins.int + # Max number of items to return. + limit: builtins.int = ... + # Offset in the result-set (for pagination). + offset: builtins.int = ... + # Network-server ID to filter on (optional). + network_server_id: builtins.int = ... + def __init__(self, + *, + limit : builtins.int = ..., + offset : builtins.int = ..., + network_server_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"limit",b"limit",u"network_server_id",b"network_server_id",u"offset",b"offset"]) -> None: ... +global___ListGatewayProfilesRequest = ListGatewayProfilesRequest + +class ListGatewayProfilesResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TOTAL_COUNT_FIELD_NUMBER: builtins.int + RESULT_FIELD_NUMBER: builtins.int + # Total number of gateway-profiles. + total_count: builtins.int = ... + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GatewayProfileListItem]: ... + def __init__(self, + *, + total_count : builtins.int = ..., + result : typing.Optional[typing.Iterable[global___GatewayProfileListItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result",u"total_count",b"total_count"]) -> None: ... +global___ListGatewayProfilesResponse = ListGatewayProfilesResponse diff --git a/python/src/chirpstack_api/as_pb/external/api/gatewayProfile_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/external/api/gatewayProfile_pb2_grpc.pyi new file mode 100644 index 00000000..c7f5b80b --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/gatewayProfile_pb2_grpc.pyi @@ -0,0 +1,77 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc + +from .gatewayProfile_pb2 import * +# GatewayProfileService is the service managing the gateway-profiles. +class GatewayProfileServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # Create creates the given gateway-profile. + Create:grpc.UnaryUnaryMultiCallable[ + global___CreateGatewayProfileRequest, + global___CreateGatewayProfileResponse] = ... + + # Get returns the gateway-profile matching the given id. + Get:grpc.UnaryUnaryMultiCallable[ + global___GetGatewayProfileRequest, + global___GetGatewayProfileResponse] = ... + + # Update updates the given gateway-profile. + Update:grpc.UnaryUnaryMultiCallable[ + global___UpdateGatewayProfileRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Delete deletes the gateway-profile matching the given id. + Delete:grpc.UnaryUnaryMultiCallable[ + global___DeleteGatewayProfileRequest, + google.protobuf.empty_pb2.Empty] = ... + + # List returns the existing gateway-profiles. + List:grpc.UnaryUnaryMultiCallable[ + global___ListGatewayProfilesRequest, + global___ListGatewayProfilesResponse] = ... + + +# GatewayProfileService is the service managing the gateway-profiles. +class GatewayProfileServiceServicer(metaclass=abc.ABCMeta): + # Create creates the given gateway-profile. + @abc.abstractmethod + def Create(self, + request: global___CreateGatewayProfileRequest, + context: grpc.ServicerContext, + ) -> global___CreateGatewayProfileResponse: ... + + # Get returns the gateway-profile matching the given id. + @abc.abstractmethod + def Get(self, + request: global___GetGatewayProfileRequest, + context: grpc.ServicerContext, + ) -> global___GetGatewayProfileResponse: ... + + # Update updates the given gateway-profile. + @abc.abstractmethod + def Update(self, + request: global___UpdateGatewayProfileRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Delete deletes the gateway-profile matching the given id. + @abc.abstractmethod + def Delete(self, + request: global___DeleteGatewayProfileRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # List returns the existing gateway-profiles. + @abc.abstractmethod + def List(self, + request: global___ListGatewayProfilesRequest, + context: grpc.ServicerContext, + ) -> global___ListGatewayProfilesResponse: ... + + +def add_GatewayProfileServiceServicer_to_server(servicer: GatewayProfileServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/as_pb/external/api/gateway_grpc.py b/python/src/chirpstack_api/as_pb/external/api/gateway_grpc.py new file mode 100644 index 00000000..1b523292 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/gateway_grpc.py @@ -0,0 +1,173 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/external/api/gateway.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.api.annotations_pb2 +import google.protobuf.timestamp_pb2 +import google.protobuf.empty_pb2 +import chirpstack_api.common.common_pb2 +import chirpstack_api.as_pb.external.api.frameLog_pb2 +import chirpstack_api.as_pb.external.api.gateway_pb2 + + +class GatewayServiceBase(abc.ABC): + + @abc.abstractmethod + async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.CreateGatewayRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayRequest, chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayResponse]') -> None: + pass + + @abc.abstractmethod + async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.UpdateGatewayRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.DeleteGatewayRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.ListGatewayRequest, chirpstack_api.as_pb.external.api.gateway_pb2.ListGatewayResponse]') -> None: + pass + + @abc.abstractmethod + async def GetStats(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayStatsRequest, chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayStatsResponse]') -> None: + pass + + @abc.abstractmethod + async def GetLastPing(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.GetLastPingRequest, chirpstack_api.as_pb.external.api.gateway_pb2.GetLastPingResponse]') -> None: + pass + + @abc.abstractmethod + async def GenerateGatewayClientCertificate(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.GenerateGatewayClientCertificateRequest, chirpstack_api.as_pb.external.api.gateway_pb2.GenerateGatewayClientCertificateResponse]') -> None: + pass + + @abc.abstractmethod + async def StreamFrameLogs(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.StreamGatewayFrameLogsRequest, chirpstack_api.as_pb.external.api.gateway_pb2.StreamGatewayFrameLogsResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/api.GatewayService/Create': grpclib.const.Handler( + self.Create, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.gateway_pb2.CreateGatewayRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.GatewayService/Get': grpclib.const.Handler( + self.Get, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayRequest, + chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayResponse, + ), + '/api.GatewayService/Update': grpclib.const.Handler( + self.Update, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.gateway_pb2.UpdateGatewayRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.GatewayService/Delete': grpclib.const.Handler( + self.Delete, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.gateway_pb2.DeleteGatewayRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.GatewayService/List': grpclib.const.Handler( + self.List, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.gateway_pb2.ListGatewayRequest, + chirpstack_api.as_pb.external.api.gateway_pb2.ListGatewayResponse, + ), + '/api.GatewayService/GetStats': grpclib.const.Handler( + self.GetStats, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayStatsRequest, + chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayStatsResponse, + ), + '/api.GatewayService/GetLastPing': grpclib.const.Handler( + self.GetLastPing, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.gateway_pb2.GetLastPingRequest, + chirpstack_api.as_pb.external.api.gateway_pb2.GetLastPingResponse, + ), + '/api.GatewayService/GenerateGatewayClientCertificate': grpclib.const.Handler( + self.GenerateGatewayClientCertificate, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.gateway_pb2.GenerateGatewayClientCertificateRequest, + chirpstack_api.as_pb.external.api.gateway_pb2.GenerateGatewayClientCertificateResponse, + ), + '/api.GatewayService/StreamFrameLogs': grpclib.const.Handler( + self.StreamFrameLogs, + grpclib.const.Cardinality.UNARY_STREAM, + chirpstack_api.as_pb.external.api.gateway_pb2.StreamGatewayFrameLogsRequest, + chirpstack_api.as_pb.external.api.gateway_pb2.StreamGatewayFrameLogsResponse, + ), + } + + +class GatewayServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.Create = grpclib.client.UnaryUnaryMethod( + channel, + '/api.GatewayService/Create', + chirpstack_api.as_pb.external.api.gateway_pb2.CreateGatewayRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Get = grpclib.client.UnaryUnaryMethod( + channel, + '/api.GatewayService/Get', + chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayRequest, + chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayResponse, + ) + self.Update = grpclib.client.UnaryUnaryMethod( + channel, + '/api.GatewayService/Update', + chirpstack_api.as_pb.external.api.gateway_pb2.UpdateGatewayRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Delete = grpclib.client.UnaryUnaryMethod( + channel, + '/api.GatewayService/Delete', + chirpstack_api.as_pb.external.api.gateway_pb2.DeleteGatewayRequest, + google.protobuf.empty_pb2.Empty, + ) + self.List = grpclib.client.UnaryUnaryMethod( + channel, + '/api.GatewayService/List', + chirpstack_api.as_pb.external.api.gateway_pb2.ListGatewayRequest, + chirpstack_api.as_pb.external.api.gateway_pb2.ListGatewayResponse, + ) + self.GetStats = grpclib.client.UnaryUnaryMethod( + channel, + '/api.GatewayService/GetStats', + chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayStatsRequest, + chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayStatsResponse, + ) + self.GetLastPing = grpclib.client.UnaryUnaryMethod( + channel, + '/api.GatewayService/GetLastPing', + chirpstack_api.as_pb.external.api.gateway_pb2.GetLastPingRequest, + chirpstack_api.as_pb.external.api.gateway_pb2.GetLastPingResponse, + ) + self.GenerateGatewayClientCertificate = grpclib.client.UnaryUnaryMethod( + channel, + '/api.GatewayService/GenerateGatewayClientCertificate', + chirpstack_api.as_pb.external.api.gateway_pb2.GenerateGatewayClientCertificateRequest, + chirpstack_api.as_pb.external.api.gateway_pb2.GenerateGatewayClientCertificateResponse, + ) + self.StreamFrameLogs = grpclib.client.UnaryStreamMethod( + channel, + '/api.GatewayService/StreamFrameLogs', + chirpstack_api.as_pb.external.api.gateway_pb2.StreamGatewayFrameLogsRequest, + chirpstack_api.as_pb.external.api.gateway_pb2.StreamGatewayFrameLogsResponse, + ) diff --git a/python/src/chirpstack_api/as_pb/external/api/gateway_pb2.pyi b/python/src/chirpstack_api/as_pb/external/api/gateway_pb2.pyi new file mode 100644 index 00000000..0d30c230 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/gateway_pb2.pyi @@ -0,0 +1,609 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import chirpstack_api.as_pb.external.api.frameLog_pb2 +import chirpstack_api.common.common_pb2 +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class Gateway(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class TagsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class MetadataEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + LOCATION_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + DISCOVERY_ENABLED_FIELD_NUMBER: builtins.int + NETWORK_SERVER_ID_FIELD_NUMBER: builtins.int + GATEWAY_PROFILE_ID_FIELD_NUMBER: builtins.int + BOARDS_FIELD_NUMBER: builtins.int + TAGS_FIELD_NUMBER: builtins.int + METADATA_FIELD_NUMBER: builtins.int + SERVICE_PROFILE_ID_FIELD_NUMBER: builtins.int + # Gateway ID (HEX encoded). + id: typing.Text = ... + # Gateway name. + name: typing.Text = ... + # Gateway description. + description: typing.Text = ... + # Gateway location. + @property + def location(self) -> chirpstack_api.common.common_pb2.Location: ... + # Organization ID to which the gateway belongs. + # This can't be changed after creating the gateway. + organization_id: builtins.int = ... + # Set to true to enable gateway discovery. + discovery_enabled: builtins.bool = ... + # Network-server ID on which the gateway is provisioned. + network_server_id: builtins.int = ... + # Gateway-profile ID (UUID string, optional). + gateway_profile_id: typing.Text = ... + # Gateway boards configuration (optional). + # This is (currently) only needed when the gateway supports the fine-timestamp + # and you you would like to add the FPGA ID to the gateway meta-data or would + # like ChirpStack Network Server to decrypt the fine-timestamp. + @property + def boards(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GatewayBoard]: ... + # Tags (user defined). + @property + def tags(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Metadata (provided by the gateway). + @property + def metadata(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Service-profile ID (UUID string, optional). + service_profile_id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + name : typing.Text = ..., + description : typing.Text = ..., + location : typing.Optional[chirpstack_api.common.common_pb2.Location] = ..., + organization_id : builtins.int = ..., + discovery_enabled : builtins.bool = ..., + network_server_id : builtins.int = ..., + gateway_profile_id : typing.Text = ..., + boards : typing.Optional[typing.Iterable[global___GatewayBoard]] = ..., + tags : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + metadata : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + service_profile_id : typing.Text = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"location",b"location"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"boards",b"boards",u"description",b"description",u"discovery_enabled",b"discovery_enabled",u"gateway_profile_id",b"gateway_profile_id",u"id",b"id",u"location",b"location",u"metadata",b"metadata",u"name",b"name",u"network_server_id",b"network_server_id",u"organization_id",b"organization_id",u"service_profile_id",b"service_profile_id",u"tags",b"tags"]) -> None: ... +global___Gateway = Gateway + +class GatewayBoard(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + FPGA_ID_FIELD_NUMBER: builtins.int + FINE_TIMESTAMP_KEY_FIELD_NUMBER: builtins.int + # FPGA ID of the gateway (HEX encoded) (optional). + fpga_id: typing.Text = ... + # Fine-timestamp AES decryption key (HEX encoded) (optional). + fine_timestamp_key: typing.Text = ... + def __init__(self, + *, + fpga_id : typing.Text = ..., + fine_timestamp_key : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"fine_timestamp_key",b"fine_timestamp_key",u"fpga_id",b"fpga_id"]) -> None: ... +global___GatewayBoard = GatewayBoard + +class CreateGatewayRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_FIELD_NUMBER: builtins.int + # Gateway object to create. + @property + def gateway(self) -> global___Gateway: ... + def __init__(self, + *, + gateway : typing.Optional[global___Gateway] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"gateway",b"gateway"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway",b"gateway"]) -> None: ... +global___CreateGatewayRequest = CreateGatewayRequest + +class GetGatewayRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Gateway ID (HEX encoded). + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetGatewayRequest = GetGatewayRequest + +class GetGatewayResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + FIRST_SEEN_AT_FIELD_NUMBER: builtins.int + LAST_SEEN_AT_FIELD_NUMBER: builtins.int + # Gateway object. + @property + def gateway(self) -> global___Gateway: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # First seen at timestamp. + @property + def first_seen_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last seen at timestamp. + @property + def last_seen_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + gateway : typing.Optional[global___Gateway] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + first_seen_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + last_seen_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"first_seen_at",b"first_seen_at",u"gateway",b"gateway",u"last_seen_at",b"last_seen_at",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"first_seen_at",b"first_seen_at",u"gateway",b"gateway",u"last_seen_at",b"last_seen_at",u"updated_at",b"updated_at"]) -> None: ... +global___GetGatewayResponse = GetGatewayResponse + +class DeleteGatewayRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Gateway ID (HEX encoded). + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteGatewayRequest = DeleteGatewayRequest + +class GenerateGatewayClientCertificateRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_ID_FIELD_NUMBER: builtins.int + # Gateway ID (HEX encoded). + gateway_id: typing.Text = ... + def __init__(self, + *, + gateway_id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway_id",b"gateway_id"]) -> None: ... +global___GenerateGatewayClientCertificateRequest = GenerateGatewayClientCertificateRequest + +class GenerateGatewayClientCertificateResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TLS_CERT_FIELD_NUMBER: builtins.int + TLS_KEY_FIELD_NUMBER: builtins.int + CA_CERT_FIELD_NUMBER: builtins.int + EXPIRES_AT_FIELD_NUMBER: builtins.int + # TLS certificate. + tls_cert: typing.Text = ... + # TLS key. + tls_key: typing.Text = ... + # CA certificate. + ca_cert: typing.Text = ... + # Expires at defines the expiration date of the certificate. + @property + def expires_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + tls_cert : typing.Text = ..., + tls_key : typing.Text = ..., + ca_cert : typing.Text = ..., + expires_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"expires_at",b"expires_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"ca_cert",b"ca_cert",u"expires_at",b"expires_at",u"tls_cert",b"tls_cert",u"tls_key",b"tls_key"]) -> None: ... +global___GenerateGatewayClientCertificateResponse = GenerateGatewayClientCertificateResponse + +class ListGatewayRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + LIMIT_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + SEARCH_FIELD_NUMBER: builtins.int + # Max number of nodes to return in the result-set. + limit: builtins.int = ... + # Offset of the result-set (for pagination). + offset: builtins.int = ... + # ID of the organization for which to filter on, when left blank the + # response will return all gateways to which the user has access to. + organization_id: builtins.int = ... + # Search on name or gateway MAC (optional). + search: typing.Text = ... + def __init__(self, + *, + limit : builtins.int = ..., + offset : builtins.int = ..., + organization_id : builtins.int = ..., + search : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"limit",b"limit",u"offset",b"offset",u"organization_id",b"organization_id",u"search",b"search"]) -> None: ... +global___ListGatewayRequest = ListGatewayRequest + +class GatewayListItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + FIRST_SEEN_AT_FIELD_NUMBER: builtins.int + LAST_SEEN_AT_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + NETWORK_SERVER_ID_FIELD_NUMBER: builtins.int + LOCATION_FIELD_NUMBER: builtins.int + NETWORK_SERVER_NAME_FIELD_NUMBER: builtins.int + # Gateway ID (HEX encoded). + id: typing.Text = ... + # A name for the gateway + name: typing.Text = ... + # A description for the gateway + description: typing.Text = ... + # Create timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # First seen timestamp. + @property + def first_seen_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last seen timestamp. + @property + def last_seen_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Organization ID. + organization_id: builtins.int = ... + # Network-server ID. + network_server_id: builtins.int = ... + # Location. + @property + def location(self) -> chirpstack_api.common.common_pb2.Location: ... + # Network-server name. + network_server_name: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + name : typing.Text = ..., + description : typing.Text = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + first_seen_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + last_seen_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + organization_id : builtins.int = ..., + network_server_id : builtins.int = ..., + location : typing.Optional[chirpstack_api.common.common_pb2.Location] = ..., + network_server_name : typing.Text = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"first_seen_at",b"first_seen_at",u"last_seen_at",b"last_seen_at",u"location",b"location",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"description",b"description",u"first_seen_at",b"first_seen_at",u"id",b"id",u"last_seen_at",b"last_seen_at",u"location",b"location",u"name",b"name",u"network_server_id",b"network_server_id",u"network_server_name",b"network_server_name",u"organization_id",b"organization_id",u"updated_at",b"updated_at"]) -> None: ... +global___GatewayListItem = GatewayListItem + +class ListGatewayResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TOTAL_COUNT_FIELD_NUMBER: builtins.int + RESULT_FIELD_NUMBER: builtins.int + # Total number of nodes available within the result-set. + total_count: builtins.int = ... + # Nodes within this result-set. + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GatewayListItem]: ... + def __init__(self, + *, + total_count : builtins.int = ..., + result : typing.Optional[typing.Iterable[global___GatewayListItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result",u"total_count",b"total_count"]) -> None: ... +global___ListGatewayResponse = ListGatewayResponse + +class UpdateGatewayRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_FIELD_NUMBER: builtins.int + # Gateway object to update. + @property + def gateway(self) -> global___Gateway: ... + def __init__(self, + *, + gateway : typing.Optional[global___Gateway] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"gateway",b"gateway"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway",b"gateway"]) -> None: ... +global___UpdateGatewayRequest = UpdateGatewayRequest + +class GatewayStats(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class TxPacketsPerFrequencyEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int = ... + value: builtins.int = ... + def __init__(self, + *, + key : builtins.int = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class RxPacketsPerFrequencyEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int = ... + value: builtins.int = ... + def __init__(self, + *, + key : builtins.int = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class TxPacketsPerDrEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int = ... + value: builtins.int = ... + def __init__(self, + *, + key : builtins.int = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class RxPacketsPerDrEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int = ... + value: builtins.int = ... + def __init__(self, + *, + key : builtins.int = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class TxPacketsPerStatusEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: builtins.int = ... + def __init__(self, + *, + key : typing.Text = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + TIMESTAMP_FIELD_NUMBER: builtins.int + RX_PACKETS_RECEIVED_FIELD_NUMBER: builtins.int + RX_PACKETS_RECEIVED_OK_FIELD_NUMBER: builtins.int + TX_PACKETS_RECEIVED_FIELD_NUMBER: builtins.int + TX_PACKETS_EMITTED_FIELD_NUMBER: builtins.int + TX_PACKETS_PER_FREQUENCY_FIELD_NUMBER: builtins.int + RX_PACKETS_PER_FREQUENCY_FIELD_NUMBER: builtins.int + TX_PACKETS_PER_DR_FIELD_NUMBER: builtins.int + RX_PACKETS_PER_DR_FIELD_NUMBER: builtins.int + TX_PACKETS_PER_STATUS_FIELD_NUMBER: builtins.int + # Timestamp of the (aggregated) measurement. + @property + def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Packets received by the gateway. + rx_packets_received: builtins.int = ... + # Packets received by the gateway that passed the CRC check. + rx_packets_received_ok: builtins.int = ... + # Packets received by the gateway for transmission. + tx_packets_received: builtins.int = ... + # Packets transmitted by the gateway. + tx_packets_emitted: builtins.int = ... + # Tx packets per frequency. + @property + def tx_packets_per_frequency(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]: ... + # Rx packets per frequency. + @property + def rx_packets_per_frequency(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]: ... + # Tx packets per DR. + @property + def tx_packets_per_dr(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]: ... + # Rx packets per DR. + @property + def rx_packets_per_dr(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]: ... + # Tx packets per status. + @property + def tx_packets_per_status(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, builtins.int]: ... + def __init__(self, + *, + timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + rx_packets_received : builtins.int = ..., + rx_packets_received_ok : builtins.int = ..., + tx_packets_received : builtins.int = ..., + tx_packets_emitted : builtins.int = ..., + tx_packets_per_frequency : typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ..., + rx_packets_per_frequency : typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ..., + tx_packets_per_dr : typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ..., + rx_packets_per_dr : typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ..., + tx_packets_per_status : typing.Optional[typing.Mapping[typing.Text, builtins.int]] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"timestamp",b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"rx_packets_per_dr",b"rx_packets_per_dr",u"rx_packets_per_frequency",b"rx_packets_per_frequency",u"rx_packets_received",b"rx_packets_received",u"rx_packets_received_ok",b"rx_packets_received_ok",u"timestamp",b"timestamp",u"tx_packets_emitted",b"tx_packets_emitted",u"tx_packets_per_dr",b"tx_packets_per_dr",u"tx_packets_per_frequency",b"tx_packets_per_frequency",u"tx_packets_per_status",b"tx_packets_per_status",u"tx_packets_received",b"tx_packets_received"]) -> None: ... +global___GatewayStats = GatewayStats + +class GetGatewayStatsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_ID_FIELD_NUMBER: builtins.int + INTERVAL_FIELD_NUMBER: builtins.int + START_TIMESTAMP_FIELD_NUMBER: builtins.int + END_TIMESTAMP_FIELD_NUMBER: builtins.int + # Gateway ID (HEX encoded). + gateway_id: typing.Text = ... + # Aggregation interval. One of "second", "minute", "hour", "day", "week", + # "month", "quarter", "year". Case insensitive. + interval: typing.Text = ... + # Timestamp to start from. + @property + def start_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Timestamp until to get from. + @property + def end_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + gateway_id : typing.Text = ..., + interval : typing.Text = ..., + start_timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + end_timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"end_timestamp",b"end_timestamp",u"start_timestamp",b"start_timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"end_timestamp",b"end_timestamp",u"gateway_id",b"gateway_id",u"interval",b"interval",u"start_timestamp",b"start_timestamp"]) -> None: ... +global___GetGatewayStatsRequest = GetGatewayStatsRequest + +class GetGatewayStatsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + RESULT_FIELD_NUMBER: builtins.int + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GatewayStats]: ... + def __init__(self, + *, + result : typing.Optional[typing.Iterable[global___GatewayStats]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result"]) -> None: ... +global___GetGatewayStatsResponse = GetGatewayStatsResponse + +class PingRX(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_ID_FIELD_NUMBER: builtins.int + RSSI_FIELD_NUMBER: builtins.int + LORA_SNR_FIELD_NUMBER: builtins.int + LATITUDE_FIELD_NUMBER: builtins.int + LONGITUDE_FIELD_NUMBER: builtins.int + ALTITUDE_FIELD_NUMBER: builtins.int + # Gateway ID (HEX encoded). + gateway_id: typing.Text = ... + # RSSI. + rssi: builtins.int = ... + # LoRa SNR. + lora_snr: builtins.float = ... + # Latitude of the gateway -90.0 to 90.0. + latitude: builtins.float = ... + # Longitude of the gateway -180.0 to 180.0. + longitude: builtins.float = ... + # Altitude of the gateway in meters. + altitude: builtins.float = ... + def __init__(self, + *, + gateway_id : typing.Text = ..., + rssi : builtins.int = ..., + lora_snr : builtins.float = ..., + latitude : builtins.float = ..., + longitude : builtins.float = ..., + altitude : builtins.float = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"altitude",b"altitude",u"gateway_id",b"gateway_id",u"latitude",b"latitude",u"longitude",b"longitude",u"lora_snr",b"lora_snr",u"rssi",b"rssi"]) -> None: ... +global___PingRX = PingRX + +class GetLastPingRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_ID_FIELD_NUMBER: builtins.int + # Gateway ID (HEX encoded). + gateway_id: typing.Text = ... + def __init__(self, + *, + gateway_id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway_id",b"gateway_id"]) -> None: ... +global___GetLastPingRequest = GetLastPingRequest + +class GetLastPingResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + CREATED_AT_FIELD_NUMBER: builtins.int + FREQUENCY_FIELD_NUMBER: builtins.int + DR_FIELD_NUMBER: builtins.int + PING_RX_FIELD_NUMBER: builtins.int + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Frequency (Hz). + frequency: builtins.int = ... + # Data-rate. + dr: builtins.int = ... + # Gateways and meta-data of reception. + @property + def ping_rx(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PingRX]: ... + def __init__(self, + *, + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + frequency : builtins.int = ..., + dr : builtins.int = ..., + ping_rx : typing.Optional[typing.Iterable[global___PingRX]] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"dr",b"dr",u"frequency",b"frequency",u"ping_rx",b"ping_rx"]) -> None: ... +global___GetLastPingResponse = GetLastPingResponse + +class StreamGatewayFrameLogsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_ID_FIELD_NUMBER: builtins.int + # Gateway ID (HEX encoded). + gateway_id: typing.Text = ... + def __init__(self, + *, + gateway_id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway_id",b"gateway_id"]) -> None: ... +global___StreamGatewayFrameLogsRequest = StreamGatewayFrameLogsRequest + +class StreamGatewayFrameLogsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + UPLINK_FRAME_FIELD_NUMBER: builtins.int + DOWNLINK_FRAME_FIELD_NUMBER: builtins.int + # Contains an uplink frame. + @property + def uplink_frame(self) -> chirpstack_api.as_pb.external.api.frameLog_pb2.UplinkFrameLog: ... + # Contains a downlink frame. + @property + def downlink_frame(self) -> chirpstack_api.as_pb.external.api.frameLog_pb2.DownlinkFrameLog: ... + def __init__(self, + *, + uplink_frame : typing.Optional[chirpstack_api.as_pb.external.api.frameLog_pb2.UplinkFrameLog] = ..., + downlink_frame : typing.Optional[chirpstack_api.as_pb.external.api.frameLog_pb2.DownlinkFrameLog] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"downlink_frame",b"downlink_frame",u"frame",b"frame",u"uplink_frame",b"uplink_frame"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"downlink_frame",b"downlink_frame",u"frame",b"frame",u"uplink_frame",b"uplink_frame"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal[u"frame",b"frame"]) -> typing.Optional[typing_extensions.Literal["uplink_frame","downlink_frame"]]: ... +global___StreamGatewayFrameLogsResponse = StreamGatewayFrameLogsResponse diff --git a/python/src/chirpstack_api/as_pb/external/api/gateway_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/external/api/gateway_pb2_grpc.pyi new file mode 100644 index 00000000..90ed4c49 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/gateway_pb2_grpc.pyi @@ -0,0 +1,138 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc +import typing + +from .gateway_pb2 import * +# GatewayService is the service managing the gateways. +class GatewayServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # Create creates the given gateway. + Create:grpc.UnaryUnaryMultiCallable[ + global___CreateGatewayRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Get returns the gateway for the requested mac address. + Get:grpc.UnaryUnaryMultiCallable[ + global___GetGatewayRequest, + global___GetGatewayResponse] = ... + + # Update updates the gateway matching the given mac address. + Update:grpc.UnaryUnaryMultiCallable[ + global___UpdateGatewayRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Delete deletes the gateway matching the given mac address. + Delete:grpc.UnaryUnaryMultiCallable[ + global___DeleteGatewayRequest, + google.protobuf.empty_pb2.Empty] = ... + + # List lists the gateways. + List:grpc.UnaryUnaryMultiCallable[ + global___ListGatewayRequest, + global___ListGatewayResponse] = ... + + # GetStats lists the gateway stats given the query parameters. + GetStats:grpc.UnaryUnaryMultiCallable[ + global___GetGatewayStatsRequest, + global___GetGatewayStatsResponse] = ... + + # GetLastPing returns the last emitted ping and gateways receiving this ping. + GetLastPing:grpc.UnaryUnaryMultiCallable[ + global___GetLastPingRequest, + global___GetLastPingResponse] = ... + + # GenerateGatewayClientCertificate returns TLS certificate gateway authentication / authorization. + # This endpoint can ony be used when ChirpStack Network Server is configured with a gateway + # CA certificate and key, which is used for signing the TLS certificate. The returned TLS + # certificate will have the Gateway ID as Common Name. + GenerateGatewayClientCertificate:grpc.UnaryUnaryMultiCallable[ + global___GenerateGatewayClientCertificateRequest, + global___GenerateGatewayClientCertificateResponse] = ... + + # StreamFrameLogs streams the uplink and downlink frame-logs for the given gateway ID. + # Notes: + # * These are the raw LoRaWAN frames and this endpoint is intended for debugging only. + # * This endpoint does not work from a web-browser. + StreamFrameLogs:grpc.UnaryStreamMultiCallable[ + global___StreamGatewayFrameLogsRequest, + global___StreamGatewayFrameLogsResponse] = ... + + +# GatewayService is the service managing the gateways. +class GatewayServiceServicer(metaclass=abc.ABCMeta): + # Create creates the given gateway. + @abc.abstractmethod + def Create(self, + request: global___CreateGatewayRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Get returns the gateway for the requested mac address. + @abc.abstractmethod + def Get(self, + request: global___GetGatewayRequest, + context: grpc.ServicerContext, + ) -> global___GetGatewayResponse: ... + + # Update updates the gateway matching the given mac address. + @abc.abstractmethod + def Update(self, + request: global___UpdateGatewayRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Delete deletes the gateway matching the given mac address. + @abc.abstractmethod + def Delete(self, + request: global___DeleteGatewayRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # List lists the gateways. + @abc.abstractmethod + def List(self, + request: global___ListGatewayRequest, + context: grpc.ServicerContext, + ) -> global___ListGatewayResponse: ... + + # GetStats lists the gateway stats given the query parameters. + @abc.abstractmethod + def GetStats(self, + request: global___GetGatewayStatsRequest, + context: grpc.ServicerContext, + ) -> global___GetGatewayStatsResponse: ... + + # GetLastPing returns the last emitted ping and gateways receiving this ping. + @abc.abstractmethod + def GetLastPing(self, + request: global___GetLastPingRequest, + context: grpc.ServicerContext, + ) -> global___GetLastPingResponse: ... + + # GenerateGatewayClientCertificate returns TLS certificate gateway authentication / authorization. + # This endpoint can ony be used when ChirpStack Network Server is configured with a gateway + # CA certificate and key, which is used for signing the TLS certificate. The returned TLS + # certificate will have the Gateway ID as Common Name. + @abc.abstractmethod + def GenerateGatewayClientCertificate(self, + request: global___GenerateGatewayClientCertificateRequest, + context: grpc.ServicerContext, + ) -> global___GenerateGatewayClientCertificateResponse: ... + + # StreamFrameLogs streams the uplink and downlink frame-logs for the given gateway ID. + # Notes: + # * These are the raw LoRaWAN frames and this endpoint is intended for debugging only. + # * This endpoint does not work from a web-browser. + @abc.abstractmethod + def StreamFrameLogs(self, + request: global___StreamGatewayFrameLogsRequest, + context: grpc.ServicerContext, + ) -> typing.Iterator[global___StreamGatewayFrameLogsResponse]: ... + + +def add_GatewayServiceServicer_to_server(servicer: GatewayServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/as_pb/external/api/internal_grpc.py b/python/src/chirpstack_api/as_pb/external/api/internal_grpc.py new file mode 100644 index 00000000..de13d4f7 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/internal_grpc.py @@ -0,0 +1,188 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/external/api/internal.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.api.annotations_pb2 +import google.protobuf.timestamp_pb2 +import google.protobuf.empty_pb2 +import chirpstack_api.as_pb.external.api.user_pb2 +import chirpstack_api.as_pb.external.api.internal_pb2 + + +class InternalServiceBase(abc.ABC): + + @abc.abstractmethod + async def Login(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.LoginRequest, chirpstack_api.as_pb.external.api.internal_pb2.LoginResponse]') -> None: + pass + + @abc.abstractmethod + async def Profile(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, chirpstack_api.as_pb.external.api.internal_pb2.ProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def GlobalSearch(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.GlobalSearchRequest, chirpstack_api.as_pb.external.api.internal_pb2.GlobalSearchResponse]') -> None: + pass + + @abc.abstractmethod + async def CreateAPIKey(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.CreateAPIKeyRequest, chirpstack_api.as_pb.external.api.internal_pb2.CreateAPIKeyResponse]') -> None: + pass + + @abc.abstractmethod + async def DeleteAPIKey(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.DeleteAPIKeyRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def ListAPIKeys(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.ListAPIKeysRequest, chirpstack_api.as_pb.external.api.internal_pb2.ListAPIKeysResponse]') -> None: + pass + + @abc.abstractmethod + async def Settings(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, chirpstack_api.as_pb.external.api.internal_pb2.SettingsResponse]') -> None: + pass + + @abc.abstractmethod + async def OpenIDConnectLogin(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.OpenIDConnectLoginRequest, chirpstack_api.as_pb.external.api.internal_pb2.OpenIDConnectLoginResponse]') -> None: + pass + + @abc.abstractmethod + async def GetDevicesSummary(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.GetDevicesSummaryRequest, chirpstack_api.as_pb.external.api.internal_pb2.GetDevicesSummaryResponse]') -> None: + pass + + @abc.abstractmethod + async def GetGatewaysSummary(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.GetGatewaysSummaryRequest, chirpstack_api.as_pb.external.api.internal_pb2.GetGatewaysSummaryResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/api.InternalService/Login': grpclib.const.Handler( + self.Login, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.internal_pb2.LoginRequest, + chirpstack_api.as_pb.external.api.internal_pb2.LoginResponse, + ), + '/api.InternalService/Profile': grpclib.const.Handler( + self.Profile, + grpclib.const.Cardinality.UNARY_UNARY, + google.protobuf.empty_pb2.Empty, + chirpstack_api.as_pb.external.api.internal_pb2.ProfileResponse, + ), + '/api.InternalService/GlobalSearch': grpclib.const.Handler( + self.GlobalSearch, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.internal_pb2.GlobalSearchRequest, + chirpstack_api.as_pb.external.api.internal_pb2.GlobalSearchResponse, + ), + '/api.InternalService/CreateAPIKey': grpclib.const.Handler( + self.CreateAPIKey, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.internal_pb2.CreateAPIKeyRequest, + chirpstack_api.as_pb.external.api.internal_pb2.CreateAPIKeyResponse, + ), + '/api.InternalService/DeleteAPIKey': grpclib.const.Handler( + self.DeleteAPIKey, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.internal_pb2.DeleteAPIKeyRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.InternalService/ListAPIKeys': grpclib.const.Handler( + self.ListAPIKeys, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.internal_pb2.ListAPIKeysRequest, + chirpstack_api.as_pb.external.api.internal_pb2.ListAPIKeysResponse, + ), + '/api.InternalService/Settings': grpclib.const.Handler( + self.Settings, + grpclib.const.Cardinality.UNARY_UNARY, + google.protobuf.empty_pb2.Empty, + chirpstack_api.as_pb.external.api.internal_pb2.SettingsResponse, + ), + '/api.InternalService/OpenIDConnectLogin': grpclib.const.Handler( + self.OpenIDConnectLogin, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.internal_pb2.OpenIDConnectLoginRequest, + chirpstack_api.as_pb.external.api.internal_pb2.OpenIDConnectLoginResponse, + ), + '/api.InternalService/GetDevicesSummary': grpclib.const.Handler( + self.GetDevicesSummary, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.internal_pb2.GetDevicesSummaryRequest, + chirpstack_api.as_pb.external.api.internal_pb2.GetDevicesSummaryResponse, + ), + '/api.InternalService/GetGatewaysSummary': grpclib.const.Handler( + self.GetGatewaysSummary, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.internal_pb2.GetGatewaysSummaryRequest, + chirpstack_api.as_pb.external.api.internal_pb2.GetGatewaysSummaryResponse, + ), + } + + +class InternalServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.Login = grpclib.client.UnaryUnaryMethod( + channel, + '/api.InternalService/Login', + chirpstack_api.as_pb.external.api.internal_pb2.LoginRequest, + chirpstack_api.as_pb.external.api.internal_pb2.LoginResponse, + ) + self.Profile = grpclib.client.UnaryUnaryMethod( + channel, + '/api.InternalService/Profile', + google.protobuf.empty_pb2.Empty, + chirpstack_api.as_pb.external.api.internal_pb2.ProfileResponse, + ) + self.GlobalSearch = grpclib.client.UnaryUnaryMethod( + channel, + '/api.InternalService/GlobalSearch', + chirpstack_api.as_pb.external.api.internal_pb2.GlobalSearchRequest, + chirpstack_api.as_pb.external.api.internal_pb2.GlobalSearchResponse, + ) + self.CreateAPIKey = grpclib.client.UnaryUnaryMethod( + channel, + '/api.InternalService/CreateAPIKey', + chirpstack_api.as_pb.external.api.internal_pb2.CreateAPIKeyRequest, + chirpstack_api.as_pb.external.api.internal_pb2.CreateAPIKeyResponse, + ) + self.DeleteAPIKey = grpclib.client.UnaryUnaryMethod( + channel, + '/api.InternalService/DeleteAPIKey', + chirpstack_api.as_pb.external.api.internal_pb2.DeleteAPIKeyRequest, + google.protobuf.empty_pb2.Empty, + ) + self.ListAPIKeys = grpclib.client.UnaryUnaryMethod( + channel, + '/api.InternalService/ListAPIKeys', + chirpstack_api.as_pb.external.api.internal_pb2.ListAPIKeysRequest, + chirpstack_api.as_pb.external.api.internal_pb2.ListAPIKeysResponse, + ) + self.Settings = grpclib.client.UnaryUnaryMethod( + channel, + '/api.InternalService/Settings', + google.protobuf.empty_pb2.Empty, + chirpstack_api.as_pb.external.api.internal_pb2.SettingsResponse, + ) + self.OpenIDConnectLogin = grpclib.client.UnaryUnaryMethod( + channel, + '/api.InternalService/OpenIDConnectLogin', + chirpstack_api.as_pb.external.api.internal_pb2.OpenIDConnectLoginRequest, + chirpstack_api.as_pb.external.api.internal_pb2.OpenIDConnectLoginResponse, + ) + self.GetDevicesSummary = grpclib.client.UnaryUnaryMethod( + channel, + '/api.InternalService/GetDevicesSummary', + chirpstack_api.as_pb.external.api.internal_pb2.GetDevicesSummaryRequest, + chirpstack_api.as_pb.external.api.internal_pb2.GetDevicesSummaryResponse, + ) + self.GetGatewaysSummary = grpclib.client.UnaryUnaryMethod( + channel, + '/api.InternalService/GetGatewaysSummary', + chirpstack_api.as_pb.external.api.internal_pb2.GetGatewaysSummaryRequest, + chirpstack_api.as_pb.external.api.internal_pb2.GetGatewaysSummaryResponse, + ) diff --git a/python/src/chirpstack_api/as_pb/external/api/internal_pb2.pyi b/python/src/chirpstack_api/as_pb/external/api/internal_pb2.pyi new file mode 100644 index 00000000..e515e53b --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/internal_pb2.pyi @@ -0,0 +1,472 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import chirpstack_api.as_pb.external.api.user_pb2 +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class APIKey(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + IS_ADMIN_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + APPLICATION_ID_FIELD_NUMBER: builtins.int + # API key ID. + # This value will be automatically generated on create. + id: typing.Text = ... + # Name. + name: typing.Text = ... + # Is global admin key. + is_admin: builtins.bool = ... + # Organization ID. + # In case this API key is to manage resources within a single organization + # set this to the ID of this organization. + organization_id: builtins.int = ... + # Application ID. + # In case the API key is to manage resources within an application, set + # this to the ID of this application.message + application_id: builtins.int = ... + def __init__(self, + *, + id : typing.Text = ..., + name : typing.Text = ..., + is_admin : builtins.bool = ..., + organization_id : builtins.int = ..., + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"id",b"id",u"is_admin",b"is_admin",u"name",b"name",u"organization_id",b"organization_id"]) -> None: ... +global___APIKey = APIKey + +class CreateAPIKeyRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + API_KEY_FIELD_NUMBER: builtins.int + # The API key to create. + @property + def api_key(self) -> global___APIKey: ... + def __init__(self, + *, + api_key : typing.Optional[global___APIKey] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"api_key",b"api_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"api_key",b"api_key"]) -> None: ... +global___CreateAPIKeyRequest = CreateAPIKeyRequest + +class CreateAPIKeyResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + JWT_TOKEN_FIELD_NUMBER: builtins.int + # API key ID. + id: typing.Text = ... + # JWT token for this API Key. + jwt_token: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + jwt_token : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id",u"jwt_token",b"jwt_token"]) -> None: ... +global___CreateAPIKeyResponse = CreateAPIKeyResponse + +class DeleteAPIKeyRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # API key ID. + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteAPIKeyRequest = DeleteAPIKeyRequest + +class ListAPIKeysRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + LIMIT_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + IS_ADMIN_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Max number of items to return. + limit: builtins.int = ... + # Offset in the result-set (for pagination). + offset: builtins.int = ... + # Return only admin keys. + is_admin: builtins.bool = ... + # Filter on organization ID. + organization_id: builtins.int = ... + # Filter on application ID. + application_id: builtins.int = ... + def __init__(self, + *, + limit : builtins.int = ..., + offset : builtins.int = ..., + is_admin : builtins.bool = ..., + organization_id : builtins.int = ..., + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"is_admin",b"is_admin",u"limit",b"limit",u"offset",b"offset",u"organization_id",b"organization_id"]) -> None: ... +global___ListAPIKeysRequest = ListAPIKeysRequest + +class ListAPIKeysResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TOTAL_COUNT_FIELD_NUMBER: builtins.int + RESULT_FIELD_NUMBER: builtins.int + # Total number of API keys. + total_count: builtins.int = ... + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___APIKey]: ... + def __init__(self, + *, + total_count : builtins.int = ..., + result : typing.Optional[typing.Iterable[global___APIKey]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result",u"total_count",b"total_count"]) -> None: ... +global___ListAPIKeysResponse = ListAPIKeysResponse + +# Defines an organization to which an user is associated. +class OrganizationLink(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + ORGANIZATION_NAME_FIELD_NUMBER: builtins.int + IS_ADMIN_FIELD_NUMBER: builtins.int + IS_DEVICE_ADMIN_FIELD_NUMBER: builtins.int + IS_GATEWAY_ADMIN_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Organization ID. + organization_id: builtins.int = ... + # Organization name. + organization_name: typing.Text = ... + # User is admin within the context of this organization. + # There is no need to set the is_device_admin and is_gateway_admin flags. + is_admin: builtins.bool = ... + # User is able to modify device related resources (applications, + # device-profiles, devices, multicast-groups). + is_device_admin: builtins.bool = ... + # User is able to modify gateways. + is_gateway_admin: builtins.bool = ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + organization_id : builtins.int = ..., + organization_name : typing.Text = ..., + is_admin : builtins.bool = ..., + is_device_admin : builtins.bool = ..., + is_gateway_admin : builtins.bool = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"is_admin",b"is_admin",u"is_device_admin",b"is_device_admin",u"is_gateway_admin",b"is_gateway_admin",u"organization_id",b"organization_id",u"organization_name",b"organization_name",u"updated_at",b"updated_at"]) -> None: ... +global___OrganizationLink = OrganizationLink + +class LoginRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + EMAIL_FIELD_NUMBER: builtins.int + PASSWORD_FIELD_NUMBER: builtins.int + # Email of the user. + email: typing.Text = ... + # Password of the user. + password: typing.Text = ... + def __init__(self, + *, + email : typing.Text = ..., + password : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"email",b"email",u"password",b"password"]) -> None: ... +global___LoginRequest = LoginRequest + +class LoginResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + JWT_FIELD_NUMBER: builtins.int + # The JWT tag to be used to access chirpstack-application-server interfaces. + jwt: typing.Text = ... + def __init__(self, + *, + jwt : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"jwt",b"jwt"]) -> None: ... +global___LoginResponse = LoginResponse + +class ProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + USER_FIELD_NUMBER: builtins.int + ORGANIZATIONS_FIELD_NUMBER: builtins.int + # User object. + @property + def user(self) -> chirpstack_api.as_pb.external.api.user_pb2.User: ... + # Organizations to which the user is associated. + @property + def organizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OrganizationLink]: ... + def __init__(self, + *, + user : typing.Optional[chirpstack_api.as_pb.external.api.user_pb2.User] = ..., + organizations : typing.Optional[typing.Iterable[global___OrganizationLink]] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"user",b"user"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"organizations",b"organizations",u"user",b"user"]) -> None: ... +global___ProfileResponse = ProfileResponse + +class GlobalSearchRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + SEARCH_FIELD_NUMBER: builtins.int + LIMIT_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + # Search query. + search: typing.Text = ... + # Max number of results to return. + limit: builtins.int = ... + # Offset offset of the result-set (for pagination). + offset: builtins.int = ... + def __init__(self, + *, + search : typing.Text = ..., + limit : builtins.int = ..., + offset : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"limit",b"limit",u"offset",b"offset",u"search",b"search"]) -> None: ... +global___GlobalSearchRequest = GlobalSearchRequest + +class GlobalSearchResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + RESULT_FIELD_NUMBER: builtins.int + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GlobalSearchResult]: ... + def __init__(self, + *, + result : typing.Optional[typing.Iterable[global___GlobalSearchResult]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result"]) -> None: ... +global___GlobalSearchResponse = GlobalSearchResponse + +class GlobalSearchResult(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KIND_FIELD_NUMBER: builtins.int + SCORE_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + ORGANIZATION_NAME_FIELD_NUMBER: builtins.int + APPLICATION_ID_FIELD_NUMBER: builtins.int + APPLICATION_NAME_FIELD_NUMBER: builtins.int + DEVICE_DEV_EUI_FIELD_NUMBER: builtins.int + DEVICE_NAME_FIELD_NUMBER: builtins.int + GATEWAY_MAC_FIELD_NUMBER: builtins.int + GATEWAY_NAME_FIELD_NUMBER: builtins.int + # Record kind. + kind: typing.Text = ... + # Search score. + score: builtins.float = ... + # Organization id. + organization_id: builtins.int = ... + # Organization name. + organization_name: typing.Text = ... + # Application id. + application_id: builtins.int = ... + # Application name. + application_name: typing.Text = ... + # Device DevEUI (hex encoded). + device_dev_eui: typing.Text = ... + # Device name. + device_name: typing.Text = ... + # Gateway MAC (hex encoded). + gateway_mac: typing.Text = ... + # Gateway name. + gateway_name: typing.Text = ... + def __init__(self, + *, + kind : typing.Text = ..., + score : builtins.float = ..., + organization_id : builtins.int = ..., + organization_name : typing.Text = ..., + application_id : builtins.int = ..., + application_name : typing.Text = ..., + device_dev_eui : typing.Text = ..., + device_name : typing.Text = ..., + gateway_mac : typing.Text = ..., + gateway_name : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"application_name",b"application_name",u"device_dev_eui",b"device_dev_eui",u"device_name",b"device_name",u"gateway_mac",b"gateway_mac",u"gateway_name",b"gateway_name",u"kind",b"kind",u"organization_id",b"organization_id",u"organization_name",b"organization_name",u"score",b"score"]) -> None: ... +global___GlobalSearchResult = GlobalSearchResult + +class SettingsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + BRANDING_FIELD_NUMBER: builtins.int + OPENID_CONNECT_FIELD_NUMBER: builtins.int + # Branding settings. + @property + def branding(self) -> global___Branding: ... + # OpenID Connect settings. + @property + def openid_connect(self) -> global___OpenIDConnect: ... + def __init__(self, + *, + branding : typing.Optional[global___Branding] = ..., + openid_connect : typing.Optional[global___OpenIDConnect] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"branding",b"branding",u"openid_connect",b"openid_connect"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"branding",b"branding",u"openid_connect",b"openid_connect"]) -> None: ... +global___SettingsResponse = SettingsResponse + +class Branding(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + REGISTRATION_FIELD_NUMBER: builtins.int + FOOTER_FIELD_NUMBER: builtins.int + # Registration html. + registration: typing.Text = ... + # Footer html. + footer: typing.Text = ... + def __init__(self, + *, + registration : typing.Text = ..., + footer : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"footer",b"footer",u"registration",b"registration"]) -> None: ... +global___Branding = Branding + +class OpenIDConnect(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ENABLED_FIELD_NUMBER: builtins.int + LOGIN_URL_FIELD_NUMBER: builtins.int + LOGIN_LABEL_FIELD_NUMBER: builtins.int + LOGOUT_URL_FIELD_NUMBER: builtins.int + # Enable OpenID Connect authentication. + enabled: builtins.bool = ... + # Login url. + login_url: typing.Text = ... + # Login label. + login_label: typing.Text = ... + # Logout url. + logout_url: typing.Text = ... + def __init__(self, + *, + enabled : builtins.bool = ..., + login_url : typing.Text = ..., + login_label : typing.Text = ..., + logout_url : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"enabled",b"enabled",u"login_label",b"login_label",u"login_url",b"login_url",u"logout_url",b"logout_url"]) -> None: ... +global___OpenIDConnect = OpenIDConnect + +class OpenIDConnectLoginRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + CODE_FIELD_NUMBER: builtins.int + STATE_FIELD_NUMBER: builtins.int + # OpenID Connect callback code. + code: typing.Text = ... + # OpenID Connect callback state. + state: typing.Text = ... + def __init__(self, + *, + code : typing.Text = ..., + state : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"code",b"code",u"state",b"state"]) -> None: ... +global___OpenIDConnectLoginRequest = OpenIDConnectLoginRequest + +class OpenIDConnectLoginResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + JWT_TOKEN_FIELD_NUMBER: builtins.int + # JWT token to use for authentication. + jwt_token: typing.Text = ... + def __init__(self, + *, + jwt_token : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"jwt_token",b"jwt_token"]) -> None: ... +global___OpenIDConnectLoginResponse = OpenIDConnectLoginResponse + +class GetDevicesSummaryRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + # Organization ID. + organization_id: builtins.int = ... + def __init__(self, + *, + organization_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"organization_id",b"organization_id"]) -> None: ... +global___GetDevicesSummaryRequest = GetDevicesSummaryRequest + +class GetDevicesSummaryResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class DrCountEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int = ... + value: builtins.int = ... + def __init__(self, + *, + key : builtins.int = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + ACTIVE_COUNT_FIELD_NUMBER: builtins.int + INACTIVE_COUNT_FIELD_NUMBER: builtins.int + DR_COUNT_FIELD_NUMBER: builtins.int + NEVER_SEEN_COUNT_FIELD_NUMBER: builtins.int + # Active count. + active_count: builtins.int = ... + # Inactive count. + inactive_count: builtins.int = ... + # per data-rate count. + # Devices that have never been seen are excluded. + @property + def dr_count(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]: ... + # Never seen count. + never_seen_count: builtins.int = ... + def __init__(self, + *, + active_count : builtins.int = ..., + inactive_count : builtins.int = ..., + dr_count : typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ..., + never_seen_count : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"active_count",b"active_count",u"dr_count",b"dr_count",u"inactive_count",b"inactive_count",u"never_seen_count",b"never_seen_count"]) -> None: ... +global___GetDevicesSummaryResponse = GetDevicesSummaryResponse + +class GetGatewaysSummaryRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + # Organization ID. + organization_id: builtins.int = ... + def __init__(self, + *, + organization_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"organization_id",b"organization_id"]) -> None: ... +global___GetGatewaysSummaryRequest = GetGatewaysSummaryRequest + +class GetGatewaysSummaryResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ACTIVE_COUNT_FIELD_NUMBER: builtins.int + INACTIVE_COUNT_FIELD_NUMBER: builtins.int + NEVER_SEEN_COUNT_FIELD_NUMBER: builtins.int + # Active count. + active_count: builtins.int = ... + # Inactive count. + inactive_count: builtins.int = ... + # Never seen count. + never_seen_count: builtins.int = ... + def __init__(self, + *, + active_count : builtins.int = ..., + inactive_count : builtins.int = ..., + never_seen_count : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"active_count",b"active_count",u"inactive_count",b"inactive_count",u"never_seen_count",b"never_seen_count"]) -> None: ... +global___GetGatewaysSummaryResponse = GetGatewaysSummaryResponse diff --git a/python/src/chirpstack_api/as_pb/external/api/internal_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/external/api/internal_pb2_grpc.pyi new file mode 100644 index 00000000..cd162e6e --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/internal_pb2_grpc.pyi @@ -0,0 +1,137 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc + +from .internal_pb2 import * +# InternalService is the service providing API endpoints for internal usage. +class InternalServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # Log in a user + Login:grpc.UnaryUnaryMultiCallable[ + global___LoginRequest, + global___LoginResponse] = ... + + # Get the current user's profile + Profile:grpc.UnaryUnaryMultiCallable[ + google.protobuf.empty_pb2.Empty, + global___ProfileResponse] = ... + + # Perform a global search. + GlobalSearch:grpc.UnaryUnaryMultiCallable[ + global___GlobalSearchRequest, + global___GlobalSearchResponse] = ... + + # CreateAPIKey creates the given API key. + CreateAPIKey:grpc.UnaryUnaryMultiCallable[ + global___CreateAPIKeyRequest, + global___CreateAPIKeyResponse] = ... + + # DeleteAPIKey deletes the API key. + DeleteAPIKey:grpc.UnaryUnaryMultiCallable[ + global___DeleteAPIKeyRequest, + google.protobuf.empty_pb2.Empty] = ... + + # ListAPIKeys lists the available API keys. + ListAPIKeys:grpc.UnaryUnaryMultiCallable[ + global___ListAPIKeysRequest, + global___ListAPIKeysResponse] = ... + + # Get the global settings. + Settings:grpc.UnaryUnaryMultiCallable[ + google.protobuf.empty_pb2.Empty, + global___SettingsResponse] = ... + + # OpenID Connect login. + OpenIDConnectLogin:grpc.UnaryUnaryMultiCallable[ + global___OpenIDConnectLoginRequest, + global___OpenIDConnectLoginResponse] = ... + + # GetDevicesSummary returns an aggregated summary of the devices. + GetDevicesSummary:grpc.UnaryUnaryMultiCallable[ + global___GetDevicesSummaryRequest, + global___GetDevicesSummaryResponse] = ... + + # GetGatewaysSummary returns an aggregated summary of the gateways. + GetGatewaysSummary:grpc.UnaryUnaryMultiCallable[ + global___GetGatewaysSummaryRequest, + global___GetGatewaysSummaryResponse] = ... + + +# InternalService is the service providing API endpoints for internal usage. +class InternalServiceServicer(metaclass=abc.ABCMeta): + # Log in a user + @abc.abstractmethod + def Login(self, + request: global___LoginRequest, + context: grpc.ServicerContext, + ) -> global___LoginResponse: ... + + # Get the current user's profile + @abc.abstractmethod + def Profile(self, + request: google.protobuf.empty_pb2.Empty, + context: grpc.ServicerContext, + ) -> global___ProfileResponse: ... + + # Perform a global search. + @abc.abstractmethod + def GlobalSearch(self, + request: global___GlobalSearchRequest, + context: grpc.ServicerContext, + ) -> global___GlobalSearchResponse: ... + + # CreateAPIKey creates the given API key. + @abc.abstractmethod + def CreateAPIKey(self, + request: global___CreateAPIKeyRequest, + context: grpc.ServicerContext, + ) -> global___CreateAPIKeyResponse: ... + + # DeleteAPIKey deletes the API key. + @abc.abstractmethod + def DeleteAPIKey(self, + request: global___DeleteAPIKeyRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # ListAPIKeys lists the available API keys. + @abc.abstractmethod + def ListAPIKeys(self, + request: global___ListAPIKeysRequest, + context: grpc.ServicerContext, + ) -> global___ListAPIKeysResponse: ... + + # Get the global settings. + @abc.abstractmethod + def Settings(self, + request: google.protobuf.empty_pb2.Empty, + context: grpc.ServicerContext, + ) -> global___SettingsResponse: ... + + # OpenID Connect login. + @abc.abstractmethod + def OpenIDConnectLogin(self, + request: global___OpenIDConnectLoginRequest, + context: grpc.ServicerContext, + ) -> global___OpenIDConnectLoginResponse: ... + + # GetDevicesSummary returns an aggregated summary of the devices. + @abc.abstractmethod + def GetDevicesSummary(self, + request: global___GetDevicesSummaryRequest, + context: grpc.ServicerContext, + ) -> global___GetDevicesSummaryResponse: ... + + # GetGatewaysSummary returns an aggregated summary of the gateways. + @abc.abstractmethod + def GetGatewaysSummary(self, + request: global___GetGatewaysSummaryRequest, + context: grpc.ServicerContext, + ) -> global___GetGatewaysSummaryResponse: ... + + +def add_InternalServiceServicer_to_server(servicer: InternalServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/as_pb/external/api/multicastGroup_grpc.py b/python/src/chirpstack_api/as_pb/external/api/multicastGroup_grpc.py new file mode 100644 index 00000000..7bde0516 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/multicastGroup_grpc.py @@ -0,0 +1,187 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/external/api/multicastGroup.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.api.annotations_pb2 +import google.protobuf.timestamp_pb2 +import google.protobuf.empty_pb2 +import chirpstack_api.as_pb.external.api.multicastGroup_pb2 + + +class MulticastGroupServiceBase(abc.ABC): + + @abc.abstractmethod + async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.CreateMulticastGroupRequest, chirpstack_api.as_pb.external.api.multicastGroup_pb2.CreateMulticastGroupResponse]') -> None: + pass + + @abc.abstractmethod + async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.GetMulticastGroupRequest, chirpstack_api.as_pb.external.api.multicastGroup_pb2.GetMulticastGroupResponse]') -> None: + pass + + @abc.abstractmethod + async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.UpdateMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.DeleteMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupRequest, chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupResponse]') -> None: + pass + + @abc.abstractmethod + async def AddDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.AddDeviceToMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def RemoveDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.RemoveDeviceFromMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Enqueue(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.EnqueueMulticastQueueItemRequest, chirpstack_api.as_pb.external.api.multicastGroup_pb2.EnqueueMulticastQueueItemResponse]') -> None: + pass + + @abc.abstractmethod + async def FlushQueue(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.FlushMulticastGroupQueueItemsRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def ListQueue(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupQueueItemsRequest, chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupQueueItemsResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/api.MulticastGroupService/Create': grpclib.const.Handler( + self.Create, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.CreateMulticastGroupRequest, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.CreateMulticastGroupResponse, + ), + '/api.MulticastGroupService/Get': grpclib.const.Handler( + self.Get, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.GetMulticastGroupRequest, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.GetMulticastGroupResponse, + ), + '/api.MulticastGroupService/Update': grpclib.const.Handler( + self.Update, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.UpdateMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.MulticastGroupService/Delete': grpclib.const.Handler( + self.Delete, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.DeleteMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.MulticastGroupService/List': grpclib.const.Handler( + self.List, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupRequest, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupResponse, + ), + '/api.MulticastGroupService/AddDevice': grpclib.const.Handler( + self.AddDevice, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.AddDeviceToMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.MulticastGroupService/RemoveDevice': grpclib.const.Handler( + self.RemoveDevice, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.RemoveDeviceFromMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.MulticastGroupService/Enqueue': grpclib.const.Handler( + self.Enqueue, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.EnqueueMulticastQueueItemRequest, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.EnqueueMulticastQueueItemResponse, + ), + '/api.MulticastGroupService/FlushQueue': grpclib.const.Handler( + self.FlushQueue, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.FlushMulticastGroupQueueItemsRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.MulticastGroupService/ListQueue': grpclib.const.Handler( + self.ListQueue, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupQueueItemsRequest, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupQueueItemsResponse, + ), + } + + +class MulticastGroupServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.Create = grpclib.client.UnaryUnaryMethod( + channel, + '/api.MulticastGroupService/Create', + chirpstack_api.as_pb.external.api.multicastGroup_pb2.CreateMulticastGroupRequest, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.CreateMulticastGroupResponse, + ) + self.Get = grpclib.client.UnaryUnaryMethod( + channel, + '/api.MulticastGroupService/Get', + chirpstack_api.as_pb.external.api.multicastGroup_pb2.GetMulticastGroupRequest, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.GetMulticastGroupResponse, + ) + self.Update = grpclib.client.UnaryUnaryMethod( + channel, + '/api.MulticastGroupService/Update', + chirpstack_api.as_pb.external.api.multicastGroup_pb2.UpdateMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Delete = grpclib.client.UnaryUnaryMethod( + channel, + '/api.MulticastGroupService/Delete', + chirpstack_api.as_pb.external.api.multicastGroup_pb2.DeleteMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ) + self.List = grpclib.client.UnaryUnaryMethod( + channel, + '/api.MulticastGroupService/List', + chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupRequest, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupResponse, + ) + self.AddDevice = grpclib.client.UnaryUnaryMethod( + channel, + '/api.MulticastGroupService/AddDevice', + chirpstack_api.as_pb.external.api.multicastGroup_pb2.AddDeviceToMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ) + self.RemoveDevice = grpclib.client.UnaryUnaryMethod( + channel, + '/api.MulticastGroupService/RemoveDevice', + chirpstack_api.as_pb.external.api.multicastGroup_pb2.RemoveDeviceFromMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Enqueue = grpclib.client.UnaryUnaryMethod( + channel, + '/api.MulticastGroupService/Enqueue', + chirpstack_api.as_pb.external.api.multicastGroup_pb2.EnqueueMulticastQueueItemRequest, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.EnqueueMulticastQueueItemResponse, + ) + self.FlushQueue = grpclib.client.UnaryUnaryMethod( + channel, + '/api.MulticastGroupService/FlushQueue', + chirpstack_api.as_pb.external.api.multicastGroup_pb2.FlushMulticastGroupQueueItemsRequest, + google.protobuf.empty_pb2.Empty, + ) + self.ListQueue = grpclib.client.UnaryUnaryMethod( + channel, + '/api.MulticastGroupService/ListQueue', + chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupQueueItemsRequest, + chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupQueueItemsResponse, + ) diff --git a/python/src/chirpstack_api/as_pb/external/api/multicastGroup_pb2.pyi b/python/src/chirpstack_api/as_pb/external/api/multicastGroup_pb2.pyi new file mode 100644 index 00000000..49beebb2 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/multicastGroup_pb2.pyi @@ -0,0 +1,368 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class MulticastGroupType(_MulticastGroupType, metaclass=_MulticastGroupTypeEnumTypeWrapper): + pass +class _MulticastGroupType: + V = typing.NewType('V', builtins.int) +class _MulticastGroupTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MulticastGroupType.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # Class-C. + CLASS_C = MulticastGroupType.V(0) + # Class-B. + CLASS_B = MulticastGroupType.V(1) + +# Class-C. +CLASS_C = MulticastGroupType.V(0) +# Class-B. +CLASS_B = MulticastGroupType.V(1) +global___MulticastGroupType = MulticastGroupType + + +class MulticastGroup(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + MC_ADDR_FIELD_NUMBER: builtins.int + MC_NWK_S_KEY_FIELD_NUMBER: builtins.int + MC_APP_S_KEY_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + GROUP_TYPE_FIELD_NUMBER: builtins.int + DR_FIELD_NUMBER: builtins.int + FREQUENCY_FIELD_NUMBER: builtins.int + PING_SLOT_PERIOD_FIELD_NUMBER: builtins.int + APPLICATION_ID_FIELD_NUMBER: builtins.int + # ID (string formatted UUID). + # This will be generated automatically on create. + id: typing.Text = ... + # Multicast-group name. + name: typing.Text = ... + # Multicast address (HEX encoded DevAddr). + mc_addr: typing.Text = ... + # Multicast network session key (HEX encoded AES128 key). + mc_nwk_s_key: typing.Text = ... + # Multicast application session key (HEX encoded AES128 key). + mc_app_s_key: typing.Text = ... + # Frame-counter. + f_cnt: builtins.int = ... + # Multicast type. + group_type: global___MulticastGroupType.V = ... + # Data-rate. + dr: builtins.int = ... + # Frequency (Hz). + frequency: builtins.int = ... + # Ping-slot period. + # Mandatory for Class-B multicast groups. + ping_slot_period: builtins.int = ... + # Application ID. + # After creation, this can not be updated. + application_id: builtins.int = ... + def __init__(self, + *, + id : typing.Text = ..., + name : typing.Text = ..., + mc_addr : typing.Text = ..., + mc_nwk_s_key : typing.Text = ..., + mc_app_s_key : typing.Text = ..., + f_cnt : builtins.int = ..., + group_type : global___MulticastGroupType.V = ..., + dr : builtins.int = ..., + frequency : builtins.int = ..., + ping_slot_period : builtins.int = ..., + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"dr",b"dr",u"f_cnt",b"f_cnt",u"frequency",b"frequency",u"group_type",b"group_type",u"id",b"id",u"mc_addr",b"mc_addr",u"mc_app_s_key",b"mc_app_s_key",u"mc_nwk_s_key",b"mc_nwk_s_key",u"name",b"name",u"ping_slot_period",b"ping_slot_period"]) -> None: ... +global___MulticastGroup = MulticastGroup + +class MulticastGroupListItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + APPLICATION_ID_FIELD_NUMBER: builtins.int + APPLICATION_NAME_FIELD_NUMBER: builtins.int + # ID (string formatted UUID). + id: typing.Text = ... + # Multicast-group name. + name: typing.Text = ... + # Application ID. + application_id: builtins.int = ... + # Application name. + application_name: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + name : typing.Text = ..., + application_id : builtins.int = ..., + application_name : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"application_name",b"application_name",u"id",b"id",u"name",b"name"]) -> None: ... +global___MulticastGroupListItem = MulticastGroupListItem + +class CreateMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_GROUP_FIELD_NUMBER: builtins.int + # Multicast-group object to create. + @property + def multicast_group(self) -> global___MulticastGroup: ... + def __init__(self, + *, + multicast_group : typing.Optional[global___MulticastGroup] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"multicast_group",b"multicast_group"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"multicast_group",b"multicast_group"]) -> None: ... +global___CreateMulticastGroupRequest = CreateMulticastGroupRequest + +class CreateMulticastGroupResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # ID of created group (string formatted UUID). + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___CreateMulticastGroupResponse = CreateMulticastGroupResponse + +class GetMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # ID (string formatted UUID). + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetMulticastGroupRequest = GetMulticastGroupRequest + +class GetMulticastGroupResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_GROUP_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Multicast-group object. + @property + def multicast_group(self) -> global___MulticastGroup: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + multicast_group : typing.Optional[global___MulticastGroup] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"multicast_group",b"multicast_group",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"multicast_group",b"multicast_group",u"updated_at",b"updated_at"]) -> None: ... +global___GetMulticastGroupResponse = GetMulticastGroupResponse + +class UpdateMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_GROUP_FIELD_NUMBER: builtins.int + # Multicast-group object to update. + @property + def multicast_group(self) -> global___MulticastGroup: ... + def __init__(self, + *, + multicast_group : typing.Optional[global___MulticastGroup] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"multicast_group",b"multicast_group"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"multicast_group",b"multicast_group"]) -> None: ... +global___UpdateMulticastGroupRequest = UpdateMulticastGroupRequest + +class DeleteMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # ID (string formatted UUID). + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteMulticastGroupRequest = DeleteMulticastGroupRequest + +class AddDeviceToMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_GROUP_ID_FIELD_NUMBER: builtins.int + DEV_EUI_FIELD_NUMBER: builtins.int + # Multicast-group ID (string formatted UUID). + multicast_group_id: typing.Text = ... + # Device EUI (HEX encoded string). + # Note that the device and the multicast-group must share the same + # application ID. + dev_eui: typing.Text = ... + def __init__(self, + *, + multicast_group_id : typing.Text = ..., + dev_eui : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui",u"multicast_group_id",b"multicast_group_id"]) -> None: ... +global___AddDeviceToMulticastGroupRequest = AddDeviceToMulticastGroupRequest + +class RemoveDeviceFromMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_GROUP_ID_FIELD_NUMBER: builtins.int + DEV_EUI_FIELD_NUMBER: builtins.int + # Multicast-group ID (string formatted UUID). + multicast_group_id: typing.Text = ... + # Device EUI (HEX encoded string). + dev_eui: typing.Text = ... + def __init__(self, + *, + multicast_group_id : typing.Text = ..., + dev_eui : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui",u"multicast_group_id",b"multicast_group_id"]) -> None: ... +global___RemoveDeviceFromMulticastGroupRequest = RemoveDeviceFromMulticastGroupRequest + +class ListMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + LIMIT_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + DEV_EUI_FIELD_NUMBER: builtins.int + SEARCH_FIELD_NUMBER: builtins.int + APPLICATION_ID_FIELD_NUMBER: builtins.int + # Max number of items to return. + limit: builtins.int = ... + # Offset in the result-set (for pagination). + offset: builtins.int = ... + # Organization id to filter on. + organization_id: builtins.int = ... + # Device EUI (HEX encoded string) to filter on. + dev_eui: typing.Text = ... + # Search can be used to search on the multicast-group name. + search: typing.Text = ... + # Application ID to filter on. + application_id: builtins.int = ... + def __init__(self, + *, + limit : builtins.int = ..., + offset : builtins.int = ..., + organization_id : builtins.int = ..., + dev_eui : typing.Text = ..., + search : typing.Text = ..., + application_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"dev_eui",b"dev_eui",u"limit",b"limit",u"offset",b"offset",u"organization_id",b"organization_id",u"search",b"search"]) -> None: ... +global___ListMulticastGroupRequest = ListMulticastGroupRequest + +class ListMulticastGroupResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TOTAL_COUNT_FIELD_NUMBER: builtins.int + RESULT_FIELD_NUMBER: builtins.int + # Total number of multicast-groups. + total_count: builtins.int = ... + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MulticastGroupListItem]: ... + def __init__(self, + *, + total_count : builtins.int = ..., + result : typing.Optional[typing.Iterable[global___MulticastGroupListItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result",u"total_count",b"total_count"]) -> None: ... +global___ListMulticastGroupResponse = ListMulticastGroupResponse + +class MulticastQueueItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_GROUP_ID_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + F_PORT_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + # Multicast-group ID (string formatted UUID). + multicast_group_id: typing.Text = ... + # Downlink frame-counter. + # This will be automatically set on enqueue. + f_cnt: builtins.int = ... + # FPort used (must be > 0). + f_port: builtins.int = ... + # Base64 encoded data. + data: builtins.bytes = ... + def __init__(self, + *, + multicast_group_id : typing.Text = ..., + f_cnt : builtins.int = ..., + f_port : builtins.int = ..., + data : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"data",b"data",u"f_cnt",b"f_cnt",u"f_port",b"f_port",u"multicast_group_id",b"multicast_group_id"]) -> None: ... +global___MulticastQueueItem = MulticastQueueItem + +class EnqueueMulticastQueueItemRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_QUEUE_ITEM_FIELD_NUMBER: builtins.int + # Multicast queue-item object to enqueue. + @property + def multicast_queue_item(self) -> global___MulticastQueueItem: ... + def __init__(self, + *, + multicast_queue_item : typing.Optional[global___MulticastQueueItem] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"multicast_queue_item",b"multicast_queue_item"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"multicast_queue_item",b"multicast_queue_item"]) -> None: ... +global___EnqueueMulticastQueueItemRequest = EnqueueMulticastQueueItemRequest + +class EnqueueMulticastQueueItemResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + F_CNT_FIELD_NUMBER: builtins.int + # Frame-counter for the enqueued payload. + f_cnt: builtins.int = ... + def __init__(self, + *, + f_cnt : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"f_cnt",b"f_cnt"]) -> None: ... +global___EnqueueMulticastQueueItemResponse = EnqueueMulticastQueueItemResponse + +class FlushMulticastGroupQueueItemsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_GROUP_ID_FIELD_NUMBER: builtins.int + # Multicast-group ID (string formatted UUID). + multicast_group_id: typing.Text = ... + def __init__(self, + *, + multicast_group_id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"multicast_group_id",b"multicast_group_id"]) -> None: ... +global___FlushMulticastGroupQueueItemsRequest = FlushMulticastGroupQueueItemsRequest + +class ListMulticastGroupQueueItemsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_GROUP_ID_FIELD_NUMBER: builtins.int + # Multicast-group ID (string formatted UUID). + multicast_group_id: typing.Text = ... + def __init__(self, + *, + multicast_group_id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"multicast_group_id",b"multicast_group_id"]) -> None: ... +global___ListMulticastGroupQueueItemsRequest = ListMulticastGroupQueueItemsRequest + +class ListMulticastGroupQueueItemsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_QUEUE_ITEMS_FIELD_NUMBER: builtins.int + @property + def multicast_queue_items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MulticastQueueItem]: ... + def __init__(self, + *, + multicast_queue_items : typing.Optional[typing.Iterable[global___MulticastQueueItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"multicast_queue_items",b"multicast_queue_items"]) -> None: ... +global___ListMulticastGroupQueueItemsResponse = ListMulticastGroupQueueItemsResponse diff --git a/python/src/chirpstack_api/as_pb/external/api/multicastGroup_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/external/api/multicastGroup_pb2_grpc.pyi new file mode 100644 index 00000000..b8bf78d4 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/multicastGroup_pb2_grpc.pyi @@ -0,0 +1,137 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc + +from .multicastGroup_pb2 import * +# MulticastGroupService is the service managing multicast-groups. +class MulticastGroupServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # Create creates the given multicast-group. + Create:grpc.UnaryUnaryMultiCallable[ + global___CreateMulticastGroupRequest, + global___CreateMulticastGroupResponse] = ... + + # Get returns a multicast-group given an ID. + Get:grpc.UnaryUnaryMultiCallable[ + global___GetMulticastGroupRequest, + global___GetMulticastGroupResponse] = ... + + # Update updates the given multicast-group. + Update:grpc.UnaryUnaryMultiCallable[ + global___UpdateMulticastGroupRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Delete deletes a multicast-group given an ID. + Delete:grpc.UnaryUnaryMultiCallable[ + global___DeleteMulticastGroupRequest, + google.protobuf.empty_pb2.Empty] = ... + + # List lists the available multicast-groups. + List:grpc.UnaryUnaryMultiCallable[ + global___ListMulticastGroupRequest, + global___ListMulticastGroupResponse] = ... + + # AddDevice adds the given device to the multicast-group. + AddDevice:grpc.UnaryUnaryMultiCallable[ + global___AddDeviceToMulticastGroupRequest, + google.protobuf.empty_pb2.Empty] = ... + + # RemoveDevice removes the given device from the multicast-group. + RemoveDevice:grpc.UnaryUnaryMultiCallable[ + global___RemoveDeviceFromMulticastGroupRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Enqueue adds the given item to the multicast-queue. + Enqueue:grpc.UnaryUnaryMultiCallable[ + global___EnqueueMulticastQueueItemRequest, + global___EnqueueMulticastQueueItemResponse] = ... + + # FlushQueue flushes the multicast-group queue. + FlushQueue:grpc.UnaryUnaryMultiCallable[ + global___FlushMulticastGroupQueueItemsRequest, + google.protobuf.empty_pb2.Empty] = ... + + # ListQueue lists the items in the multicast-group queue. + ListQueue:grpc.UnaryUnaryMultiCallable[ + global___ListMulticastGroupQueueItemsRequest, + global___ListMulticastGroupQueueItemsResponse] = ... + + +# MulticastGroupService is the service managing multicast-groups. +class MulticastGroupServiceServicer(metaclass=abc.ABCMeta): + # Create creates the given multicast-group. + @abc.abstractmethod + def Create(self, + request: global___CreateMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> global___CreateMulticastGroupResponse: ... + + # Get returns a multicast-group given an ID. + @abc.abstractmethod + def Get(self, + request: global___GetMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> global___GetMulticastGroupResponse: ... + + # Update updates the given multicast-group. + @abc.abstractmethod + def Update(self, + request: global___UpdateMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Delete deletes a multicast-group given an ID. + @abc.abstractmethod + def Delete(self, + request: global___DeleteMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # List lists the available multicast-groups. + @abc.abstractmethod + def List(self, + request: global___ListMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> global___ListMulticastGroupResponse: ... + + # AddDevice adds the given device to the multicast-group. + @abc.abstractmethod + def AddDevice(self, + request: global___AddDeviceToMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # RemoveDevice removes the given device from the multicast-group. + @abc.abstractmethod + def RemoveDevice(self, + request: global___RemoveDeviceFromMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Enqueue adds the given item to the multicast-queue. + @abc.abstractmethod + def Enqueue(self, + request: global___EnqueueMulticastQueueItemRequest, + context: grpc.ServicerContext, + ) -> global___EnqueueMulticastQueueItemResponse: ... + + # FlushQueue flushes the multicast-group queue. + @abc.abstractmethod + def FlushQueue(self, + request: global___FlushMulticastGroupQueueItemsRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # ListQueue lists the items in the multicast-group queue. + @abc.abstractmethod + def ListQueue(self, + request: global___ListMulticastGroupQueueItemsRequest, + context: grpc.ServicerContext, + ) -> global___ListMulticastGroupQueueItemsResponse: ... + + +def add_MulticastGroupServiceServicer_to_server(servicer: MulticastGroupServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/as_pb/external/api/networkServer_grpc.py b/python/src/chirpstack_api/as_pb/external/api/networkServer_grpc.py new file mode 100644 index 00000000..60d42055 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/networkServer_grpc.py @@ -0,0 +1,123 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/external/api/networkServer.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.api.annotations_pb2 +import google.protobuf.timestamp_pb2 +import google.protobuf.empty_pb2 +import chirpstack_api.as_pb.external.api.networkServer_pb2 + + +class NetworkServerServiceBase(abc.ABC): + + @abc.abstractmethod + async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.networkServer_pb2.CreateNetworkServerRequest, chirpstack_api.as_pb.external.api.networkServer_pb2.CreateNetworkServerResponse]') -> None: + pass + + @abc.abstractmethod + async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.networkServer_pb2.GetNetworkServerRequest, chirpstack_api.as_pb.external.api.networkServer_pb2.GetNetworkServerResponse]') -> None: + pass + + @abc.abstractmethod + async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.networkServer_pb2.UpdateNetworkServerRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.networkServer_pb2.DeleteNetworkServerRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.networkServer_pb2.ListNetworkServerRequest, chirpstack_api.as_pb.external.api.networkServer_pb2.ListNetworkServerResponse]') -> None: + pass + + @abc.abstractmethod + async def GetADRAlgorithms(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.networkServer_pb2.GetADRAlgorithmsRequest, chirpstack_api.as_pb.external.api.networkServer_pb2.GetADRAlgorithmsResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/api.NetworkServerService/Create': grpclib.const.Handler( + self.Create, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.networkServer_pb2.CreateNetworkServerRequest, + chirpstack_api.as_pb.external.api.networkServer_pb2.CreateNetworkServerResponse, + ), + '/api.NetworkServerService/Get': grpclib.const.Handler( + self.Get, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.networkServer_pb2.GetNetworkServerRequest, + chirpstack_api.as_pb.external.api.networkServer_pb2.GetNetworkServerResponse, + ), + '/api.NetworkServerService/Update': grpclib.const.Handler( + self.Update, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.networkServer_pb2.UpdateNetworkServerRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.NetworkServerService/Delete': grpclib.const.Handler( + self.Delete, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.networkServer_pb2.DeleteNetworkServerRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.NetworkServerService/List': grpclib.const.Handler( + self.List, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.networkServer_pb2.ListNetworkServerRequest, + chirpstack_api.as_pb.external.api.networkServer_pb2.ListNetworkServerResponse, + ), + '/api.NetworkServerService/GetADRAlgorithms': grpclib.const.Handler( + self.GetADRAlgorithms, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.networkServer_pb2.GetADRAlgorithmsRequest, + chirpstack_api.as_pb.external.api.networkServer_pb2.GetADRAlgorithmsResponse, + ), + } + + +class NetworkServerServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.Create = grpclib.client.UnaryUnaryMethod( + channel, + '/api.NetworkServerService/Create', + chirpstack_api.as_pb.external.api.networkServer_pb2.CreateNetworkServerRequest, + chirpstack_api.as_pb.external.api.networkServer_pb2.CreateNetworkServerResponse, + ) + self.Get = grpclib.client.UnaryUnaryMethod( + channel, + '/api.NetworkServerService/Get', + chirpstack_api.as_pb.external.api.networkServer_pb2.GetNetworkServerRequest, + chirpstack_api.as_pb.external.api.networkServer_pb2.GetNetworkServerResponse, + ) + self.Update = grpclib.client.UnaryUnaryMethod( + channel, + '/api.NetworkServerService/Update', + chirpstack_api.as_pb.external.api.networkServer_pb2.UpdateNetworkServerRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Delete = grpclib.client.UnaryUnaryMethod( + channel, + '/api.NetworkServerService/Delete', + chirpstack_api.as_pb.external.api.networkServer_pb2.DeleteNetworkServerRequest, + google.protobuf.empty_pb2.Empty, + ) + self.List = grpclib.client.UnaryUnaryMethod( + channel, + '/api.NetworkServerService/List', + chirpstack_api.as_pb.external.api.networkServer_pb2.ListNetworkServerRequest, + chirpstack_api.as_pb.external.api.networkServer_pb2.ListNetworkServerResponse, + ) + self.GetADRAlgorithms = grpclib.client.UnaryUnaryMethod( + channel, + '/api.NetworkServerService/GetADRAlgorithms', + chirpstack_api.as_pb.external.api.networkServer_pb2.GetADRAlgorithmsRequest, + chirpstack_api.as_pb.external.api.networkServer_pb2.GetADRAlgorithmsResponse, + ) diff --git a/python/src/chirpstack_api/as_pb/external/api/networkServer_pb2.pyi b/python/src/chirpstack_api/as_pb/external/api/networkServer_pb2.pyi new file mode 100644 index 00000000..a739339f --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/networkServer_pb2.pyi @@ -0,0 +1,283 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class NetworkServer(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + SERVER_FIELD_NUMBER: builtins.int + CA_CERT_FIELD_NUMBER: builtins.int + TLS_CERT_FIELD_NUMBER: builtins.int + TLS_KEY_FIELD_NUMBER: builtins.int + ROUTING_PROFILE_CA_CERT_FIELD_NUMBER: builtins.int + ROUTING_PROFILE_TLS_CERT_FIELD_NUMBER: builtins.int + ROUTING_PROFILE_TLS_KEY_FIELD_NUMBER: builtins.int + GATEWAY_DISCOVERY_ENABLED_FIELD_NUMBER: builtins.int + GATEWAY_DISCOVERY_INTERVAL_FIELD_NUMBER: builtins.int + GATEWAY_DISCOVERY_TX_FREQUENCY_FIELD_NUMBER: builtins.int + GATEWAY_DISCOVERY_DR_FIELD_NUMBER: builtins.int + # Network-server ID. + id: builtins.int = ... + # Network-server name. + name: typing.Text = ... + # Network-server server. + # Format: hostname:ip (e.g. localhost:8000). + server: typing.Text = ... + # CA certificate (optional). + ca_cert: typing.Text = ... + # TLS (client) certificate for connecting to the network-server (optional). + tls_cert: typing.Text = ... + # TLS (client) key for connecting to the network-server (optional). + tls_key: typing.Text = ... + # Routing-profile ca certificate (used by the network-server to connect + # back to the application-server) (optional). + routing_profile_ca_cert: typing.Text = ... + # Routing-profile TLS certificate (used by the network-server to connect + # back to the application-server) (optional). + routing_profile_tls_cert: typing.Text = ... + # Routing-profile TLS key (used by the network-server to connect + # back to the application-server) (optional). + routing_profile_tls_key: typing.Text = ... + # Enable gateway discovery for this network-server. + gateway_discovery_enabled: builtins.bool = ... + # The number of times per day the gateway discovery 'ping' must be + # broadcasted per gateway. + gateway_discovery_interval: builtins.int = ... + # The frequency (Hz) of the gateway discovery 'ping'. + gateway_discovery_tx_frequency: builtins.int = ... + # The data-rate of the gateway discovery 'ping'. + gateway_discovery_dr: builtins.int = ... + def __init__(self, + *, + id : builtins.int = ..., + name : typing.Text = ..., + server : typing.Text = ..., + ca_cert : typing.Text = ..., + tls_cert : typing.Text = ..., + tls_key : typing.Text = ..., + routing_profile_ca_cert : typing.Text = ..., + routing_profile_tls_cert : typing.Text = ..., + routing_profile_tls_key : typing.Text = ..., + gateway_discovery_enabled : builtins.bool = ..., + gateway_discovery_interval : builtins.int = ..., + gateway_discovery_tx_frequency : builtins.int = ..., + gateway_discovery_dr : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"ca_cert",b"ca_cert",u"gateway_discovery_dr",b"gateway_discovery_dr",u"gateway_discovery_enabled",b"gateway_discovery_enabled",u"gateway_discovery_interval",b"gateway_discovery_interval",u"gateway_discovery_tx_frequency",b"gateway_discovery_tx_frequency",u"id",b"id",u"name",b"name",u"routing_profile_ca_cert",b"routing_profile_ca_cert",u"routing_profile_tls_cert",b"routing_profile_tls_cert",u"routing_profile_tls_key",b"routing_profile_tls_key",u"server",b"server",u"tls_cert",b"tls_cert",u"tls_key",b"tls_key"]) -> None: ... +global___NetworkServer = NetworkServer + +class NetworkServerListItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + SERVER_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Network-server ID. + id: builtins.int = ... + # Network-server name. + name: typing.Text = ... + # Network-server server. + # Format: hostname:ip (e.g. localhost:8000). + server: typing.Text = ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + id : builtins.int = ..., + name : typing.Text = ..., + server : typing.Text = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"id",b"id",u"name",b"name",u"server",b"server",u"updated_at",b"updated_at"]) -> None: ... +global___NetworkServerListItem = NetworkServerListItem + +class CreateNetworkServerRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + NETWORK_SERVER_FIELD_NUMBER: builtins.int + # Network-server object to create. + @property + def network_server(self) -> global___NetworkServer: ... + def __init__(self, + *, + network_server : typing.Optional[global___NetworkServer] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"network_server",b"network_server"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"network_server",b"network_server"]) -> None: ... +global___CreateNetworkServerRequest = CreateNetworkServerRequest + +class CreateNetworkServerResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Network-server ID. + id: builtins.int = ... + def __init__(self, + *, + id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___CreateNetworkServerResponse = CreateNetworkServerResponse + +class GetNetworkServerRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Network-server ID. + id: builtins.int = ... + def __init__(self, + *, + id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetNetworkServerRequest = GetNetworkServerRequest + +class GetNetworkServerResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + NETWORK_SERVER_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + REGION_FIELD_NUMBER: builtins.int + # Network-server object. + @property + def network_server(self) -> global___NetworkServer: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # The ChirpStack Network Server version. + version: typing.Text = ... + # The ChirpStack Network Server region configured. + region: typing.Text = ... + def __init__(self, + *, + network_server : typing.Optional[global___NetworkServer] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + version : typing.Text = ..., + region : typing.Text = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"network_server",b"network_server",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"network_server",b"network_server",u"region",b"region",u"updated_at",b"updated_at",u"version",b"version"]) -> None: ... +global___GetNetworkServerResponse = GetNetworkServerResponse + +class UpdateNetworkServerRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + NETWORK_SERVER_FIELD_NUMBER: builtins.int + # Network-server object to update. + @property + def network_server(self) -> global___NetworkServer: ... + def __init__(self, + *, + network_server : typing.Optional[global___NetworkServer] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"network_server",b"network_server"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"network_server",b"network_server"]) -> None: ... +global___UpdateNetworkServerRequest = UpdateNetworkServerRequest + +class DeleteNetworkServerRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Network-server ID. + id: builtins.int = ... + def __init__(self, + *, + id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteNetworkServerRequest = DeleteNetworkServerRequest + +class ListNetworkServerRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + LIMIT_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + # Max number of items to return. + limit: builtins.int = ... + # Offset in the result-set (for pagination). + offset: builtins.int = ... + # Organization id to filter on. + organization_id: builtins.int = ... + def __init__(self, + *, + limit : builtins.int = ..., + offset : builtins.int = ..., + organization_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"limit",b"limit",u"offset",b"offset",u"organization_id",b"organization_id"]) -> None: ... +global___ListNetworkServerRequest = ListNetworkServerRequest + +class ListNetworkServerResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TOTAL_COUNT_FIELD_NUMBER: builtins.int + RESULT_FIELD_NUMBER: builtins.int + # Total number of network-servers. + total_count: builtins.int = ... + # Network-servers within the result-set. + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkServerListItem]: ... + def __init__(self, + *, + total_count : builtins.int = ..., + result : typing.Optional[typing.Iterable[global___NetworkServerListItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result",u"total_count",b"total_count"]) -> None: ... +global___ListNetworkServerResponse = ListNetworkServerResponse + +class GetADRAlgorithmsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + NETWORK_SERVER_ID_FIELD_NUMBER: builtins.int + # Network-server ID. + network_server_id: builtins.int = ... + def __init__(self, + *, + network_server_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"network_server_id",b"network_server_id"]) -> None: ... +global___GetADRAlgorithmsRequest = GetADRAlgorithmsRequest + +class GetADRAlgorithmsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ADR_ALGORITHMS_FIELD_NUMBER: builtins.int + @property + def adr_algorithms(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ADRAlgorithm]: ... + def __init__(self, + *, + adr_algorithms : typing.Optional[typing.Iterable[global___ADRAlgorithm]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"adr_algorithms",b"adr_algorithms"]) -> None: ... +global___GetADRAlgorithmsResponse = GetADRAlgorithmsResponse + +class ADRAlgorithm(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + # ADR algorithm ID. + id: typing.Text = ... + # ADR algorithm name. + name: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + name : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id",u"name",b"name"]) -> None: ... +global___ADRAlgorithm = ADRAlgorithm diff --git a/python/src/chirpstack_api/as_pb/external/api/networkServer_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/external/api/networkServer_pb2_grpc.pyi new file mode 100644 index 00000000..1c2e01df --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/networkServer_pb2_grpc.pyi @@ -0,0 +1,89 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc + +from .networkServer_pb2 import * +# NetworkServerService is the service managing network-servers. +class NetworkServerServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # Create creates the given network-server. + Create:grpc.UnaryUnaryMultiCallable[ + global___CreateNetworkServerRequest, + global___CreateNetworkServerResponse] = ... + + # Get returns the network-server matching the given id. + Get:grpc.UnaryUnaryMultiCallable[ + global___GetNetworkServerRequest, + global___GetNetworkServerResponse] = ... + + # Update updates the given network-server. + Update:grpc.UnaryUnaryMultiCallable[ + global___UpdateNetworkServerRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Delete deletes the network-server matching the given id. + Delete:grpc.UnaryUnaryMultiCallable[ + global___DeleteNetworkServerRequest, + google.protobuf.empty_pb2.Empty] = ... + + # List lists the available network-servers. + List:grpc.UnaryUnaryMultiCallable[ + global___ListNetworkServerRequest, + global___ListNetworkServerResponse] = ... + + # GetADRAlgorithms returns the available ADR algorithms. + GetADRAlgorithms:grpc.UnaryUnaryMultiCallable[ + global___GetADRAlgorithmsRequest, + global___GetADRAlgorithmsResponse] = ... + + +# NetworkServerService is the service managing network-servers. +class NetworkServerServiceServicer(metaclass=abc.ABCMeta): + # Create creates the given network-server. + @abc.abstractmethod + def Create(self, + request: global___CreateNetworkServerRequest, + context: grpc.ServicerContext, + ) -> global___CreateNetworkServerResponse: ... + + # Get returns the network-server matching the given id. + @abc.abstractmethod + def Get(self, + request: global___GetNetworkServerRequest, + context: grpc.ServicerContext, + ) -> global___GetNetworkServerResponse: ... + + # Update updates the given network-server. + @abc.abstractmethod + def Update(self, + request: global___UpdateNetworkServerRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Delete deletes the network-server matching the given id. + @abc.abstractmethod + def Delete(self, + request: global___DeleteNetworkServerRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # List lists the available network-servers. + @abc.abstractmethod + def List(self, + request: global___ListNetworkServerRequest, + context: grpc.ServicerContext, + ) -> global___ListNetworkServerResponse: ... + + # GetADRAlgorithms returns the available ADR algorithms. + @abc.abstractmethod + def GetADRAlgorithms(self, + request: global___GetADRAlgorithmsRequest, + context: grpc.ServicerContext, + ) -> global___GetADRAlgorithmsResponse: ... + + +def add_NetworkServerServiceServicer_to_server(servicer: NetworkServerServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/as_pb/external/api/organization_grpc.py b/python/src/chirpstack_api/as_pb/external/api/organization_grpc.py new file mode 100644 index 00000000..6e4b1799 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/organization_grpc.py @@ -0,0 +1,187 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/external/api/organization.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.api.annotations_pb2 +import google.protobuf.timestamp_pb2 +import google.protobuf.empty_pb2 +import chirpstack_api.as_pb.external.api.organization_pb2 + + +class OrganizationServiceBase(abc.ABC): + + @abc.abstractmethod + async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationRequest, chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationResponse]') -> None: + pass + + @abc.abstractmethod + async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationRequest, chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationResponse]') -> None: + pass + + @abc.abstractmethod + async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.CreateOrganizationRequest, chirpstack_api.as_pb.external.api.organization_pb2.CreateOrganizationResponse]') -> None: + pass + + @abc.abstractmethod + async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.UpdateOrganizationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.DeleteOrganizationRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def ListUsers(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationUsersRequest, chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationUsersResponse]') -> None: + pass + + @abc.abstractmethod + async def GetUser(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationUserRequest, chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationUserResponse]') -> None: + pass + + @abc.abstractmethod + async def AddUser(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.AddOrganizationUserRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def UpdateUser(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.UpdateOrganizationUserRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteUser(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.DeleteOrganizationUserRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/api.OrganizationService/List': grpclib.const.Handler( + self.List, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationRequest, + chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationResponse, + ), + '/api.OrganizationService/Get': grpclib.const.Handler( + self.Get, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationRequest, + chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationResponse, + ), + '/api.OrganizationService/Create': grpclib.const.Handler( + self.Create, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.organization_pb2.CreateOrganizationRequest, + chirpstack_api.as_pb.external.api.organization_pb2.CreateOrganizationResponse, + ), + '/api.OrganizationService/Update': grpclib.const.Handler( + self.Update, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.organization_pb2.UpdateOrganizationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.OrganizationService/Delete': grpclib.const.Handler( + self.Delete, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.organization_pb2.DeleteOrganizationRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.OrganizationService/ListUsers': grpclib.const.Handler( + self.ListUsers, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationUsersRequest, + chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationUsersResponse, + ), + '/api.OrganizationService/GetUser': grpclib.const.Handler( + self.GetUser, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationUserRequest, + chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationUserResponse, + ), + '/api.OrganizationService/AddUser': grpclib.const.Handler( + self.AddUser, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.organization_pb2.AddOrganizationUserRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.OrganizationService/UpdateUser': grpclib.const.Handler( + self.UpdateUser, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.organization_pb2.UpdateOrganizationUserRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.OrganizationService/DeleteUser': grpclib.const.Handler( + self.DeleteUser, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.organization_pb2.DeleteOrganizationUserRequest, + google.protobuf.empty_pb2.Empty, + ), + } + + +class OrganizationServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.List = grpclib.client.UnaryUnaryMethod( + channel, + '/api.OrganizationService/List', + chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationRequest, + chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationResponse, + ) + self.Get = grpclib.client.UnaryUnaryMethod( + channel, + '/api.OrganizationService/Get', + chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationRequest, + chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationResponse, + ) + self.Create = grpclib.client.UnaryUnaryMethod( + channel, + '/api.OrganizationService/Create', + chirpstack_api.as_pb.external.api.organization_pb2.CreateOrganizationRequest, + chirpstack_api.as_pb.external.api.organization_pb2.CreateOrganizationResponse, + ) + self.Update = grpclib.client.UnaryUnaryMethod( + channel, + '/api.OrganizationService/Update', + chirpstack_api.as_pb.external.api.organization_pb2.UpdateOrganizationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Delete = grpclib.client.UnaryUnaryMethod( + channel, + '/api.OrganizationService/Delete', + chirpstack_api.as_pb.external.api.organization_pb2.DeleteOrganizationRequest, + google.protobuf.empty_pb2.Empty, + ) + self.ListUsers = grpclib.client.UnaryUnaryMethod( + channel, + '/api.OrganizationService/ListUsers', + chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationUsersRequest, + chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationUsersResponse, + ) + self.GetUser = grpclib.client.UnaryUnaryMethod( + channel, + '/api.OrganizationService/GetUser', + chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationUserRequest, + chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationUserResponse, + ) + self.AddUser = grpclib.client.UnaryUnaryMethod( + channel, + '/api.OrganizationService/AddUser', + chirpstack_api.as_pb.external.api.organization_pb2.AddOrganizationUserRequest, + google.protobuf.empty_pb2.Empty, + ) + self.UpdateUser = grpclib.client.UnaryUnaryMethod( + channel, + '/api.OrganizationService/UpdateUser', + chirpstack_api.as_pb.external.api.organization_pb2.UpdateOrganizationUserRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteUser = grpclib.client.UnaryUnaryMethod( + channel, + '/api.OrganizationService/DeleteUser', + chirpstack_api.as_pb.external.api.organization_pb2.DeleteOrganizationUserRequest, + google.protobuf.empty_pb2.Empty, + ) diff --git a/python/src/chirpstack_api/as_pb/external/api/organization_pb2.pyi b/python/src/chirpstack_api/as_pb/external/api/organization_pb2.pyi new file mode 100644 index 00000000..244ab7d6 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/organization_pb2.pyi @@ -0,0 +1,405 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class Organization(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + DISPLAY_NAME_FIELD_NUMBER: builtins.int + CAN_HAVE_GATEWAYS_FIELD_NUMBER: builtins.int + MAX_GATEWAY_COUNT_FIELD_NUMBER: builtins.int + MAX_DEVICE_COUNT_FIELD_NUMBER: builtins.int + # Organization ID. + id: builtins.int = ... + # Organization name. + name: typing.Text = ... + # Organization display name. + display_name: typing.Text = ... + # Can the organization create and "own" Gateways? + can_have_gateways: builtins.bool = ... + # Max. gateway count for organization. + # When set to 0, the organization can have unlimited gateways. + max_gateway_count: builtins.int = ... + # Max. device count for organization. + # When set to 0, the organization can have unlimited devices. + max_device_count: builtins.int = ... + def __init__(self, + *, + id : builtins.int = ..., + name : typing.Text = ..., + display_name : typing.Text = ..., + can_have_gateways : builtins.bool = ..., + max_gateway_count : builtins.int = ..., + max_device_count : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"can_have_gateways",b"can_have_gateways",u"display_name",b"display_name",u"id",b"id",u"max_device_count",b"max_device_count",u"max_gateway_count",b"max_gateway_count",u"name",b"name"]) -> None: ... +global___Organization = Organization + +class OrganizationListItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + DISPLAY_NAME_FIELD_NUMBER: builtins.int + CAN_HAVE_GATEWAYS_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Organization ID. + id: builtins.int = ... + # Organization name. + name: typing.Text = ... + # Organization display name. + display_name: typing.Text = ... + # Can the organization create and "own" Gateways? + can_have_gateways: builtins.bool = ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + id : builtins.int = ..., + name : typing.Text = ..., + display_name : typing.Text = ..., + can_have_gateways : builtins.bool = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"can_have_gateways",b"can_have_gateways",u"created_at",b"created_at",u"display_name",b"display_name",u"id",b"id",u"name",b"name",u"updated_at",b"updated_at"]) -> None: ... +global___OrganizationListItem = OrganizationListItem + +class GetOrganizationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Organization ID. + id: builtins.int = ... + def __init__(self, + *, + id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetOrganizationRequest = GetOrganizationRequest + +class GetOrganizationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ORGANIZATION_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Organization object. + @property + def organization(self) -> global___Organization: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + organization : typing.Optional[global___Organization] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"organization",b"organization",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"organization",b"organization",u"updated_at",b"updated_at"]) -> None: ... +global___GetOrganizationResponse = GetOrganizationResponse + +class CreateOrganizationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ORGANIZATION_FIELD_NUMBER: builtins.int + # Organization object to create. + @property + def organization(self) -> global___Organization: ... + def __init__(self, + *, + organization : typing.Optional[global___Organization] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"organization",b"organization"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"organization",b"organization"]) -> None: ... +global___CreateOrganizationRequest = CreateOrganizationRequest + +class CreateOrganizationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Organization ID. + id: builtins.int = ... + def __init__(self, + *, + id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___CreateOrganizationResponse = CreateOrganizationResponse + +class UpdateOrganizationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ORGANIZATION_FIELD_NUMBER: builtins.int + # Organization object to update. + @property + def organization(self) -> global___Organization: ... + def __init__(self, + *, + organization : typing.Optional[global___Organization] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"organization",b"organization"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"organization",b"organization"]) -> None: ... +global___UpdateOrganizationRequest = UpdateOrganizationRequest + +class DeleteOrganizationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Organization ID. + id: builtins.int = ... + def __init__(self, + *, + id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteOrganizationRequest = DeleteOrganizationRequest + +class ListOrganizationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + LIMIT_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + SEARCH_FIELD_NUMBER: builtins.int + # Max number of organizations to return in the result-set. + limit: builtins.int = ... + # Offset in the result-set (for pagination). + offset: builtins.int = ... + # When provided, the given string will be used to search on + # displayName. + search: typing.Text = ... + def __init__(self, + *, + limit : builtins.int = ..., + offset : builtins.int = ..., + search : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"limit",b"limit",u"offset",b"offset",u"search",b"search"]) -> None: ... +global___ListOrganizationRequest = ListOrganizationRequest + +class ListOrganizationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TOTAL_COUNT_FIELD_NUMBER: builtins.int + RESULT_FIELD_NUMBER: builtins.int + # Total number of organizations. + total_count: builtins.int = ... + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OrganizationListItem]: ... + def __init__(self, + *, + total_count : builtins.int = ..., + result : typing.Optional[typing.Iterable[global___OrganizationListItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result",u"total_count",b"total_count"]) -> None: ... +global___ListOrganizationResponse = ListOrganizationResponse + +class OrganizationUser(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + USER_ID_FIELD_NUMBER: builtins.int + IS_ADMIN_FIELD_NUMBER: builtins.int + IS_DEVICE_ADMIN_FIELD_NUMBER: builtins.int + IS_GATEWAY_ADMIN_FIELD_NUMBER: builtins.int + EMAIL_FIELD_NUMBER: builtins.int + # Organization ID. + organization_id: builtins.int = ... + # User ID. + user_id: builtins.int = ... + # User is admin within the context of the organization. + # There is no need to set the is_device_admin and is_gateway_admin flags. + is_admin: builtins.bool = ... + # User is able to modify device related resources (applications, + # device-profiles, devices, multicast-groups). + is_device_admin: builtins.bool = ... + # User is able to modify gateways. + is_gateway_admin: builtins.bool = ... + # Email (only used on get and when adding a user to an organization). + email: typing.Text = ... + def __init__(self, + *, + organization_id : builtins.int = ..., + user_id : builtins.int = ..., + is_admin : builtins.bool = ..., + is_device_admin : builtins.bool = ..., + is_gateway_admin : builtins.bool = ..., + email : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"email",b"email",u"is_admin",b"is_admin",u"is_device_admin",b"is_device_admin",u"is_gateway_admin",b"is_gateway_admin",u"organization_id",b"organization_id",u"user_id",b"user_id"]) -> None: ... +global___OrganizationUser = OrganizationUser + +class OrganizationUserListItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + USER_ID_FIELD_NUMBER: builtins.int + EMAIL_FIELD_NUMBER: builtins.int + IS_ADMIN_FIELD_NUMBER: builtins.int + IS_DEVICE_ADMIN_FIELD_NUMBER: builtins.int + IS_GATEWAY_ADMIN_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # User ID. + # This is not used on create, you must set the user email address + # associated with the user to add an user to an organization. + user_id: builtins.int = ... + # Email. + email: typing.Text = ... + # User is admin within the context of the organization. + # There is no need to set the is_device_admin and is_gateway_admin flags. + is_admin: builtins.bool = ... + # User is able to modify device related resources (applications, + # device-profiles, devices, multicast-groups). + is_device_admin: builtins.bool = ... + # User is able to modify gateways. + is_gateway_admin: builtins.bool = ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + user_id : builtins.int = ..., + email : typing.Text = ..., + is_admin : builtins.bool = ..., + is_device_admin : builtins.bool = ..., + is_gateway_admin : builtins.bool = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"email",b"email",u"is_admin",b"is_admin",u"is_device_admin",b"is_device_admin",u"is_gateway_admin",b"is_gateway_admin",u"updated_at",b"updated_at",u"user_id",b"user_id"]) -> None: ... +global___OrganizationUserListItem = OrganizationUserListItem + +class AddOrganizationUserRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ORGANIZATION_USER_FIELD_NUMBER: builtins.int + # Organization-user object to create. + @property + def organization_user(self) -> global___OrganizationUser: ... + def __init__(self, + *, + organization_user : typing.Optional[global___OrganizationUser] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"organization_user",b"organization_user"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"organization_user",b"organization_user"]) -> None: ... +global___AddOrganizationUserRequest = AddOrganizationUserRequest + +class UpdateOrganizationUserRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ORGANIZATION_USER_FIELD_NUMBER: builtins.int + # Organization-user object to update. + @property + def organization_user(self) -> global___OrganizationUser: ... + def __init__(self, + *, + organization_user : typing.Optional[global___OrganizationUser] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"organization_user",b"organization_user"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"organization_user",b"organization_user"]) -> None: ... +global___UpdateOrganizationUserRequest = UpdateOrganizationUserRequest + +class DeleteOrganizationUserRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + USER_ID_FIELD_NUMBER: builtins.int + # Organization ID. + organization_id: builtins.int = ... + # User ID. + user_id: builtins.int = ... + def __init__(self, + *, + organization_id : builtins.int = ..., + user_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"organization_id",b"organization_id",u"user_id",b"user_id"]) -> None: ... +global___DeleteOrganizationUserRequest = DeleteOrganizationUserRequest + +class ListOrganizationUsersRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + LIMIT_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + # Organization ID. + organization_id: builtins.int = ... + # Max number of users to return in the result-set. + limit: builtins.int = ... + # Offset in the result-set (for pagination). + offset: builtins.int = ... + def __init__(self, + *, + organization_id : builtins.int = ..., + limit : builtins.int = ..., + offset : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"limit",b"limit",u"offset",b"offset",u"organization_id",b"organization_id"]) -> None: ... +global___ListOrganizationUsersRequest = ListOrganizationUsersRequest + +class ListOrganizationUsersResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TOTAL_COUNT_FIELD_NUMBER: builtins.int + RESULT_FIELD_NUMBER: builtins.int + # The total number of users in the organization. + total_count: builtins.int = ... + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OrganizationUserListItem]: ... + def __init__(self, + *, + total_count : builtins.int = ..., + result : typing.Optional[typing.Iterable[global___OrganizationUserListItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result",u"total_count",b"total_count"]) -> None: ... +global___ListOrganizationUsersResponse = ListOrganizationUsersResponse + +class GetOrganizationUserRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + USER_ID_FIELD_NUMBER: builtins.int + # Organization ID. + organization_id: builtins.int = ... + # User ID. + user_id: builtins.int = ... + def __init__(self, + *, + organization_id : builtins.int = ..., + user_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"organization_id",b"organization_id",u"user_id",b"user_id"]) -> None: ... +global___GetOrganizationUserRequest = GetOrganizationUserRequest + +# Response for a user in the organization +class GetOrganizationUserResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ORGANIZATION_USER_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Organization-user object. + @property + def organization_user(self) -> global___OrganizationUser: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + organization_user : typing.Optional[global___OrganizationUser] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"organization_user",b"organization_user",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"organization_user",b"organization_user",u"updated_at",b"updated_at"]) -> None: ... +global___GetOrganizationUserResponse = GetOrganizationUserResponse diff --git a/python/src/chirpstack_api/as_pb/external/api/organization_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/external/api/organization_pb2_grpc.pyi new file mode 100644 index 00000000..27100a89 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/organization_pb2_grpc.pyi @@ -0,0 +1,137 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc + +from .organization_pb2 import * +# OrganizationService is the service managing the organization access. +class OrganizationServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # Get organization list. + List:grpc.UnaryUnaryMultiCallable[ + global___ListOrganizationRequest, + global___ListOrganizationResponse] = ... + + # Get data for a particular organization. + Get:grpc.UnaryUnaryMultiCallable[ + global___GetOrganizationRequest, + global___GetOrganizationResponse] = ... + + # Create a new organization. + Create:grpc.UnaryUnaryMultiCallable[ + global___CreateOrganizationRequest, + global___CreateOrganizationResponse] = ... + + # Update an existing organization. + Update:grpc.UnaryUnaryMultiCallable[ + global___UpdateOrganizationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Delete an organization. + Delete:grpc.UnaryUnaryMultiCallable[ + global___DeleteOrganizationRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Get organization's user list. + ListUsers:grpc.UnaryUnaryMultiCallable[ + global___ListOrganizationUsersRequest, + global___ListOrganizationUsersResponse] = ... + + # Get data for a particular organization user. + GetUser:grpc.UnaryUnaryMultiCallable[ + global___GetOrganizationUserRequest, + global___GetOrganizationUserResponse] = ... + + # Add a new user to an organization. The user is matched based on email, not user id. + AddUser:grpc.UnaryUnaryMultiCallable[ + global___AddOrganizationUserRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Update a user in an organization. + UpdateUser:grpc.UnaryUnaryMultiCallable[ + global___UpdateOrganizationUserRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Delete a user from an organization. + DeleteUser:grpc.UnaryUnaryMultiCallable[ + global___DeleteOrganizationUserRequest, + google.protobuf.empty_pb2.Empty] = ... + + +# OrganizationService is the service managing the organization access. +class OrganizationServiceServicer(metaclass=abc.ABCMeta): + # Get organization list. + @abc.abstractmethod + def List(self, + request: global___ListOrganizationRequest, + context: grpc.ServicerContext, + ) -> global___ListOrganizationResponse: ... + + # Get data for a particular organization. + @abc.abstractmethod + def Get(self, + request: global___GetOrganizationRequest, + context: grpc.ServicerContext, + ) -> global___GetOrganizationResponse: ... + + # Create a new organization. + @abc.abstractmethod + def Create(self, + request: global___CreateOrganizationRequest, + context: grpc.ServicerContext, + ) -> global___CreateOrganizationResponse: ... + + # Update an existing organization. + @abc.abstractmethod + def Update(self, + request: global___UpdateOrganizationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Delete an organization. + @abc.abstractmethod + def Delete(self, + request: global___DeleteOrganizationRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Get organization's user list. + @abc.abstractmethod + def ListUsers(self, + request: global___ListOrganizationUsersRequest, + context: grpc.ServicerContext, + ) -> global___ListOrganizationUsersResponse: ... + + # Get data for a particular organization user. + @abc.abstractmethod + def GetUser(self, + request: global___GetOrganizationUserRequest, + context: grpc.ServicerContext, + ) -> global___GetOrganizationUserResponse: ... + + # Add a new user to an organization. The user is matched based on email, not user id. + @abc.abstractmethod + def AddUser(self, + request: global___AddOrganizationUserRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Update a user in an organization. + @abc.abstractmethod + def UpdateUser(self, + request: global___UpdateOrganizationUserRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Delete a user from an organization. + @abc.abstractmethod + def DeleteUser(self, + request: global___DeleteOrganizationUserRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + +def add_OrganizationServiceServicer_to_server(servicer: OrganizationServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/as_pb/external/api/profiles_grpc.py b/python/src/chirpstack_api/as_pb/external/api/profiles_grpc.py new file mode 100644 index 00000000..339e0886 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/profiles_grpc.py @@ -0,0 +1,3 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/external/api/profiles.proto +# plugin: grpclib.plugin.main diff --git a/python/src/chirpstack_api/as_pb/external/api/profiles_pb2.pyi b/python/src/chirpstack_api/as_pb/external/api/profiles_pb2.pyi new file mode 100644 index 00000000..827931f4 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/profiles_pb2.pyi @@ -0,0 +1,302 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import google.protobuf.descriptor +import google.protobuf.duration_pb2 +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class RatePolicy(_RatePolicy, metaclass=_RatePolicyEnumTypeWrapper): + pass +class _RatePolicy: + V = typing.NewType('V', builtins.int) +class _RatePolicyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RatePolicy.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # Drop + DROP = RatePolicy.V(0) + # Mark + MARK = RatePolicy.V(1) + +# Drop +DROP = RatePolicy.V(0) +# Mark +MARK = RatePolicy.V(1) +global___RatePolicy = RatePolicy + + +class ServiceProfile(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + NETWORK_SERVER_ID_FIELD_NUMBER: builtins.int + UL_RATE_FIELD_NUMBER: builtins.int + UL_BUCKET_SIZE_FIELD_NUMBER: builtins.int + UL_RATE_POLICY_FIELD_NUMBER: builtins.int + DL_RATE_FIELD_NUMBER: builtins.int + DL_BUCKET_SIZE_FIELD_NUMBER: builtins.int + DL_RATE_POLICY_FIELD_NUMBER: builtins.int + ADD_GW_METADATA_FIELD_NUMBER: builtins.int + DEV_STATUS_REQ_FREQ_FIELD_NUMBER: builtins.int + REPORT_DEV_STATUS_BATTERY_FIELD_NUMBER: builtins.int + REPORT_DEV_STATUS_MARGIN_FIELD_NUMBER: builtins.int + DR_MIN_FIELD_NUMBER: builtins.int + DR_MAX_FIELD_NUMBER: builtins.int + CHANNEL_MASK_FIELD_NUMBER: builtins.int + PR_ALLOWED_FIELD_NUMBER: builtins.int + HR_ALLOWED_FIELD_NUMBER: builtins.int + RA_ALLOWED_FIELD_NUMBER: builtins.int + NWK_GEO_LOC_FIELD_NUMBER: builtins.int + TARGET_PER_FIELD_NUMBER: builtins.int + MIN_GW_DIVERSITY_FIELD_NUMBER: builtins.int + GWS_PRIVATE_FIELD_NUMBER: builtins.int + # Service-profile ID (UUID string). + # This will be automatically set on create. + id: typing.Text = ... + # Service-profile name. + name: typing.Text = ... + # Organization ID to which the service-profile is assigned. + organization_id: builtins.int = ... + # Network-server ID on which the service-profile is provisioned. + network_server_id: builtins.int = ... + # Token bucket filling rate, including ACKs (packet/h). + ul_rate: builtins.int = ... + # Token bucket burst size. + ul_bucket_size: builtins.int = ... + # Drop or mark when exceeding ULRate. + ul_rate_policy: global___RatePolicy.V = ... + # Token bucket filling rate, including ACKs (packet/h). + dl_rate: builtins.int = ... + # Token bucket burst size. + dl_bucket_size: builtins.int = ... + # Drop or mark when exceeding DLRate. + dl_rate_policy: global___RatePolicy.V = ... + # GW metadata (RSSI, SNR, GW geoloc., etc.) are added to the packet sent to AS. + add_gw_metadata: builtins.bool = ... + # Frequency to initiate an End-Device status request (request/day). + dev_status_req_freq: builtins.int = ... + # Report End-Device battery level to AS. + report_dev_status_battery: builtins.bool = ... + # Report End-Device margin to AS. + report_dev_status_margin: builtins.bool = ... + # Minimum allowed data rate. Used for ADR. + dr_min: builtins.int = ... + # Maximum allowed data rate. Used for ADR. + dr_max: builtins.int = ... + # Channel mask. sNS does not have to obey (i.e., informative). + channel_mask: builtins.bytes = ... + # Passive Roaming allowed. + pr_allowed: builtins.bool = ... + # Handover Roaming allowed. + hr_allowed: builtins.bool = ... + # Roaming Activation allowed. + ra_allowed: builtins.bool = ... + # Enable network geolocation service. + nwk_geo_loc: builtins.bool = ... + # Target Packet Error Rate. + target_per: builtins.int = ... + # Minimum number of receiving GWs (informative). + min_gw_diversity: builtins.int = ... + # Gateways under this service-profile are private. + # This means that these gateways can only be used by devices under the + # same service-profile. + gws_private: builtins.bool = ... + def __init__(self, + *, + id : typing.Text = ..., + name : typing.Text = ..., + organization_id : builtins.int = ..., + network_server_id : builtins.int = ..., + ul_rate : builtins.int = ..., + ul_bucket_size : builtins.int = ..., + ul_rate_policy : global___RatePolicy.V = ..., + dl_rate : builtins.int = ..., + dl_bucket_size : builtins.int = ..., + dl_rate_policy : global___RatePolicy.V = ..., + add_gw_metadata : builtins.bool = ..., + dev_status_req_freq : builtins.int = ..., + report_dev_status_battery : builtins.bool = ..., + report_dev_status_margin : builtins.bool = ..., + dr_min : builtins.int = ..., + dr_max : builtins.int = ..., + channel_mask : builtins.bytes = ..., + pr_allowed : builtins.bool = ..., + hr_allowed : builtins.bool = ..., + ra_allowed : builtins.bool = ..., + nwk_geo_loc : builtins.bool = ..., + target_per : builtins.int = ..., + min_gw_diversity : builtins.int = ..., + gws_private : builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"add_gw_metadata",b"add_gw_metadata",u"channel_mask",b"channel_mask",u"dev_status_req_freq",b"dev_status_req_freq",u"dl_bucket_size",b"dl_bucket_size",u"dl_rate",b"dl_rate",u"dl_rate_policy",b"dl_rate_policy",u"dr_max",b"dr_max",u"dr_min",b"dr_min",u"gws_private",b"gws_private",u"hr_allowed",b"hr_allowed",u"id",b"id",u"min_gw_diversity",b"min_gw_diversity",u"name",b"name",u"network_server_id",b"network_server_id",u"nwk_geo_loc",b"nwk_geo_loc",u"organization_id",b"organization_id",u"pr_allowed",b"pr_allowed",u"ra_allowed",b"ra_allowed",u"report_dev_status_battery",b"report_dev_status_battery",u"report_dev_status_margin",b"report_dev_status_margin",u"target_per",b"target_per",u"ul_bucket_size",b"ul_bucket_size",u"ul_rate",b"ul_rate",u"ul_rate_policy",b"ul_rate_policy"]) -> None: ... +global___ServiceProfile = ServiceProfile + +class DeviceProfile(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class TagsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + NETWORK_SERVER_ID_FIELD_NUMBER: builtins.int + SUPPORTS_CLASS_B_FIELD_NUMBER: builtins.int + CLASS_B_TIMEOUT_FIELD_NUMBER: builtins.int + PING_SLOT_PERIOD_FIELD_NUMBER: builtins.int + PING_SLOT_DR_FIELD_NUMBER: builtins.int + PING_SLOT_FREQ_FIELD_NUMBER: builtins.int + SUPPORTS_CLASS_C_FIELD_NUMBER: builtins.int + CLASS_C_TIMEOUT_FIELD_NUMBER: builtins.int + MAC_VERSION_FIELD_NUMBER: builtins.int + REG_PARAMS_REVISION_FIELD_NUMBER: builtins.int + RX_DELAY_1_FIELD_NUMBER: builtins.int + RX_DR_OFFSET_1_FIELD_NUMBER: builtins.int + RX_DATARATE_2_FIELD_NUMBER: builtins.int + RX_FREQ_2_FIELD_NUMBER: builtins.int + FACTORY_PRESET_FREQS_FIELD_NUMBER: builtins.int + MAX_EIRP_FIELD_NUMBER: builtins.int + MAX_DUTY_CYCLE_FIELD_NUMBER: builtins.int + SUPPORTS_JOIN_FIELD_NUMBER: builtins.int + RF_REGION_FIELD_NUMBER: builtins.int + SUPPORTS_32BIT_F_CNT_FIELD_NUMBER: builtins.int + PAYLOAD_CODEC_FIELD_NUMBER: builtins.int + PAYLOAD_ENCODER_SCRIPT_FIELD_NUMBER: builtins.int + PAYLOAD_DECODER_SCRIPT_FIELD_NUMBER: builtins.int + GEOLOC_BUFFER_TTL_FIELD_NUMBER: builtins.int + GEOLOC_MIN_BUFFER_SIZE_FIELD_NUMBER: builtins.int + TAGS_FIELD_NUMBER: builtins.int + UPLINK_INTERVAL_FIELD_NUMBER: builtins.int + ADR_ALGORITHM_ID_FIELD_NUMBER: builtins.int + # Device-profile ID (UUID string). + id: typing.Text = ... + # Device-profile name. + name: typing.Text = ... + # Organization ID to which the service-profile is assigned. + organization_id: builtins.int = ... + # Network-server ID on which the service-profile is provisioned. + network_server_id: builtins.int = ... + # End-Device supports Class B. + supports_class_b: builtins.bool = ... + # Maximum delay for the End-Device to answer a MAC request or a confirmed DL frame (mandatory if class B mode supported). + class_b_timeout: builtins.int = ... + # Mandatory if class B mode supported. + ping_slot_period: builtins.int = ... + # Mandatory if class B mode supported. + ping_slot_dr: builtins.int = ... + # Mandatory if class B mode supported. + ping_slot_freq: builtins.int = ... + # End-Device supports Class C. + supports_class_c: builtins.bool = ... + # Maximum delay for the End-Device to answer a MAC request or a confirmed DL frame (mandatory if class C mode supported). + class_c_timeout: builtins.int = ... + # Version of the LoRaWAN supported by the End-Device. + mac_version: typing.Text = ... + # Revision of the Regional Parameters document supported by the End-Device. + reg_params_revision: typing.Text = ... + # Class A RX1 delay (mandatory for ABP). + rx_delay_1: builtins.int = ... + # RX1 data rate offset (mandatory for ABP). + rx_dr_offset_1: builtins.int = ... + # RX2 data rate (mandatory for ABP). + rx_datarate_2: builtins.int = ... + # RX2 channel frequency (mandatory for ABP). + rx_freq_2: builtins.int = ... + # List of factory-preset frequencies (mandatory for ABP). + @property + def factory_preset_freqs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + # Maximum EIRP supported by the End-Device. + max_eirp: builtins.int = ... + # Maximum duty cycle supported by the End-Device. + max_duty_cycle: builtins.int = ... + # End-Device supports Join (OTAA) or not (ABP). + supports_join: builtins.bool = ... + # RF region name. + rf_region: typing.Text = ... + # End-Device uses 32bit FCnt (mandatory for LoRaWAN 1.0 End-Device). + supports_32bit_f_cnt: builtins.bool = ... + # Payload codec. + # Leave blank to disable the codec feature. + payload_codec: typing.Text = ... + # Payload encoder script. + # Depending the codec, it is possible to provide a script which implements + # the encoder function. + payload_encoder_script: typing.Text = ... + # Payload decoder script. + # Depending the codec, it is possible to provide a script which implements + # the decoder function. + payload_decoder_script: typing.Text = ... + # Geolocation buffer TTL (in seconds). + # When > 0, uplink RX meta-data will be stored in a buffer so that + # the meta-data of multiple uplinks can be used for geolocation. + geoloc_buffer_ttl: builtins.int = ... + # Geolocation minimum buffer size. + # When > 0, geolocation will only be performed when the buffer has + # at least the given size. + geoloc_min_buffer_size: builtins.int = ... + # User defined tags. + @property + def tags(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Uplink interval. + # This defines the expected uplink interval which the device uses for + # communication. When the uplink interval has expired and no uplink has + # been received, the device is considered inactive. + @property + def uplink_interval(self) -> google.protobuf.duration_pb2.Duration: ... + # ADR algorithm ID. + # In case this is left blank, or is configured to a non-existing ADR + # algorithm (plugin), then it falls back to 'default'. + adr_algorithm_id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + name : typing.Text = ..., + organization_id : builtins.int = ..., + network_server_id : builtins.int = ..., + supports_class_b : builtins.bool = ..., + class_b_timeout : builtins.int = ..., + ping_slot_period : builtins.int = ..., + ping_slot_dr : builtins.int = ..., + ping_slot_freq : builtins.int = ..., + supports_class_c : builtins.bool = ..., + class_c_timeout : builtins.int = ..., + mac_version : typing.Text = ..., + reg_params_revision : typing.Text = ..., + rx_delay_1 : builtins.int = ..., + rx_dr_offset_1 : builtins.int = ..., + rx_datarate_2 : builtins.int = ..., + rx_freq_2 : builtins.int = ..., + factory_preset_freqs : typing.Optional[typing.Iterable[builtins.int]] = ..., + max_eirp : builtins.int = ..., + max_duty_cycle : builtins.int = ..., + supports_join : builtins.bool = ..., + rf_region : typing.Text = ..., + supports_32bit_f_cnt : builtins.bool = ..., + payload_codec : typing.Text = ..., + payload_encoder_script : typing.Text = ..., + payload_decoder_script : typing.Text = ..., + geoloc_buffer_ttl : builtins.int = ..., + geoloc_min_buffer_size : builtins.int = ..., + tags : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + uplink_interval : typing.Optional[google.protobuf.duration_pb2.Duration] = ..., + adr_algorithm_id : typing.Text = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"uplink_interval",b"uplink_interval"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"adr_algorithm_id",b"adr_algorithm_id",u"class_b_timeout",b"class_b_timeout",u"class_c_timeout",b"class_c_timeout",u"factory_preset_freqs",b"factory_preset_freqs",u"geoloc_buffer_ttl",b"geoloc_buffer_ttl",u"geoloc_min_buffer_size",b"geoloc_min_buffer_size",u"id",b"id",u"mac_version",b"mac_version",u"max_duty_cycle",b"max_duty_cycle",u"max_eirp",b"max_eirp",u"name",b"name",u"network_server_id",b"network_server_id",u"organization_id",b"organization_id",u"payload_codec",b"payload_codec",u"payload_decoder_script",b"payload_decoder_script",u"payload_encoder_script",b"payload_encoder_script",u"ping_slot_dr",b"ping_slot_dr",u"ping_slot_freq",b"ping_slot_freq",u"ping_slot_period",b"ping_slot_period",u"reg_params_revision",b"reg_params_revision",u"rf_region",b"rf_region",u"rx_datarate_2",b"rx_datarate_2",u"rx_delay_1",b"rx_delay_1",u"rx_dr_offset_1",b"rx_dr_offset_1",u"rx_freq_2",b"rx_freq_2",u"supports_32bit_f_cnt",b"supports_32bit_f_cnt",u"supports_class_b",b"supports_class_b",u"supports_class_c",b"supports_class_c",u"supports_join",b"supports_join",u"tags",b"tags",u"uplink_interval",b"uplink_interval"]) -> None: ... +global___DeviceProfile = DeviceProfile diff --git a/python/src/chirpstack_api/as_pb/external/api/profiles_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/external/api/profiles_pb2_grpc.pyi new file mode 100644 index 00000000..f0deac7c --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/profiles_pb2_grpc.pyi @@ -0,0 +1,6 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +from .profiles_pb2 import * \ No newline at end of file diff --git a/python/src/chirpstack_api/as_pb/external/api/serviceProfile_grpc.py b/python/src/chirpstack_api/as_pb/external/api/serviceProfile_grpc.py new file mode 100644 index 00000000..a72953e8 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/serviceProfile_grpc.py @@ -0,0 +1,108 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/external/api/serviceProfile.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.api.annotations_pb2 +import google.protobuf.timestamp_pb2 +import google.protobuf.empty_pb2 +import chirpstack_api.as_pb.external.api.profiles_pb2 +import chirpstack_api.as_pb.external.api.serviceProfile_pb2 + + +class ServiceProfileServiceBase(abc.ABC): + + @abc.abstractmethod + async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.serviceProfile_pb2.CreateServiceProfileRequest, chirpstack_api.as_pb.external.api.serviceProfile_pb2.CreateServiceProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.serviceProfile_pb2.GetServiceProfileRequest, chirpstack_api.as_pb.external.api.serviceProfile_pb2.GetServiceProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.serviceProfile_pb2.UpdateServiceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.serviceProfile_pb2.DeleteServiceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.serviceProfile_pb2.ListServiceProfileRequest, chirpstack_api.as_pb.external.api.serviceProfile_pb2.ListServiceProfileResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/api.ServiceProfileService/Create': grpclib.const.Handler( + self.Create, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.serviceProfile_pb2.CreateServiceProfileRequest, + chirpstack_api.as_pb.external.api.serviceProfile_pb2.CreateServiceProfileResponse, + ), + '/api.ServiceProfileService/Get': grpclib.const.Handler( + self.Get, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.serviceProfile_pb2.GetServiceProfileRequest, + chirpstack_api.as_pb.external.api.serviceProfile_pb2.GetServiceProfileResponse, + ), + '/api.ServiceProfileService/Update': grpclib.const.Handler( + self.Update, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.serviceProfile_pb2.UpdateServiceProfileRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ServiceProfileService/Delete': grpclib.const.Handler( + self.Delete, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.serviceProfile_pb2.DeleteServiceProfileRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.ServiceProfileService/List': grpclib.const.Handler( + self.List, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.serviceProfile_pb2.ListServiceProfileRequest, + chirpstack_api.as_pb.external.api.serviceProfile_pb2.ListServiceProfileResponse, + ), + } + + +class ServiceProfileServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.Create = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ServiceProfileService/Create', + chirpstack_api.as_pb.external.api.serviceProfile_pb2.CreateServiceProfileRequest, + chirpstack_api.as_pb.external.api.serviceProfile_pb2.CreateServiceProfileResponse, + ) + self.Get = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ServiceProfileService/Get', + chirpstack_api.as_pb.external.api.serviceProfile_pb2.GetServiceProfileRequest, + chirpstack_api.as_pb.external.api.serviceProfile_pb2.GetServiceProfileResponse, + ) + self.Update = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ServiceProfileService/Update', + chirpstack_api.as_pb.external.api.serviceProfile_pb2.UpdateServiceProfileRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Delete = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ServiceProfileService/Delete', + chirpstack_api.as_pb.external.api.serviceProfile_pb2.DeleteServiceProfileRequest, + google.protobuf.empty_pb2.Empty, + ) + self.List = grpclib.client.UnaryUnaryMethod( + channel, + '/api.ServiceProfileService/List', + chirpstack_api.as_pb.external.api.serviceProfile_pb2.ListServiceProfileRequest, + chirpstack_api.as_pb.external.api.serviceProfile_pb2.ListServiceProfileResponse, + ) diff --git a/python/src/chirpstack_api/as_pb/external/api/serviceProfile_pb2.pyi b/python/src/chirpstack_api/as_pb/external/api/serviceProfile_pb2.pyi new file mode 100644 index 00000000..6d6b9d75 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/serviceProfile_pb2.pyi @@ -0,0 +1,181 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import chirpstack_api.as_pb.external.api.profiles_pb2 +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class CreateServiceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + SERVICE_PROFILE_FIELD_NUMBER: builtins.int + # Service-profile object to create. + @property + def service_profile(self) -> chirpstack_api.as_pb.external.api.profiles_pb2.ServiceProfile: ... + def __init__(self, + *, + service_profile : typing.Optional[chirpstack_api.as_pb.external.api.profiles_pb2.ServiceProfile] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"service_profile",b"service_profile"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"service_profile",b"service_profile"]) -> None: ... +global___CreateServiceProfileRequest = CreateServiceProfileRequest + +class CreateServiceProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Service-profile ID (UUID string). + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___CreateServiceProfileResponse = CreateServiceProfileResponse + +class GetServiceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Service-profile ID (UUID string). + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetServiceProfileRequest = GetServiceProfileRequest + +class GetServiceProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + SERVICE_PROFILE_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Service-profile object. + @property + def service_profile(self) -> chirpstack_api.as_pb.external.api.profiles_pb2.ServiceProfile: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + service_profile : typing.Optional[chirpstack_api.as_pb.external.api.profiles_pb2.ServiceProfile] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"service_profile",b"service_profile",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"service_profile",b"service_profile",u"updated_at",b"updated_at"]) -> None: ... +global___GetServiceProfileResponse = GetServiceProfileResponse + +class UpdateServiceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + SERVICE_PROFILE_FIELD_NUMBER: builtins.int + # Service-profile object to update. + @property + def service_profile(self) -> chirpstack_api.as_pb.external.api.profiles_pb2.ServiceProfile: ... + def __init__(self, + *, + service_profile : typing.Optional[chirpstack_api.as_pb.external.api.profiles_pb2.ServiceProfile] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"service_profile",b"service_profile"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"service_profile",b"service_profile"]) -> None: ... +global___UpdateServiceProfileRequest = UpdateServiceProfileRequest + +class DeleteServiceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Service-profile ID (UUID string). + id: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteServiceProfileRequest = DeleteServiceProfileRequest + +class ListServiceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + LIMIT_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + NETWORK_SERVER_ID_FIELD_NUMBER: builtins.int + # Max number of items to return. + limit: builtins.int = ... + # Offset in the result-set (for pagination). + offset: builtins.int = ... + # Organization id to filter on. + organization_id: builtins.int = ... + # Network-server id to filter on. + network_server_id: builtins.int = ... + def __init__(self, + *, + limit : builtins.int = ..., + offset : builtins.int = ..., + organization_id : builtins.int = ..., + network_server_id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"limit",b"limit",u"network_server_id",b"network_server_id",u"offset",b"offset",u"organization_id",b"organization_id"]) -> None: ... +global___ListServiceProfileRequest = ListServiceProfileRequest + +class ServiceProfileListItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + NETWORK_SERVER_ID_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + NETWORK_SERVER_NAME_FIELD_NUMBER: builtins.int + # Service-profile ID (UUID string). + id: typing.Text = ... + # Service-profile name. + name: typing.Text = ... + # Organization ID of the service-profile. + organization_id: builtins.int = ... + # Network-server ID of the service-profile. + network_server_id: builtins.int = ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Network-server name of the service-profile. + network_server_name: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + name : typing.Text = ..., + organization_id : builtins.int = ..., + network_server_id : builtins.int = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + network_server_name : typing.Text = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"id",b"id",u"name",b"name",u"network_server_id",b"network_server_id",u"network_server_name",b"network_server_name",u"organization_id",b"organization_id",u"updated_at",b"updated_at"]) -> None: ... +global___ServiceProfileListItem = ServiceProfileListItem + +class ListServiceProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TOTAL_COUNT_FIELD_NUMBER: builtins.int + RESULT_FIELD_NUMBER: builtins.int + # Total number of service-profiles. + total_count: builtins.int = ... + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ServiceProfileListItem]: ... + def __init__(self, + *, + total_count : builtins.int = ..., + result : typing.Optional[typing.Iterable[global___ServiceProfileListItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result",u"total_count",b"total_count"]) -> None: ... +global___ListServiceProfileResponse = ListServiceProfileResponse diff --git a/python/src/chirpstack_api/as_pb/external/api/serviceProfile_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/external/api/serviceProfile_pb2_grpc.pyi new file mode 100644 index 00000000..2d43a7bb --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/serviceProfile_pb2_grpc.pyi @@ -0,0 +1,77 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc + +from .serviceProfile_pb2 import * +# ServiceProfileService is the service managing service-profiles. +class ServiceProfileServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # Create creates the given service-profile. + Create:grpc.UnaryUnaryMultiCallable[ + global___CreateServiceProfileRequest, + global___CreateServiceProfileResponse] = ... + + # Get returns the service-profile matching the given id. + Get:grpc.UnaryUnaryMultiCallable[ + global___GetServiceProfileRequest, + global___GetServiceProfileResponse] = ... + + # Update updates the given serviceprofile. + Update:grpc.UnaryUnaryMultiCallable[ + global___UpdateServiceProfileRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Delete deletes the service-profile matching the given id. + Delete:grpc.UnaryUnaryMultiCallable[ + global___DeleteServiceProfileRequest, + google.protobuf.empty_pb2.Empty] = ... + + # List lists the available service-profiles. + List:grpc.UnaryUnaryMultiCallable[ + global___ListServiceProfileRequest, + global___ListServiceProfileResponse] = ... + + +# ServiceProfileService is the service managing service-profiles. +class ServiceProfileServiceServicer(metaclass=abc.ABCMeta): + # Create creates the given service-profile. + @abc.abstractmethod + def Create(self, + request: global___CreateServiceProfileRequest, + context: grpc.ServicerContext, + ) -> global___CreateServiceProfileResponse: ... + + # Get returns the service-profile matching the given id. + @abc.abstractmethod + def Get(self, + request: global___GetServiceProfileRequest, + context: grpc.ServicerContext, + ) -> global___GetServiceProfileResponse: ... + + # Update updates the given serviceprofile. + @abc.abstractmethod + def Update(self, + request: global___UpdateServiceProfileRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Delete deletes the service-profile matching the given id. + @abc.abstractmethod + def Delete(self, + request: global___DeleteServiceProfileRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # List lists the available service-profiles. + @abc.abstractmethod + def List(self, + request: global___ListServiceProfileRequest, + context: grpc.ServicerContext, + ) -> global___ListServiceProfileResponse: ... + + +def add_ServiceProfileServiceServicer_to_server(servicer: ServiceProfileServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/as_pb/external/api/user_grpc.py b/python/src/chirpstack_api/as_pb/external/api/user_grpc.py new file mode 100644 index 00000000..5c51cbe6 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/user_grpc.py @@ -0,0 +1,123 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/as_pb/external/api/user.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.api.annotations_pb2 +import google.protobuf.timestamp_pb2 +import google.protobuf.empty_pb2 +import chirpstack_api.as_pb.external.api.user_pb2 + + +class UserServiceBase(abc.ABC): + + @abc.abstractmethod + async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.user_pb2.ListUserRequest, chirpstack_api.as_pb.external.api.user_pb2.ListUserResponse]') -> None: + pass + + @abc.abstractmethod + async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.user_pb2.GetUserRequest, chirpstack_api.as_pb.external.api.user_pb2.GetUserResponse]') -> None: + pass + + @abc.abstractmethod + async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.user_pb2.CreateUserRequest, chirpstack_api.as_pb.external.api.user_pb2.CreateUserResponse]') -> None: + pass + + @abc.abstractmethod + async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.user_pb2.UpdateUserRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.user_pb2.DeleteUserRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def UpdatePassword(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.user_pb2.UpdateUserPasswordRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/api.UserService/List': grpclib.const.Handler( + self.List, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.user_pb2.ListUserRequest, + chirpstack_api.as_pb.external.api.user_pb2.ListUserResponse, + ), + '/api.UserService/Get': grpclib.const.Handler( + self.Get, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.user_pb2.GetUserRequest, + chirpstack_api.as_pb.external.api.user_pb2.GetUserResponse, + ), + '/api.UserService/Create': grpclib.const.Handler( + self.Create, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.user_pb2.CreateUserRequest, + chirpstack_api.as_pb.external.api.user_pb2.CreateUserResponse, + ), + '/api.UserService/Update': grpclib.const.Handler( + self.Update, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.user_pb2.UpdateUserRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.UserService/Delete': grpclib.const.Handler( + self.Delete, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.user_pb2.DeleteUserRequest, + google.protobuf.empty_pb2.Empty, + ), + '/api.UserService/UpdatePassword': grpclib.const.Handler( + self.UpdatePassword, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.as_pb.external.api.user_pb2.UpdateUserPasswordRequest, + google.protobuf.empty_pb2.Empty, + ), + } + + +class UserServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.List = grpclib.client.UnaryUnaryMethod( + channel, + '/api.UserService/List', + chirpstack_api.as_pb.external.api.user_pb2.ListUserRequest, + chirpstack_api.as_pb.external.api.user_pb2.ListUserResponse, + ) + self.Get = grpclib.client.UnaryUnaryMethod( + channel, + '/api.UserService/Get', + chirpstack_api.as_pb.external.api.user_pb2.GetUserRequest, + chirpstack_api.as_pb.external.api.user_pb2.GetUserResponse, + ) + self.Create = grpclib.client.UnaryUnaryMethod( + channel, + '/api.UserService/Create', + chirpstack_api.as_pb.external.api.user_pb2.CreateUserRequest, + chirpstack_api.as_pb.external.api.user_pb2.CreateUserResponse, + ) + self.Update = grpclib.client.UnaryUnaryMethod( + channel, + '/api.UserService/Update', + chirpstack_api.as_pb.external.api.user_pb2.UpdateUserRequest, + google.protobuf.empty_pb2.Empty, + ) + self.Delete = grpclib.client.UnaryUnaryMethod( + channel, + '/api.UserService/Delete', + chirpstack_api.as_pb.external.api.user_pb2.DeleteUserRequest, + google.protobuf.empty_pb2.Empty, + ) + self.UpdatePassword = grpclib.client.UnaryUnaryMethod( + channel, + '/api.UserService/UpdatePassword', + chirpstack_api.as_pb.external.api.user_pb2.UpdateUserPasswordRequest, + google.protobuf.empty_pb2.Empty, + ) diff --git a/python/src/chirpstack_api/as_pb/external/api/user_pb2.pyi b/python/src/chirpstack_api/as_pb/external/api/user_pb2.pyi new file mode 100644 index 00000000..3553a00d --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/user_pb2.pyi @@ -0,0 +1,258 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class User(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + SESSION_TTL_FIELD_NUMBER: builtins.int + IS_ADMIN_FIELD_NUMBER: builtins.int + IS_ACTIVE_FIELD_NUMBER: builtins.int + EMAIL_FIELD_NUMBER: builtins.int + NOTE_FIELD_NUMBER: builtins.int + # User ID. + # Will be set automatically on create. + id: builtins.int = ... + # The session timeout, in minutes. + session_ttl: builtins.int = ... + # Set to true to make the user a global administrator. + is_admin: builtins.bool = ... + # Set to false to disable the user. + is_active: builtins.bool = ... + # E-mail of the user. + email: typing.Text = ... + # Optional note to store with the user. + note: typing.Text = ... + def __init__(self, + *, + id : builtins.int = ..., + session_ttl : builtins.int = ..., + is_admin : builtins.bool = ..., + is_active : builtins.bool = ..., + email : typing.Text = ..., + note : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"email",b"email",u"id",b"id",u"is_active",b"is_active",u"is_admin",b"is_admin",u"note",b"note",u"session_ttl",b"session_ttl"]) -> None: ... +global___User = User + +class UserListItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + EMAIL_FIELD_NUMBER: builtins.int + SESSION_TTL_FIELD_NUMBER: builtins.int + IS_ADMIN_FIELD_NUMBER: builtins.int + IS_ACTIVE_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # User ID. + # Will be set automatically on create. + id: builtins.int = ... + # Email of the user. + email: typing.Text = ... + # The session timeout, in minutes. + session_ttl: builtins.int = ... + # Set to true to make the user a global administrator. + is_admin: builtins.bool = ... + # Set to false to disable the user. + is_active: builtins.bool = ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + id : builtins.int = ..., + email : typing.Text = ..., + session_ttl : builtins.int = ..., + is_admin : builtins.bool = ..., + is_active : builtins.bool = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"email",b"email",u"id",b"id",u"is_active",b"is_active",u"is_admin",b"is_admin",u"session_ttl",b"session_ttl",u"updated_at",b"updated_at"]) -> None: ... +global___UserListItem = UserListItem + +class UserOrganization(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ORGANIZATION_ID_FIELD_NUMBER: builtins.int + IS_ADMIN_FIELD_NUMBER: builtins.int + IS_DEVICE_ADMIN_FIELD_NUMBER: builtins.int + IS_GATEWAY_ADMIN_FIELD_NUMBER: builtins.int + # Organization ID. + organization_id: builtins.int = ... + # User is admin within the context of the organization. + # There is no need to set the is_device_admin and is_gateway_admin flags. + is_admin: builtins.bool = ... + # User is able to modify device related resources (applications, + # device-profiles, devices, multicast-groups). + is_device_admin: builtins.bool = ... + # User is able to modify gateways. + is_gateway_admin: builtins.bool = ... + def __init__(self, + *, + organization_id : builtins.int = ..., + is_admin : builtins.bool = ..., + is_device_admin : builtins.bool = ..., + is_gateway_admin : builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"is_admin",b"is_admin",u"is_device_admin",b"is_device_admin",u"is_gateway_admin",b"is_gateway_admin",u"organization_id",b"organization_id"]) -> None: ... +global___UserOrganization = UserOrganization + +class CreateUserRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + USER_FIELD_NUMBER: builtins.int + PASSWORD_FIELD_NUMBER: builtins.int + ORGANIZATIONS_FIELD_NUMBER: builtins.int + # User object to create. + @property + def user(self) -> global___User: ... + # Password of the user. + password: typing.Text = ... + # Add the user to the following organizations. + @property + def organizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UserOrganization]: ... + def __init__(self, + *, + user : typing.Optional[global___User] = ..., + password : typing.Text = ..., + organizations : typing.Optional[typing.Iterable[global___UserOrganization]] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"user",b"user"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"organizations",b"organizations",u"password",b"password",u"user",b"user"]) -> None: ... +global___CreateUserRequest = CreateUserRequest + +class CreateUserResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # User ID. + id: builtins.int = ... + def __init__(self, + *, + id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___CreateUserResponse = CreateUserResponse + +class GetUserRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # User ID. + id: builtins.int = ... + def __init__(self, + *, + id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetUserRequest = GetUserRequest + +class GetUserResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + USER_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # User object. + @property + def user(self) -> global___User: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + user : typing.Optional[global___User] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"updated_at",b"updated_at",u"user",b"user"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"updated_at",b"updated_at",u"user",b"user"]) -> None: ... +global___GetUserResponse = GetUserResponse + +class UpdateUserRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + USER_FIELD_NUMBER: builtins.int + # User object to update. + @property + def user(self) -> global___User: ... + def __init__(self, + *, + user : typing.Optional[global___User] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"user",b"user"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"user",b"user"]) -> None: ... +global___UpdateUserRequest = UpdateUserRequest + +class DeleteUserRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # User ID. + id: builtins.int = ... + def __init__(self, + *, + id : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteUserRequest = DeleteUserRequest + +class ListUserRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + LIMIT_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + # Max number of user to return in the result-set. + limit: builtins.int = ... + # Offset in the result-set (for pagination). + offset: builtins.int = ... + def __init__(self, + *, + limit : builtins.int = ..., + offset : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"limit",b"limit",u"offset",b"offset"]) -> None: ... +global___ListUserRequest = ListUserRequest + +class ListUserResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TOTAL_COUNT_FIELD_NUMBER: builtins.int + RESULT_FIELD_NUMBER: builtins.int + # Total number of users. + total_count: builtins.int = ... + # Result-set. + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UserListItem]: ... + def __init__(self, + *, + total_count : builtins.int = ..., + result : typing.Optional[typing.Iterable[global___UserListItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result",u"total_count",b"total_count"]) -> None: ... +global___ListUserResponse = ListUserResponse + +class UpdateUserPasswordRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + USER_ID_FIELD_NUMBER: builtins.int + PASSWORD_FIELD_NUMBER: builtins.int + # User ID. + user_id: builtins.int = ... + # New pasword. + password: typing.Text = ... + def __init__(self, + *, + user_id : builtins.int = ..., + password : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"password",b"password",u"user_id",b"user_id"]) -> None: ... +global___UpdateUserPasswordRequest = UpdateUserPasswordRequest diff --git a/python/src/chirpstack_api/as_pb/external/api/user_pb2_grpc.pyi b/python/src/chirpstack_api/as_pb/external/api/user_pb2_grpc.pyi new file mode 100644 index 00000000..0de51256 --- /dev/null +++ b/python/src/chirpstack_api/as_pb/external/api/user_pb2_grpc.pyi @@ -0,0 +1,89 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc + +from .user_pb2 import * +# UserService is the service managing the user access. +class UserServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # Get user list. + List:grpc.UnaryUnaryMultiCallable[ + global___ListUserRequest, + global___ListUserResponse] = ... + + # Get data for a particular user. + Get:grpc.UnaryUnaryMultiCallable[ + global___GetUserRequest, + global___GetUserResponse] = ... + + # Create a new user. + Create:grpc.UnaryUnaryMultiCallable[ + global___CreateUserRequest, + global___CreateUserResponse] = ... + + # Update an existing user. + Update:grpc.UnaryUnaryMultiCallable[ + global___UpdateUserRequest, + google.protobuf.empty_pb2.Empty] = ... + + # Delete a user. + Delete:grpc.UnaryUnaryMultiCallable[ + global___DeleteUserRequest, + google.protobuf.empty_pb2.Empty] = ... + + # UpdatePassword updates a password. + UpdatePassword:grpc.UnaryUnaryMultiCallable[ + global___UpdateUserPasswordRequest, + google.protobuf.empty_pb2.Empty] = ... + + +# UserService is the service managing the user access. +class UserServiceServicer(metaclass=abc.ABCMeta): + # Get user list. + @abc.abstractmethod + def List(self, + request: global___ListUserRequest, + context: grpc.ServicerContext, + ) -> global___ListUserResponse: ... + + # Get data for a particular user. + @abc.abstractmethod + def Get(self, + request: global___GetUserRequest, + context: grpc.ServicerContext, + ) -> global___GetUserResponse: ... + + # Create a new user. + @abc.abstractmethod + def Create(self, + request: global___CreateUserRequest, + context: grpc.ServicerContext, + ) -> global___CreateUserResponse: ... + + # Update an existing user. + @abc.abstractmethod + def Update(self, + request: global___UpdateUserRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # Delete a user. + @abc.abstractmethod + def Delete(self, + request: global___DeleteUserRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # UpdatePassword updates a password. + @abc.abstractmethod + def UpdatePassword(self, + request: global___UpdateUserPasswordRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + +def add_UserServiceServicer_to_server(servicer: UserServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/as_pb/integration/integration_pb2.pyi b/python/src/chirpstack_api/as_pb/integration/integration_pb2.pyi new file mode 100644 index 00000000..bb00ca8e --- /dev/null +++ b/python/src/chirpstack_api/as_pb/integration/integration_pb2.pyi @@ -0,0 +1,617 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import chirpstack_api.common.common_pb2 +import chirpstack_api.gw.gw_pb2 +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class ErrorType(_ErrorType, metaclass=_ErrorTypeEnumTypeWrapper): + pass +class _ErrorType: + V = typing.NewType('V', builtins.int) +class _ErrorTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ErrorType.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # Unknown type. + UNKNOWN = ErrorType.V(0) + # Error related to the downlink payload size. + # Usually seen when the payload exceeded the maximum allowed payload size. + DOWNLINK_PAYLOAD_SIZE = ErrorType.V(1) + # Error related to the downlink frame-counter. + # Usually seen when the frame-counter has already been used. + DOWNLINK_FCNT = ErrorType.V(2) + # Uplink codec error. + UPLINK_CODEC = ErrorType.V(3) + # Downlink codec error. + DOWNLINK_CODEC = ErrorType.V(4) + # OTAA error. + OTAA = ErrorType.V(5) + # Uplink frame-counter was reset. + UPLINK_FCNT_RESET = ErrorType.V(6) + # Uplink MIC error. + UPLINK_MIC = ErrorType.V(7) + # Uplink frame-counter retransmission. + UPLINK_FCNT_RETRANSMISSION = ErrorType.V(8) + # Downlink gateway error. + DOWNLINK_GATEWAY = ErrorType.V(9) + +# Unknown type. +UNKNOWN = ErrorType.V(0) +# Error related to the downlink payload size. +# Usually seen when the payload exceeded the maximum allowed payload size. +DOWNLINK_PAYLOAD_SIZE = ErrorType.V(1) +# Error related to the downlink frame-counter. +# Usually seen when the frame-counter has already been used. +DOWNLINK_FCNT = ErrorType.V(2) +# Uplink codec error. +UPLINK_CODEC = ErrorType.V(3) +# Downlink codec error. +DOWNLINK_CODEC = ErrorType.V(4) +# OTAA error. +OTAA = ErrorType.V(5) +# Uplink frame-counter was reset. +UPLINK_FCNT_RESET = ErrorType.V(6) +# Uplink MIC error. +UPLINK_MIC = ErrorType.V(7) +# Uplink frame-counter retransmission. +UPLINK_FCNT_RETRANSMISSION = ErrorType.V(8) +# Downlink gateway error. +DOWNLINK_GATEWAY = ErrorType.V(9) +global___ErrorType = ErrorType + + +# UplinkEvent is the message sent when an uplink payload has been received. +class UplinkEvent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class TagsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + APPLICATION_ID_FIELD_NUMBER: builtins.int + APPLICATION_NAME_FIELD_NUMBER: builtins.int + DEVICE_NAME_FIELD_NUMBER: builtins.int + DEV_EUI_FIELD_NUMBER: builtins.int + RX_INFO_FIELD_NUMBER: builtins.int + TX_INFO_FIELD_NUMBER: builtins.int + ADR_FIELD_NUMBER: builtins.int + DR_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + F_PORT_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + OBJECT_JSON_FIELD_NUMBER: builtins.int + TAGS_FIELD_NUMBER: builtins.int + CONFIRMED_UPLINK_FIELD_NUMBER: builtins.int + DEV_ADDR_FIELD_NUMBER: builtins.int + PUBLISHED_AT_FIELD_NUMBER: builtins.int + DEVICE_PROFILE_ID_FIELD_NUMBER: builtins.int + DEVICE_PROFILE_NAME_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # Application name. + application_name: typing.Text = ... + # Device name. + device_name: typing.Text = ... + # Device EUI. + dev_eui: builtins.bytes = ... + # Receiving gateway RX info. + @property + def rx_info(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[chirpstack_api.gw.gw_pb2.UplinkRXInfo]: ... + # TX info. + @property + def tx_info(self) -> chirpstack_api.gw.gw_pb2.UplinkTXInfo: ... + # Device has ADR bit set. + adr: builtins.bool = ... + # Data-rate. + dr: builtins.int = ... + # Frame counter. + f_cnt: builtins.int = ... + # Frame port. + f_port: builtins.int = ... + # FRMPayload data. + data: builtins.bytes = ... + # JSON string containing the decoded object. + # Note that this is only set when a codec is configured in the Device Profile. + object_json: typing.Text = ... + # User-defined device tags. + @property + def tags(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Uplink was of type confirmed. + confirmed_uplink: builtins.bool = ... + # Device address. + dev_addr: builtins.bytes = ... + # Published at timestamp. + @property + def published_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Device Profile UUID as string + device_profile_id: typing.Text = ... + # Device Profile name + device_profile_name: typing.Text = ... + def __init__(self, + *, + application_id : builtins.int = ..., + application_name : typing.Text = ..., + device_name : typing.Text = ..., + dev_eui : builtins.bytes = ..., + rx_info : typing.Optional[typing.Iterable[chirpstack_api.gw.gw_pb2.UplinkRXInfo]] = ..., + tx_info : typing.Optional[chirpstack_api.gw.gw_pb2.UplinkTXInfo] = ..., + adr : builtins.bool = ..., + dr : builtins.int = ..., + f_cnt : builtins.int = ..., + f_port : builtins.int = ..., + data : builtins.bytes = ..., + object_json : typing.Text = ..., + tags : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + confirmed_uplink : builtins.bool = ..., + dev_addr : builtins.bytes = ..., + published_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + device_profile_id : typing.Text = ..., + device_profile_name : typing.Text = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"published_at",b"published_at",u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"adr",b"adr",u"application_id",b"application_id",u"application_name",b"application_name",u"confirmed_uplink",b"confirmed_uplink",u"data",b"data",u"dev_addr",b"dev_addr",u"dev_eui",b"dev_eui",u"device_name",b"device_name",u"device_profile_id",b"device_profile_id",u"device_profile_name",b"device_profile_name",u"dr",b"dr",u"f_cnt",b"f_cnt",u"f_port",b"f_port",u"object_json",b"object_json",u"published_at",b"published_at",u"rx_info",b"rx_info",u"tags",b"tags",u"tx_info",b"tx_info"]) -> None: ... +global___UplinkEvent = UplinkEvent + +# JoinEvent is the message sent when a device joined the network. +# Note that this is only sent after the first received uplink after the +# device (re)activation. +class JoinEvent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class TagsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + APPLICATION_ID_FIELD_NUMBER: builtins.int + APPLICATION_NAME_FIELD_NUMBER: builtins.int + DEVICE_NAME_FIELD_NUMBER: builtins.int + DEV_EUI_FIELD_NUMBER: builtins.int + DEV_ADDR_FIELD_NUMBER: builtins.int + RX_INFO_FIELD_NUMBER: builtins.int + TX_INFO_FIELD_NUMBER: builtins.int + DR_FIELD_NUMBER: builtins.int + TAGS_FIELD_NUMBER: builtins.int + PUBLISHED_AT_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # Application name. + application_name: typing.Text = ... + # Device name. + device_name: typing.Text = ... + # Device EUI. + dev_eui: builtins.bytes = ... + # Device address. + dev_addr: builtins.bytes = ... + # Receiving gateway RX info. + @property + def rx_info(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[chirpstack_api.gw.gw_pb2.UplinkRXInfo]: ... + # TX info. + @property + def tx_info(self) -> chirpstack_api.gw.gw_pb2.UplinkTXInfo: ... + # Data-rate. + dr: builtins.int = ... + # User-defined device tags. + @property + def tags(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Published at timestamp. + @property + def published_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + application_id : builtins.int = ..., + application_name : typing.Text = ..., + device_name : typing.Text = ..., + dev_eui : builtins.bytes = ..., + dev_addr : builtins.bytes = ..., + rx_info : typing.Optional[typing.Iterable[chirpstack_api.gw.gw_pb2.UplinkRXInfo]] = ..., + tx_info : typing.Optional[chirpstack_api.gw.gw_pb2.UplinkTXInfo] = ..., + dr : builtins.int = ..., + tags : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + published_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"published_at",b"published_at",u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"application_name",b"application_name",u"dev_addr",b"dev_addr",u"dev_eui",b"dev_eui",u"device_name",b"device_name",u"dr",b"dr",u"published_at",b"published_at",u"rx_info",b"rx_info",u"tags",b"tags",u"tx_info",b"tx_info"]) -> None: ... +global___JoinEvent = JoinEvent + +# AckEvent is the message sent when a confirmation on a confirmed downlink +# has been received -or- when the downlink timed out. +class AckEvent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class TagsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + APPLICATION_ID_FIELD_NUMBER: builtins.int + APPLICATION_NAME_FIELD_NUMBER: builtins.int + DEVICE_NAME_FIELD_NUMBER: builtins.int + DEV_EUI_FIELD_NUMBER: builtins.int + ACKNOWLEDGED_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + TAGS_FIELD_NUMBER: builtins.int + PUBLISHED_AT_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # Application name. + application_name: typing.Text = ... + # Device name. + device_name: typing.Text = ... + # Device EUI. + dev_eui: builtins.bytes = ... + # Frame was acknowledged. + acknowledged: builtins.bool = ... + # Downlink frame counter to which the acknowledgement relates. + f_cnt: builtins.int = ... + # User-defined device tags. + @property + def tags(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Published at timestamp. + @property + def published_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + application_id : builtins.int = ..., + application_name : typing.Text = ..., + device_name : typing.Text = ..., + dev_eui : builtins.bytes = ..., + acknowledged : builtins.bool = ..., + f_cnt : builtins.int = ..., + tags : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + published_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"published_at",b"published_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"acknowledged",b"acknowledged",u"application_id",b"application_id",u"application_name",b"application_name",u"dev_eui",b"dev_eui",u"device_name",b"device_name",u"f_cnt",b"f_cnt",u"published_at",b"published_at",u"tags",b"tags"]) -> None: ... +global___AckEvent = AckEvent + +# TxAckEvent is the message sent when a downlink was acknowledged by the gateway +# for transmission. As a downlink can be scheduled in the future, this event +# does not confirm that the message has already been transmitted. +class TxAckEvent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class TagsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + APPLICATION_ID_FIELD_NUMBER: builtins.int + APPLICATION_NAME_FIELD_NUMBER: builtins.int + DEVICE_NAME_FIELD_NUMBER: builtins.int + DEV_EUI_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + TAGS_FIELD_NUMBER: builtins.int + GATEWAY_ID_FIELD_NUMBER: builtins.int + TX_INFO_FIELD_NUMBER: builtins.int + PUBLISHED_AT_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # Application name. + application_name: typing.Text = ... + # Device name. + device_name: typing.Text = ... + # Device EUI. + dev_eui: builtins.bytes = ... + # Downlink frame-counter. + f_cnt: builtins.int = ... + # User-defined device tags. + @property + def tags(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Gateway ID. + gateway_id: builtins.bytes = ... + # TX info. + @property + def tx_info(self) -> chirpstack_api.gw.gw_pb2.DownlinkTXInfo: ... + # Published at timestamp. + @property + def published_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + application_id : builtins.int = ..., + application_name : typing.Text = ..., + device_name : typing.Text = ..., + dev_eui : builtins.bytes = ..., + f_cnt : builtins.int = ..., + tags : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + gateway_id : builtins.bytes = ..., + tx_info : typing.Optional[chirpstack_api.gw.gw_pb2.DownlinkTXInfo] = ..., + published_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"published_at",b"published_at",u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"application_name",b"application_name",u"dev_eui",b"dev_eui",u"device_name",b"device_name",u"f_cnt",b"f_cnt",u"gateway_id",b"gateway_id",u"published_at",b"published_at",u"tags",b"tags",u"tx_info",b"tx_info"]) -> None: ... +global___TxAckEvent = TxAckEvent + +# ErrorEvent is the message sent when an error occurred. +class ErrorEvent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class TagsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + APPLICATION_ID_FIELD_NUMBER: builtins.int + APPLICATION_NAME_FIELD_NUMBER: builtins.int + DEVICE_NAME_FIELD_NUMBER: builtins.int + DEV_EUI_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + TAGS_FIELD_NUMBER: builtins.int + PUBLISHED_AT_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # Application name. + application_name: typing.Text = ... + # Device name. + device_name: typing.Text = ... + # Device EUI. + dev_eui: builtins.bytes = ... + # Error type. + type: global___ErrorType.V = ... + # Error message. + error: typing.Text = ... + # Downlink frame-counter (in case the downlink is related to a scheduled downlink). + f_cnt: builtins.int = ... + # User-defined device tags. + @property + def tags(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Published at timestamp. + @property + def published_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + application_id : builtins.int = ..., + application_name : typing.Text = ..., + device_name : typing.Text = ..., + dev_eui : builtins.bytes = ..., + type : global___ErrorType.V = ..., + error : typing.Text = ..., + f_cnt : builtins.int = ..., + tags : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + published_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"published_at",b"published_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"application_name",b"application_name",u"dev_eui",b"dev_eui",u"device_name",b"device_name",u"error",b"error",u"f_cnt",b"f_cnt",u"published_at",b"published_at",u"tags",b"tags",u"type",b"type"]) -> None: ... +global___ErrorEvent = ErrorEvent + +# StatusEvent is the message sent when a device-status mac-command was sent +# by the device. +class StatusEvent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class TagsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + APPLICATION_ID_FIELD_NUMBER: builtins.int + APPLICATION_NAME_FIELD_NUMBER: builtins.int + DEVICE_NAME_FIELD_NUMBER: builtins.int + DEV_EUI_FIELD_NUMBER: builtins.int + MARGIN_FIELD_NUMBER: builtins.int + EXTERNAL_POWER_SOURCE_FIELD_NUMBER: builtins.int + BATTERY_LEVEL_UNAVAILABLE_FIELD_NUMBER: builtins.int + BATTERY_LEVEL_FIELD_NUMBER: builtins.int + TAGS_FIELD_NUMBER: builtins.int + PUBLISHED_AT_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # Application name. + application_name: typing.Text = ... + # Device name. + device_name: typing.Text = ... + # Device EUI. + dev_eui: builtins.bytes = ... + # The demodulation signal-to-noise ratio in dB for the last successfully + # received device-status request by the Network Server. + margin: builtins.int = ... + # Device is connected to an external power source. + external_power_source: builtins.bool = ... + # Battery level is not available. + battery_level_unavailable: builtins.bool = ... + # Battery level. + battery_level: builtins.float = ... + # User-defined device tags. + @property + def tags(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Published at timestamp. + @property + def published_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + application_id : builtins.int = ..., + application_name : typing.Text = ..., + device_name : typing.Text = ..., + dev_eui : builtins.bytes = ..., + margin : builtins.int = ..., + external_power_source : builtins.bool = ..., + battery_level_unavailable : builtins.bool = ..., + battery_level : builtins.float = ..., + tags : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + published_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"published_at",b"published_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"application_name",b"application_name",u"battery_level",b"battery_level",u"battery_level_unavailable",b"battery_level_unavailable",u"dev_eui",b"dev_eui",u"device_name",b"device_name",u"external_power_source",b"external_power_source",u"margin",b"margin",u"published_at",b"published_at",u"tags",b"tags"]) -> None: ... +global___StatusEvent = StatusEvent + +# LocationEvent is the message sent when a geolocation resolve was returned. +class LocationEvent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class TagsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + APPLICATION_ID_FIELD_NUMBER: builtins.int + APPLICATION_NAME_FIELD_NUMBER: builtins.int + DEVICE_NAME_FIELD_NUMBER: builtins.int + DEV_EUI_FIELD_NUMBER: builtins.int + LOCATION_FIELD_NUMBER: builtins.int + TAGS_FIELD_NUMBER: builtins.int + UPLINK_IDS_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + PUBLISHED_AT_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # Application name. + application_name: typing.Text = ... + # Device name. + device_name: typing.Text = ... + # Device EUI. + dev_eui: builtins.bytes = ... + # Location. + @property + def location(self) -> chirpstack_api.common.common_pb2.Location: ... + # User-defined device tags. + @property + def tags(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Uplink IDs used for geolocation. + # This is set in case the geolocation is based on the uplink meta-data. + @property + def uplink_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ... + # Frame counter (in case the geolocation is based on the payload). + # This is set in case the geolocation is based on the uplink payload content. + f_cnt: builtins.int = ... + # Published at timestamp. + @property + def published_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + application_id : builtins.int = ..., + application_name : typing.Text = ..., + device_name : typing.Text = ..., + dev_eui : builtins.bytes = ..., + location : typing.Optional[chirpstack_api.common.common_pb2.Location] = ..., + tags : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + uplink_ids : typing.Optional[typing.Iterable[builtins.bytes]] = ..., + f_cnt : builtins.int = ..., + published_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"location",b"location",u"published_at",b"published_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"application_name",b"application_name",u"dev_eui",b"dev_eui",u"device_name",b"device_name",u"f_cnt",b"f_cnt",u"location",b"location",u"published_at",b"published_at",u"tags",b"tags",u"uplink_ids",b"uplink_ids"]) -> None: ... +global___LocationEvent = LocationEvent + +# IntegrationEvent is the message that can be sent by an integration. +# It allows for sending events which are provided by an external integration +# which are "not native" to ChirpStack. +class IntegrationEvent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class TagsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + APPLICATION_ID_FIELD_NUMBER: builtins.int + APPLICATION_NAME_FIELD_NUMBER: builtins.int + DEVICE_NAME_FIELD_NUMBER: builtins.int + DEV_EUI_FIELD_NUMBER: builtins.int + TAGS_FIELD_NUMBER: builtins.int + INTEGRATION_NAME_FIELD_NUMBER: builtins.int + EVENT_TYPE_FIELD_NUMBER: builtins.int + OBJECT_JSON_FIELD_NUMBER: builtins.int + PUBLISHED_AT_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # Application name. + application_name: typing.Text = ... + # Device name. + device_name: typing.Text = ... + # Device EUI. + dev_eui: builtins.bytes = ... + # User-defined device tags. + @property + def tags(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Integration name. + integration_name: typing.Text = ... + # Event type. + event_type: typing.Text = ... + # JSON string containing the event object. + object_json: typing.Text = ... + # Published at timestamp. + @property + def published_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + application_id : builtins.int = ..., + application_name : typing.Text = ..., + device_name : typing.Text = ..., + dev_eui : builtins.bytes = ..., + tags : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + integration_name : typing.Text = ..., + event_type : typing.Text = ..., + object_json : typing.Text = ..., + published_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"published_at",b"published_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"application_name",b"application_name",u"dev_eui",b"dev_eui",u"device_name",b"device_name",u"event_type",b"event_type",u"integration_name",b"integration_name",u"object_json",b"object_json",u"published_at",b"published_at",u"tags",b"tags"]) -> None: ... +global___IntegrationEvent = IntegrationEvent diff --git a/python/src/chirpstack_api/common/common_pb2.pyi b/python/src/chirpstack_api/common/common_pb2.pyi new file mode 100644 index 00000000..7c34b2d2 --- /dev/null +++ b/python/src/chirpstack_api/common/common_pb2.pyi @@ -0,0 +1,227 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class Modulation(_Modulation, metaclass=_ModulationEnumTypeWrapper): + pass +class _Modulation: + V = typing.NewType('V', builtins.int) +class _ModulationEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Modulation.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # LoRa + LORA = Modulation.V(0) + # FSK + FSK = Modulation.V(1) + # LR-FHSS + LR_FHSS = Modulation.V(2) + +# LoRa +LORA = Modulation.V(0) +# FSK +FSK = Modulation.V(1) +# LR-FHSS +LR_FHSS = Modulation.V(2) +global___Modulation = Modulation + + +class Region(_Region, metaclass=_RegionEnumTypeWrapper): + pass +class _Region: + V = typing.NewType('V', builtins.int) +class _RegionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Region.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # EU868 + EU868 = Region.V(0) + # US915 + US915 = Region.V(2) + # CN779 + CN779 = Region.V(3) + # EU433 + EU433 = Region.V(4) + # AU915 + AU915 = Region.V(5) + # CN470 + CN470 = Region.V(6) + # AS923 + AS923 = Region.V(7) + # AS923 with -1.80 MHz frequency offset + AS923_2 = Region.V(12) + # AS923 with -6.60 MHz frequency offset + AS923_3 = Region.V(13) + # AS923 with -5.90 MHz frequency offset + AS923_4 = Region.V(14) + # KR920 + KR920 = Region.V(8) + # IN865 + IN865 = Region.V(9) + # RU864 + RU864 = Region.V(10) + # ISM2400 (LoRaWAN 2.4 GHz) + ISM2400 = Region.V(11) + +# EU868 +EU868 = Region.V(0) +# US915 +US915 = Region.V(2) +# CN779 +CN779 = Region.V(3) +# EU433 +EU433 = Region.V(4) +# AU915 +AU915 = Region.V(5) +# CN470 +CN470 = Region.V(6) +# AS923 +AS923 = Region.V(7) +# AS923 with -1.80 MHz frequency offset +AS923_2 = Region.V(12) +# AS923 with -6.60 MHz frequency offset +AS923_3 = Region.V(13) +# AS923 with -5.90 MHz frequency offset +AS923_4 = Region.V(14) +# KR920 +KR920 = Region.V(8) +# IN865 +IN865 = Region.V(9) +# RU864 +RU864 = Region.V(10) +# ISM2400 (LoRaWAN 2.4 GHz) +ISM2400 = Region.V(11) +global___Region = Region + + +class MType(_MType, metaclass=_MTypeEnumTypeWrapper): + pass +class _MType: + V = typing.NewType('V', builtins.int) +class _MTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MType.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # JoinRequest. + JoinRequest = MType.V(0) + # JoinAccept. + JoinAccept = MType.V(1) + # UnconfirmedDataUp. + UnconfirmedDataUp = MType.V(2) + # UnconfirmedDataDown. + UnconfirmedDataDown = MType.V(3) + # ConfirmedDataUp. + ConfirmedDataUp = MType.V(4) + # ConfirmedDataDown. + ConfirmedDataDown = MType.V(5) + # RejoinRequest. + RejoinRequest = MType.V(6) + # Proprietary. + Proprietary = MType.V(7) + +# JoinRequest. +JoinRequest = MType.V(0) +# JoinAccept. +JoinAccept = MType.V(1) +# UnconfirmedDataUp. +UnconfirmedDataUp = MType.V(2) +# UnconfirmedDataDown. +UnconfirmedDataDown = MType.V(3) +# ConfirmedDataUp. +ConfirmedDataUp = MType.V(4) +# ConfirmedDataDown. +ConfirmedDataDown = MType.V(5) +# RejoinRequest. +RejoinRequest = MType.V(6) +# Proprietary. +Proprietary = MType.V(7) +global___MType = MType + + +class LocationSource(_LocationSource, metaclass=_LocationSourceEnumTypeWrapper): + pass +class _LocationSource: + V = typing.NewType('V', builtins.int) +class _LocationSourceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_LocationSource.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # Unknown. + UNKNOWN = LocationSource.V(0) + # GPS. + GPS = LocationSource.V(1) + # Manually configured. + CONFIG = LocationSource.V(2) + # Geo resolver (TDOA). + GEO_RESOLVER_TDOA = LocationSource.V(3) + # Geo resolver (RSSI). + GEO_RESOLVER_RSSI = LocationSource.V(4) + # Geo resolver (GNSS). + GEO_RESOLVER_GNSS = LocationSource.V(5) + # Geo resolver (WIFI). + GEO_RESOLVER_WIFI = LocationSource.V(6) + +# Unknown. +UNKNOWN = LocationSource.V(0) +# GPS. +GPS = LocationSource.V(1) +# Manually configured. +CONFIG = LocationSource.V(2) +# Geo resolver (TDOA). +GEO_RESOLVER_TDOA = LocationSource.V(3) +# Geo resolver (RSSI). +GEO_RESOLVER_RSSI = LocationSource.V(4) +# Geo resolver (GNSS). +GEO_RESOLVER_GNSS = LocationSource.V(5) +# Geo resolver (WIFI). +GEO_RESOLVER_WIFI = LocationSource.V(6) +global___LocationSource = LocationSource + + +class KeyEnvelope(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEK_LABEL_FIELD_NUMBER: builtins.int + AES_KEY_FIELD_NUMBER: builtins.int + # KEK label. + kek_label: typing.Text = ... + # AES key (when the kek_label is set, this key is encrypted using a key + # known to the join-server and application-server. + # For more information please refer to the LoRaWAN Backend Interface + # 'Key Transport Security' section. + aes_key: builtins.bytes = ... + def __init__(self, + *, + kek_label : typing.Text = ..., + aes_key : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"aes_key",b"aes_key",u"kek_label",b"kek_label"]) -> None: ... +global___KeyEnvelope = KeyEnvelope + +class Location(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + LATITUDE_FIELD_NUMBER: builtins.int + LONGITUDE_FIELD_NUMBER: builtins.int + ALTITUDE_FIELD_NUMBER: builtins.int + SOURCE_FIELD_NUMBER: builtins.int + ACCURACY_FIELD_NUMBER: builtins.int + # Latitude. + latitude: builtins.float = ... + # Longitude. + longitude: builtins.float = ... + # Altitude. + altitude: builtins.float = ... + # Location source. + source: global___LocationSource.V = ... + # Accuracy (in meters). + accuracy: builtins.int = ... + def __init__(self, + *, + latitude : builtins.float = ..., + longitude : builtins.float = ..., + altitude : builtins.float = ..., + source : global___LocationSource.V = ..., + accuracy : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"accuracy",b"accuracy",u"altitude",b"altitude",u"latitude",b"latitude",u"longitude",b"longitude",u"source",b"source"]) -> None: ... +global___Location = Location diff --git a/python/src/chirpstack_api/fuota/fuota_grpc.py b/python/src/chirpstack_api/fuota/fuota_grpc.py new file mode 100644 index 00000000..deb61cbd --- /dev/null +++ b/python/src/chirpstack_api/fuota/fuota_grpc.py @@ -0,0 +1,74 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/fuota/fuota.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.protobuf.timestamp_pb2 +import google.protobuf.duration_pb2 +import chirpstack_api.fuota.fuota_pb2 + + +class FUOTAServerServiceBase(abc.ABC): + + @abc.abstractmethod + async def CreateDeployment(self, stream: 'grpclib.server.Stream[chirpstack_api.fuota.fuota_pb2.CreateDeploymentRequest, chirpstack_api.fuota.fuota_pb2.CreateDeploymentResponse]') -> None: + pass + + @abc.abstractmethod + async def GetDeploymentStatus(self, stream: 'grpclib.server.Stream[chirpstack_api.fuota.fuota_pb2.GetDeploymentStatusRequest, chirpstack_api.fuota.fuota_pb2.GetDeploymentStatusResponse]') -> None: + pass + + @abc.abstractmethod + async def GetDeploymentDeviceLogs(self, stream: 'grpclib.server.Stream[chirpstack_api.fuota.fuota_pb2.GetDeploymentDeviceLogsRequest, chirpstack_api.fuota.fuota_pb2.GetDeploymentDeviceLogsResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/fuota.FUOTAServerService/CreateDeployment': grpclib.const.Handler( + self.CreateDeployment, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.fuota.fuota_pb2.CreateDeploymentRequest, + chirpstack_api.fuota.fuota_pb2.CreateDeploymentResponse, + ), + '/fuota.FUOTAServerService/GetDeploymentStatus': grpclib.const.Handler( + self.GetDeploymentStatus, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.fuota.fuota_pb2.GetDeploymentStatusRequest, + chirpstack_api.fuota.fuota_pb2.GetDeploymentStatusResponse, + ), + '/fuota.FUOTAServerService/GetDeploymentDeviceLogs': grpclib.const.Handler( + self.GetDeploymentDeviceLogs, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.fuota.fuota_pb2.GetDeploymentDeviceLogsRequest, + chirpstack_api.fuota.fuota_pb2.GetDeploymentDeviceLogsResponse, + ), + } + + +class FUOTAServerServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.CreateDeployment = grpclib.client.UnaryUnaryMethod( + channel, + '/fuota.FUOTAServerService/CreateDeployment', + chirpstack_api.fuota.fuota_pb2.CreateDeploymentRequest, + chirpstack_api.fuota.fuota_pb2.CreateDeploymentResponse, + ) + self.GetDeploymentStatus = grpclib.client.UnaryUnaryMethod( + channel, + '/fuota.FUOTAServerService/GetDeploymentStatus', + chirpstack_api.fuota.fuota_pb2.GetDeploymentStatusRequest, + chirpstack_api.fuota.fuota_pb2.GetDeploymentStatusResponse, + ) + self.GetDeploymentDeviceLogs = grpclib.client.UnaryUnaryMethod( + channel, + '/fuota.FUOTAServerService/GetDeploymentDeviceLogs', + chirpstack_api.fuota.fuota_pb2.GetDeploymentDeviceLogsRequest, + chirpstack_api.fuota.fuota_pb2.GetDeploymentDeviceLogsResponse, + ) diff --git a/python/src/chirpstack_api/fuota/fuota_pb2.pyi b/python/src/chirpstack_api/fuota/fuota_pb2.pyi new file mode 100644 index 00000000..c8ccd7c2 --- /dev/null +++ b/python/src/chirpstack_api/fuota/fuota_pb2.pyi @@ -0,0 +1,376 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import google.protobuf.descriptor +import google.protobuf.duration_pb2 +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class MulticastGroupType(_MulticastGroupType, metaclass=_MulticastGroupTypeEnumTypeWrapper): + pass +class _MulticastGroupType: + V = typing.NewType('V', builtins.int) +class _MulticastGroupTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MulticastGroupType.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # Class-B. + CLASS_B = MulticastGroupType.V(0) + # Class-C. + CLASS_C = MulticastGroupType.V(1) + +# Class-B. +CLASS_B = MulticastGroupType.V(0) +# Class-C. +CLASS_C = MulticastGroupType.V(1) +global___MulticastGroupType = MulticastGroupType + + +class RequestFragmentationSessionStatus(_RequestFragmentationSessionStatus, metaclass=_RequestFragmentationSessionStatusEnumTypeWrapper): + pass +class _RequestFragmentationSessionStatus: + V = typing.NewType('V', builtins.int) +class _RequestFragmentationSessionStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RequestFragmentationSessionStatus.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # Enqueue the fragmentation-session status request command directly after + # enqueueing the fragmentation-session fragments. This is the recommended + # option for Class-A devices as the status request will stay in the + # downlink queue until the device sends its next uplink. + AFTER_FRAGMENT_ENQUEUE = RequestFragmentationSessionStatus.V(0) + # Enqueue the fragmentation-session status request after the multicast + # session-timeout. This is the recommended option for Class-B and -C + # devices as selecting AFTER_FRAGMENT_ENQUEUE will likely cause the NS + # to schedule the downlink frame during the FUOTA multicast-session. + AFTER_SESSION_TIMEOUT = RequestFragmentationSessionStatus.V(1) + # Do not request the fragmentation-session status. + NO_REQUEST = RequestFragmentationSessionStatus.V(2) + +# Enqueue the fragmentation-session status request command directly after +# enqueueing the fragmentation-session fragments. This is the recommended +# option for Class-A devices as the status request will stay in the +# downlink queue until the device sends its next uplink. +AFTER_FRAGMENT_ENQUEUE = RequestFragmentationSessionStatus.V(0) +# Enqueue the fragmentation-session status request after the multicast +# session-timeout. This is the recommended option for Class-B and -C +# devices as selecting AFTER_FRAGMENT_ENQUEUE will likely cause the NS +# to schedule the downlink frame during the FUOTA multicast-session. +AFTER_SESSION_TIMEOUT = RequestFragmentationSessionStatus.V(1) +# Do not request the fragmentation-session status. +NO_REQUEST = RequestFragmentationSessionStatus.V(2) +global___RequestFragmentationSessionStatus = RequestFragmentationSessionStatus + + +class DeploymentDevice(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + MC_ROOT_KEY_FIELD_NUMBER: builtins.int + # DevEUI. + dev_eui: builtins.bytes = ... + # McRootKey. + mc_root_key: builtins.bytes = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + mc_root_key : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui",u"mc_root_key",b"mc_root_key"]) -> None: ... +global___DeploymentDevice = DeploymentDevice + +class Deployment(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + APPLICATION_ID_FIELD_NUMBER: builtins.int + DEVICES_FIELD_NUMBER: builtins.int + MULTICAST_GROUP_TYPE_FIELD_NUMBER: builtins.int + MULTICAST_DR_FIELD_NUMBER: builtins.int + MULTICAST_PING_SLOT_PERIOD_FIELD_NUMBER: builtins.int + MULTICAST_FREQUENCY_FIELD_NUMBER: builtins.int + MULTICAST_GROUP_ID_FIELD_NUMBER: builtins.int + MULTICAST_TIMEOUT_FIELD_NUMBER: builtins.int + UNICAST_TIMEOUT_FIELD_NUMBER: builtins.int + UNICAST_ATTEMPT_COUNT_FIELD_NUMBER: builtins.int + FRAGMENTATION_FRAGMENT_SIZE_FIELD_NUMBER: builtins.int + PAYLOAD_FIELD_NUMBER: builtins.int + FRAGMENTATION_REDUNDANCY_FIELD_NUMBER: builtins.int + FRAGMENTATION_SESSION_INDEX_FIELD_NUMBER: builtins.int + FRAGMENTATION_MATRIX_FIELD_NUMBER: builtins.int + FRAGMENTATION_BLOCK_ACK_DELAY_FIELD_NUMBER: builtins.int + FRAGMENTATION_DESCRIPTOR_FIELD_NUMBER: builtins.int + REQUEST_FRAGMENTATION_SESSION_STATUS_FIELD_NUMBER: builtins.int + # Application ID. + application_id: builtins.int = ... + # Devices to include in this deployment. + @property + def devices(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DeploymentDevice]: ... + # Multicast-group type. + multicast_group_type: global___MulticastGroupType.V = ... + # Multicast data-rate. + multicast_dr: builtins.int = ... + # Multicast ping-slot period (Class-B only). + multicast_ping_slot_period: builtins.int = ... + # Multicast frequency (Hz). + multicast_frequency: builtins.int = ... + # Multicast group ID. + multicast_group_id: builtins.int = ... + # Multicast timeout. + # This defines the timeout of the multicast-session. + # Please refer to the Remote Multicast Setup specification as this field + # has a different meaning for Class-B and Class-C groups. + multicast_timeout: builtins.int = ... + # Unicast timeout. + # Set this to the value in which you at least expect an uplink frame from + # the device. The FUOTA server will wait for the given time before + # attempting a retry or continuing with the next step. + @property + def unicast_timeout(self) -> google.protobuf.duration_pb2.Duration: ... + # Unicast attempt count. + # The number of attempts before considering an unicast command + # to be failed. + unicast_attempt_count: builtins.int = ... + # FragmentationFragmentSize. + # This defines the size of each payload fragment. Please refer to the + # Regional Parameters specification for the maximum payload sizes + # per data-rate and region. + fragmentation_fragment_size: builtins.int = ... + # Payload. + payload: builtins.bytes = ... + # Fragmentation redundancy. + # The number represents the additional redundant frames to send. + fragmentation_redundancy: builtins.int = ... + # Fragmentation session index. + fragmentation_session_index: builtins.int = ... + # Fragmentation matrix. + fragmentation_matrix: builtins.int = ... + # Block ack delay. + fragmentation_block_ack_delay: builtins.int = ... + # Descriptor (4 bytes). + fragmentation_descriptor: builtins.bytes = ... + # Request fragmentation session status. + request_fragmentation_session_status: global___RequestFragmentationSessionStatus.V = ... + def __init__(self, + *, + application_id : builtins.int = ..., + devices : typing.Optional[typing.Iterable[global___DeploymentDevice]] = ..., + multicast_group_type : global___MulticastGroupType.V = ..., + multicast_dr : builtins.int = ..., + multicast_ping_slot_period : builtins.int = ..., + multicast_frequency : builtins.int = ..., + multicast_group_id : builtins.int = ..., + multicast_timeout : builtins.int = ..., + unicast_timeout : typing.Optional[google.protobuf.duration_pb2.Duration] = ..., + unicast_attempt_count : builtins.int = ..., + fragmentation_fragment_size : builtins.int = ..., + payload : builtins.bytes = ..., + fragmentation_redundancy : builtins.int = ..., + fragmentation_session_index : builtins.int = ..., + fragmentation_matrix : builtins.int = ..., + fragmentation_block_ack_delay : builtins.int = ..., + fragmentation_descriptor : builtins.bytes = ..., + request_fragmentation_session_status : global___RequestFragmentationSessionStatus.V = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"unicast_timeout",b"unicast_timeout"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_id",b"application_id",u"devices",b"devices",u"fragmentation_block_ack_delay",b"fragmentation_block_ack_delay",u"fragmentation_descriptor",b"fragmentation_descriptor",u"fragmentation_fragment_size",b"fragmentation_fragment_size",u"fragmentation_matrix",b"fragmentation_matrix",u"fragmentation_redundancy",b"fragmentation_redundancy",u"fragmentation_session_index",b"fragmentation_session_index",u"multicast_dr",b"multicast_dr",u"multicast_frequency",b"multicast_frequency",u"multicast_group_id",b"multicast_group_id",u"multicast_group_type",b"multicast_group_type",u"multicast_ping_slot_period",b"multicast_ping_slot_period",u"multicast_timeout",b"multicast_timeout",u"payload",b"payload",u"request_fragmentation_session_status",b"request_fragmentation_session_status",u"unicast_attempt_count",b"unicast_attempt_count",u"unicast_timeout",b"unicast_timeout"]) -> None: ... +global___Deployment = Deployment + +class CreateDeploymentRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEPLOYMENT_FIELD_NUMBER: builtins.int + # Deployment. + @property + def deployment(self) -> global___Deployment: ... + def __init__(self, + *, + deployment : typing.Optional[global___Deployment] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"deployment",b"deployment"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"deployment",b"deployment"]) -> None: ... +global___CreateDeploymentRequest = CreateDeploymentRequest + +class CreateDeploymentResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # ID of the created deployment. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___CreateDeploymentResponse = CreateDeploymentResponse + +class GetDeploymentStatusRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Deployment ID. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetDeploymentStatusRequest = GetDeploymentStatusRequest + +class DeploymentDeviceStatus(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + MC_GROUP_SETUP_COMPLETED_AT_FIELD_NUMBER: builtins.int + MC_SESSION_COMPLETED_AT_FIELD_NUMBER: builtins.int + FRAG_SESSION_SETUP_COMPLETED_AT_FIELD_NUMBER: builtins.int + FRAG_STATUS_COMPLETED_AT_FIELD_NUMBER: builtins.int + # DevEUI. + dev_eui: builtins.bytes = ... + # Created at. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Updated at. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Multicast-group setup completed at. + @property + def mc_group_setup_completed_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Multicast-session completed at. + @property + def mc_session_completed_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Fragmentation session setup completed at. + @property + def frag_session_setup_completed_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Fragmentation status completed at. + @property + def frag_status_completed_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + mc_group_setup_completed_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + mc_session_completed_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + frag_session_setup_completed_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + frag_status_completed_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"frag_session_setup_completed_at",b"frag_session_setup_completed_at",u"frag_status_completed_at",b"frag_status_completed_at",u"mc_group_setup_completed_at",b"mc_group_setup_completed_at",u"mc_session_completed_at",b"mc_session_completed_at",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"dev_eui",b"dev_eui",u"frag_session_setup_completed_at",b"frag_session_setup_completed_at",u"frag_status_completed_at",b"frag_status_completed_at",u"mc_group_setup_completed_at",b"mc_group_setup_completed_at",u"mc_session_completed_at",b"mc_session_completed_at",u"updated_at",b"updated_at"]) -> None: ... +global___DeploymentDeviceStatus = DeploymentDeviceStatus + +class GetDeploymentStatusResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + MC_GROUP_SETUP_COMPLETED_AT_FIELD_NUMBER: builtins.int + MC_SESSION_COMPLETED_AT_FIELD_NUMBER: builtins.int + FRAG_SESSION_SETUP_COMPLETED_AT_FIELD_NUMBER: builtins.int + ENQUEUE_COMPLETED_AT_FIELD_NUMBER: builtins.int + FRAG_STATUS_COMPLETED_AT_FIELD_NUMBER: builtins.int + DEVICE_STATUS_FIELD_NUMBER: builtins.int + # Created at. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Updated at. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Multicast-group setup completed at. + @property + def mc_group_setup_completed_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Multicast-session completed at. + @property + def mc_session_completed_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Fragmentation session setup completed at. + @property + def frag_session_setup_completed_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Enqueue completed at. + @property + def enqueue_completed_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Fragmentation status completed at. + @property + def frag_status_completed_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Per device status. + @property + def device_status(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DeploymentDeviceStatus]: ... + def __init__(self, + *, + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + mc_group_setup_completed_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + mc_session_completed_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + frag_session_setup_completed_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + enqueue_completed_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + frag_status_completed_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + device_status : typing.Optional[typing.Iterable[global___DeploymentDeviceStatus]] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"enqueue_completed_at",b"enqueue_completed_at",u"frag_session_setup_completed_at",b"frag_session_setup_completed_at",u"frag_status_completed_at",b"frag_status_completed_at",u"mc_group_setup_completed_at",b"mc_group_setup_completed_at",u"mc_session_completed_at",b"mc_session_completed_at",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"device_status",b"device_status",u"enqueue_completed_at",b"enqueue_completed_at",u"frag_session_setup_completed_at",b"frag_session_setup_completed_at",u"frag_status_completed_at",b"frag_status_completed_at",u"mc_group_setup_completed_at",b"mc_group_setup_completed_at",u"mc_session_completed_at",b"mc_session_completed_at",u"updated_at",b"updated_at"]) -> None: ... +global___GetDeploymentStatusResponse = GetDeploymentStatusResponse + +class GetDeploymentDeviceLogsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEPLOYMENT_ID_FIELD_NUMBER: builtins.int + DEV_EUI_FIELD_NUMBER: builtins.int + # Deployment ID. + deployment_id: builtins.bytes = ... + # DevEUI. + dev_eui: builtins.bytes = ... + def __init__(self, + *, + deployment_id : builtins.bytes = ..., + dev_eui : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"deployment_id",b"deployment_id",u"dev_eui",b"dev_eui"]) -> None: ... +global___GetDeploymentDeviceLogsRequest = GetDeploymentDeviceLogsRequest + +class DeploymentDeviceLog(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class FieldsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + CREATED_AT_FIELD_NUMBER: builtins.int + F_PORT_FIELD_NUMBER: builtins.int + COMMAND_FIELD_NUMBER: builtins.int + FIELDS_FIELD_NUMBER: builtins.int + # Created at. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # FPort. + f_port: builtins.int = ... + # Command. + command: typing.Text = ... + # Fields. + @property + def fields(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + def __init__(self, + *, + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + f_port : builtins.int = ..., + command : typing.Text = ..., + fields : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"command",b"command",u"created_at",b"created_at",u"f_port",b"f_port",u"fields",b"fields"]) -> None: ... +global___DeploymentDeviceLog = DeploymentDeviceLog + +class GetDeploymentDeviceLogsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + LOGS_FIELD_NUMBER: builtins.int + @property + def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DeploymentDeviceLog]: ... + def __init__(self, + *, + logs : typing.Optional[typing.Iterable[global___DeploymentDeviceLog]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"logs",b"logs"]) -> None: ... +global___GetDeploymentDeviceLogsResponse = GetDeploymentDeviceLogsResponse diff --git a/python/src/chirpstack_api/fuota/fuota_pb2_grpc.pyi b/python/src/chirpstack_api/fuota/fuota_pb2_grpc.pyi new file mode 100644 index 00000000..ee2f07c0 --- /dev/null +++ b/python/src/chirpstack_api/fuota/fuota_pb2_grpc.pyi @@ -0,0 +1,54 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import grpc + +from .fuota_pb2 import * +# FUOTAServerService provides the fuota-server API methods. +# Note: this API considered experimental. +class FUOTAServerServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # CreateDeployment creates the given FUOTA deployment. + CreateDeployment:grpc.UnaryUnaryMultiCallable[ + global___CreateDeploymentRequest, + global___CreateDeploymentResponse] = ... + + # GetDeploymentStatus returns the FUOTA deployment status given an ID. + GetDeploymentStatus:grpc.UnaryUnaryMultiCallable[ + global___GetDeploymentStatusRequest, + global___GetDeploymentStatusResponse] = ... + + # GetDeploymentDeviceLogs returns the FUOTA logs given a deployment ID and DevEUI. + GetDeploymentDeviceLogs:grpc.UnaryUnaryMultiCallable[ + global___GetDeploymentDeviceLogsRequest, + global___GetDeploymentDeviceLogsResponse] = ... + + +# FUOTAServerService provides the fuota-server API methods. +# Note: this API considered experimental. +class FUOTAServerServiceServicer(metaclass=abc.ABCMeta): + # CreateDeployment creates the given FUOTA deployment. + @abc.abstractmethod + def CreateDeployment(self, + request: global___CreateDeploymentRequest, + context: grpc.ServicerContext, + ) -> global___CreateDeploymentResponse: ... + + # GetDeploymentStatus returns the FUOTA deployment status given an ID. + @abc.abstractmethod + def GetDeploymentStatus(self, + request: global___GetDeploymentStatusRequest, + context: grpc.ServicerContext, + ) -> global___GetDeploymentStatusResponse: ... + + # GetDeploymentDeviceLogs returns the FUOTA logs given a deployment ID and DevEUI. + @abc.abstractmethod + def GetDeploymentDeviceLogs(self, + request: global___GetDeploymentDeviceLogsRequest, + context: grpc.ServicerContext, + ) -> global___GetDeploymentDeviceLogsResponse: ... + + +def add_FUOTAServerServiceServicer_to_server(servicer: FUOTAServerServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/geo/geo_pb2.pyi b/python/src/chirpstack_api/geo/geo_pb2.pyi new file mode 100644 index 00000000..a472c782 --- /dev/null +++ b/python/src/chirpstack_api/geo/geo_pb2.pyi @@ -0,0 +1,112 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import chirpstack_api.common.common_pb2 +import chirpstack_api.gw.gw_pb2 +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class ResolveResult(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + LOCATION_FIELD_NUMBER: builtins.int + # Resolved location. + @property + def location(self) -> chirpstack_api.common.common_pb2.Location: ... + def __init__(self, + *, + location : typing.Optional[chirpstack_api.common.common_pb2.Location] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"location",b"location"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"location",b"location"]) -> None: ... +global___ResolveResult = ResolveResult + +class FrameRXInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + RX_INFO_FIELD_NUMBER: builtins.int + # Uplink Gateway meta-data. + @property + def rx_info(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[chirpstack_api.gw.gw_pb2.UplinkRXInfo]: ... + def __init__(self, + *, + rx_info : typing.Optional[typing.Iterable[chirpstack_api.gw.gw_pb2.UplinkRXInfo]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"rx_info",b"rx_info"]) -> None: ... +global___FrameRXInfo = FrameRXInfo + +class ResolveTDOARequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + FRAME_RX_INFO_FIELD_NUMBER: builtins.int + DEVICE_REFERENCE_ALTITUDE_FIELD_NUMBER: builtins.int + # Device ID. + dev_eui: builtins.bytes = ... + # Frame meta-data. + @property + def frame_rx_info(self) -> global___FrameRXInfo: ... + # Device reference altitude. + device_reference_altitude: builtins.float = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + frame_rx_info : typing.Optional[global___FrameRXInfo] = ..., + device_reference_altitude : builtins.float = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"frame_rx_info",b"frame_rx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui",u"device_reference_altitude",b"device_reference_altitude",u"frame_rx_info",b"frame_rx_info"]) -> None: ... +global___ResolveTDOARequest = ResolveTDOARequest + +class ResolveMultiFrameTDOARequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + FRAME_RX_INFO_SET_FIELD_NUMBER: builtins.int + DEVICE_REFERENCE_ALTITUDE_FIELD_NUMBER: builtins.int + # Device ID. + dev_eui: builtins.bytes = ... + # Frames meta-data. + @property + def frame_rx_info_set(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FrameRXInfo]: ... + # Device reference altitude. + device_reference_altitude: builtins.float = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + frame_rx_info_set : typing.Optional[typing.Iterable[global___FrameRXInfo]] = ..., + device_reference_altitude : builtins.float = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui",u"device_reference_altitude",b"device_reference_altitude",u"frame_rx_info_set",b"frame_rx_info_set"]) -> None: ... +global___ResolveMultiFrameTDOARequest = ResolveMultiFrameTDOARequest + +class ResolveTDOAResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + RESULT_FIELD_NUMBER: builtins.int + # Resolve result. + @property + def result(self) -> global___ResolveResult: ... + def __init__(self, + *, + result : typing.Optional[global___ResolveResult] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"result",b"result"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result"]) -> None: ... +global___ResolveTDOAResponse = ResolveTDOAResponse + +class ResolveMultiFrameTDOAResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + RESULT_FIELD_NUMBER: builtins.int + # Resolve result. + @property + def result(self) -> global___ResolveResult: ... + def __init__(self, + *, + result : typing.Optional[global___ResolveResult] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"result",b"result"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result"]) -> None: ... +global___ResolveMultiFrameTDOAResponse = ResolveMultiFrameTDOAResponse diff --git a/python/src/chirpstack_api/gw/gw_pb2.pyi b/python/src/chirpstack_api/gw/gw_pb2.pyi new file mode 100644 index 00000000..262d39e5 --- /dev/null +++ b/python/src/chirpstack_api/gw/gw_pb2.pyi @@ -0,0 +1,1024 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import chirpstack_api.common.common_pb2 +import google.protobuf.descriptor +import google.protobuf.duration_pb2 +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class DownlinkTiming(_DownlinkTiming, metaclass=_DownlinkTimingEnumTypeWrapper): + pass +class _DownlinkTiming: + V = typing.NewType('V', builtins.int) +class _DownlinkTimingEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DownlinkTiming.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # Send the downlink immediately. + IMMEDIATELY = DownlinkTiming.V(0) + # Send downlink at the given delay (based on provided context). + DELAY = DownlinkTiming.V(1) + # Send at given GPS epoch value. + GPS_EPOCH = DownlinkTiming.V(2) + +# Send the downlink immediately. +IMMEDIATELY = DownlinkTiming.V(0) +# Send downlink at the given delay (based on provided context). +DELAY = DownlinkTiming.V(1) +# Send at given GPS epoch value. +GPS_EPOCH = DownlinkTiming.V(2) +global___DownlinkTiming = DownlinkTiming + + +class FineTimestampType(_FineTimestampType, metaclass=_FineTimestampTypeEnumTypeWrapper): + pass +class _FineTimestampType: + V = typing.NewType('V', builtins.int) +class _FineTimestampTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FineTimestampType.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # No fine-timestamp available. + NONE = FineTimestampType.V(0) + # Encrypted fine-timestamp. + ENCRYPTED = FineTimestampType.V(1) + # Plain fine-timestamp. + PLAIN = FineTimestampType.V(2) + +# No fine-timestamp available. +NONE = FineTimestampType.V(0) +# Encrypted fine-timestamp. +ENCRYPTED = FineTimestampType.V(1) +# Plain fine-timestamp. +PLAIN = FineTimestampType.V(2) +global___FineTimestampType = FineTimestampType + + +class CRCStatus(_CRCStatus, metaclass=_CRCStatusEnumTypeWrapper): + pass +class _CRCStatus: + V = typing.NewType('V', builtins.int) +class _CRCStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CRCStatus.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # No CRC. + NO_CRC = CRCStatus.V(0) + # Bad CRC. + BAD_CRC = CRCStatus.V(1) + # CRC OK. + CRC_OK = CRCStatus.V(2) + +# No CRC. +NO_CRC = CRCStatus.V(0) +# Bad CRC. +BAD_CRC = CRCStatus.V(1) +# CRC OK. +CRC_OK = CRCStatus.V(2) +global___CRCStatus = CRCStatus + + +class TxAckStatus(_TxAckStatus, metaclass=_TxAckStatusEnumTypeWrapper): + pass +class _TxAckStatus: + V = typing.NewType('V', builtins.int) +class _TxAckStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TxAckStatus.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # Ignored (when a previous item was already emitted). + IGNORED = TxAckStatus.V(0) + # Packet has been programmed for downlink. + OK = TxAckStatus.V(1) + # Rejected because it was already too late to program this packet for downlink. + TOO_LATE = TxAckStatus.V(2) + # Rejected because downlink packet timestamp is too much in advance. + TOO_EARLY = TxAckStatus.V(3) + # Rejected because there was already a packet programmed in requested timeframe. + COLLISION_PACKET = TxAckStatus.V(4) + # Rejected because there was already a beacon planned in requested timeframe. + COLLISION_BEACON = TxAckStatus.V(5) + # Rejected because requested frequency is not supported by TX RF chain. + TX_FREQ = TxAckStatus.V(6) + # Rejected because requested power is not supported by gateway. + TX_POWER = TxAckStatus.V(7) + # Rejected because GPS is unlocked, so GPS timestamp cannot be used. + GPS_UNLOCKED = TxAckStatus.V(8) + # Downlink queue is full. + QUEUE_FULL = TxAckStatus.V(9) + # Internal error. + INTERNAL_ERROR = TxAckStatus.V(10) + +# Ignored (when a previous item was already emitted). +IGNORED = TxAckStatus.V(0) +# Packet has been programmed for downlink. +OK = TxAckStatus.V(1) +# Rejected because it was already too late to program this packet for downlink. +TOO_LATE = TxAckStatus.V(2) +# Rejected because downlink packet timestamp is too much in advance. +TOO_EARLY = TxAckStatus.V(3) +# Rejected because there was already a packet programmed in requested timeframe. +COLLISION_PACKET = TxAckStatus.V(4) +# Rejected because there was already a beacon planned in requested timeframe. +COLLISION_BEACON = TxAckStatus.V(5) +# Rejected because requested frequency is not supported by TX RF chain. +TX_FREQ = TxAckStatus.V(6) +# Rejected because requested power is not supported by gateway. +TX_POWER = TxAckStatus.V(7) +# Rejected because GPS is unlocked, so GPS timestamp cannot be used. +GPS_UNLOCKED = TxAckStatus.V(8) +# Downlink queue is full. +QUEUE_FULL = TxAckStatus.V(9) +# Internal error. +INTERNAL_ERROR = TxAckStatus.V(10) +global___TxAckStatus = TxAckStatus + + +class Modulation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + LORA_FIELD_NUMBER: builtins.int + FSK_FIELD_NUMBER: builtins.int + LR_FHSS_FIELD_NUMBER: builtins.int + # LoRa modulation information. + @property + def lora(self) -> global___LoRaModulationInfo: ... + # FSK modulation information. + @property + def fsk(self) -> global___FSKModulationInfo: ... + # LR-FHSS modulation information. + @property + def lr_fhss(self) -> global___LRFHSSModulationInfo: ... + def __init__(self, + *, + lora : typing.Optional[global___LoRaModulationInfo] = ..., + fsk : typing.Optional[global___FSKModulationInfo] = ..., + lr_fhss : typing.Optional[global___LRFHSSModulationInfo] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"fsk",b"fsk",u"lora",b"lora",u"lr_fhss",b"lr_fhss",u"parameters",b"parameters"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"fsk",b"fsk",u"lora",b"lora",u"lr_fhss",b"lr_fhss",u"parameters",b"parameters"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal[u"parameters",b"parameters"]) -> typing.Optional[typing_extensions.Literal["lora","fsk","lr_fhss"]]: ... +global___Modulation = Modulation + +class UplinkTXInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + FREQUENCY_FIELD_NUMBER: builtins.int + MODULATION_FIELD_NUMBER: builtins.int + LORA_MODULATION_INFO_FIELD_NUMBER: builtins.int + FSK_MODULATION_INFO_FIELD_NUMBER: builtins.int + LR_FHSS_MODULATION_INFO_FIELD_NUMBER: builtins.int + # Frequency (Hz). + frequency: builtins.int = ... + # Modulation. + modulation: chirpstack_api.common.common_pb2.Modulation.V = ... + # LoRa modulation information. + @property + def lora_modulation_info(self) -> global___LoRaModulationInfo: ... + # FSK modulation information. + @property + def fsk_modulation_info(self) -> global___FSKModulationInfo: ... + # LR-FHSS modulation information. + @property + def lr_fhss_modulation_info(self) -> global___LRFHSSModulationInfo: ... + def __init__(self, + *, + frequency : builtins.int = ..., + modulation : chirpstack_api.common.common_pb2.Modulation.V = ..., + lora_modulation_info : typing.Optional[global___LoRaModulationInfo] = ..., + fsk_modulation_info : typing.Optional[global___FSKModulationInfo] = ..., + lr_fhss_modulation_info : typing.Optional[global___LRFHSSModulationInfo] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"fsk_modulation_info",b"fsk_modulation_info",u"lora_modulation_info",b"lora_modulation_info",u"lr_fhss_modulation_info",b"lr_fhss_modulation_info",u"modulation_info",b"modulation_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"frequency",b"frequency",u"fsk_modulation_info",b"fsk_modulation_info",u"lora_modulation_info",b"lora_modulation_info",u"lr_fhss_modulation_info",b"lr_fhss_modulation_info",u"modulation",b"modulation",u"modulation_info",b"modulation_info"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal[u"modulation_info",b"modulation_info"]) -> typing.Optional[typing_extensions.Literal["lora_modulation_info","fsk_modulation_info","lr_fhss_modulation_info"]]: ... +global___UplinkTXInfo = UplinkTXInfo + +class LoRaModulationInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + BANDWIDTH_FIELD_NUMBER: builtins.int + SPREADING_FACTOR_FIELD_NUMBER: builtins.int + CODE_RATE_FIELD_NUMBER: builtins.int + POLARIZATION_INVERSION_FIELD_NUMBER: builtins.int + # Bandwidth. + bandwidth: builtins.int = ... + # Speading-factor. + spreading_factor: builtins.int = ... + # Code-rate. + code_rate: typing.Text = ... + # Polarization inversion. + polarization_inversion: builtins.bool = ... + def __init__(self, + *, + bandwidth : builtins.int = ..., + spreading_factor : builtins.int = ..., + code_rate : typing.Text = ..., + polarization_inversion : builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"bandwidth",b"bandwidth",u"code_rate",b"code_rate",u"polarization_inversion",b"polarization_inversion",u"spreading_factor",b"spreading_factor"]) -> None: ... +global___LoRaModulationInfo = LoRaModulationInfo + +class FSKModulationInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + FREQUENCY_DEVIATION_FIELD_NUMBER: builtins.int + DATARATE_FIELD_NUMBER: builtins.int + # Frequency deviation. + frequency_deviation: builtins.int = ... + # FSK datarate (bits / sec). + datarate: builtins.int = ... + def __init__(self, + *, + frequency_deviation : builtins.int = ..., + datarate : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"datarate",b"datarate",u"frequency_deviation",b"frequency_deviation"]) -> None: ... +global___FSKModulationInfo = FSKModulationInfo + +class LRFHSSModulationInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + OPERATING_CHANNEL_WIDTH_FIELD_NUMBER: builtins.int + CODE_RATE_FIELD_NUMBER: builtins.int + GRID_STEPS_FIELD_NUMBER: builtins.int + # Operating channel width (OCW) in Hz. + operating_channel_width: builtins.int = ... + # Code-rate. + code_rate: typing.Text = ... + # Hopping grid number of steps. + grid_steps: builtins.int = ... + def __init__(self, + *, + operating_channel_width : builtins.int = ..., + code_rate : typing.Text = ..., + grid_steps : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"code_rate",b"code_rate",u"grid_steps",b"grid_steps",u"operating_channel_width",b"operating_channel_width"]) -> None: ... +global___LRFHSSModulationInfo = LRFHSSModulationInfo + +class EncryptedFineTimestamp(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + AES_KEY_INDEX_FIELD_NUMBER: builtins.int + ENCRYPTED_NS_FIELD_NUMBER: builtins.int + FPGA_ID_FIELD_NUMBER: builtins.int + # AES key index used for encrypting the fine timestamp. + aes_key_index: builtins.int = ... + # Encrypted 'main' fine-timestamp (ns precision part of the timestamp). + encrypted_ns: builtins.bytes = ... + # FPGA ID. + fpga_id: builtins.bytes = ... + def __init__(self, + *, + aes_key_index : builtins.int = ..., + encrypted_ns : builtins.bytes = ..., + fpga_id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"aes_key_index",b"aes_key_index",u"encrypted_ns",b"encrypted_ns",u"fpga_id",b"fpga_id"]) -> None: ... +global___EncryptedFineTimestamp = EncryptedFineTimestamp + +class PlainFineTimestamp(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TIME_FIELD_NUMBER: builtins.int + # Full timestamp. + @property + def time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + time : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"time",b"time"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"time",b"time"]) -> None: ... +global___PlainFineTimestamp = PlainFineTimestamp + +class GatewayStats(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class MetaDataEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class TxPacketsPerFrequencyEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int = ... + value: builtins.int = ... + def __init__(self, + *, + key : builtins.int = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class RxPacketsPerFrequencyEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int = ... + value: builtins.int = ... + def __init__(self, + *, + key : builtins.int = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + class TxPacketsPerStatusEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: builtins.int = ... + def __init__(self, + *, + key : typing.Text = ..., + value : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + GATEWAY_ID_FIELD_NUMBER: builtins.int + IP_FIELD_NUMBER: builtins.int + TIME_FIELD_NUMBER: builtins.int + LOCATION_FIELD_NUMBER: builtins.int + CONFIG_VERSION_FIELD_NUMBER: builtins.int + RX_PACKETS_RECEIVED_FIELD_NUMBER: builtins.int + RX_PACKETS_RECEIVED_OK_FIELD_NUMBER: builtins.int + TX_PACKETS_RECEIVED_FIELD_NUMBER: builtins.int + TX_PACKETS_EMITTED_FIELD_NUMBER: builtins.int + META_DATA_FIELD_NUMBER: builtins.int + STATS_ID_FIELD_NUMBER: builtins.int + TX_PACKETS_PER_FREQUENCY_FIELD_NUMBER: builtins.int + RX_PACKETS_PER_FREQUENCY_FIELD_NUMBER: builtins.int + TX_PACKETS_PER_MODULATION_FIELD_NUMBER: builtins.int + RX_PACKETS_PER_MODULATION_FIELD_NUMBER: builtins.int + TX_PACKETS_PER_STATUS_FIELD_NUMBER: builtins.int + # Gateway ID. + gateway_id: builtins.bytes = ... + # Gateway IP. + ip: typing.Text = ... + # Gateway time. + @property + def time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Gateway location. + @property + def location(self) -> chirpstack_api.common.common_pb2.Location: ... + # Gateway configuration version (this maps to the config_version sent + # by LoRa Server to the gateway). + config_version: typing.Text = ... + # Number of radio packets received. + rx_packets_received: builtins.int = ... + # Number of radio packets received with valid PHY CRC. + rx_packets_received_ok: builtins.int = ... + # Number of downlink packets received for transmission. + tx_packets_received: builtins.int = ... + # Number of downlink packets emitted. + tx_packets_emitted: builtins.int = ... + # Additional gateway meta-data. + @property + def meta_data(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + # Stats ID (UUID). + # Unique identifier for the gateway stats. + stats_id: builtins.bytes = ... + # Tx packets per frequency. + @property + def tx_packets_per_frequency(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]: ... + # Rx packets per frequency. + @property + def rx_packets_per_frequency(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]: ... + # Tx packets per modulation parameters. + @property + def tx_packets_per_modulation(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PerModulationCount]: ... + # Rx packets per modulation parameters. + @property + def rx_packets_per_modulation(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PerModulationCount]: ... + # Tx packets per status. + @property + def tx_packets_per_status(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, builtins.int]: ... + def __init__(self, + *, + gateway_id : builtins.bytes = ..., + ip : typing.Text = ..., + time : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + location : typing.Optional[chirpstack_api.common.common_pb2.Location] = ..., + config_version : typing.Text = ..., + rx_packets_received : builtins.int = ..., + rx_packets_received_ok : builtins.int = ..., + tx_packets_received : builtins.int = ..., + tx_packets_emitted : builtins.int = ..., + meta_data : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + stats_id : builtins.bytes = ..., + tx_packets_per_frequency : typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ..., + rx_packets_per_frequency : typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ..., + tx_packets_per_modulation : typing.Optional[typing.Iterable[global___PerModulationCount]] = ..., + rx_packets_per_modulation : typing.Optional[typing.Iterable[global___PerModulationCount]] = ..., + tx_packets_per_status : typing.Optional[typing.Mapping[typing.Text, builtins.int]] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"location",b"location",u"time",b"time"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"config_version",b"config_version",u"gateway_id",b"gateway_id",u"ip",b"ip",u"location",b"location",u"meta_data",b"meta_data",u"rx_packets_per_frequency",b"rx_packets_per_frequency",u"rx_packets_per_modulation",b"rx_packets_per_modulation",u"rx_packets_received",b"rx_packets_received",u"rx_packets_received_ok",b"rx_packets_received_ok",u"stats_id",b"stats_id",u"time",b"time",u"tx_packets_emitted",b"tx_packets_emitted",u"tx_packets_per_frequency",b"tx_packets_per_frequency",u"tx_packets_per_modulation",b"tx_packets_per_modulation",u"tx_packets_per_status",b"tx_packets_per_status",u"tx_packets_received",b"tx_packets_received"]) -> None: ... +global___GatewayStats = GatewayStats + +class PerModulationCount(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MODULATION_FIELD_NUMBER: builtins.int + COUNT_FIELD_NUMBER: builtins.int + # Modulation. + @property + def modulation(self) -> global___Modulation: ... + # Count. + count: builtins.int = ... + def __init__(self, + *, + modulation : typing.Optional[global___Modulation] = ..., + count : builtins.int = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"modulation",b"modulation"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"count",b"count",u"modulation",b"modulation"]) -> None: ... +global___PerModulationCount = PerModulationCount + +class UplinkRXInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_ID_FIELD_NUMBER: builtins.int + TIME_FIELD_NUMBER: builtins.int + TIME_SINCE_GPS_EPOCH_FIELD_NUMBER: builtins.int + RSSI_FIELD_NUMBER: builtins.int + LORA_SNR_FIELD_NUMBER: builtins.int + CHANNEL_FIELD_NUMBER: builtins.int + RF_CHAIN_FIELD_NUMBER: builtins.int + BOARD_FIELD_NUMBER: builtins.int + ANTENNA_FIELD_NUMBER: builtins.int + LOCATION_FIELD_NUMBER: builtins.int + FINE_TIMESTAMP_TYPE_FIELD_NUMBER: builtins.int + ENCRYPTED_FINE_TIMESTAMP_FIELD_NUMBER: builtins.int + PLAIN_FINE_TIMESTAMP_FIELD_NUMBER: builtins.int + CONTEXT_FIELD_NUMBER: builtins.int + UPLINK_ID_FIELD_NUMBER: builtins.int + CRC_STATUS_FIELD_NUMBER: builtins.int + # Gateway ID. + gateway_id: builtins.bytes = ... + # RX time (only set when the gateway has a GPS module). + @property + def time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # RX time since GPS epoch (only set when the gateway has a GPS module). + @property + def time_since_gps_epoch(self) -> google.protobuf.duration_pb2.Duration: ... + # RSSI. + rssi: builtins.int = ... + # LoRa SNR. + lora_snr: builtins.float = ... + # Channel. + channel: builtins.int = ... + # RF Chain. + rf_chain: builtins.int = ... + # Board. + board: builtins.int = ... + # Antenna. + antenna: builtins.int = ... + # Location. + @property + def location(self) -> chirpstack_api.common.common_pb2.Location: ... + # Fine-timestamp type. + fine_timestamp_type: global___FineTimestampType.V = ... + # Encrypted fine-timestamp data. + @property + def encrypted_fine_timestamp(self) -> global___EncryptedFineTimestamp: ... + # Plain fine-timestamp data. + @property + def plain_fine_timestamp(self) -> global___PlainFineTimestamp: ... + # Gateway specific context. + context: builtins.bytes = ... + # Uplink ID (UUID bytes). + # Unique and random ID which can be used to correlate the uplink across multiple logs. + uplink_id: builtins.bytes = ... + # CRC status. + crc_status: global___CRCStatus.V = ... + def __init__(self, + *, + gateway_id : builtins.bytes = ..., + time : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + time_since_gps_epoch : typing.Optional[google.protobuf.duration_pb2.Duration] = ..., + rssi : builtins.int = ..., + lora_snr : builtins.float = ..., + channel : builtins.int = ..., + rf_chain : builtins.int = ..., + board : builtins.int = ..., + antenna : builtins.int = ..., + location : typing.Optional[chirpstack_api.common.common_pb2.Location] = ..., + fine_timestamp_type : global___FineTimestampType.V = ..., + encrypted_fine_timestamp : typing.Optional[global___EncryptedFineTimestamp] = ..., + plain_fine_timestamp : typing.Optional[global___PlainFineTimestamp] = ..., + context : builtins.bytes = ..., + uplink_id : builtins.bytes = ..., + crc_status : global___CRCStatus.V = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"encrypted_fine_timestamp",b"encrypted_fine_timestamp",u"fine_timestamp",b"fine_timestamp",u"location",b"location",u"plain_fine_timestamp",b"plain_fine_timestamp",u"time",b"time",u"time_since_gps_epoch",b"time_since_gps_epoch"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"antenna",b"antenna",u"board",b"board",u"channel",b"channel",u"context",b"context",u"crc_status",b"crc_status",u"encrypted_fine_timestamp",b"encrypted_fine_timestamp",u"fine_timestamp",b"fine_timestamp",u"fine_timestamp_type",b"fine_timestamp_type",u"gateway_id",b"gateway_id",u"location",b"location",u"lora_snr",b"lora_snr",u"plain_fine_timestamp",b"plain_fine_timestamp",u"rf_chain",b"rf_chain",u"rssi",b"rssi",u"time",b"time",u"time_since_gps_epoch",b"time_since_gps_epoch",u"uplink_id",b"uplink_id"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal[u"fine_timestamp",b"fine_timestamp"]) -> typing.Optional[typing_extensions.Literal["encrypted_fine_timestamp","plain_fine_timestamp"]]: ... +global___UplinkRXInfo = UplinkRXInfo + +class DownlinkTXInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_ID_FIELD_NUMBER: builtins.int + FREQUENCY_FIELD_NUMBER: builtins.int + POWER_FIELD_NUMBER: builtins.int + MODULATION_FIELD_NUMBER: builtins.int + LORA_MODULATION_INFO_FIELD_NUMBER: builtins.int + FSK_MODULATION_INFO_FIELD_NUMBER: builtins.int + BOARD_FIELD_NUMBER: builtins.int + ANTENNA_FIELD_NUMBER: builtins.int + TIMING_FIELD_NUMBER: builtins.int + IMMEDIATELY_TIMING_INFO_FIELD_NUMBER: builtins.int + DELAY_TIMING_INFO_FIELD_NUMBER: builtins.int + GPS_EPOCH_TIMING_INFO_FIELD_NUMBER: builtins.int + CONTEXT_FIELD_NUMBER: builtins.int + # Gateway ID. + # Deprecated: replaced by gateway_id in DownlinkFrame. + gateway_id: builtins.bytes = ... + # TX frequency (in Hz). + frequency: builtins.int = ... + # TX power (in dBm). + power: builtins.int = ... + # Modulation. + modulation: chirpstack_api.common.common_pb2.Modulation.V = ... + # LoRa modulation information. + @property + def lora_modulation_info(self) -> global___LoRaModulationInfo: ... + # FSK modulation information. + @property + def fsk_modulation_info(self) -> global___FSKModulationInfo: ... + # The board identifier for emitting the frame. + board: builtins.int = ... + # The antenna identifier for emitting the frame. + antenna: builtins.int = ... + # Timing defines the downlink timing to use. + timing: global___DownlinkTiming.V = ... + # Immediately timing information. + @property + def immediately_timing_info(self) -> global___ImmediatelyTimingInfo: ... + # Context based delay timing information. + @property + def delay_timing_info(self) -> global___DelayTimingInfo: ... + # GPS Epoch timing information. + @property + def gps_epoch_timing_info(self) -> global___GPSEpochTimingInfo: ... + # Gateway specific context. + # In case of a Class-A downlink, this contains a copy of the uplink context. + context: builtins.bytes = ... + def __init__(self, + *, + gateway_id : builtins.bytes = ..., + frequency : builtins.int = ..., + power : builtins.int = ..., + modulation : chirpstack_api.common.common_pb2.Modulation.V = ..., + lora_modulation_info : typing.Optional[global___LoRaModulationInfo] = ..., + fsk_modulation_info : typing.Optional[global___FSKModulationInfo] = ..., + board : builtins.int = ..., + antenna : builtins.int = ..., + timing : global___DownlinkTiming.V = ..., + immediately_timing_info : typing.Optional[global___ImmediatelyTimingInfo] = ..., + delay_timing_info : typing.Optional[global___DelayTimingInfo] = ..., + gps_epoch_timing_info : typing.Optional[global___GPSEpochTimingInfo] = ..., + context : builtins.bytes = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"delay_timing_info",b"delay_timing_info",u"fsk_modulation_info",b"fsk_modulation_info",u"gps_epoch_timing_info",b"gps_epoch_timing_info",u"immediately_timing_info",b"immediately_timing_info",u"lora_modulation_info",b"lora_modulation_info",u"modulation_info",b"modulation_info",u"timing_info",b"timing_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"antenna",b"antenna",u"board",b"board",u"context",b"context",u"delay_timing_info",b"delay_timing_info",u"frequency",b"frequency",u"fsk_modulation_info",b"fsk_modulation_info",u"gateway_id",b"gateway_id",u"gps_epoch_timing_info",b"gps_epoch_timing_info",u"immediately_timing_info",b"immediately_timing_info",u"lora_modulation_info",b"lora_modulation_info",u"modulation",b"modulation",u"modulation_info",b"modulation_info",u"power",b"power",u"timing",b"timing",u"timing_info",b"timing_info"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal[u"modulation_info",b"modulation_info"]) -> typing.Optional[typing_extensions.Literal["lora_modulation_info","fsk_modulation_info"]]: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal[u"timing_info",b"timing_info"]) -> typing.Optional[typing_extensions.Literal["immediately_timing_info","delay_timing_info","gps_epoch_timing_info"]]: ... +global___DownlinkTXInfo = DownlinkTXInfo + +# Not implemented yet. +class ImmediatelyTimingInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + def __init__(self, + ) -> None: ... +global___ImmediatelyTimingInfo = ImmediatelyTimingInfo + +class DelayTimingInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DELAY_FIELD_NUMBER: builtins.int + # Delay (duration). + # The delay will be added to the gateway internal timing, provided by the context object. + @property + def delay(self) -> google.protobuf.duration_pb2.Duration: ... + def __init__(self, + *, + delay : typing.Optional[google.protobuf.duration_pb2.Duration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"delay",b"delay"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"delay",b"delay"]) -> None: ... +global___DelayTimingInfo = DelayTimingInfo + +class GPSEpochTimingInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TIME_SINCE_GPS_EPOCH_FIELD_NUMBER: builtins.int + # Duration since GPS Epoch. + @property + def time_since_gps_epoch(self) -> google.protobuf.duration_pb2.Duration: ... + def __init__(self, + *, + time_since_gps_epoch : typing.Optional[google.protobuf.duration_pb2.Duration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"time_since_gps_epoch",b"time_since_gps_epoch"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"time_since_gps_epoch",b"time_since_gps_epoch"]) -> None: ... +global___GPSEpochTimingInfo = GPSEpochTimingInfo + +class UplinkFrame(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + PHY_PAYLOAD_FIELD_NUMBER: builtins.int + TX_INFO_FIELD_NUMBER: builtins.int + RX_INFO_FIELD_NUMBER: builtins.int + # PHYPayload. + phy_payload: builtins.bytes = ... + # TX meta-data. + @property + def tx_info(self) -> global___UplinkTXInfo: ... + # RX meta-data. + @property + def rx_info(self) -> global___UplinkRXInfo: ... + def __init__(self, + *, + phy_payload : builtins.bytes = ..., + tx_info : typing.Optional[global___UplinkTXInfo] = ..., + rx_info : typing.Optional[global___UplinkRXInfo] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"rx_info",b"rx_info",u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"phy_payload",b"phy_payload",u"rx_info",b"rx_info",u"tx_info",b"tx_info"]) -> None: ... +global___UplinkFrame = UplinkFrame + +class UplinkFrameSet(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + PHY_PAYLOAD_FIELD_NUMBER: builtins.int + TX_INFO_FIELD_NUMBER: builtins.int + RX_INFO_FIELD_NUMBER: builtins.int + # PHYPayload. + phy_payload: builtins.bytes = ... + # TX meta-data. + @property + def tx_info(self) -> global___UplinkTXInfo: ... + # RX meta-data set. + @property + def rx_info(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UplinkRXInfo]: ... + def __init__(self, + *, + phy_payload : builtins.bytes = ..., + tx_info : typing.Optional[global___UplinkTXInfo] = ..., + rx_info : typing.Optional[typing.Iterable[global___UplinkRXInfo]] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"phy_payload",b"phy_payload",u"rx_info",b"rx_info",u"tx_info",b"tx_info"]) -> None: ... +global___UplinkFrameSet = UplinkFrameSet + +class DownlinkFrame(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + PHY_PAYLOAD_FIELD_NUMBER: builtins.int + TX_INFO_FIELD_NUMBER: builtins.int + TOKEN_FIELD_NUMBER: builtins.int + DOWNLINK_ID_FIELD_NUMBER: builtins.int + ITEMS_FIELD_NUMBER: builtins.int + GATEWAY_ID_FIELD_NUMBER: builtins.int + # PHYPayload. + # Deprecated: replaced by items. + phy_payload: builtins.bytes = ... + # TX meta-data. + # Deprecated: replaced by items. + @property + def tx_info(self) -> global___DownlinkTXInfo: ... + # Token (uint16 value). + # Deprecated: replaced by downlink_id. + token: builtins.int = ... + # Downlink ID (UUID). + downlink_id: builtins.bytes = ... + # Downlink frame items. + # This makes it possible to send multiple downlink opportunities to the + # gateway at once (e.g. RX1 and RX2 in LoRaWAN). The first item has the + # highest priority, the last the lowest. The gateway will emit at most + # one item. + @property + def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DownlinkFrameItem]: ... + # Gateway ID. + gateway_id: builtins.bytes = ... + def __init__(self, + *, + phy_payload : builtins.bytes = ..., + tx_info : typing.Optional[global___DownlinkTXInfo] = ..., + token : builtins.int = ..., + downlink_id : builtins.bytes = ..., + items : typing.Optional[typing.Iterable[global___DownlinkFrameItem]] = ..., + gateway_id : builtins.bytes = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"downlink_id",b"downlink_id",u"gateway_id",b"gateway_id",u"items",b"items",u"phy_payload",b"phy_payload",u"token",b"token",u"tx_info",b"tx_info"]) -> None: ... +global___DownlinkFrame = DownlinkFrame + +class DownlinkFrameItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + PHY_PAYLOAD_FIELD_NUMBER: builtins.int + TX_INFO_FIELD_NUMBER: builtins.int + # PHYPayload. + phy_payload: builtins.bytes = ... + # TX meta-data. + @property + def tx_info(self) -> global___DownlinkTXInfo: ... + def __init__(self, + *, + phy_payload : builtins.bytes = ..., + tx_info : typing.Optional[global___DownlinkTXInfo] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"phy_payload",b"phy_payload",u"tx_info",b"tx_info"]) -> None: ... +global___DownlinkFrameItem = DownlinkFrameItem + +class DownlinkTXAck(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_ID_FIELD_NUMBER: builtins.int + TOKEN_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + DOWNLINK_ID_FIELD_NUMBER: builtins.int + ITEMS_FIELD_NUMBER: builtins.int + # Gateway ID. + gateway_id: builtins.bytes = ... + # Token (uint16 value). + # Deprecated: replaced by downlink_id. + token: builtins.int = ... + # Error. + # Deprecated: replaced by items. + error: typing.Text = ... + # Downlink ID (UUID). + downlink_id: builtins.bytes = ... + # Downlink frame items. + # This list has the same length as the request and indicates which + # downlink frame has been emitted of the requested list (or why it failed). + # Note that at most one item has a positive acknowledgement. + @property + def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DownlinkTXAckItem]: ... + def __init__(self, + *, + gateway_id : builtins.bytes = ..., + token : builtins.int = ..., + error : typing.Text = ..., + downlink_id : builtins.bytes = ..., + items : typing.Optional[typing.Iterable[global___DownlinkTXAckItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"downlink_id",b"downlink_id",u"error",b"error",u"gateway_id",b"gateway_id",u"items",b"items",u"token",b"token"]) -> None: ... +global___DownlinkTXAck = DownlinkTXAck + +class DownlinkTXAckItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + STATUS_FIELD_NUMBER: builtins.int + # The Ack status of this item. + status: global___TxAckStatus.V = ... + def __init__(self, + *, + status : global___TxAckStatus.V = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"status",b"status"]) -> None: ... +global___DownlinkTXAckItem = DownlinkTXAckItem + +class GatewayConfiguration(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_ID_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + CHANNELS_FIELD_NUMBER: builtins.int + STATS_INTERVAL_FIELD_NUMBER: builtins.int + # Gateway ID. + gateway_id: builtins.bytes = ... + # Configuration version. + version: typing.Text = ... + # Channels. + @property + def channels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ChannelConfiguration]: ... + # Stats interval. + @property + def stats_interval(self) -> google.protobuf.duration_pb2.Duration: ... + def __init__(self, + *, + gateway_id : builtins.bytes = ..., + version : typing.Text = ..., + channels : typing.Optional[typing.Iterable[global___ChannelConfiguration]] = ..., + stats_interval : typing.Optional[google.protobuf.duration_pb2.Duration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"stats_interval",b"stats_interval"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"channels",b"channels",u"gateway_id",b"gateway_id",u"stats_interval",b"stats_interval",u"version",b"version"]) -> None: ... +global___GatewayConfiguration = GatewayConfiguration + +class ChannelConfiguration(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + FREQUENCY_FIELD_NUMBER: builtins.int + MODULATION_FIELD_NUMBER: builtins.int + LORA_MODULATION_CONFIG_FIELD_NUMBER: builtins.int + FSK_MODULATION_CONFIG_FIELD_NUMBER: builtins.int + BOARD_FIELD_NUMBER: builtins.int + DEMODULATOR_FIELD_NUMBER: builtins.int + # Frequency (Hz). + frequency: builtins.int = ... + # Channel modulation. + modulation: chirpstack_api.common.common_pb2.Modulation.V = ... + # LoRa modulation config. + @property + def lora_modulation_config(self) -> global___LoRaModulationConfig: ... + # FSK modulation config. + @property + def fsk_modulation_config(self) -> global___FSKModulationConfig: ... + # Board index. + board: builtins.int = ... + # Demodulator index (of the given board). + demodulator: builtins.int = ... + def __init__(self, + *, + frequency : builtins.int = ..., + modulation : chirpstack_api.common.common_pb2.Modulation.V = ..., + lora_modulation_config : typing.Optional[global___LoRaModulationConfig] = ..., + fsk_modulation_config : typing.Optional[global___FSKModulationConfig] = ..., + board : builtins.int = ..., + demodulator : builtins.int = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"fsk_modulation_config",b"fsk_modulation_config",u"lora_modulation_config",b"lora_modulation_config",u"modulation_config",b"modulation_config"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"board",b"board",u"demodulator",b"demodulator",u"frequency",b"frequency",u"fsk_modulation_config",b"fsk_modulation_config",u"lora_modulation_config",b"lora_modulation_config",u"modulation",b"modulation",u"modulation_config",b"modulation_config"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal[u"modulation_config",b"modulation_config"]) -> typing.Optional[typing_extensions.Literal["lora_modulation_config","fsk_modulation_config"]]: ... +global___ChannelConfiguration = ChannelConfiguration + +class LoRaModulationConfig(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + BANDWIDTH_FIELD_NUMBER: builtins.int + SPREADING_FACTORS_FIELD_NUMBER: builtins.int + # Bandwidth. + bandwidth: builtins.int = ... + # Spreading-factors. + @property + def spreading_factors(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + def __init__(self, + *, + bandwidth : builtins.int = ..., + spreading_factors : typing.Optional[typing.Iterable[builtins.int]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"bandwidth",b"bandwidth",u"spreading_factors",b"spreading_factors"]) -> None: ... +global___LoRaModulationConfig = LoRaModulationConfig + +class FSKModulationConfig(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + BANDWIDTH_FIELD_NUMBER: builtins.int + BITRATE_FIELD_NUMBER: builtins.int + # Bandwidth. + bandwidth: builtins.int = ... + # Bitrate. + bitrate: builtins.int = ... + def __init__(self, + *, + bandwidth : builtins.int = ..., + bitrate : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"bandwidth",b"bandwidth",u"bitrate",b"bitrate"]) -> None: ... +global___FSKModulationConfig = FSKModulationConfig + +class GatewayCommandExecRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class EnvironmentEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: typing.Text = ... + value: typing.Text = ... + def __init__(self, + *, + key : typing.Text = ..., + value : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ... + + GATEWAY_ID_FIELD_NUMBER: builtins.int + COMMAND_FIELD_NUMBER: builtins.int + EXECID_FIELD_NUMBER: builtins.int + STDIN_FIELD_NUMBER: builtins.int + ENVIRONMENT_FIELD_NUMBER: builtins.int + # Gateway ID. + gateway_id: builtins.bytes = ... + # Command to execute. + # This command must be pre-configured in the LoRa Gateway Bridge configuration. + command: typing.Text = ... + # Execution request ID (UUID). + # The same token will be returned when the execution of the command has + # completed. + ExecId: builtins.bytes = ... + # Standard input. + stdin: builtins.bytes = ... + # Environment variables. + @property + def environment(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ... + def __init__(self, + *, + gateway_id : builtins.bytes = ..., + command : typing.Text = ..., + ExecId : builtins.bytes = ..., + stdin : builtins.bytes = ..., + environment : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"ExecId",b"ExecId",u"command",b"command",u"environment",b"environment",u"gateway_id",b"gateway_id",u"stdin",b"stdin"]) -> None: ... +global___GatewayCommandExecRequest = GatewayCommandExecRequest + +class GatewayCommandExecResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_ID_FIELD_NUMBER: builtins.int + EXEC_ID_FIELD_NUMBER: builtins.int + STDOUT_FIELD_NUMBER: builtins.int + STDERR_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + # Gateway ID. + gateway_id: builtins.bytes = ... + # Execution request ID (UUID). + exec_id: builtins.bytes = ... + # Standard output. + stdout: builtins.bytes = ... + # Standard error. + stderr: builtins.bytes = ... + # Error message. + error: typing.Text = ... + def __init__(self, + *, + gateway_id : builtins.bytes = ..., + exec_id : builtins.bytes = ..., + stdout : builtins.bytes = ..., + stderr : builtins.bytes = ..., + error : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"error",b"error",u"exec_id",b"exec_id",u"gateway_id",b"gateway_id",u"stderr",b"stderr",u"stdout",b"stdout"]) -> None: ... +global___GatewayCommandExecResponse = GatewayCommandExecResponse + +# RawPacketForwarderEvent contains a raw packet-forwarder event. +# It can be used to access packet-forwarder features that are not (fully) +# integrated with the ChirpStack Gateway Bridge. +class RawPacketForwarderEvent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_ID_FIELD_NUMBER: builtins.int + RAW_ID_FIELD_NUMBER: builtins.int + PAYLOAD_FIELD_NUMBER: builtins.int + # Gateway ID. + gateway_id: builtins.bytes = ... + # Raw ID (UUID). + raw_id: builtins.bytes = ... + # Payload contains the raw payload. + payload: builtins.bytes = ... + def __init__(self, + *, + gateway_id : builtins.bytes = ..., + raw_id : builtins.bytes = ..., + payload : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway_id",b"gateway_id",u"payload",b"payload",u"raw_id",b"raw_id"]) -> None: ... +global___RawPacketForwarderEvent = RawPacketForwarderEvent + +# RawPacketForwarderEvent contains a raw packet-forwarder command. +# It can be used to access packet-forwarder features that are not (fully) +# integrated with the ChirpStack Gateway Bridge. +class RawPacketForwarderCommand(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_ID_FIELD_NUMBER: builtins.int + RAW_ID_FIELD_NUMBER: builtins.int + PAYLOAD_FIELD_NUMBER: builtins.int + # Gateway ID. + gateway_id: builtins.bytes = ... + # Raw ID (UUID). + raw_id: builtins.bytes = ... + # Payload contains the raw payload. + payload: builtins.bytes = ... + def __init__(self, + *, + gateway_id : builtins.bytes = ..., + raw_id : builtins.bytes = ..., + payload : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway_id",b"gateway_id",u"payload",b"payload",u"raw_id",b"raw_id"]) -> None: ... +global___RawPacketForwarderCommand = RawPacketForwarderCommand + +# ConnState contains the connection state of a gateway. +class ConnState(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + class State(_State, metaclass=_StateEnumTypeWrapper): + pass + class _State: + V = typing.NewType('V', builtins.int) + class _StateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_State.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + OFFLINE = ConnState.State.V(0) + ONLINE = ConnState.State.V(1) + + OFFLINE = ConnState.State.V(0) + ONLINE = ConnState.State.V(1) + + GATEWAY_ID_FIELD_NUMBER: builtins.int + STATE_FIELD_NUMBER: builtins.int + # Gateway ID. + gateway_id: builtins.bytes = ... + state: global___ConnState.State.V = ... + def __init__(self, + *, + gateway_id : builtins.bytes = ..., + state : global___ConnState.State.V = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway_id",b"gateway_id",u"state",b"state"]) -> None: ... +global___ConnState = ConnState diff --git a/python/src/chirpstack_api/nc/nc_pb2.pyi b/python/src/chirpstack_api/nc/nc_pb2.pyi new file mode 100644 index 00000000..1834f0fe --- /dev/null +++ b/python/src/chirpstack_api/nc/nc_pb2.pyi @@ -0,0 +1,155 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import chirpstack_api.gw.gw_pb2 +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class MType(_MType, metaclass=_MTypeEnumTypeWrapper): + pass +class _MType: + V = typing.NewType('V', builtins.int) +class _MTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MType.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + UNKNOWN = MType.V(0) + JOIN_REQUEST = MType.V(1) + JOIN_ACCEPT = MType.V(2) + UNCONFIRMED_DATA_UP = MType.V(3) + UNCONFIRMED_DATA_DOWN = MType.V(4) + CONFIRMED_DATA_UP = MType.V(5) + CONFIRMED_DATA_DOWN = MType.V(6) + REJOIN_REQUEST = MType.V(7) + +UNKNOWN = MType.V(0) +JOIN_REQUEST = MType.V(1) +JOIN_ACCEPT = MType.V(2) +UNCONFIRMED_DATA_UP = MType.V(3) +UNCONFIRMED_DATA_DOWN = MType.V(4) +CONFIRMED_DATA_UP = MType.V(5) +CONFIRMED_DATA_DOWN = MType.V(6) +REJOIN_REQUEST = MType.V(7) +global___MType = MType + + +class HandleUplinkMetaDataRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + TX_INFO_FIELD_NUMBER: builtins.int + RX_INFO_FIELD_NUMBER: builtins.int + PHY_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: builtins.int + MAC_COMMAND_BYTE_COUNT_FIELD_NUMBER: builtins.int + APPLICATION_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: builtins.int + MESSAGE_TYPE_FIELD_NUMBER: builtins.int + # Device EUI (8 bytes). + dev_eui: builtins.bytes = ... + # TX meta-data. + @property + def tx_info(self) -> chirpstack_api.gw.gw_pb2.UplinkTXInfo: ... + # RX meta-data. + @property + def rx_info(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[chirpstack_api.gw.gw_pb2.UplinkRXInfo]: ... + # PHYPayload byte count. + phy_payload_byte_count: builtins.int = ... + # MAC-Command byte count. + mac_command_byte_count: builtins.int = ... + # Application payload byte count. + application_payload_byte_count: builtins.int = ... + # Message type. + message_type: global___MType.V = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + tx_info : typing.Optional[chirpstack_api.gw.gw_pb2.UplinkTXInfo] = ..., + rx_info : typing.Optional[typing.Iterable[chirpstack_api.gw.gw_pb2.UplinkRXInfo]] = ..., + phy_payload_byte_count : builtins.int = ..., + mac_command_byte_count : builtins.int = ..., + application_payload_byte_count : builtins.int = ..., + message_type : global___MType.V = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_payload_byte_count",b"application_payload_byte_count",u"dev_eui",b"dev_eui",u"mac_command_byte_count",b"mac_command_byte_count",u"message_type",b"message_type",u"phy_payload_byte_count",b"phy_payload_byte_count",u"rx_info",b"rx_info",u"tx_info",b"tx_info"]) -> None: ... +global___HandleUplinkMetaDataRequest = HandleUplinkMetaDataRequest + +class HandleDownlinkMetaDataRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + MULTICAST_GROUP_ID_FIELD_NUMBER: builtins.int + TX_INFO_FIELD_NUMBER: builtins.int + PHY_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: builtins.int + MAC_COMMAND_BYTE_COUNT_FIELD_NUMBER: builtins.int + APPLICATION_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: builtins.int + MESSAGE_TYPE_FIELD_NUMBER: builtins.int + GATEWAY_ID_FIELD_NUMBER: builtins.int + # Device EUI (8 bytes). + dev_eui: builtins.bytes = ... + # Multicast Group ID (UUID). + multicast_group_id: builtins.bytes = ... + # TX meta-data. + @property + def tx_info(self) -> chirpstack_api.gw.gw_pb2.DownlinkTXInfo: ... + # PHYPayload byte count. + phy_payload_byte_count: builtins.int = ... + # MAC-Command byte count. + mac_command_byte_count: builtins.int = ... + # Application payload byte count. + application_payload_byte_count: builtins.int = ... + # Message type. + message_type: global___MType.V = ... + # Gateway ID. + gateway_id: builtins.bytes = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + multicast_group_id : builtins.bytes = ..., + tx_info : typing.Optional[chirpstack_api.gw.gw_pb2.DownlinkTXInfo] = ..., + phy_payload_byte_count : builtins.int = ..., + mac_command_byte_count : builtins.int = ..., + application_payload_byte_count : builtins.int = ..., + message_type : global___MType.V = ..., + gateway_id : builtins.bytes = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"application_payload_byte_count",b"application_payload_byte_count",u"dev_eui",b"dev_eui",u"gateway_id",b"gateway_id",u"mac_command_byte_count",b"mac_command_byte_count",u"message_type",b"message_type",u"multicast_group_id",b"multicast_group_id",u"phy_payload_byte_count",b"phy_payload_byte_count",u"tx_info",b"tx_info"]) -> None: ... +global___HandleDownlinkMetaDataRequest = HandleDownlinkMetaDataRequest + +class HandleUplinkMACCommandRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + CID_FIELD_NUMBER: builtins.int + COMMANDS_FIELD_NUMBER: builtins.int + # Device EUI (8 bytes). + dev_eui: builtins.bytes = ... + # Command identifier (specified by the LoRaWAN specs). + cid: builtins.int = ... + # MAC-command payload(s). + @property + def commands(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + cid : builtins.int = ..., + commands : typing.Optional[typing.Iterable[builtins.bytes]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"cid",b"cid",u"commands",b"commands",u"dev_eui",b"dev_eui"]) -> None: ... +global___HandleUplinkMACCommandRequest = HandleUplinkMACCommandRequest + +class HandleRejectedUplinkFrameSetRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + FRAME_SET_FIELD_NUMBER: builtins.int + @property + def frame_set(self) -> chirpstack_api.gw.gw_pb2.UplinkFrameSet: ... + def __init__(self, + *, + frame_set : typing.Optional[chirpstack_api.gw.gw_pb2.UplinkFrameSet] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"frame_set",b"frame_set"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"frame_set",b"frame_set"]) -> None: ... +global___HandleRejectedUplinkFrameSetRequest = HandleRejectedUplinkFrameSetRequest diff --git a/python/src/chirpstack_api/ns/ns_grpc.py b/python/src/chirpstack_api/ns/ns_grpc.py new file mode 100644 index 00000000..64f54bfd --- /dev/null +++ b/python/src/chirpstack_api/ns/ns_grpc.py @@ -0,0 +1,830 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/ns/ns.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.protobuf.timestamp_pb2 +import google.protobuf.duration_pb2 +import google.protobuf.empty_pb2 +import chirpstack_api.common.common_pb2 +import chirpstack_api.gw.gw_pb2 +import chirpstack_api.ns.profiles_pb2 +import chirpstack_api.ns.ns_pb2 + + +class NetworkServerServiceBase(abc.ABC): + + @abc.abstractmethod + async def CreateServiceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateServiceProfileRequest, chirpstack_api.ns.ns_pb2.CreateServiceProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def GetServiceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetServiceProfileRequest, chirpstack_api.ns.ns_pb2.GetServiceProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateServiceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.UpdateServiceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteServiceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeleteServiceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def CreateRoutingProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateRoutingProfileRequest, chirpstack_api.ns.ns_pb2.CreateRoutingProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def GetRoutingProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetRoutingProfileRequest, chirpstack_api.ns.ns_pb2.GetRoutingProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateRoutingProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.UpdateRoutingProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteRoutingProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeleteRoutingProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def CreateDeviceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateDeviceProfileRequest, chirpstack_api.ns.ns_pb2.CreateDeviceProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def GetDeviceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetDeviceProfileRequest, chirpstack_api.ns.ns_pb2.GetDeviceProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateDeviceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.UpdateDeviceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteDeviceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeleteDeviceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def CreateDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetDeviceRequest, chirpstack_api.ns.ns_pb2.GetDeviceResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.UpdateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeleteDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def ActivateDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.ActivateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeactivateDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeactivateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetDeviceActivation(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetDeviceActivationRequest, chirpstack_api.ns.ns_pb2.GetDeviceActivationResponse]') -> None: + pass + + @abc.abstractmethod + async def CreateDeviceQueueItem(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateDeviceQueueItemRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def FlushDeviceQueueForDevEUI(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.FlushDeviceQueueForDevEUIRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetDeviceQueueItemsForDevEUI(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetDeviceQueueItemsForDevEUIRequest, chirpstack_api.ns.ns_pb2.GetDeviceQueueItemsForDevEUIResponse]') -> None: + pass + + @abc.abstractmethod + async def GetNextDownlinkFCntForDevEUI(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetNextDownlinkFCntForDevEUIRequest, chirpstack_api.ns.ns_pb2.GetNextDownlinkFCntForDevEUIResponse]') -> None: + pass + + @abc.abstractmethod + async def GetRandomDevAddr(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, chirpstack_api.ns.ns_pb2.GetRandomDevAddrResponse]') -> None: + pass + + @abc.abstractmethod + async def CreateMACCommandQueueItem(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateMACCommandQueueItemRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def SendProprietaryPayload(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.SendProprietaryPayloadRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def CreateGateway(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateGatewayRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetGateway(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetGatewayRequest, chirpstack_api.ns.ns_pb2.GetGatewayResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateGateway(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.UpdateGatewayRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteGateway(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeleteGatewayRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GenerateGatewayClientCertificate(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GenerateGatewayClientCertificateRequest, chirpstack_api.ns.ns_pb2.GenerateGatewayClientCertificateResponse]') -> None: + pass + + @abc.abstractmethod + async def CreateGatewayProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateGatewayProfileRequest, chirpstack_api.ns.ns_pb2.CreateGatewayProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def GetGatewayProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetGatewayProfileRequest, chirpstack_api.ns.ns_pb2.GetGatewayProfileResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateGatewayProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.UpdateGatewayProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteGatewayProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeleteGatewayProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetGatewayStats(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetGatewayStatsRequest, chirpstack_api.ns.ns_pb2.GetGatewayStatsResponse]') -> None: + pass + + @abc.abstractmethod + async def StreamFrameLogsForGateway(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.StreamFrameLogsForGatewayRequest, chirpstack_api.ns.ns_pb2.StreamFrameLogsForGatewayResponse]') -> None: + pass + + @abc.abstractmethod + async def StreamFrameLogsForDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.StreamFrameLogsForDeviceRequest, chirpstack_api.ns.ns_pb2.StreamFrameLogsForDeviceResponse]') -> None: + pass + + @abc.abstractmethod + async def CreateMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateMulticastGroupRequest, chirpstack_api.ns.ns_pb2.CreateMulticastGroupResponse]') -> None: + pass + + @abc.abstractmethod + async def GetMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetMulticastGroupRequest, chirpstack_api.ns.ns_pb2.GetMulticastGroupResponse]') -> None: + pass + + @abc.abstractmethod + async def UpdateMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.UpdateMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def DeleteMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeleteMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def AddDeviceToMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.AddDeviceToMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def RemoveDeviceFromMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.RemoveDeviceFromMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def EnqueueMulticastQueueItem(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.EnqueueMulticastQueueItemRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def FlushMulticastQueueForMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.FlushMulticastQueueForMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def GetMulticastQueueItemsForMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetMulticastQueueItemsForMulticastGroupRequest, chirpstack_api.ns.ns_pb2.GetMulticastQueueItemsForMulticastGroupResponse]') -> None: + pass + + @abc.abstractmethod + async def GetVersion(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, chirpstack_api.ns.ns_pb2.GetVersionResponse]') -> None: + pass + + @abc.abstractmethod + async def GetADRAlgorithms(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, chirpstack_api.ns.ns_pb2.GetADRAlgorithmsResponse]') -> None: + pass + + @abc.abstractmethod + async def ClearDeviceNonces(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.ClearDeviceNoncesRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/ns.NetworkServerService/CreateServiceProfile': grpclib.const.Handler( + self.CreateServiceProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.CreateServiceProfileRequest, + chirpstack_api.ns.ns_pb2.CreateServiceProfileResponse, + ), + '/ns.NetworkServerService/GetServiceProfile': grpclib.const.Handler( + self.GetServiceProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.GetServiceProfileRequest, + chirpstack_api.ns.ns_pb2.GetServiceProfileResponse, + ), + '/ns.NetworkServerService/UpdateServiceProfile': grpclib.const.Handler( + self.UpdateServiceProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.UpdateServiceProfileRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/DeleteServiceProfile': grpclib.const.Handler( + self.DeleteServiceProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.DeleteServiceProfileRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/CreateRoutingProfile': grpclib.const.Handler( + self.CreateRoutingProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.CreateRoutingProfileRequest, + chirpstack_api.ns.ns_pb2.CreateRoutingProfileResponse, + ), + '/ns.NetworkServerService/GetRoutingProfile': grpclib.const.Handler( + self.GetRoutingProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.GetRoutingProfileRequest, + chirpstack_api.ns.ns_pb2.GetRoutingProfileResponse, + ), + '/ns.NetworkServerService/UpdateRoutingProfile': grpclib.const.Handler( + self.UpdateRoutingProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.UpdateRoutingProfileRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/DeleteRoutingProfile': grpclib.const.Handler( + self.DeleteRoutingProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.DeleteRoutingProfileRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/CreateDeviceProfile': grpclib.const.Handler( + self.CreateDeviceProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.CreateDeviceProfileRequest, + chirpstack_api.ns.ns_pb2.CreateDeviceProfileResponse, + ), + '/ns.NetworkServerService/GetDeviceProfile': grpclib.const.Handler( + self.GetDeviceProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.GetDeviceProfileRequest, + chirpstack_api.ns.ns_pb2.GetDeviceProfileResponse, + ), + '/ns.NetworkServerService/UpdateDeviceProfile': grpclib.const.Handler( + self.UpdateDeviceProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.UpdateDeviceProfileRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/DeleteDeviceProfile': grpclib.const.Handler( + self.DeleteDeviceProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.DeleteDeviceProfileRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/CreateDevice': grpclib.const.Handler( + self.CreateDevice, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.CreateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/GetDevice': grpclib.const.Handler( + self.GetDevice, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.GetDeviceRequest, + chirpstack_api.ns.ns_pb2.GetDeviceResponse, + ), + '/ns.NetworkServerService/UpdateDevice': grpclib.const.Handler( + self.UpdateDevice, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.UpdateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/DeleteDevice': grpclib.const.Handler( + self.DeleteDevice, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.DeleteDeviceRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/ActivateDevice': grpclib.const.Handler( + self.ActivateDevice, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.ActivateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/DeactivateDevice': grpclib.const.Handler( + self.DeactivateDevice, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.DeactivateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/GetDeviceActivation': grpclib.const.Handler( + self.GetDeviceActivation, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.GetDeviceActivationRequest, + chirpstack_api.ns.ns_pb2.GetDeviceActivationResponse, + ), + '/ns.NetworkServerService/CreateDeviceQueueItem': grpclib.const.Handler( + self.CreateDeviceQueueItem, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.CreateDeviceQueueItemRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/FlushDeviceQueueForDevEUI': grpclib.const.Handler( + self.FlushDeviceQueueForDevEUI, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.FlushDeviceQueueForDevEUIRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/GetDeviceQueueItemsForDevEUI': grpclib.const.Handler( + self.GetDeviceQueueItemsForDevEUI, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.GetDeviceQueueItemsForDevEUIRequest, + chirpstack_api.ns.ns_pb2.GetDeviceQueueItemsForDevEUIResponse, + ), + '/ns.NetworkServerService/GetNextDownlinkFCntForDevEUI': grpclib.const.Handler( + self.GetNextDownlinkFCntForDevEUI, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.GetNextDownlinkFCntForDevEUIRequest, + chirpstack_api.ns.ns_pb2.GetNextDownlinkFCntForDevEUIResponse, + ), + '/ns.NetworkServerService/GetRandomDevAddr': grpclib.const.Handler( + self.GetRandomDevAddr, + grpclib.const.Cardinality.UNARY_UNARY, + google.protobuf.empty_pb2.Empty, + chirpstack_api.ns.ns_pb2.GetRandomDevAddrResponse, + ), + '/ns.NetworkServerService/CreateMACCommandQueueItem': grpclib.const.Handler( + self.CreateMACCommandQueueItem, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.CreateMACCommandQueueItemRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/SendProprietaryPayload': grpclib.const.Handler( + self.SendProprietaryPayload, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.SendProprietaryPayloadRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/CreateGateway': grpclib.const.Handler( + self.CreateGateway, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.CreateGatewayRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/GetGateway': grpclib.const.Handler( + self.GetGateway, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.GetGatewayRequest, + chirpstack_api.ns.ns_pb2.GetGatewayResponse, + ), + '/ns.NetworkServerService/UpdateGateway': grpclib.const.Handler( + self.UpdateGateway, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.UpdateGatewayRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/DeleteGateway': grpclib.const.Handler( + self.DeleteGateway, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.DeleteGatewayRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/GenerateGatewayClientCertificate': grpclib.const.Handler( + self.GenerateGatewayClientCertificate, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.GenerateGatewayClientCertificateRequest, + chirpstack_api.ns.ns_pb2.GenerateGatewayClientCertificateResponse, + ), + '/ns.NetworkServerService/CreateGatewayProfile': grpclib.const.Handler( + self.CreateGatewayProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.CreateGatewayProfileRequest, + chirpstack_api.ns.ns_pb2.CreateGatewayProfileResponse, + ), + '/ns.NetworkServerService/GetGatewayProfile': grpclib.const.Handler( + self.GetGatewayProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.GetGatewayProfileRequest, + chirpstack_api.ns.ns_pb2.GetGatewayProfileResponse, + ), + '/ns.NetworkServerService/UpdateGatewayProfile': grpclib.const.Handler( + self.UpdateGatewayProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.UpdateGatewayProfileRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/DeleteGatewayProfile': grpclib.const.Handler( + self.DeleteGatewayProfile, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.DeleteGatewayProfileRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/GetGatewayStats': grpclib.const.Handler( + self.GetGatewayStats, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.GetGatewayStatsRequest, + chirpstack_api.ns.ns_pb2.GetGatewayStatsResponse, + ), + '/ns.NetworkServerService/StreamFrameLogsForGateway': grpclib.const.Handler( + self.StreamFrameLogsForGateway, + grpclib.const.Cardinality.UNARY_STREAM, + chirpstack_api.ns.ns_pb2.StreamFrameLogsForGatewayRequest, + chirpstack_api.ns.ns_pb2.StreamFrameLogsForGatewayResponse, + ), + '/ns.NetworkServerService/StreamFrameLogsForDevice': grpclib.const.Handler( + self.StreamFrameLogsForDevice, + grpclib.const.Cardinality.UNARY_STREAM, + chirpstack_api.ns.ns_pb2.StreamFrameLogsForDeviceRequest, + chirpstack_api.ns.ns_pb2.StreamFrameLogsForDeviceResponse, + ), + '/ns.NetworkServerService/CreateMulticastGroup': grpclib.const.Handler( + self.CreateMulticastGroup, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.CreateMulticastGroupRequest, + chirpstack_api.ns.ns_pb2.CreateMulticastGroupResponse, + ), + '/ns.NetworkServerService/GetMulticastGroup': grpclib.const.Handler( + self.GetMulticastGroup, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.GetMulticastGroupRequest, + chirpstack_api.ns.ns_pb2.GetMulticastGroupResponse, + ), + '/ns.NetworkServerService/UpdateMulticastGroup': grpclib.const.Handler( + self.UpdateMulticastGroup, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.UpdateMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/DeleteMulticastGroup': grpclib.const.Handler( + self.DeleteMulticastGroup, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.DeleteMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/AddDeviceToMulticastGroup': grpclib.const.Handler( + self.AddDeviceToMulticastGroup, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.AddDeviceToMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/RemoveDeviceFromMulticastGroup': grpclib.const.Handler( + self.RemoveDeviceFromMulticastGroup, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.RemoveDeviceFromMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/EnqueueMulticastQueueItem': grpclib.const.Handler( + self.EnqueueMulticastQueueItem, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.EnqueueMulticastQueueItemRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/FlushMulticastQueueForMulticastGroup': grpclib.const.Handler( + self.FlushMulticastQueueForMulticastGroup, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.FlushMulticastQueueForMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ), + '/ns.NetworkServerService/GetMulticastQueueItemsForMulticastGroup': grpclib.const.Handler( + self.GetMulticastQueueItemsForMulticastGroup, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.GetMulticastQueueItemsForMulticastGroupRequest, + chirpstack_api.ns.ns_pb2.GetMulticastQueueItemsForMulticastGroupResponse, + ), + '/ns.NetworkServerService/GetVersion': grpclib.const.Handler( + self.GetVersion, + grpclib.const.Cardinality.UNARY_UNARY, + google.protobuf.empty_pb2.Empty, + chirpstack_api.ns.ns_pb2.GetVersionResponse, + ), + '/ns.NetworkServerService/GetADRAlgorithms': grpclib.const.Handler( + self.GetADRAlgorithms, + grpclib.const.Cardinality.UNARY_UNARY, + google.protobuf.empty_pb2.Empty, + chirpstack_api.ns.ns_pb2.GetADRAlgorithmsResponse, + ), + '/ns.NetworkServerService/ClearDeviceNonces': grpclib.const.Handler( + self.ClearDeviceNonces, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.ns.ns_pb2.ClearDeviceNoncesRequest, + google.protobuf.empty_pb2.Empty, + ), + } + + +class NetworkServerServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.CreateServiceProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/CreateServiceProfile', + chirpstack_api.ns.ns_pb2.CreateServiceProfileRequest, + chirpstack_api.ns.ns_pb2.CreateServiceProfileResponse, + ) + self.GetServiceProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetServiceProfile', + chirpstack_api.ns.ns_pb2.GetServiceProfileRequest, + chirpstack_api.ns.ns_pb2.GetServiceProfileResponse, + ) + self.UpdateServiceProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/UpdateServiceProfile', + chirpstack_api.ns.ns_pb2.UpdateServiceProfileRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteServiceProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/DeleteServiceProfile', + chirpstack_api.ns.ns_pb2.DeleteServiceProfileRequest, + google.protobuf.empty_pb2.Empty, + ) + self.CreateRoutingProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/CreateRoutingProfile', + chirpstack_api.ns.ns_pb2.CreateRoutingProfileRequest, + chirpstack_api.ns.ns_pb2.CreateRoutingProfileResponse, + ) + self.GetRoutingProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetRoutingProfile', + chirpstack_api.ns.ns_pb2.GetRoutingProfileRequest, + chirpstack_api.ns.ns_pb2.GetRoutingProfileResponse, + ) + self.UpdateRoutingProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/UpdateRoutingProfile', + chirpstack_api.ns.ns_pb2.UpdateRoutingProfileRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteRoutingProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/DeleteRoutingProfile', + chirpstack_api.ns.ns_pb2.DeleteRoutingProfileRequest, + google.protobuf.empty_pb2.Empty, + ) + self.CreateDeviceProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/CreateDeviceProfile', + chirpstack_api.ns.ns_pb2.CreateDeviceProfileRequest, + chirpstack_api.ns.ns_pb2.CreateDeviceProfileResponse, + ) + self.GetDeviceProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetDeviceProfile', + chirpstack_api.ns.ns_pb2.GetDeviceProfileRequest, + chirpstack_api.ns.ns_pb2.GetDeviceProfileResponse, + ) + self.UpdateDeviceProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/UpdateDeviceProfile', + chirpstack_api.ns.ns_pb2.UpdateDeviceProfileRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteDeviceProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/DeleteDeviceProfile', + chirpstack_api.ns.ns_pb2.DeleteDeviceProfileRequest, + google.protobuf.empty_pb2.Empty, + ) + self.CreateDevice = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/CreateDevice', + chirpstack_api.ns.ns_pb2.CreateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetDevice = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetDevice', + chirpstack_api.ns.ns_pb2.GetDeviceRequest, + chirpstack_api.ns.ns_pb2.GetDeviceResponse, + ) + self.UpdateDevice = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/UpdateDevice', + chirpstack_api.ns.ns_pb2.UpdateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteDevice = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/DeleteDevice', + chirpstack_api.ns.ns_pb2.DeleteDeviceRequest, + google.protobuf.empty_pb2.Empty, + ) + self.ActivateDevice = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/ActivateDevice', + chirpstack_api.ns.ns_pb2.ActivateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeactivateDevice = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/DeactivateDevice', + chirpstack_api.ns.ns_pb2.DeactivateDeviceRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetDeviceActivation = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetDeviceActivation', + chirpstack_api.ns.ns_pb2.GetDeviceActivationRequest, + chirpstack_api.ns.ns_pb2.GetDeviceActivationResponse, + ) + self.CreateDeviceQueueItem = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/CreateDeviceQueueItem', + chirpstack_api.ns.ns_pb2.CreateDeviceQueueItemRequest, + google.protobuf.empty_pb2.Empty, + ) + self.FlushDeviceQueueForDevEUI = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/FlushDeviceQueueForDevEUI', + chirpstack_api.ns.ns_pb2.FlushDeviceQueueForDevEUIRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetDeviceQueueItemsForDevEUI = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetDeviceQueueItemsForDevEUI', + chirpstack_api.ns.ns_pb2.GetDeviceQueueItemsForDevEUIRequest, + chirpstack_api.ns.ns_pb2.GetDeviceQueueItemsForDevEUIResponse, + ) + self.GetNextDownlinkFCntForDevEUI = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetNextDownlinkFCntForDevEUI', + chirpstack_api.ns.ns_pb2.GetNextDownlinkFCntForDevEUIRequest, + chirpstack_api.ns.ns_pb2.GetNextDownlinkFCntForDevEUIResponse, + ) + self.GetRandomDevAddr = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetRandomDevAddr', + google.protobuf.empty_pb2.Empty, + chirpstack_api.ns.ns_pb2.GetRandomDevAddrResponse, + ) + self.CreateMACCommandQueueItem = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/CreateMACCommandQueueItem', + chirpstack_api.ns.ns_pb2.CreateMACCommandQueueItemRequest, + google.protobuf.empty_pb2.Empty, + ) + self.SendProprietaryPayload = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/SendProprietaryPayload', + chirpstack_api.ns.ns_pb2.SendProprietaryPayloadRequest, + google.protobuf.empty_pb2.Empty, + ) + self.CreateGateway = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/CreateGateway', + chirpstack_api.ns.ns_pb2.CreateGatewayRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetGateway = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetGateway', + chirpstack_api.ns.ns_pb2.GetGatewayRequest, + chirpstack_api.ns.ns_pb2.GetGatewayResponse, + ) + self.UpdateGateway = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/UpdateGateway', + chirpstack_api.ns.ns_pb2.UpdateGatewayRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteGateway = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/DeleteGateway', + chirpstack_api.ns.ns_pb2.DeleteGatewayRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GenerateGatewayClientCertificate = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GenerateGatewayClientCertificate', + chirpstack_api.ns.ns_pb2.GenerateGatewayClientCertificateRequest, + chirpstack_api.ns.ns_pb2.GenerateGatewayClientCertificateResponse, + ) + self.CreateGatewayProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/CreateGatewayProfile', + chirpstack_api.ns.ns_pb2.CreateGatewayProfileRequest, + chirpstack_api.ns.ns_pb2.CreateGatewayProfileResponse, + ) + self.GetGatewayProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetGatewayProfile', + chirpstack_api.ns.ns_pb2.GetGatewayProfileRequest, + chirpstack_api.ns.ns_pb2.GetGatewayProfileResponse, + ) + self.UpdateGatewayProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/UpdateGatewayProfile', + chirpstack_api.ns.ns_pb2.UpdateGatewayProfileRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteGatewayProfile = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/DeleteGatewayProfile', + chirpstack_api.ns.ns_pb2.DeleteGatewayProfileRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetGatewayStats = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetGatewayStats', + chirpstack_api.ns.ns_pb2.GetGatewayStatsRequest, + chirpstack_api.ns.ns_pb2.GetGatewayStatsResponse, + ) + self.StreamFrameLogsForGateway = grpclib.client.UnaryStreamMethod( + channel, + '/ns.NetworkServerService/StreamFrameLogsForGateway', + chirpstack_api.ns.ns_pb2.StreamFrameLogsForGatewayRequest, + chirpstack_api.ns.ns_pb2.StreamFrameLogsForGatewayResponse, + ) + self.StreamFrameLogsForDevice = grpclib.client.UnaryStreamMethod( + channel, + '/ns.NetworkServerService/StreamFrameLogsForDevice', + chirpstack_api.ns.ns_pb2.StreamFrameLogsForDeviceRequest, + chirpstack_api.ns.ns_pb2.StreamFrameLogsForDeviceResponse, + ) + self.CreateMulticastGroup = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/CreateMulticastGroup', + chirpstack_api.ns.ns_pb2.CreateMulticastGroupRequest, + chirpstack_api.ns.ns_pb2.CreateMulticastGroupResponse, + ) + self.GetMulticastGroup = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetMulticastGroup', + chirpstack_api.ns.ns_pb2.GetMulticastGroupRequest, + chirpstack_api.ns.ns_pb2.GetMulticastGroupResponse, + ) + self.UpdateMulticastGroup = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/UpdateMulticastGroup', + chirpstack_api.ns.ns_pb2.UpdateMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ) + self.DeleteMulticastGroup = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/DeleteMulticastGroup', + chirpstack_api.ns.ns_pb2.DeleteMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ) + self.AddDeviceToMulticastGroup = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/AddDeviceToMulticastGroup', + chirpstack_api.ns.ns_pb2.AddDeviceToMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ) + self.RemoveDeviceFromMulticastGroup = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/RemoveDeviceFromMulticastGroup', + chirpstack_api.ns.ns_pb2.RemoveDeviceFromMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ) + self.EnqueueMulticastQueueItem = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/EnqueueMulticastQueueItem', + chirpstack_api.ns.ns_pb2.EnqueueMulticastQueueItemRequest, + google.protobuf.empty_pb2.Empty, + ) + self.FlushMulticastQueueForMulticastGroup = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/FlushMulticastQueueForMulticastGroup', + chirpstack_api.ns.ns_pb2.FlushMulticastQueueForMulticastGroupRequest, + google.protobuf.empty_pb2.Empty, + ) + self.GetMulticastQueueItemsForMulticastGroup = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetMulticastQueueItemsForMulticastGroup', + chirpstack_api.ns.ns_pb2.GetMulticastQueueItemsForMulticastGroupRequest, + chirpstack_api.ns.ns_pb2.GetMulticastQueueItemsForMulticastGroupResponse, + ) + self.GetVersion = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetVersion', + google.protobuf.empty_pb2.Empty, + chirpstack_api.ns.ns_pb2.GetVersionResponse, + ) + self.GetADRAlgorithms = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/GetADRAlgorithms', + google.protobuf.empty_pb2.Empty, + chirpstack_api.ns.ns_pb2.GetADRAlgorithmsResponse, + ) + self.ClearDeviceNonces = grpclib.client.UnaryUnaryMethod( + channel, + '/ns.NetworkServerService/ClearDeviceNonces', + chirpstack_api.ns.ns_pb2.ClearDeviceNoncesRequest, + google.protobuf.empty_pb2.Empty, + ) diff --git a/python/src/chirpstack_api/ns/ns_pb2.pyi b/python/src/chirpstack_api/ns/ns_pb2.pyi new file mode 100644 index 00000000..ac243146 --- /dev/null +++ b/python/src/chirpstack_api/ns/ns_pb2.pyi @@ -0,0 +1,1595 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import chirpstack_api.common.common_pb2 +import chirpstack_api.gw.gw_pb2 +import chirpstack_api.ns.profiles_pb2 +import google.protobuf.descriptor +import google.protobuf.duration_pb2 +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class RXWindow(_RXWindow, metaclass=_RXWindowEnumTypeWrapper): + pass +class _RXWindow: + V = typing.NewType('V', builtins.int) +class _RXWindowEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RXWindow.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # Receive window 1 + RX1 = RXWindow.V(0) + # Receive window 2 + RX2 = RXWindow.V(1) + +# Receive window 1 +RX1 = RXWindow.V(0) +# Receive window 2 +RX2 = RXWindow.V(1) +global___RXWindow = RXWindow + + +class AggregationInterval(_AggregationInterval, metaclass=_AggregationIntervalEnumTypeWrapper): + pass +class _AggregationInterval: + V = typing.NewType('V', builtins.int) +class _AggregationIntervalEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AggregationInterval.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + SECOND = AggregationInterval.V(0) + MINUTE = AggregationInterval.V(1) + HOUR = AggregationInterval.V(2) + DAY = AggregationInterval.V(3) + WEEK = AggregationInterval.V(4) + MONTH = AggregationInterval.V(5) + QUARTER = AggregationInterval.V(6) + YEAR = AggregationInterval.V(7) + +SECOND = AggregationInterval.V(0) +MINUTE = AggregationInterval.V(1) +HOUR = AggregationInterval.V(2) +DAY = AggregationInterval.V(3) +WEEK = AggregationInterval.V(4) +MONTH = AggregationInterval.V(5) +QUARTER = AggregationInterval.V(6) +YEAR = AggregationInterval.V(7) +global___AggregationInterval = AggregationInterval + + +class MulticastGroupType(_MulticastGroupType, metaclass=_MulticastGroupTypeEnumTypeWrapper): + pass +class _MulticastGroupType: + V = typing.NewType('V', builtins.int) +class _MulticastGroupTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MulticastGroupType.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # Class-C. + CLASS_C = MulticastGroupType.V(0) + # Class-B. + CLASS_B = MulticastGroupType.V(1) + +# Class-C. +CLASS_C = MulticastGroupType.V(0) +# Class-B. +CLASS_B = MulticastGroupType.V(1) +global___MulticastGroupType = MulticastGroupType + + +class CreateServiceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + SERVICE_PROFILE_FIELD_NUMBER: builtins.int + # Service-profile object to create. + @property + def service_profile(self) -> chirpstack_api.ns.profiles_pb2.ServiceProfile: ... + def __init__(self, + *, + service_profile : typing.Optional[chirpstack_api.ns.profiles_pb2.ServiceProfile] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"service_profile",b"service_profile"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"service_profile",b"service_profile"]) -> None: ... +global___CreateServiceProfileRequest = CreateServiceProfileRequest + +class CreateServiceProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # ID of the created service-profile. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___CreateServiceProfileResponse = CreateServiceProfileResponse + +class GetServiceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # ID of the service-profile. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetServiceProfileRequest = GetServiceProfileRequest + +class GetServiceProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + SERVICE_PROFILE_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Service-profile object. + @property + def service_profile(self) -> chirpstack_api.ns.profiles_pb2.ServiceProfile: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + service_profile : typing.Optional[chirpstack_api.ns.profiles_pb2.ServiceProfile] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"service_profile",b"service_profile",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"service_profile",b"service_profile",u"updated_at",b"updated_at"]) -> None: ... +global___GetServiceProfileResponse = GetServiceProfileResponse + +class UpdateServiceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + SERVICE_PROFILE_FIELD_NUMBER: builtins.int + # Service-profile object to update. + @property + def service_profile(self) -> chirpstack_api.ns.profiles_pb2.ServiceProfile: ... + def __init__(self, + *, + service_profile : typing.Optional[chirpstack_api.ns.profiles_pb2.ServiceProfile] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"service_profile",b"service_profile"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"service_profile",b"service_profile"]) -> None: ... +global___UpdateServiceProfileRequest = UpdateServiceProfileRequest + +class DeleteServiceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # ID of the service-profile. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteServiceProfileRequest = DeleteServiceProfileRequest + +class CreateRoutingProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ROUTING_PROFILE_FIELD_NUMBER: builtins.int + # Routing-profile object to create. + @property + def routing_profile(self) -> chirpstack_api.ns.profiles_pb2.RoutingProfile: ... + def __init__(self, + *, + routing_profile : typing.Optional[chirpstack_api.ns.profiles_pb2.RoutingProfile] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"routing_profile",b"routing_profile"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"routing_profile",b"routing_profile"]) -> None: ... +global___CreateRoutingProfileRequest = CreateRoutingProfileRequest + +class CreateRoutingProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # ID of the created routing-profile. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___CreateRoutingProfileResponse = CreateRoutingProfileResponse + +class GetRoutingProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # ID of the routing-profile. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetRoutingProfileRequest = GetRoutingProfileRequest + +class GetRoutingProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ROUTING_PROFILE_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Routing-profile object. + @property + def routing_profile(self) -> chirpstack_api.ns.profiles_pb2.RoutingProfile: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + routing_profile : typing.Optional[chirpstack_api.ns.profiles_pb2.RoutingProfile] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"routing_profile",b"routing_profile",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"routing_profile",b"routing_profile",u"updated_at",b"updated_at"]) -> None: ... +global___GetRoutingProfileResponse = GetRoutingProfileResponse + +class UpdateRoutingProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ROUTING_PROFILE_FIELD_NUMBER: builtins.int + # Routing-profile object to update. + @property + def routing_profile(self) -> chirpstack_api.ns.profiles_pb2.RoutingProfile: ... + def __init__(self, + *, + routing_profile : typing.Optional[chirpstack_api.ns.profiles_pb2.RoutingProfile] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"routing_profile",b"routing_profile"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"routing_profile",b"routing_profile"]) -> None: ... +global___UpdateRoutingProfileRequest = UpdateRoutingProfileRequest + +class DeleteRoutingProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Routing-profile ID. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteRoutingProfileRequest = DeleteRoutingProfileRequest + +class CreateDeviceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_PROFILE_FIELD_NUMBER: builtins.int + # Device-profile object to create. + @property + def device_profile(self) -> chirpstack_api.ns.profiles_pb2.DeviceProfile: ... + def __init__(self, + *, + device_profile : typing.Optional[chirpstack_api.ns.profiles_pb2.DeviceProfile] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device_profile",b"device_profile"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device_profile",b"device_profile"]) -> None: ... +global___CreateDeviceProfileRequest = CreateDeviceProfileRequest + +class CreateDeviceProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # ID of the created device-profile. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___CreateDeviceProfileResponse = CreateDeviceProfileResponse + +class GetDeviceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Device-profile ID. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetDeviceProfileRequest = GetDeviceProfileRequest + +class GetDeviceProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_PROFILE_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Device-profile object. + @property + def device_profile(self) -> chirpstack_api.ns.profiles_pb2.DeviceProfile: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + device_profile : typing.Optional[chirpstack_api.ns.profiles_pb2.DeviceProfile] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"device_profile",b"device_profile",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"device_profile",b"device_profile",u"updated_at",b"updated_at"]) -> None: ... +global___GetDeviceProfileResponse = GetDeviceProfileResponse + +class UpdateDeviceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_PROFILE_FIELD_NUMBER: builtins.int + # Device-profile object to update. + @property + def device_profile(self) -> chirpstack_api.ns.profiles_pb2.DeviceProfile: ... + def __init__(self, + *, + device_profile : typing.Optional[chirpstack_api.ns.profiles_pb2.DeviceProfile] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device_profile",b"device_profile"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device_profile",b"device_profile"]) -> None: ... +global___UpdateDeviceProfileRequest = UpdateDeviceProfileRequest + +class DeleteDeviceProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Device-profile ID. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteDeviceProfileRequest = DeleteDeviceProfileRequest + +class Device(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + DEVICE_PROFILE_ID_FIELD_NUMBER: builtins.int + SERVICE_PROFILE_ID_FIELD_NUMBER: builtins.int + ROUTING_PROFILE_ID_FIELD_NUMBER: builtins.int + SKIP_F_CNT_CHECK_FIELD_NUMBER: builtins.int + REFERENCE_ALTITUDE_FIELD_NUMBER: builtins.int + IS_DISABLED_FIELD_NUMBER: builtins.int + # DevEUI. + dev_eui: builtins.bytes = ... + # Device-profile ID. + device_profile_id: builtins.bytes = ... + # Service-profile ID. + service_profile_id: builtins.bytes = ... + # Routing-profile ID. + routing_profile_id: builtins.bytes = ... + # Skip frame-counter check. + # Note that turning this on is insecure and is intended for debugging only. + skip_f_cnt_check: builtins.bool = ... + # Reference altitude. + # When using geolocation, this altitude will be used as a reference + # (when supported by the geolocation-server) to increase geolocation + # accuracy. + reference_altitude: builtins.float = ... + # Device is disabled. + is_disabled: builtins.bool = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + device_profile_id : builtins.bytes = ..., + service_profile_id : builtins.bytes = ..., + routing_profile_id : builtins.bytes = ..., + skip_f_cnt_check : builtins.bool = ..., + reference_altitude : builtins.float = ..., + is_disabled : builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui",u"device_profile_id",b"device_profile_id",u"is_disabled",b"is_disabled",u"reference_altitude",b"reference_altitude",u"routing_profile_id",b"routing_profile_id",u"service_profile_id",b"service_profile_id",u"skip_f_cnt_check",b"skip_f_cnt_check"]) -> None: ... +global___Device = Device + +class CreateDeviceRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_FIELD_NUMBER: builtins.int + # Device object to create. + @property + def device(self) -> global___Device: ... + def __init__(self, + *, + device : typing.Optional[global___Device] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device",b"device"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device",b"device"]) -> None: ... +global___CreateDeviceRequest = CreateDeviceRequest + +class GetDeviceRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # DevEUI. + dev_eui: builtins.bytes = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___GetDeviceRequest = GetDeviceRequest + +class GetDeviceResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Device object. + @property + def device(self) -> global___Device: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + device : typing.Optional[global___Device] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"device",b"device",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"device",b"device",u"updated_at",b"updated_at"]) -> None: ... +global___GetDeviceResponse = GetDeviceResponse + +class UpdateDeviceRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_FIELD_NUMBER: builtins.int + # Device object to update. + @property + def device(self) -> global___Device: ... + def __init__(self, + *, + device : typing.Optional[global___Device] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device",b"device"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device",b"device"]) -> None: ... +global___UpdateDeviceRequest = UpdateDeviceRequest + +class DeleteDeviceRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # DevEUI. + dev_eui: builtins.bytes = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___DeleteDeviceRequest = DeleteDeviceRequest + +class DeviceActivation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + DEV_ADDR_FIELD_NUMBER: builtins.int + S_NWK_S_INT_KEY_FIELD_NUMBER: builtins.int + F_NWK_S_INT_KEY_FIELD_NUMBER: builtins.int + NWK_S_ENC_KEY_FIELD_NUMBER: builtins.int + F_CNT_UP_FIELD_NUMBER: builtins.int + N_F_CNT_DOWN_FIELD_NUMBER: builtins.int + A_F_CNT_DOWN_FIELD_NUMBER: builtins.int + SKIP_F_CNT_CHECK_FIELD_NUMBER: builtins.int + # DevEUI. + dev_eui: builtins.bytes = ... + # Device address (DevAddr). + dev_addr: builtins.bytes = ... + # SNwkSIntKey (serving network-server session integrity key). + s_nwk_s_int_key: builtins.bytes = ... + # FNwkSIntKey (forwarding network-server session integrity key). + f_nwk_s_int_key: builtins.bytes = ... + # NwkSEncKey (network-server session encryption key). + nwk_s_enc_key: builtins.bytes = ... + # The next expected uplink frame-counter. + f_cnt_up: builtins.int = ... + # The network frame-counter used for the next downlink frame. + n_f_cnt_down: builtins.int = ... + # The application frame-counter used for the next downlink frame (LoRaWAN 1.1). + a_f_cnt_down: builtins.int = ... + # Skip frame-counter checks (this is insecure, but could be helpful for debugging). + skip_f_cnt_check: builtins.bool = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + dev_addr : builtins.bytes = ..., + s_nwk_s_int_key : builtins.bytes = ..., + f_nwk_s_int_key : builtins.bytes = ..., + nwk_s_enc_key : builtins.bytes = ..., + f_cnt_up : builtins.int = ..., + n_f_cnt_down : builtins.int = ..., + a_f_cnt_down : builtins.int = ..., + skip_f_cnt_check : builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"a_f_cnt_down",b"a_f_cnt_down",u"dev_addr",b"dev_addr",u"dev_eui",b"dev_eui",u"f_cnt_up",b"f_cnt_up",u"f_nwk_s_int_key",b"f_nwk_s_int_key",u"n_f_cnt_down",b"n_f_cnt_down",u"nwk_s_enc_key",b"nwk_s_enc_key",u"s_nwk_s_int_key",b"s_nwk_s_int_key",u"skip_f_cnt_check",b"skip_f_cnt_check"]) -> None: ... +global___DeviceActivation = DeviceActivation + +class ActivateDeviceRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_ACTIVATION_FIELD_NUMBER: builtins.int + # Device-activation to activate a device (ABP). + @property + def device_activation(self) -> global___DeviceActivation: ... + def __init__(self, + *, + device_activation : typing.Optional[global___DeviceActivation] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device_activation",b"device_activation"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device_activation",b"device_activation"]) -> None: ... +global___ActivateDeviceRequest = ActivateDeviceRequest + +class DeactivateDeviceRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # Device EUI (8 bytes). + dev_eui: builtins.bytes = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___DeactivateDeviceRequest = DeactivateDeviceRequest + +class GetDeviceActivationRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # Device EUI (8 bytes). + dev_eui: builtins.bytes = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___GetDeviceActivationRequest = GetDeviceActivationRequest + +class GetDeviceActivationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEVICE_ACTIVATION_FIELD_NUMBER: builtins.int + # Device-activation object. + @property + def device_activation(self) -> global___DeviceActivation: ... + def __init__(self, + *, + device_activation : typing.Optional[global___DeviceActivation] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"device_activation",b"device_activation"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"device_activation",b"device_activation"]) -> None: ... +global___GetDeviceActivationResponse = GetDeviceActivationResponse + +class GetRandomDevAddrResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_ADDR_FIELD_NUMBER: builtins.int + # Random device address (DevAddr). + # Note that this includes the NetID prefix of the network-server. + dev_addr: builtins.bytes = ... + def __init__(self, + *, + dev_addr : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_addr",b"dev_addr"]) -> None: ... +global___GetRandomDevAddrResponse = GetRandomDevAddrResponse + +class CreateMACCommandQueueItemRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + CID_FIELD_NUMBER: builtins.int + COMMANDS_FIELD_NUMBER: builtins.int + # DevEUI EUI (8 bytes). + dev_eui: builtins.bytes = ... + # Command identifier (specified by the LoRaWAN specs). + cid: builtins.int = ... + # MAC-command(s). In case multiple payloads are defined, then they + # are always sent within a single frame. + @property + def commands(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + cid : builtins.int = ..., + commands : typing.Optional[typing.Iterable[builtins.bytes]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"cid",b"cid",u"commands",b"commands",u"dev_eui",b"dev_eui"]) -> None: ... +global___CreateMACCommandQueueItemRequest = CreateMACCommandQueueItemRequest + +class SendProprietaryPayloadRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MAC_PAYLOAD_FIELD_NUMBER: builtins.int + MIC_FIELD_NUMBER: builtins.int + GATEWAY_MACS_FIELD_NUMBER: builtins.int + POLARIZATION_INVERSION_FIELD_NUMBER: builtins.int + FREQUENCY_FIELD_NUMBER: builtins.int + DR_FIELD_NUMBER: builtins.int + # MACPayload of the proprietary LoRaWAN frame. + mac_payload: builtins.bytes = ... + # MIC of the proprietary LoRaWAN frame (must be 4 bytes). + mic: builtins.bytes = ... + # Gateway MAC address(es) to use for transmitting the LoRaWAN frame. + @property + def gateway_macs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ... + # Set to true for sending as a gateway, or false for sending as a node. + # In the latter case the frame will be received by other gateways. + polarization_inversion: builtins.bool = ... + # Frequency (Hz) to use for the transmission. + frequency: builtins.int = ... + # Data-rate to use for the transmission. + dr: builtins.int = ... + def __init__(self, + *, + mac_payload : builtins.bytes = ..., + mic : builtins.bytes = ..., + gateway_macs : typing.Optional[typing.Iterable[builtins.bytes]] = ..., + polarization_inversion : builtins.bool = ..., + frequency : builtins.int = ..., + dr : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dr",b"dr",u"frequency",b"frequency",u"gateway_macs",b"gateway_macs",u"mac_payload",b"mac_payload",u"mic",b"mic",u"polarization_inversion",b"polarization_inversion"]) -> None: ... +global___SendProprietaryPayloadRequest = SendProprietaryPayloadRequest + +class Gateway(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + LOCATION_FIELD_NUMBER: builtins.int + GATEWAY_PROFILE_ID_FIELD_NUMBER: builtins.int + BOARDS_FIELD_NUMBER: builtins.int + ROUTING_PROFILE_ID_FIELD_NUMBER: builtins.int + SERVICE_PROFILE_ID_FIELD_NUMBER: builtins.int + # Gateway ID (8 bytes EUI64). + id: builtins.bytes = ... + # Gateway location. + @property + def location(self) -> chirpstack_api.common.common_pb2.Location: ... + # ID of the gateway-profile (optional). + gateway_profile_id: builtins.bytes = ... + # Gateway boards configuration (optional). + # This is (currently) only needed when the gateway supports the fine-timestamp + # and you you would like to add the FPGA ID to the gateway meta-data or would + # like ChirpStack Network Server to decrypt the fine-timestamp. + @property + def boards(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GatewayBoard]: ... + # Routing Profile ID. + # The routing-profile ID defines to which application-server statistical + # data for this gateway is forwarded. + routing_profile_id: builtins.bytes = ... + # Service-profile ID (optional). + service_profile_id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + location : typing.Optional[chirpstack_api.common.common_pb2.Location] = ..., + gateway_profile_id : builtins.bytes = ..., + boards : typing.Optional[typing.Iterable[global___GatewayBoard]] = ..., + routing_profile_id : builtins.bytes = ..., + service_profile_id : builtins.bytes = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"location",b"location"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"boards",b"boards",u"gateway_profile_id",b"gateway_profile_id",u"id",b"id",u"location",b"location",u"routing_profile_id",b"routing_profile_id",u"service_profile_id",b"service_profile_id"]) -> None: ... +global___Gateway = Gateway + +class GatewayBoard(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + FPGA_ID_FIELD_NUMBER: builtins.int + FINE_TIMESTAMP_KEY_FIELD_NUMBER: builtins.int + # FPGA ID of the gateway (8 bytes) (optional). + fpga_id: builtins.bytes = ... + # Fine-timestamp AES decryption key (16 bytes) (optional). + fine_timestamp_key: builtins.bytes = ... + def __init__(self, + *, + fpga_id : builtins.bytes = ..., + fine_timestamp_key : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"fine_timestamp_key",b"fine_timestamp_key",u"fpga_id",b"fpga_id"]) -> None: ... +global___GatewayBoard = GatewayBoard + +class CreateGatewayRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_FIELD_NUMBER: builtins.int + # Gateway object to create. + @property + def gateway(self) -> global___Gateway: ... + def __init__(self, + *, + gateway : typing.Optional[global___Gateway] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"gateway",b"gateway"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway",b"gateway"]) -> None: ... +global___CreateGatewayRequest = CreateGatewayRequest + +class GetGatewayRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Gateway ID. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetGatewayRequest = GetGatewayRequest + +class GetGatewayResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + FIRST_SEEN_AT_FIELD_NUMBER: builtins.int + LAST_SEEN_AT_FIELD_NUMBER: builtins.int + # Gateway object. + @property + def gateway(self) -> global___Gateway: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # First seen timestamp. + @property + def first_seen_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last seen timestamp. + @property + def last_seen_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + gateway : typing.Optional[global___Gateway] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + first_seen_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + last_seen_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"first_seen_at",b"first_seen_at",u"gateway",b"gateway",u"last_seen_at",b"last_seen_at",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"first_seen_at",b"first_seen_at",u"gateway",b"gateway",u"last_seen_at",b"last_seen_at",u"updated_at",b"updated_at"]) -> None: ... +global___GetGatewayResponse = GetGatewayResponse + +class UpdateGatewayRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_FIELD_NUMBER: builtins.int + # Gateway object to update. + @property + def gateway(self) -> global___Gateway: ... + def __init__(self, + *, + gateway : typing.Optional[global___Gateway] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"gateway",b"gateway"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway",b"gateway"]) -> None: ... +global___UpdateGatewayRequest = UpdateGatewayRequest + +class DeleteGatewayRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Gateway ID. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteGatewayRequest = DeleteGatewayRequest + +class GenerateGatewayClientCertificateRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Gateway ID. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GenerateGatewayClientCertificateRequest = GenerateGatewayClientCertificateRequest + +class GenerateGatewayClientCertificateResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TLS_CERT_FIELD_NUMBER: builtins.int + TLS_KEY_FIELD_NUMBER: builtins.int + CA_CERT_FIELD_NUMBER: builtins.int + EXPIRES_AT_FIELD_NUMBER: builtins.int + # TLS certificate. + tls_cert: builtins.bytes = ... + # TLS key. + tls_key: builtins.bytes = ... + # CA certificate. + ca_cert: builtins.bytes = ... + # Expires at defines the expiration date of the certificate. + @property + def expires_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + tls_cert : builtins.bytes = ..., + tls_key : builtins.bytes = ..., + ca_cert : builtins.bytes = ..., + expires_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"expires_at",b"expires_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"ca_cert",b"ca_cert",u"expires_at",b"expires_at",u"tls_cert",b"tls_cert",u"tls_key",b"tls_key"]) -> None: ... +global___GenerateGatewayClientCertificateResponse = GenerateGatewayClientCertificateResponse + +class GatewayStats(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + TIMESTAMP_FIELD_NUMBER: builtins.int + RX_PACKETS_RECEIVED_FIELD_NUMBER: builtins.int + RX_PACKETS_RECEIVED_OK_FIELD_NUMBER: builtins.int + TX_PACKETS_RECEIVED_FIELD_NUMBER: builtins.int + TX_PACKETS_EMITTED_FIELD_NUMBER: builtins.int + # Timestamp of the (aggregated) measurement. + @property + def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Packets received by the gateway. + rx_packets_received: builtins.int = ... + # Packets received by the gateway that passed the CRC check. + rx_packets_received_ok: builtins.int = ... + # Packets received by the gateway for transmission. + tx_packets_received: builtins.int = ... + # Packets transmitted by the gateway. + tx_packets_emitted: builtins.int = ... + def __init__(self, + *, + timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + rx_packets_received : builtins.int = ..., + rx_packets_received_ok : builtins.int = ..., + tx_packets_received : builtins.int = ..., + tx_packets_emitted : builtins.int = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"timestamp",b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"rx_packets_received",b"rx_packets_received",u"rx_packets_received_ok",b"rx_packets_received_ok",u"timestamp",b"timestamp",u"tx_packets_emitted",b"tx_packets_emitted",u"tx_packets_received",b"tx_packets_received"]) -> None: ... +global___GatewayStats = GatewayStats + +class GetGatewayStatsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_ID_FIELD_NUMBER: builtins.int + INTERVAL_FIELD_NUMBER: builtins.int + START_TIMESTAMP_FIELD_NUMBER: builtins.int + END_TIMESTAMP_FIELD_NUMBER: builtins.int + # MAC address of the gateway. + gateway_id: builtins.bytes = ... + # Aggregation interval. + interval: global___AggregationInterval.V = ... + # Timestamp to start from. + @property + def start_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Timestamp until to get from. + @property + def end_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + gateway_id : builtins.bytes = ..., + interval : global___AggregationInterval.V = ..., + start_timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + end_timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"end_timestamp",b"end_timestamp",u"start_timestamp",b"start_timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"end_timestamp",b"end_timestamp",u"gateway_id",b"gateway_id",u"interval",b"interval",u"start_timestamp",b"start_timestamp"]) -> None: ... +global___GetGatewayStatsRequest = GetGatewayStatsRequest + +class GetGatewayStatsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + RESULT_FIELD_NUMBER: builtins.int + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GatewayStats]: ... + def __init__(self, + *, + result : typing.Optional[typing.Iterable[global___GatewayStats]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"result",b"result"]) -> None: ... +global___GetGatewayStatsResponse = GetGatewayStatsResponse + +class DeviceQueueItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + FRM_PAYLOAD_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + F_PORT_FIELD_NUMBER: builtins.int + CONFIRMED_FIELD_NUMBER: builtins.int + DEV_ADDR_FIELD_NUMBER: builtins.int + # DevEUI of the device. + dev_eui: builtins.bytes = ... + # The encrypted FRMPayload bytes. + frm_payload: builtins.bytes = ... + # The FCnt of the payload. + f_cnt: builtins.int = ... + # The FPort of the payload. + f_port: builtins.int = ... + # When set to true, ChirpStack Network Server will wait for the device to ack the + # received frame. + confirmed: builtins.bool = ... + # Device address (as known by the application-server). + # It will be used to validate that the application-server is + # using the correct security context of the device. As on OTAA, there + # is a gap between the activation and the delivery of the AppSKey to the + # application-server, there is a possibility that the application-server + # tries to enqueue payloads encrypted with the old session-key. + dev_addr: builtins.bytes = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + frm_payload : builtins.bytes = ..., + f_cnt : builtins.int = ..., + f_port : builtins.int = ..., + confirmed : builtins.bool = ..., + dev_addr : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"confirmed",b"confirmed",u"dev_addr",b"dev_addr",u"dev_eui",b"dev_eui",u"f_cnt",b"f_cnt",u"f_port",b"f_port",u"frm_payload",b"frm_payload"]) -> None: ... +global___DeviceQueueItem = DeviceQueueItem + +class CreateDeviceQueueItemRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ITEM_FIELD_NUMBER: builtins.int + @property + def item(self) -> global___DeviceQueueItem: ... + def __init__(self, + *, + item : typing.Optional[global___DeviceQueueItem] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"item",b"item"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"item",b"item"]) -> None: ... +global___CreateDeviceQueueItemRequest = CreateDeviceQueueItemRequest + +class FlushDeviceQueueForDevEUIRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # DevEUI of the device. + dev_eui: builtins.bytes = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___FlushDeviceQueueForDevEUIRequest = FlushDeviceQueueForDevEUIRequest + +class GetDeviceQueueItemsForDevEUIRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + COUNT_ONLY_FIELD_NUMBER: builtins.int + # DevEUI of the device. + dev_eui: builtins.bytes = ... + # Return only the count, not the result-set. + count_only: builtins.bool = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + count_only : builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"count_only",b"count_only",u"dev_eui",b"dev_eui"]) -> None: ... +global___GetDeviceQueueItemsForDevEUIRequest = GetDeviceQueueItemsForDevEUIRequest + +class GetDeviceQueueItemsForDevEUIResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ITEMS_FIELD_NUMBER: builtins.int + TOTAL_COUNT_FIELD_NUMBER: builtins.int + # The device queue items. + @property + def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DeviceQueueItem]: ... + # Total number of items in the queue. + total_count: builtins.int = ... + def __init__(self, + *, + items : typing.Optional[typing.Iterable[global___DeviceQueueItem]] = ..., + total_count : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"items",b"items",u"total_count",b"total_count"]) -> None: ... +global___GetDeviceQueueItemsForDevEUIResponse = GetDeviceQueueItemsForDevEUIResponse + +class GetNextDownlinkFCntForDevEUIRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # DevEUI of the device. + dev_eui: builtins.bytes = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___GetNextDownlinkFCntForDevEUIRequest = GetNextDownlinkFCntForDevEUIRequest + +class GetNextDownlinkFCntForDevEUIResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + F_CNT_FIELD_NUMBER: builtins.int + # The frame-counter to use. + f_cnt: builtins.int = ... + def __init__(self, + *, + f_cnt : builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"f_cnt",b"f_cnt"]) -> None: ... +global___GetNextDownlinkFCntForDevEUIResponse = GetNextDownlinkFCntForDevEUIResponse + +class UplinkFrameLog(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + PHY_PAYLOAD_FIELD_NUMBER: builtins.int + TX_INFO_FIELD_NUMBER: builtins.int + RX_INFO_FIELD_NUMBER: builtins.int + M_TYPE_FIELD_NUMBER: builtins.int + DEV_ADDR_FIELD_NUMBER: builtins.int + DEV_EUI_FIELD_NUMBER: builtins.int + PUBLISHED_AT_FIELD_NUMBER: builtins.int + # PHYPayload. + phy_payload: builtins.bytes = ... + # TX meta-data. + @property + def tx_info(self) -> chirpstack_api.gw.gw_pb2.UplinkTXInfo: ... + # RX meta-data. + @property + def rx_info(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[chirpstack_api.gw.gw_pb2.UplinkRXInfo]: ... + # Message type. + m_type: chirpstack_api.common.common_pb2.MType.V = ... + # Device address (optional). + dev_addr: builtins.bytes = ... + # Device EUI (optional). + dev_eui: builtins.bytes = ... + # Published at timestamp. + @property + def published_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + phy_payload : builtins.bytes = ..., + tx_info : typing.Optional[chirpstack_api.gw.gw_pb2.UplinkTXInfo] = ..., + rx_info : typing.Optional[typing.Iterable[chirpstack_api.gw.gw_pb2.UplinkRXInfo]] = ..., + m_type : chirpstack_api.common.common_pb2.MType.V = ..., + dev_addr : builtins.bytes = ..., + dev_eui : builtins.bytes = ..., + published_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"published_at",b"published_at",u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_addr",b"dev_addr",u"dev_eui",b"dev_eui",u"m_type",b"m_type",u"phy_payload",b"phy_payload",u"published_at",b"published_at",u"rx_info",b"rx_info",u"tx_info",b"tx_info"]) -> None: ... +global___UplinkFrameLog = UplinkFrameLog + +class DownlinkFrameLog(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + PHY_PAYLOAD_FIELD_NUMBER: builtins.int + TX_INFO_FIELD_NUMBER: builtins.int + TOKEN_FIELD_NUMBER: builtins.int + DOWNLINK_ID_FIELD_NUMBER: builtins.int + GATEWAY_ID_FIELD_NUMBER: builtins.int + M_TYPE_FIELD_NUMBER: builtins.int + DEV_ADDR_FIELD_NUMBER: builtins.int + DEV_EUI_FIELD_NUMBER: builtins.int + PUBLISHED_AT_FIELD_NUMBER: builtins.int + # PHYPayload. + phy_payload: builtins.bytes = ... + # TX meta-data. + @property + def tx_info(self) -> chirpstack_api.gw.gw_pb2.DownlinkTXInfo: ... + # Token (uint16 value). + # Deprecated: replaced by downlink_id. + token: builtins.int = ... + # Downlink ID (UUID). + downlink_id: builtins.bytes = ... + # Gateway ID. + gateway_id: builtins.bytes = ... + # Message type. + m_type: chirpstack_api.common.common_pb2.MType.V = ... + # Device address (optional). + dev_addr: builtins.bytes = ... + # Device EUI (optional). + dev_eui: builtins.bytes = ... + # Published at timestamp. + @property + def published_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + phy_payload : builtins.bytes = ..., + tx_info : typing.Optional[chirpstack_api.gw.gw_pb2.DownlinkTXInfo] = ..., + token : builtins.int = ..., + downlink_id : builtins.bytes = ..., + gateway_id : builtins.bytes = ..., + m_type : chirpstack_api.common.common_pb2.MType.V = ..., + dev_addr : builtins.bytes = ..., + dev_eui : builtins.bytes = ..., + published_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"published_at",b"published_at",u"tx_info",b"tx_info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_addr",b"dev_addr",u"dev_eui",b"dev_eui",u"downlink_id",b"downlink_id",u"gateway_id",b"gateway_id",u"m_type",b"m_type",u"phy_payload",b"phy_payload",u"published_at",b"published_at",u"token",b"token",u"tx_info",b"tx_info"]) -> None: ... +global___DownlinkFrameLog = DownlinkFrameLog + +class StreamFrameLogsForGatewayRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_ID_FIELD_NUMBER: builtins.int + # MAC address of the gateway. + gateway_id: builtins.bytes = ... + def __init__(self, + *, + gateway_id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway_id",b"gateway_id"]) -> None: ... +global___StreamFrameLogsForGatewayRequest = StreamFrameLogsForGatewayRequest + +class StreamFrameLogsForGatewayResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + UPLINK_FRAME_SET_FIELD_NUMBER: builtins.int + DOWNLINK_FRAME_FIELD_NUMBER: builtins.int + # Contains an uplink frame. + @property + def uplink_frame_set(self) -> global___UplinkFrameLog: ... + # Contains a downlink frame. + @property + def downlink_frame(self) -> global___DownlinkFrameLog: ... + def __init__(self, + *, + uplink_frame_set : typing.Optional[global___UplinkFrameLog] = ..., + downlink_frame : typing.Optional[global___DownlinkFrameLog] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"downlink_frame",b"downlink_frame",u"frame",b"frame",u"uplink_frame_set",b"uplink_frame_set"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"downlink_frame",b"downlink_frame",u"frame",b"frame",u"uplink_frame_set",b"uplink_frame_set"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal[u"frame",b"frame"]) -> typing.Optional[typing_extensions.Literal["uplink_frame_set","downlink_frame"]]: ... +global___StreamFrameLogsForGatewayResponse = StreamFrameLogsForGatewayResponse + +class StreamFrameLogsForDeviceRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # DevEUI of the device. + dev_eui: builtins.bytes = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___StreamFrameLogsForDeviceRequest = StreamFrameLogsForDeviceRequest + +class StreamFrameLogsForDeviceResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + UPLINK_FRAME_SET_FIELD_NUMBER: builtins.int + DOWNLINK_FRAME_FIELD_NUMBER: builtins.int + # Contains an uplink frame. + @property + def uplink_frame_set(self) -> global___UplinkFrameLog: ... + # Contains a downlink frame. + @property + def downlink_frame(self) -> global___DownlinkFrameLog: ... + def __init__(self, + *, + uplink_frame_set : typing.Optional[global___UplinkFrameLog] = ..., + downlink_frame : typing.Optional[global___DownlinkFrameLog] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"downlink_frame",b"downlink_frame",u"frame",b"frame",u"uplink_frame_set",b"uplink_frame_set"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"downlink_frame",b"downlink_frame",u"frame",b"frame",u"uplink_frame_set",b"uplink_frame_set"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal[u"frame",b"frame"]) -> typing.Optional[typing_extensions.Literal["uplink_frame_set","downlink_frame"]]: ... +global___StreamFrameLogsForDeviceResponse = StreamFrameLogsForDeviceResponse + +class GetVersionResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + VERSION_FIELD_NUMBER: builtins.int + REGION_FIELD_NUMBER: builtins.int + # ChirpStack Network Server version. + version: typing.Text = ... + # Region configured for this network-server. + region: chirpstack_api.common.common_pb2.Region.V = ... + def __init__(self, + *, + version : typing.Text = ..., + region : chirpstack_api.common.common_pb2.Region.V = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"region",b"region",u"version",b"version"]) -> None: ... +global___GetVersionResponse = GetVersionResponse + +class GatewayProfile(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + CHANNELS_FIELD_NUMBER: builtins.int + EXTRA_CHANNELS_FIELD_NUMBER: builtins.int + STATS_INTERVAL_FIELD_NUMBER: builtins.int + # ID of the gateway-profile. + id: builtins.bytes = ... + # Default channels (channels specified by the LoRaWAN Regional Parameters + # specification) enabled for this configuration. + @property + def channels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + # Extra channels added to the channel-configuration (in case the LoRaWAN + # region supports adding custom channels). + @property + def extra_channels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GatewayProfileExtraChannel]: ... + # Stats interval. + # This defines the (expected) stats interval which the gateways using this + # gateway-profile are using. + @property + def stats_interval(self) -> google.protobuf.duration_pb2.Duration: ... + def __init__(self, + *, + id : builtins.bytes = ..., + channels : typing.Optional[typing.Iterable[builtins.int]] = ..., + extra_channels : typing.Optional[typing.Iterable[global___GatewayProfileExtraChannel]] = ..., + stats_interval : typing.Optional[google.protobuf.duration_pb2.Duration] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"stats_interval",b"stats_interval"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"channels",b"channels",u"extra_channels",b"extra_channels",u"id",b"id",u"stats_interval",b"stats_interval"]) -> None: ... +global___GatewayProfile = GatewayProfile + +class GatewayProfileExtraChannel(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MODULATION_FIELD_NUMBER: builtins.int + FREQUENCY_FIELD_NUMBER: builtins.int + BANDWIDTH_FIELD_NUMBER: builtins.int + BITRATE_FIELD_NUMBER: builtins.int + SPREADING_FACTORS_FIELD_NUMBER: builtins.int + # Modulation. + modulation: chirpstack_api.common.common_pb2.Modulation.V = ... + # Frequency. + frequency: builtins.int = ... + # Bandwidth. + bandwidth: builtins.int = ... + # Bitrate (in case of FSK modulation). + bitrate: builtins.int = ... + # Spreading factors (in case of LoRa modulation). + @property + def spreading_factors(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + def __init__(self, + *, + modulation : chirpstack_api.common.common_pb2.Modulation.V = ..., + frequency : builtins.int = ..., + bandwidth : builtins.int = ..., + bitrate : builtins.int = ..., + spreading_factors : typing.Optional[typing.Iterable[builtins.int]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"bandwidth",b"bandwidth",u"bitrate",b"bitrate",u"frequency",b"frequency",u"modulation",b"modulation",u"spreading_factors",b"spreading_factors"]) -> None: ... +global___GatewayProfileExtraChannel = GatewayProfileExtraChannel + +class CreateGatewayProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_PROFILE_FIELD_NUMBER: builtins.int + # Gateway-profile object to create. + @property + def gateway_profile(self) -> global___GatewayProfile: ... + def __init__(self, + *, + gateway_profile : typing.Optional[global___GatewayProfile] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"gateway_profile",b"gateway_profile"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway_profile",b"gateway_profile"]) -> None: ... +global___CreateGatewayProfileRequest = CreateGatewayProfileRequest + +class CreateGatewayProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # ID of the create configuration object. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___CreateGatewayProfileResponse = CreateGatewayProfileResponse + +class GetGatewayProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Gateway-profile ID. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetGatewayProfileRequest = GetGatewayProfileRequest + +class GetGatewayProfileResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_PROFILE_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Gateway-profile object. + @property + def gateway_profile(self) -> global___GatewayProfile: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + gateway_profile : typing.Optional[global___GatewayProfile] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"gateway_profile",b"gateway_profile",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"gateway_profile",b"gateway_profile",u"updated_at",b"updated_at"]) -> None: ... +global___GetGatewayProfileResponse = GetGatewayProfileResponse + +class UpdateGatewayProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + GATEWAY_PROFILE_FIELD_NUMBER: builtins.int + # Gateway-profile object to update. + @property + def gateway_profile(self) -> global___GatewayProfile: ... + def __init__(self, + *, + gateway_profile : typing.Optional[global___GatewayProfile] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"gateway_profile",b"gateway_profile"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"gateway_profile",b"gateway_profile"]) -> None: ... +global___UpdateGatewayProfileRequest = UpdateGatewayProfileRequest + +class DeleteGatewayProfileRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Gateway-profile ID. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteGatewayProfileRequest = DeleteGatewayProfileRequest + +class MulticastGroup(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + MC_ADDR_FIELD_NUMBER: builtins.int + MC_NWK_S_KEY_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + GROUP_TYPE_FIELD_NUMBER: builtins.int + DR_FIELD_NUMBER: builtins.int + FREQUENCY_FIELD_NUMBER: builtins.int + PING_SLOT_PERIOD_FIELD_NUMBER: builtins.int + SERVICE_PROFILE_ID_FIELD_NUMBER: builtins.int + ROUTING_PROFILE_ID_FIELD_NUMBER: builtins.int + # Multicast-group ID. + # Note: this can be set on create. When left blank, a random ID will + # be generated. + id: builtins.bytes = ... + # Multicast Address for this group. + mc_addr: builtins.bytes = ... + # Multicast network session key. + mc_nwk_s_key: builtins.bytes = ... + # Frame-counter (downlink). + f_cnt: builtins.int = ... + # Multicast-group type (Class-B or Class-C). + group_type: global___MulticastGroupType.V = ... + # Data-rate. + dr: builtins.int = ... + # Frequency (Hz). + frequency: builtins.int = ... + # Ping-slot period. + # Mandatory for Class-B multicast groups. + ping_slot_period: builtins.int = ... + # Service-profile ID. + service_profile_id: builtins.bytes = ... + # Routing-profile ID. + routing_profile_id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + mc_addr : builtins.bytes = ..., + mc_nwk_s_key : builtins.bytes = ..., + f_cnt : builtins.int = ..., + group_type : global___MulticastGroupType.V = ..., + dr : builtins.int = ..., + frequency : builtins.int = ..., + ping_slot_period : builtins.int = ..., + service_profile_id : builtins.bytes = ..., + routing_profile_id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dr",b"dr",u"f_cnt",b"f_cnt",u"frequency",b"frequency",u"group_type",b"group_type",u"id",b"id",u"mc_addr",b"mc_addr",u"mc_nwk_s_key",b"mc_nwk_s_key",u"ping_slot_period",b"ping_slot_period",u"routing_profile_id",b"routing_profile_id",u"service_profile_id",b"service_profile_id"]) -> None: ... +global___MulticastGroup = MulticastGroup + +class CreateMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_GROUP_FIELD_NUMBER: builtins.int + # Multicast-group to create. + @property + def multicast_group(self) -> global___MulticastGroup: ... + def __init__(self, + *, + multicast_group : typing.Optional[global___MulticastGroup] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"multicast_group",b"multicast_group"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"multicast_group",b"multicast_group"]) -> None: ... +global___CreateMulticastGroupRequest = CreateMulticastGroupRequest + +class CreateMulticastGroupResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Multicast-group ID. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___CreateMulticastGroupResponse = CreateMulticastGroupResponse + +class GetMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Multicast-group ID. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___GetMulticastGroupRequest = GetMulticastGroupRequest + +class GetMulticastGroupResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_GROUP_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + # Multicast-group. + @property + def multicast_group(self) -> global___MulticastGroup: ... + # Created at timestamp. + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + # Last update timestamp. + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__(self, + *, + multicast_group : typing.Optional[global___MulticastGroup] = ..., + created_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + updated_at : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"multicast_group",b"multicast_group",u"updated_at",b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"created_at",b"created_at",u"multicast_group",b"multicast_group",u"updated_at",b"updated_at"]) -> None: ... +global___GetMulticastGroupResponse = GetMulticastGroupResponse + +class UpdateMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_GROUP_FIELD_NUMBER: builtins.int + # Multicast-group to update. + @property + def multicast_group(self) -> global___MulticastGroup: ... + def __init__(self, + *, + multicast_group : typing.Optional[global___MulticastGroup] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"multicast_group",b"multicast_group"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"multicast_group",b"multicast_group"]) -> None: ... +global___UpdateMulticastGroupRequest = UpdateMulticastGroupRequest + +class DeleteMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + # Multicast-group ID. + id: builtins.bytes = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id"]) -> None: ... +global___DeleteMulticastGroupRequest = DeleteMulticastGroupRequest + +class AddDeviceToMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + MULTICAST_GROUP_ID_FIELD_NUMBER: builtins.int + # Device EUI. + dev_eui: builtins.bytes = ... + # Multicast-group ID. + multicast_group_id: builtins.bytes = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + multicast_group_id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui",u"multicast_group_id",b"multicast_group_id"]) -> None: ... +global___AddDeviceToMulticastGroupRequest = AddDeviceToMulticastGroupRequest + +class RemoveDeviceFromMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + MULTICAST_GROUP_ID_FIELD_NUMBER: builtins.int + # Device EUI. + dev_eui: builtins.bytes = ... + # Multicast-group ID. + multicast_group_id: builtins.bytes = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + multicast_group_id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui",u"multicast_group_id",b"multicast_group_id"]) -> None: ... +global___RemoveDeviceFromMulticastGroupRequest = RemoveDeviceFromMulticastGroupRequest + +class MulticastQueueItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_GROUP_ID_FIELD_NUMBER: builtins.int + F_CNT_FIELD_NUMBER: builtins.int + F_PORT_FIELD_NUMBER: builtins.int + FRM_PAYLOAD_FIELD_NUMBER: builtins.int + # Multicast-group id. + multicast_group_id: builtins.bytes = ... + # Frame-counter of payload. + f_cnt: builtins.int = ... + # Frame-port of payload. + f_port: builtins.int = ... + # Encrypted FRMPayload bytes. + frm_payload: builtins.bytes = ... + def __init__(self, + *, + multicast_group_id : builtins.bytes = ..., + f_cnt : builtins.int = ..., + f_port : builtins.int = ..., + frm_payload : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"f_cnt",b"f_cnt",u"f_port",b"f_port",u"frm_payload",b"frm_payload",u"multicast_group_id",b"multicast_group_id"]) -> None: ... +global___MulticastQueueItem = MulticastQueueItem + +class EnqueueMulticastQueueItemRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_QUEUE_ITEM_FIELD_NUMBER: builtins.int + @property + def multicast_queue_item(self) -> global___MulticastQueueItem: ... + def __init__(self, + *, + multicast_queue_item : typing.Optional[global___MulticastQueueItem] = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal[u"multicast_queue_item",b"multicast_queue_item"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal[u"multicast_queue_item",b"multicast_queue_item"]) -> None: ... +global___EnqueueMulticastQueueItemRequest = EnqueueMulticastQueueItemRequest + +class FlushMulticastQueueForMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_GROUP_ID_FIELD_NUMBER: builtins.int + # Multicast-group id. + multicast_group_id: builtins.bytes = ... + def __init__(self, + *, + multicast_group_id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"multicast_group_id",b"multicast_group_id"]) -> None: ... +global___FlushMulticastQueueForMulticastGroupRequest = FlushMulticastQueueForMulticastGroupRequest + +class GetMulticastQueueItemsForMulticastGroupRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_GROUP_ID_FIELD_NUMBER: builtins.int + # Multicast-group id. + multicast_group_id: builtins.bytes = ... + def __init__(self, + *, + multicast_group_id : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"multicast_group_id",b"multicast_group_id"]) -> None: ... +global___GetMulticastQueueItemsForMulticastGroupRequest = GetMulticastQueueItemsForMulticastGroupRequest + +class GetMulticastQueueItemsForMulticastGroupResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + MULTICAST_QUEUE_ITEMS_FIELD_NUMBER: builtins.int + @property + def multicast_queue_items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MulticastQueueItem]: ... + def __init__(self, + *, + multicast_queue_items : typing.Optional[typing.Iterable[global___MulticastQueueItem]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"multicast_queue_items",b"multicast_queue_items"]) -> None: ... +global___GetMulticastQueueItemsForMulticastGroupResponse = GetMulticastQueueItemsForMulticastGroupResponse + +class GetADRAlgorithmsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ADR_ALGORITHMS_FIELD_NUMBER: builtins.int + @property + def adr_algorithms(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ADRAlgorithm]: ... + def __init__(self, + *, + adr_algorithms : typing.Optional[typing.Iterable[global___ADRAlgorithm]] = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"adr_algorithms",b"adr_algorithms"]) -> None: ... +global___GetADRAlgorithmsResponse = GetADRAlgorithmsResponse + +class ADRAlgorithm(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + # ADR algorithm ID. + id: typing.Text = ... + # ADR algorithm name. + name: typing.Text = ... + def __init__(self, + *, + id : typing.Text = ..., + name : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"id",b"id",u"name",b"name"]) -> None: ... +global___ADRAlgorithm = ADRAlgorithm + +class ClearDeviceNoncesRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + DEV_EUI_FIELD_NUMBER: builtins.int + # Device EUI (8 bytes). + dev_eui: builtins.bytes = ... + def __init__(self, + *, + dev_eui : builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"dev_eui",b"dev_eui"]) -> None: ... +global___ClearDeviceNoncesRequest = ClearDeviceNoncesRequest diff --git a/python/src/chirpstack_api/ns/ns_pb2_grpc.pyi b/python/src/chirpstack_api/ns/ns_pb2_grpc.pyi new file mode 100644 index 00000000..f768bee7 --- /dev/null +++ b/python/src/chirpstack_api/ns/ns_pb2_grpc.pyi @@ -0,0 +1,634 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc +import typing + +from .ns_pb2 import * +# NetworkServerService provides the network-server API methods. +class NetworkServerServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # CreateServiceProfile creates the given service-profile. + CreateServiceProfile:grpc.UnaryUnaryMultiCallable[ + global___CreateServiceProfileRequest, + global___CreateServiceProfileResponse] = ... + + # GetServiceProfile returns the service-profile matching the given id. + GetServiceProfile:grpc.UnaryUnaryMultiCallable[ + global___GetServiceProfileRequest, + global___GetServiceProfileResponse] = ... + + # UpdateServiceProfile updates the given service-profile. + UpdateServiceProfile:grpc.UnaryUnaryMultiCallable[ + global___UpdateServiceProfileRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteServiceProfile deletes the service-profile matching the given id. + DeleteServiceProfile:grpc.UnaryUnaryMultiCallable[ + global___DeleteServiceProfileRequest, + google.protobuf.empty_pb2.Empty] = ... + + # CreateRoutingProfile creates the given routing-profile. + CreateRoutingProfile:grpc.UnaryUnaryMultiCallable[ + global___CreateRoutingProfileRequest, + global___CreateRoutingProfileResponse] = ... + + # GetRoutingProfile returns the routing-profile matching the given id. + GetRoutingProfile:grpc.UnaryUnaryMultiCallable[ + global___GetRoutingProfileRequest, + global___GetRoutingProfileResponse] = ... + + # UpdateRoutingProfile updates the given routing-profile. + UpdateRoutingProfile:grpc.UnaryUnaryMultiCallable[ + global___UpdateRoutingProfileRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteRoutingProfile deletes the routing-profile matching the given id. + DeleteRoutingProfile:grpc.UnaryUnaryMultiCallable[ + global___DeleteRoutingProfileRequest, + google.protobuf.empty_pb2.Empty] = ... + + # CreateDeviceProfile creates the given device-profile. + CreateDeviceProfile:grpc.UnaryUnaryMultiCallable[ + global___CreateDeviceProfileRequest, + global___CreateDeviceProfileResponse] = ... + + # GetDeviceProfile returns the device-profile matching the given id. + GetDeviceProfile:grpc.UnaryUnaryMultiCallable[ + global___GetDeviceProfileRequest, + global___GetDeviceProfileResponse] = ... + + # UpdateDeviceProfile updates the given device-profile. + UpdateDeviceProfile:grpc.UnaryUnaryMultiCallable[ + global___UpdateDeviceProfileRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteDeviceProfile deletes the device-profile matching the given id. + DeleteDeviceProfile:grpc.UnaryUnaryMultiCallable[ + global___DeleteDeviceProfileRequest, + google.protobuf.empty_pb2.Empty] = ... + + # CreateDevice creates the given device. + CreateDevice:grpc.UnaryUnaryMultiCallable[ + global___CreateDeviceRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetDevice returns the device matching the given DevEUI. + GetDevice:grpc.UnaryUnaryMultiCallable[ + global___GetDeviceRequest, + global___GetDeviceResponse] = ... + + # UpdateDevice updates the given device. + UpdateDevice:grpc.UnaryUnaryMultiCallable[ + global___UpdateDeviceRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteDevice deletes the device matching the given DevEUI. + DeleteDevice:grpc.UnaryUnaryMultiCallable[ + global___DeleteDeviceRequest, + google.protobuf.empty_pb2.Empty] = ... + + # ActivateDevice activates a device (ABP). + ActivateDevice:grpc.UnaryUnaryMultiCallable[ + global___ActivateDeviceRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeactivateDevice de-activates a device. + DeactivateDevice:grpc.UnaryUnaryMultiCallable[ + global___DeactivateDeviceRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetDeviceActivation returns the device activation details. + GetDeviceActivation:grpc.UnaryUnaryMultiCallable[ + global___GetDeviceActivationRequest, + global___GetDeviceActivationResponse] = ... + + # CreateDeviceQueueItem creates the given device-queue item. + CreateDeviceQueueItem:grpc.UnaryUnaryMultiCallable[ + global___CreateDeviceQueueItemRequest, + google.protobuf.empty_pb2.Empty] = ... + + # FlushDeviceQueueForDevEUI flushes the device-queue for the given DevEUI. + FlushDeviceQueueForDevEUI:grpc.UnaryUnaryMultiCallable[ + global___FlushDeviceQueueForDevEUIRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetDeviceQueueItemsForDevEUI returns all device-queue items for the given DevEUI. + GetDeviceQueueItemsForDevEUI:grpc.UnaryUnaryMultiCallable[ + global___GetDeviceQueueItemsForDevEUIRequest, + global___GetDeviceQueueItemsForDevEUIResponse] = ... + + # GetNextDownlinkFCntForDevEUI returns the next FCnt that must be used. + # This also takes device-queue items for the given DevEUI into consideration. + GetNextDownlinkFCntForDevEUI:grpc.UnaryUnaryMultiCallable[ + global___GetNextDownlinkFCntForDevEUIRequest, + global___GetNextDownlinkFCntForDevEUIResponse] = ... + + # GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into account. + GetRandomDevAddr:grpc.UnaryUnaryMultiCallable[ + google.protobuf.empty_pb2.Empty, + global___GetRandomDevAddrResponse] = ... + + # CreateMACCommandQueueItem adds the downlink mac-command to the queue. + CreateMACCommandQueueItem:grpc.UnaryUnaryMultiCallable[ + global___CreateMACCommandQueueItemRequest, + google.protobuf.empty_pb2.Empty] = ... + + # SendProprietaryPayload send a payload using the 'Proprietary' LoRaWAN message-type. + SendProprietaryPayload:grpc.UnaryUnaryMultiCallable[ + global___SendProprietaryPayloadRequest, + google.protobuf.empty_pb2.Empty] = ... + + # CreateGateway creates the given gateway. + CreateGateway:grpc.UnaryUnaryMultiCallable[ + global___CreateGatewayRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetGateway returns data for a particular gateway. + GetGateway:grpc.UnaryUnaryMultiCallable[ + global___GetGatewayRequest, + global___GetGatewayResponse] = ... + + # UpdateGateway updates an existing gateway. + UpdateGateway:grpc.UnaryUnaryMultiCallable[ + global___UpdateGatewayRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteGateway deletes a gateway. + DeleteGateway:grpc.UnaryUnaryMultiCallable[ + global___DeleteGatewayRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GenerateGatewayClientCertificate returns TLS certificate gateway authentication / authorization. + # This endpoint can ony be used when ChirpStack Network Server is configured with a gateway + # CA certificate and key, which is used for signing the TLS certificate. The returned TLS + # certificate will have the Gateway ID as Common Name. + GenerateGatewayClientCertificate:grpc.UnaryUnaryMultiCallable[ + global___GenerateGatewayClientCertificateRequest, + global___GenerateGatewayClientCertificateResponse] = ... + + # CreateGatewayProfile creates the given gateway-profile. + CreateGatewayProfile:grpc.UnaryUnaryMultiCallable[ + global___CreateGatewayProfileRequest, + global___CreateGatewayProfileResponse] = ... + + # GetGatewayProfile returns the gateway-profile given an id. + GetGatewayProfile:grpc.UnaryUnaryMultiCallable[ + global___GetGatewayProfileRequest, + global___GetGatewayProfileResponse] = ... + + # UpdateGatewayProfile updates the given gateway-profile. + UpdateGatewayProfile:grpc.UnaryUnaryMultiCallable[ + global___UpdateGatewayProfileRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteGatewayProfile deletes the gateway-profile matching a given id. + DeleteGatewayProfile:grpc.UnaryUnaryMultiCallable[ + global___DeleteGatewayProfileRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetGatewayStats returns stats of an existing gateway. + # Deprecated (stats are forwarded to Application Server API). + GetGatewayStats:grpc.UnaryUnaryMultiCallable[ + global___GetGatewayStatsRequest, + global___GetGatewayStatsResponse] = ... + + # StreamFrameLogsForGateway returns a stream of frames seen by the given gateway. + StreamFrameLogsForGateway:grpc.UnaryStreamMultiCallable[ + global___StreamFrameLogsForGatewayRequest, + global___StreamFrameLogsForGatewayResponse] = ... + + # StreamFrameLogsForDevice returns a stream of frames seen by the given device. + StreamFrameLogsForDevice:grpc.UnaryStreamMultiCallable[ + global___StreamFrameLogsForDeviceRequest, + global___StreamFrameLogsForDeviceResponse] = ... + + # CreateMulticastGroup creates the given multicast-group. + CreateMulticastGroup:grpc.UnaryUnaryMultiCallable[ + global___CreateMulticastGroupRequest, + global___CreateMulticastGroupResponse] = ... + + # GetMulticastGroup returns the multicast-group given an id. + GetMulticastGroup:grpc.UnaryUnaryMultiCallable[ + global___GetMulticastGroupRequest, + global___GetMulticastGroupResponse] = ... + + # UpdateMulticastGroup updates the given multicast-group. + UpdateMulticastGroup:grpc.UnaryUnaryMultiCallable[ + global___UpdateMulticastGroupRequest, + google.protobuf.empty_pb2.Empty] = ... + + # DeleteMulticastGroup deletes a multicast-group given an id. + DeleteMulticastGroup:grpc.UnaryUnaryMultiCallable[ + global___DeleteMulticastGroupRequest, + google.protobuf.empty_pb2.Empty] = ... + + # AddDeviceToMulticastGroup adds the given device to the given multicast-group. + AddDeviceToMulticastGroup:grpc.UnaryUnaryMultiCallable[ + global___AddDeviceToMulticastGroupRequest, + google.protobuf.empty_pb2.Empty] = ... + + # RemoveDeviceFromMulticastGroup removes the given device from the given multicast-group. + RemoveDeviceFromMulticastGroup:grpc.UnaryUnaryMultiCallable[ + global___RemoveDeviceFromMulticastGroupRequest, + google.protobuf.empty_pb2.Empty] = ... + + # EnqueueMulticastQueueItem enqueues the given multicast queue-item and + # increments the frame-counter after enqueueing. + EnqueueMulticastQueueItem:grpc.UnaryUnaryMultiCallable[ + global___EnqueueMulticastQueueItemRequest, + google.protobuf.empty_pb2.Empty] = ... + + # FlushMulticastQueueForMulticastGroup flushes the multicast device-queue given a multicast-group id. + FlushMulticastQueueForMulticastGroup:grpc.UnaryUnaryMultiCallable[ + global___FlushMulticastQueueForMulticastGroupRequest, + google.protobuf.empty_pb2.Empty] = ... + + # GetMulticastQueueItemsForMulticastGroup returns the queue-items given a multicast-group id. + GetMulticastQueueItemsForMulticastGroup:grpc.UnaryUnaryMultiCallable[ + global___GetMulticastQueueItemsForMulticastGroupRequest, + global___GetMulticastQueueItemsForMulticastGroupResponse] = ... + + # GetVersion returns the ChirpStack Network Server version. + GetVersion:grpc.UnaryUnaryMultiCallable[ + google.protobuf.empty_pb2.Empty, + global___GetVersionResponse] = ... + + # GetADRAlgorithms returns the available ADR algorithms. + GetADRAlgorithms:grpc.UnaryUnaryMultiCallable[ + google.protobuf.empty_pb2.Empty, + global___GetADRAlgorithmsResponse] = ... + + # ClearDeviceNonces deletes the device older activation records for the given DevEUI. + # * These are clear older DevNonce records from device activation records + # * These clears all DevNonce records but keeps latest 20 records for maintain device activation status + ClearDeviceNonces:grpc.UnaryUnaryMultiCallable[ + global___ClearDeviceNoncesRequest, + google.protobuf.empty_pb2.Empty] = ... + + +# NetworkServerService provides the network-server API methods. +class NetworkServerServiceServicer(metaclass=abc.ABCMeta): + # CreateServiceProfile creates the given service-profile. + @abc.abstractmethod + def CreateServiceProfile(self, + request: global___CreateServiceProfileRequest, + context: grpc.ServicerContext, + ) -> global___CreateServiceProfileResponse: ... + + # GetServiceProfile returns the service-profile matching the given id. + @abc.abstractmethod + def GetServiceProfile(self, + request: global___GetServiceProfileRequest, + context: grpc.ServicerContext, + ) -> global___GetServiceProfileResponse: ... + + # UpdateServiceProfile updates the given service-profile. + @abc.abstractmethod + def UpdateServiceProfile(self, + request: global___UpdateServiceProfileRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteServiceProfile deletes the service-profile matching the given id. + @abc.abstractmethod + def DeleteServiceProfile(self, + request: global___DeleteServiceProfileRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # CreateRoutingProfile creates the given routing-profile. + @abc.abstractmethod + def CreateRoutingProfile(self, + request: global___CreateRoutingProfileRequest, + context: grpc.ServicerContext, + ) -> global___CreateRoutingProfileResponse: ... + + # GetRoutingProfile returns the routing-profile matching the given id. + @abc.abstractmethod + def GetRoutingProfile(self, + request: global___GetRoutingProfileRequest, + context: grpc.ServicerContext, + ) -> global___GetRoutingProfileResponse: ... + + # UpdateRoutingProfile updates the given routing-profile. + @abc.abstractmethod + def UpdateRoutingProfile(self, + request: global___UpdateRoutingProfileRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteRoutingProfile deletes the routing-profile matching the given id. + @abc.abstractmethod + def DeleteRoutingProfile(self, + request: global___DeleteRoutingProfileRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # CreateDeviceProfile creates the given device-profile. + @abc.abstractmethod + def CreateDeviceProfile(self, + request: global___CreateDeviceProfileRequest, + context: grpc.ServicerContext, + ) -> global___CreateDeviceProfileResponse: ... + + # GetDeviceProfile returns the device-profile matching the given id. + @abc.abstractmethod + def GetDeviceProfile(self, + request: global___GetDeviceProfileRequest, + context: grpc.ServicerContext, + ) -> global___GetDeviceProfileResponse: ... + + # UpdateDeviceProfile updates the given device-profile. + @abc.abstractmethod + def UpdateDeviceProfile(self, + request: global___UpdateDeviceProfileRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteDeviceProfile deletes the device-profile matching the given id. + @abc.abstractmethod + def DeleteDeviceProfile(self, + request: global___DeleteDeviceProfileRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # CreateDevice creates the given device. + @abc.abstractmethod + def CreateDevice(self, + request: global___CreateDeviceRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetDevice returns the device matching the given DevEUI. + @abc.abstractmethod + def GetDevice(self, + request: global___GetDeviceRequest, + context: grpc.ServicerContext, + ) -> global___GetDeviceResponse: ... + + # UpdateDevice updates the given device. + @abc.abstractmethod + def UpdateDevice(self, + request: global___UpdateDeviceRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteDevice deletes the device matching the given DevEUI. + @abc.abstractmethod + def DeleteDevice(self, + request: global___DeleteDeviceRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # ActivateDevice activates a device (ABP). + @abc.abstractmethod + def ActivateDevice(self, + request: global___ActivateDeviceRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeactivateDevice de-activates a device. + @abc.abstractmethod + def DeactivateDevice(self, + request: global___DeactivateDeviceRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetDeviceActivation returns the device activation details. + @abc.abstractmethod + def GetDeviceActivation(self, + request: global___GetDeviceActivationRequest, + context: grpc.ServicerContext, + ) -> global___GetDeviceActivationResponse: ... + + # CreateDeviceQueueItem creates the given device-queue item. + @abc.abstractmethod + def CreateDeviceQueueItem(self, + request: global___CreateDeviceQueueItemRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # FlushDeviceQueueForDevEUI flushes the device-queue for the given DevEUI. + @abc.abstractmethod + def FlushDeviceQueueForDevEUI(self, + request: global___FlushDeviceQueueForDevEUIRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetDeviceQueueItemsForDevEUI returns all device-queue items for the given DevEUI. + @abc.abstractmethod + def GetDeviceQueueItemsForDevEUI(self, + request: global___GetDeviceQueueItemsForDevEUIRequest, + context: grpc.ServicerContext, + ) -> global___GetDeviceQueueItemsForDevEUIResponse: ... + + # GetNextDownlinkFCntForDevEUI returns the next FCnt that must be used. + # This also takes device-queue items for the given DevEUI into consideration. + @abc.abstractmethod + def GetNextDownlinkFCntForDevEUI(self, + request: global___GetNextDownlinkFCntForDevEUIRequest, + context: grpc.ServicerContext, + ) -> global___GetNextDownlinkFCntForDevEUIResponse: ... + + # GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into account. + @abc.abstractmethod + def GetRandomDevAddr(self, + request: google.protobuf.empty_pb2.Empty, + context: grpc.ServicerContext, + ) -> global___GetRandomDevAddrResponse: ... + + # CreateMACCommandQueueItem adds the downlink mac-command to the queue. + @abc.abstractmethod + def CreateMACCommandQueueItem(self, + request: global___CreateMACCommandQueueItemRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # SendProprietaryPayload send a payload using the 'Proprietary' LoRaWAN message-type. + @abc.abstractmethod + def SendProprietaryPayload(self, + request: global___SendProprietaryPayloadRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # CreateGateway creates the given gateway. + @abc.abstractmethod + def CreateGateway(self, + request: global___CreateGatewayRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetGateway returns data for a particular gateway. + @abc.abstractmethod + def GetGateway(self, + request: global___GetGatewayRequest, + context: grpc.ServicerContext, + ) -> global___GetGatewayResponse: ... + + # UpdateGateway updates an existing gateway. + @abc.abstractmethod + def UpdateGateway(self, + request: global___UpdateGatewayRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteGateway deletes a gateway. + @abc.abstractmethod + def DeleteGateway(self, + request: global___DeleteGatewayRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GenerateGatewayClientCertificate returns TLS certificate gateway authentication / authorization. + # This endpoint can ony be used when ChirpStack Network Server is configured with a gateway + # CA certificate and key, which is used for signing the TLS certificate. The returned TLS + # certificate will have the Gateway ID as Common Name. + @abc.abstractmethod + def GenerateGatewayClientCertificate(self, + request: global___GenerateGatewayClientCertificateRequest, + context: grpc.ServicerContext, + ) -> global___GenerateGatewayClientCertificateResponse: ... + + # CreateGatewayProfile creates the given gateway-profile. + @abc.abstractmethod + def CreateGatewayProfile(self, + request: global___CreateGatewayProfileRequest, + context: grpc.ServicerContext, + ) -> global___CreateGatewayProfileResponse: ... + + # GetGatewayProfile returns the gateway-profile given an id. + @abc.abstractmethod + def GetGatewayProfile(self, + request: global___GetGatewayProfileRequest, + context: grpc.ServicerContext, + ) -> global___GetGatewayProfileResponse: ... + + # UpdateGatewayProfile updates the given gateway-profile. + @abc.abstractmethod + def UpdateGatewayProfile(self, + request: global___UpdateGatewayProfileRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteGatewayProfile deletes the gateway-profile matching a given id. + @abc.abstractmethod + def DeleteGatewayProfile(self, + request: global___DeleteGatewayProfileRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetGatewayStats returns stats of an existing gateway. + # Deprecated (stats are forwarded to Application Server API). + @abc.abstractmethod + def GetGatewayStats(self, + request: global___GetGatewayStatsRequest, + context: grpc.ServicerContext, + ) -> global___GetGatewayStatsResponse: ... + + # StreamFrameLogsForGateway returns a stream of frames seen by the given gateway. + @abc.abstractmethod + def StreamFrameLogsForGateway(self, + request: global___StreamFrameLogsForGatewayRequest, + context: grpc.ServicerContext, + ) -> typing.Iterator[global___StreamFrameLogsForGatewayResponse]: ... + + # StreamFrameLogsForDevice returns a stream of frames seen by the given device. + @abc.abstractmethod + def StreamFrameLogsForDevice(self, + request: global___StreamFrameLogsForDeviceRequest, + context: grpc.ServicerContext, + ) -> typing.Iterator[global___StreamFrameLogsForDeviceResponse]: ... + + # CreateMulticastGroup creates the given multicast-group. + @abc.abstractmethod + def CreateMulticastGroup(self, + request: global___CreateMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> global___CreateMulticastGroupResponse: ... + + # GetMulticastGroup returns the multicast-group given an id. + @abc.abstractmethod + def GetMulticastGroup(self, + request: global___GetMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> global___GetMulticastGroupResponse: ... + + # UpdateMulticastGroup updates the given multicast-group. + @abc.abstractmethod + def UpdateMulticastGroup(self, + request: global___UpdateMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # DeleteMulticastGroup deletes a multicast-group given an id. + @abc.abstractmethod + def DeleteMulticastGroup(self, + request: global___DeleteMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # AddDeviceToMulticastGroup adds the given device to the given multicast-group. + @abc.abstractmethod + def AddDeviceToMulticastGroup(self, + request: global___AddDeviceToMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # RemoveDeviceFromMulticastGroup removes the given device from the given multicast-group. + @abc.abstractmethod + def RemoveDeviceFromMulticastGroup(self, + request: global___RemoveDeviceFromMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # EnqueueMulticastQueueItem enqueues the given multicast queue-item and + # increments the frame-counter after enqueueing. + @abc.abstractmethod + def EnqueueMulticastQueueItem(self, + request: global___EnqueueMulticastQueueItemRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # FlushMulticastQueueForMulticastGroup flushes the multicast device-queue given a multicast-group id. + @abc.abstractmethod + def FlushMulticastQueueForMulticastGroup(self, + request: global___FlushMulticastQueueForMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # GetMulticastQueueItemsForMulticastGroup returns the queue-items given a multicast-group id. + @abc.abstractmethod + def GetMulticastQueueItemsForMulticastGroup(self, + request: global___GetMulticastQueueItemsForMulticastGroupRequest, + context: grpc.ServicerContext, + ) -> global___GetMulticastQueueItemsForMulticastGroupResponse: ... + + # GetVersion returns the ChirpStack Network Server version. + @abc.abstractmethod + def GetVersion(self, + request: google.protobuf.empty_pb2.Empty, + context: grpc.ServicerContext, + ) -> global___GetVersionResponse: ... + + # GetADRAlgorithms returns the available ADR algorithms. + @abc.abstractmethod + def GetADRAlgorithms(self, + request: google.protobuf.empty_pb2.Empty, + context: grpc.ServicerContext, + ) -> global___GetADRAlgorithmsResponse: ... + + # ClearDeviceNonces deletes the device older activation records for the given DevEUI. + # * These are clear older DevNonce records from device activation records + # * These clears all DevNonce records but keeps latest 20 records for maintain device activation status + @abc.abstractmethod + def ClearDeviceNonces(self, + request: global___ClearDeviceNoncesRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + +def add_NetworkServerServiceServicer_to_server(servicer: NetworkServerServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/ns/profiles_pb2.pyi b/python/src/chirpstack_api/ns/profiles_pb2.pyi new file mode 100644 index 00000000..2d405cf6 --- /dev/null +++ b/python/src/chirpstack_api/ns/profiles_pb2.pyi @@ -0,0 +1,251 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import typing +import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ... + +class RatePolicy(_RatePolicy, metaclass=_RatePolicyEnumTypeWrapper): + pass +class _RatePolicy: + V = typing.NewType('V', builtins.int) +class _RatePolicyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RatePolicy.V], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ... + # Drop + DROP = RatePolicy.V(0) + # Mark + MARK = RatePolicy.V(1) + +# Drop +DROP = RatePolicy.V(0) +# Mark +MARK = RatePolicy.V(1) +global___RatePolicy = RatePolicy + + +class ServiceProfile(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + UL_RATE_FIELD_NUMBER: builtins.int + UL_BUCKET_SIZE_FIELD_NUMBER: builtins.int + UL_RATE_POLICY_FIELD_NUMBER: builtins.int + DL_RATE_FIELD_NUMBER: builtins.int + DL_BUCKET_SIZE_FIELD_NUMBER: builtins.int + DL_RATE_POLICY_FIELD_NUMBER: builtins.int + ADD_GW_METADATA_FIELD_NUMBER: builtins.int + DEV_STATUS_REQ_FREQ_FIELD_NUMBER: builtins.int + REPORT_DEV_STATUS_BATTERY_FIELD_NUMBER: builtins.int + REPORT_DEV_STATUS_MARGIN_FIELD_NUMBER: builtins.int + DR_MIN_FIELD_NUMBER: builtins.int + DR_MAX_FIELD_NUMBER: builtins.int + CHANNEL_MASK_FIELD_NUMBER: builtins.int + PR_ALLOWED_FIELD_NUMBER: builtins.int + HR_ALLOWED_FIELD_NUMBER: builtins.int + RA_ALLOWED_FIELD_NUMBER: builtins.int + NWK_GEO_LOC_FIELD_NUMBER: builtins.int + TARGET_PER_FIELD_NUMBER: builtins.int + MIN_GW_DIVERSITY_FIELD_NUMBER: builtins.int + GWS_PRIVATE_FIELD_NUMBER: builtins.int + # Service-profile ID. + id: builtins.bytes = ... + # Token bucket filling rate, including ACKs (packet/h). + ul_rate: builtins.int = ... + # Token bucket burst size. + ul_bucket_size: builtins.int = ... + # Drop or mark when exceeding ULRate. + ul_rate_policy: global___RatePolicy.V = ... + # Token bucket filling rate, including ACKs (packet/h). + dl_rate: builtins.int = ... + # Token bucket burst size. + dl_bucket_size: builtins.int = ... + # Drop or mark when exceeding DLRate. + dl_rate_policy: global___RatePolicy.V = ... + # GW metadata (RSSI, SNR, GW geoloc., etc.) are added to the packet sent to AS. + add_gw_metadata: builtins.bool = ... + # Frequency to initiate an End-Device status request (request/day). + dev_status_req_freq: builtins.int = ... + # Report End-Device battery level to AS. + report_dev_status_battery: builtins.bool = ... + # Report End-Device margin to AS. + report_dev_status_margin: builtins.bool = ... + # Minimum allowed data rate. Used for ADR. + dr_min: builtins.int = ... + # Maximum allowed data rate. Used for ADR. + dr_max: builtins.int = ... + # Channel mask. sNS does not have to obey (i.e., informative). + channel_mask: builtins.bytes = ... + # Passive Roaming allowed. + pr_allowed: builtins.bool = ... + # Handover Roaming allowed. + hr_allowed: builtins.bool = ... + # Roaming Activation allowed. + ra_allowed: builtins.bool = ... + # Enable network geolocation service. + nwk_geo_loc: builtins.bool = ... + # Target Packet Error Rate. + target_per: builtins.int = ... + # Minimum number of receiving GWs (informative). + min_gw_diversity: builtins.int = ... + # Gateways under this service-profile are private. + # This means that these gateways can only be used by devices under the + # same service-profile. + gws_private: builtins.bool = ... + def __init__(self, + *, + id : builtins.bytes = ..., + ul_rate : builtins.int = ..., + ul_bucket_size : builtins.int = ..., + ul_rate_policy : global___RatePolicy.V = ..., + dl_rate : builtins.int = ..., + dl_bucket_size : builtins.int = ..., + dl_rate_policy : global___RatePolicy.V = ..., + add_gw_metadata : builtins.bool = ..., + dev_status_req_freq : builtins.int = ..., + report_dev_status_battery : builtins.bool = ..., + report_dev_status_margin : builtins.bool = ..., + dr_min : builtins.int = ..., + dr_max : builtins.int = ..., + channel_mask : builtins.bytes = ..., + pr_allowed : builtins.bool = ..., + hr_allowed : builtins.bool = ..., + ra_allowed : builtins.bool = ..., + nwk_geo_loc : builtins.bool = ..., + target_per : builtins.int = ..., + min_gw_diversity : builtins.int = ..., + gws_private : builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"add_gw_metadata",b"add_gw_metadata",u"channel_mask",b"channel_mask",u"dev_status_req_freq",b"dev_status_req_freq",u"dl_bucket_size",b"dl_bucket_size",u"dl_rate",b"dl_rate",u"dl_rate_policy",b"dl_rate_policy",u"dr_max",b"dr_max",u"dr_min",b"dr_min",u"gws_private",b"gws_private",u"hr_allowed",b"hr_allowed",u"id",b"id",u"min_gw_diversity",b"min_gw_diversity",u"nwk_geo_loc",b"nwk_geo_loc",u"pr_allowed",b"pr_allowed",u"ra_allowed",b"ra_allowed",u"report_dev_status_battery",b"report_dev_status_battery",u"report_dev_status_margin",b"report_dev_status_margin",u"target_per",b"target_per",u"ul_bucket_size",b"ul_bucket_size",u"ul_rate",b"ul_rate",u"ul_rate_policy",b"ul_rate_policy"]) -> None: ... +global___ServiceProfile = ServiceProfile + +class DeviceProfile(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + SUPPORTS_CLASS_B_FIELD_NUMBER: builtins.int + CLASS_B_TIMEOUT_FIELD_NUMBER: builtins.int + PING_SLOT_PERIOD_FIELD_NUMBER: builtins.int + PING_SLOT_DR_FIELD_NUMBER: builtins.int + PING_SLOT_FREQ_FIELD_NUMBER: builtins.int + SUPPORTS_CLASS_C_FIELD_NUMBER: builtins.int + CLASS_C_TIMEOUT_FIELD_NUMBER: builtins.int + MAC_VERSION_FIELD_NUMBER: builtins.int + REG_PARAMS_REVISION_FIELD_NUMBER: builtins.int + RX_DELAY_1_FIELD_NUMBER: builtins.int + RX_DR_OFFSET_1_FIELD_NUMBER: builtins.int + RX_DATARATE_2_FIELD_NUMBER: builtins.int + RX_FREQ_2_FIELD_NUMBER: builtins.int + FACTORY_PRESET_FREQS_FIELD_NUMBER: builtins.int + MAX_EIRP_FIELD_NUMBER: builtins.int + MAX_DUTY_CYCLE_FIELD_NUMBER: builtins.int + SUPPORTS_JOIN_FIELD_NUMBER: builtins.int + RF_REGION_FIELD_NUMBER: builtins.int + SUPPORTS_32BIT_F_CNT_FIELD_NUMBER: builtins.int + ADR_ALGORITHM_ID_FIELD_NUMBER: builtins.int + # Device-profile ID. + id: builtins.bytes = ... + # End-Device supports Class B. + supports_class_b: builtins.bool = ... + # Maximum delay for the End-Device to answer a MAC request or a confirmed DL frame (mandatory if class B mode supported). + class_b_timeout: builtins.int = ... + # Mandatory if class B mode supported. + ping_slot_period: builtins.int = ... + # Mandatory if class B mode supported. + ping_slot_dr: builtins.int = ... + # Mandatory if class B mode supported. + ping_slot_freq: builtins.int = ... + # End-Device supports Class C. + supports_class_c: builtins.bool = ... + # Maximum delay for the End-Device to answer a MAC request or a confirmed DL frame (mandatory if class C mode supported). + class_c_timeout: builtins.int = ... + # Version of the LoRaWAN supported by the End-Device. + mac_version: typing.Text = ... + # Revision of the Regional Parameters document supported by the End-Device. + reg_params_revision: typing.Text = ... + # Class A RX1 delay (mandatory for ABP). + rx_delay_1: builtins.int = ... + # RX1 data rate offset (mandatory for ABP). + rx_dr_offset_1: builtins.int = ... + # RX2 data rate (mandatory for ABP). + rx_datarate_2: builtins.int = ... + # RX2 channel frequency (mandatory for ABP). + rx_freq_2: builtins.int = ... + # List of factory-preset frequencies (mandatory for ABP). + @property + def factory_preset_freqs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + # Maximum EIRP supported by the End-Device. + max_eirp: builtins.int = ... + # Maximum duty cycle supported by the End-Device. + max_duty_cycle: builtins.int = ... + # End-Device supports Join (OTAA) or not (ABP). + supports_join: builtins.bool = ... + # RF region name. + rf_region: typing.Text = ... + # End-Device uses 32bit FCnt (mandatory for LoRaWAN 1.0 End-Device). + supports_32bit_f_cnt: builtins.bool = ... + # ADR algorithm ID. + # In case this is left blank, or is configured to a non-existing ADR + # algorithm (plugin), then it falls back to 'default'. + adr_algorithm_id: typing.Text = ... + def __init__(self, + *, + id : builtins.bytes = ..., + supports_class_b : builtins.bool = ..., + class_b_timeout : builtins.int = ..., + ping_slot_period : builtins.int = ..., + ping_slot_dr : builtins.int = ..., + ping_slot_freq : builtins.int = ..., + supports_class_c : builtins.bool = ..., + class_c_timeout : builtins.int = ..., + mac_version : typing.Text = ..., + reg_params_revision : typing.Text = ..., + rx_delay_1 : builtins.int = ..., + rx_dr_offset_1 : builtins.int = ..., + rx_datarate_2 : builtins.int = ..., + rx_freq_2 : builtins.int = ..., + factory_preset_freqs : typing.Optional[typing.Iterable[builtins.int]] = ..., + max_eirp : builtins.int = ..., + max_duty_cycle : builtins.int = ..., + supports_join : builtins.bool = ..., + rf_region : typing.Text = ..., + supports_32bit_f_cnt : builtins.bool = ..., + adr_algorithm_id : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"adr_algorithm_id",b"adr_algorithm_id",u"class_b_timeout",b"class_b_timeout",u"class_c_timeout",b"class_c_timeout",u"factory_preset_freqs",b"factory_preset_freqs",u"id",b"id",u"mac_version",b"mac_version",u"max_duty_cycle",b"max_duty_cycle",u"max_eirp",b"max_eirp",u"ping_slot_dr",b"ping_slot_dr",u"ping_slot_freq",b"ping_slot_freq",u"ping_slot_period",b"ping_slot_period",u"reg_params_revision",b"reg_params_revision",u"rf_region",b"rf_region",u"rx_datarate_2",b"rx_datarate_2",u"rx_delay_1",b"rx_delay_1",u"rx_dr_offset_1",b"rx_dr_offset_1",u"rx_freq_2",b"rx_freq_2",u"supports_32bit_f_cnt",b"supports_32bit_f_cnt",u"supports_class_b",b"supports_class_b",u"supports_class_c",b"supports_class_c",u"supports_join",b"supports_join"]) -> None: ... +global___DeviceProfile = DeviceProfile + +class RoutingProfile(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor = ... + ID_FIELD_NUMBER: builtins.int + AS_ID_FIELD_NUMBER: builtins.int + CA_CERT_FIELD_NUMBER: builtins.int + TLS_CERT_FIELD_NUMBER: builtins.int + TLS_KEY_FIELD_NUMBER: builtins.int + # ID of the routing profile. + id: builtins.bytes = ... + # Application-server ID. + as_id: typing.Text = ... + # CA certificate for connecting to the AS. + ca_cert: typing.Text = ... + # TLS certificate for connecting to the AS. + tls_cert: typing.Text = ... + # TLS key for connecting to the AS. + # Note: when retrieving the routing-profile, the tls_key is not returned + # for security reasons. When updating the routing-profile, an empty tls_key + # does not clear the certificate, unless the tls_cert is also left blank. + tls_key: typing.Text = ... + def __init__(self, + *, + id : builtins.bytes = ..., + as_id : typing.Text = ..., + ca_cert : typing.Text = ..., + tls_cert : typing.Text = ..., + tls_key : typing.Text = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal[u"as_id",b"as_id",u"ca_cert",b"ca_cert",u"id",b"id",u"tls_cert",b"tls_cert",u"tls_key",b"tls_key"]) -> None: ... +global___RoutingProfile = RoutingProfile From 58ac2c3852c9a207c0c730d0a1af5b4806074129 Mon Sep 17 00:00:00 2001 From: Luca Dorigo Date: Wed, 7 Dec 2022 10:12:00 +0100 Subject: [PATCH 2/3] Add forgotten grpcs and re-change path to googleapis changed for local dev --- python/Makefile | 6 +- python/src/chirpstack_api/geo/geo_grpc.py | 58 ++++++++++++ .../src/chirpstack_api/geo/geo_pb2_grpc.pyi | 42 +++++++++ python/src/chirpstack_api/nc/nc_grpc.py | 90 +++++++++++++++++++ python/src/chirpstack_api/nc/nc_pb2_grpc.pyi | 75 ++++++++++++++++ python/src/setup.py | 2 +- 6 files changed, 269 insertions(+), 4 deletions(-) create mode 100644 python/src/chirpstack_api/geo/geo_grpc.py create mode 100644 python/src/chirpstack_api/geo/geo_pb2_grpc.pyi create mode 100644 python/src/chirpstack_api/nc/nc_grpc.py create mode 100644 python/src/chirpstack_api/nc/nc_pb2_grpc.pyi diff --git a/python/Makefile b/python/Makefile index 4d2196ef..04ad604f 100644 --- a/python/Makefile +++ b/python/Makefile @@ -1,4 +1,4 @@ -GOOGLEAPIS_PATH := "googleapis" +GOOGLEAPIS_PATH := "/googleapis" IMPORT_AS := import \"as_pb/ PACKAGE_NAME := import \"chirpstack-api/ @@ -30,10 +30,10 @@ gw: python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src proto/chirpstack-api/gw/gw.proto geo: - python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src proto/chirpstack-api/geo/geo.proto + python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src --python_grpc_out=src --mypy_grpc_out=src proto/chirpstack-api/geo/geo.proto nc: - python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src proto/chirpstack-api/nc/nc.proto + python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src --python_grpc_out=src --mypy_grpc_out=src proto/chirpstack-api/nc/nc.proto ns: python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src proto/chirpstack-api/ns/profiles.proto diff --git a/python/src/chirpstack_api/geo/geo_grpc.py b/python/src/chirpstack_api/geo/geo_grpc.py new file mode 100644 index 00000000..0c05a493 --- /dev/null +++ b/python/src/chirpstack_api/geo/geo_grpc.py @@ -0,0 +1,58 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/geo/geo.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import chirpstack_api.gw.gw_pb2 +import chirpstack_api.common.common_pb2 +import chirpstack_api.geo.geo_pb2 + + +class GeolocationServerServiceBase(abc.ABC): + + @abc.abstractmethod + async def ResolveTDOA(self, stream: 'grpclib.server.Stream[chirpstack_api.geo.geo_pb2.ResolveTDOARequest, chirpstack_api.geo.geo_pb2.ResolveTDOAResponse]') -> None: + pass + + @abc.abstractmethod + async def ResolveMultiFrameTDOA(self, stream: 'grpclib.server.Stream[chirpstack_api.geo.geo_pb2.ResolveMultiFrameTDOARequest, chirpstack_api.geo.geo_pb2.ResolveMultiFrameTDOAResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/geo.GeolocationServerService/ResolveTDOA': grpclib.const.Handler( + self.ResolveTDOA, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.geo.geo_pb2.ResolveTDOARequest, + chirpstack_api.geo.geo_pb2.ResolveTDOAResponse, + ), + '/geo.GeolocationServerService/ResolveMultiFrameTDOA': grpclib.const.Handler( + self.ResolveMultiFrameTDOA, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.geo.geo_pb2.ResolveMultiFrameTDOARequest, + chirpstack_api.geo.geo_pb2.ResolveMultiFrameTDOAResponse, + ), + } + + +class GeolocationServerServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.ResolveTDOA = grpclib.client.UnaryUnaryMethod( + channel, + '/geo.GeolocationServerService/ResolveTDOA', + chirpstack_api.geo.geo_pb2.ResolveTDOARequest, + chirpstack_api.geo.geo_pb2.ResolveTDOAResponse, + ) + self.ResolveMultiFrameTDOA = grpclib.client.UnaryUnaryMethod( + channel, + '/geo.GeolocationServerService/ResolveMultiFrameTDOA', + chirpstack_api.geo.geo_pb2.ResolveMultiFrameTDOARequest, + chirpstack_api.geo.geo_pb2.ResolveMultiFrameTDOAResponse, + ) diff --git a/python/src/chirpstack_api/geo/geo_pb2_grpc.pyi b/python/src/chirpstack_api/geo/geo_pb2_grpc.pyi new file mode 100644 index 00000000..d8179f76 --- /dev/null +++ b/python/src/chirpstack_api/geo/geo_pb2_grpc.pyi @@ -0,0 +1,42 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import grpc + +from .geo_pb2 import * +# GeolocationServerService implements a geolocation-server service. +class GeolocationServerServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # ResolveTDOA resolves the location based on TDOA. + ResolveTDOA:grpc.UnaryUnaryMultiCallable[ + global___ResolveTDOARequest, + global___ResolveTDOAResponse] = ... + + # ResolveMultiFrameTDOA resolves the location using TDOA, based on + # multiple frames. + ResolveMultiFrameTDOA:grpc.UnaryUnaryMultiCallable[ + global___ResolveMultiFrameTDOARequest, + global___ResolveMultiFrameTDOAResponse] = ... + + +# GeolocationServerService implements a geolocation-server service. +class GeolocationServerServiceServicer(metaclass=abc.ABCMeta): + # ResolveTDOA resolves the location based on TDOA. + @abc.abstractmethod + def ResolveTDOA(self, + request: global___ResolveTDOARequest, + context: grpc.ServicerContext, + ) -> global___ResolveTDOAResponse: ... + + # ResolveMultiFrameTDOA resolves the location using TDOA, based on + # multiple frames. + @abc.abstractmethod + def ResolveMultiFrameTDOA(self, + request: global___ResolveMultiFrameTDOARequest, + context: grpc.ServicerContext, + ) -> global___ResolveMultiFrameTDOAResponse: ... + + +def add_GeolocationServerServiceServicer_to_server(servicer: GeolocationServerServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/chirpstack_api/nc/nc_grpc.py b/python/src/chirpstack_api/nc/nc_grpc.py new file mode 100644 index 00000000..e90df0e7 --- /dev/null +++ b/python/src/chirpstack_api/nc/nc_grpc.py @@ -0,0 +1,90 @@ +# Generated by the Protocol Buffers compiler. DO NOT EDIT! +# source: chirpstack-api/nc/nc.proto +# plugin: grpclib.plugin.main +import abc +import typing + +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server + +import google.protobuf.empty_pb2 +import chirpstack_api.gw.gw_pb2 +import chirpstack_api.nc.nc_pb2 + + +class NetworkControllerServiceBase(abc.ABC): + + @abc.abstractmethod + async def HandleUplinkMetaData(self, stream: 'grpclib.server.Stream[chirpstack_api.nc.nc_pb2.HandleUplinkMetaDataRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def HandleDownlinkMetaData(self, stream: 'grpclib.server.Stream[chirpstack_api.nc.nc_pb2.HandleDownlinkMetaDataRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def HandleUplinkMACCommand(self, stream: 'grpclib.server.Stream[chirpstack_api.nc.nc_pb2.HandleUplinkMACCommandRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + @abc.abstractmethod + async def HandleRejectedUplinkFrameSet(self, stream: 'grpclib.server.Stream[chirpstack_api.nc.nc_pb2.HandleRejectedUplinkFrameSetRequest, google.protobuf.empty_pb2.Empty]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return { + '/nc.NetworkControllerService/HandleUplinkMetaData': grpclib.const.Handler( + self.HandleUplinkMetaData, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.nc.nc_pb2.HandleUplinkMetaDataRequest, + google.protobuf.empty_pb2.Empty, + ), + '/nc.NetworkControllerService/HandleDownlinkMetaData': grpclib.const.Handler( + self.HandleDownlinkMetaData, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.nc.nc_pb2.HandleDownlinkMetaDataRequest, + google.protobuf.empty_pb2.Empty, + ), + '/nc.NetworkControllerService/HandleUplinkMACCommand': grpclib.const.Handler( + self.HandleUplinkMACCommand, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.nc.nc_pb2.HandleUplinkMACCommandRequest, + google.protobuf.empty_pb2.Empty, + ), + '/nc.NetworkControllerService/HandleRejectedUplinkFrameSet': grpclib.const.Handler( + self.HandleRejectedUplinkFrameSet, + grpclib.const.Cardinality.UNARY_UNARY, + chirpstack_api.nc.nc_pb2.HandleRejectedUplinkFrameSetRequest, + google.protobuf.empty_pb2.Empty, + ), + } + + +class NetworkControllerServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.HandleUplinkMetaData = grpclib.client.UnaryUnaryMethod( + channel, + '/nc.NetworkControllerService/HandleUplinkMetaData', + chirpstack_api.nc.nc_pb2.HandleUplinkMetaDataRequest, + google.protobuf.empty_pb2.Empty, + ) + self.HandleDownlinkMetaData = grpclib.client.UnaryUnaryMethod( + channel, + '/nc.NetworkControllerService/HandleDownlinkMetaData', + chirpstack_api.nc.nc_pb2.HandleDownlinkMetaDataRequest, + google.protobuf.empty_pb2.Empty, + ) + self.HandleUplinkMACCommand = grpclib.client.UnaryUnaryMethod( + channel, + '/nc.NetworkControllerService/HandleUplinkMACCommand', + chirpstack_api.nc.nc_pb2.HandleUplinkMACCommandRequest, + google.protobuf.empty_pb2.Empty, + ) + self.HandleRejectedUplinkFrameSet = grpclib.client.UnaryUnaryMethod( + channel, + '/nc.NetworkControllerService/HandleRejectedUplinkFrameSet', + chirpstack_api.nc.nc_pb2.HandleRejectedUplinkFrameSetRequest, + google.protobuf.empty_pb2.Empty, + ) diff --git a/python/src/chirpstack_api/nc/nc_pb2_grpc.pyi b/python/src/chirpstack_api/nc/nc_pb2_grpc.pyi new file mode 100644 index 00000000..b3b12c63 --- /dev/null +++ b/python/src/chirpstack_api/nc/nc_pb2_grpc.pyi @@ -0,0 +1,75 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import abc +import google.protobuf.empty_pb2 +import grpc + +from .nc_pb2 import * +# NetworkControllerService is the server to be implemeted by the network-controller. +class NetworkControllerServiceStub: + def __init__(self, channel: grpc.Channel) -> None: ... + # HandleUplinkMetaData handles uplink meta-rata. + HandleUplinkMetaData:grpc.UnaryUnaryMultiCallable[ + global___HandleUplinkMetaDataRequest, + google.protobuf.empty_pb2.Empty] = ... + + # HandleDownlinkMetaData handles downlink meta-data. + HandleDownlinkMetaData:grpc.UnaryUnaryMultiCallable[ + global___HandleDownlinkMetaDataRequest, + google.protobuf.empty_pb2.Empty] = ... + + # HandleUplinkMACCommand handles an uplink mac-command. + # This method will only be called in case the mac-command request was + # enqueued throught the API or when the CID is >= 0x80 (proprietary + # mac-command range). + HandleUplinkMACCommand:grpc.UnaryUnaryMultiCallable[ + global___HandleUplinkMACCommandRequest, + google.protobuf.empty_pb2.Empty] = ... + + # HandleRejectedUplinkFrameSet handles a rejected uplink. + # And uplink can be rejected in the case the device has not (yet) been + # provisioned, because of invalid frame-counter, MIC, ... + HandleRejectedUplinkFrameSet:grpc.UnaryUnaryMultiCallable[ + global___HandleRejectedUplinkFrameSetRequest, + google.protobuf.empty_pb2.Empty] = ... + + +# NetworkControllerService is the server to be implemeted by the network-controller. +class NetworkControllerServiceServicer(metaclass=abc.ABCMeta): + # HandleUplinkMetaData handles uplink meta-rata. + @abc.abstractmethod + def HandleUplinkMetaData(self, + request: global___HandleUplinkMetaDataRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # HandleDownlinkMetaData handles downlink meta-data. + @abc.abstractmethod + def HandleDownlinkMetaData(self, + request: global___HandleDownlinkMetaDataRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # HandleUplinkMACCommand handles an uplink mac-command. + # This method will only be called in case the mac-command request was + # enqueued throught the API or when the CID is >= 0x80 (proprietary + # mac-command range). + @abc.abstractmethod + def HandleUplinkMACCommand(self, + request: global___HandleUplinkMACCommandRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + # HandleRejectedUplinkFrameSet handles a rejected uplink. + # And uplink can be rejected in the case the device has not (yet) been + # provisioned, because of invalid frame-counter, MIC, ... + @abc.abstractmethod + def HandleRejectedUplinkFrameSet(self, + request: global___HandleRejectedUplinkFrameSetRequest, + context: grpc.ServicerContext, + ) -> google.protobuf.empty_pb2.Empty: ... + + +def add_NetworkControllerServiceServicer_to_server(servicer: NetworkControllerServiceServicer, server: grpc.Server) -> None: ... diff --git a/python/src/setup.py b/python/src/setup.py index 22e288a0..49d59733 100644 --- a/python/src/setup.py +++ b/python/src/setup.py @@ -18,7 +18,7 @@ setup( name='chirpstack-api', - version = "3.12.4", + version = "", url='https://github.com/brocaar/chirpstack-api', author='Orne Brocaar', author_email='info@brocaar.com', From cab0e51f154fc50d265791e994f4b4ec7fa51728 Mon Sep 17 00:00:00 2001 From: Luca Dorigo Date: Wed, 7 Dec 2022 10:55:44 +0100 Subject: [PATCH 3/3] Remove unused files --- python/Makefile | 10 +- python/src/chirpstack_api/as_pb/as_pb_grpc.py | 172 ---- .../as_pb/external/api/application_grpc.py | 715 --------------- .../as_pb/external/api/deviceProfile_grpc.py | 108 --- .../as_pb/external/api/deviceQueue_grpc.py | 74 -- .../as_pb/external/api/device_grpc.py | 301 ------- .../as_pb/external/api/frameLog_grpc.py | 3 - .../as_pb/external/api/gatewayProfile_grpc.py | 109 --- .../as_pb/external/api/gateway_grpc.py | 173 ---- .../as_pb/external/api/internal_grpc.py | 188 ---- .../as_pb/external/api/multicastGroup_grpc.py | 187 ---- .../as_pb/external/api/networkServer_grpc.py | 123 --- .../as_pb/external/api/organization_grpc.py | 187 ---- .../as_pb/external/api/profiles_grpc.py | 3 - .../as_pb/external/api/serviceProfile_grpc.py | 108 --- .../as_pb/external/api/user_grpc.py | 123 --- python/src/chirpstack_api/fuota/fuota_grpc.py | 74 -- python/src/chirpstack_api/geo/geo_grpc.py | 58 -- python/src/chirpstack_api/nc/nc_grpc.py | 90 -- python/src/chirpstack_api/ns/ns_grpc.py | 830 ------------------ 20 files changed, 8 insertions(+), 3628 deletions(-) delete mode 100644 python/src/chirpstack_api/as_pb/as_pb_grpc.py delete mode 100644 python/src/chirpstack_api/as_pb/external/api/application_grpc.py delete mode 100644 python/src/chirpstack_api/as_pb/external/api/deviceProfile_grpc.py delete mode 100644 python/src/chirpstack_api/as_pb/external/api/deviceQueue_grpc.py delete mode 100644 python/src/chirpstack_api/as_pb/external/api/device_grpc.py delete mode 100644 python/src/chirpstack_api/as_pb/external/api/frameLog_grpc.py delete mode 100644 python/src/chirpstack_api/as_pb/external/api/gatewayProfile_grpc.py delete mode 100644 python/src/chirpstack_api/as_pb/external/api/gateway_grpc.py delete mode 100644 python/src/chirpstack_api/as_pb/external/api/internal_grpc.py delete mode 100644 python/src/chirpstack_api/as_pb/external/api/multicastGroup_grpc.py delete mode 100644 python/src/chirpstack_api/as_pb/external/api/networkServer_grpc.py delete mode 100644 python/src/chirpstack_api/as_pb/external/api/organization_grpc.py delete mode 100644 python/src/chirpstack_api/as_pb/external/api/profiles_grpc.py delete mode 100644 python/src/chirpstack_api/as_pb/external/api/serviceProfile_grpc.py delete mode 100644 python/src/chirpstack_api/as_pb/external/api/user_grpc.py delete mode 100644 python/src/chirpstack_api/fuota/fuota_grpc.py delete mode 100644 python/src/chirpstack_api/geo/geo_grpc.py delete mode 100644 python/src/chirpstack_api/nc/nc_grpc.py delete mode 100644 python/src/chirpstack_api/ns/ns_grpc.py diff --git a/python/Makefile b/python/Makefile index 04ad604f..4df4f1ef 100644 --- a/python/Makefile +++ b/python/Makefile @@ -31,20 +31,24 @@ gw: geo: python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src --python_grpc_out=src --mypy_grpc_out=src proto/chirpstack-api/geo/geo.proto - + rm src/chirpstack_api/geo/geo_grpc.py + nc: python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src --python_grpc_out=src --mypy_grpc_out=src proto/chirpstack-api/nc/nc.proto + rm src/chirpstack_api/nc/nc_grpc.py ns: python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src proto/chirpstack-api/ns/profiles.proto python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src --python_grpc_out=src --mypy_grpc_out=src proto/chirpstack-api/ns/ns.proto - + rm src/chirpstack_api/ns/ns_grpc.py fuota: python -m grpc_tools.protoc -I grpc_tools.protoc -I=proto --python_out=src --mypy_out=src --python_grpc_out=src --mypy_grpc_out=src proto/chirpstack-api/fuota/fuota.proto + rm src/chirpstack_api/fuota/fuota_grpc.py as: python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src --python_grpc_out=src --mypy_grpc_out=src proto/chirpstack-api/as_pb/as_pb.proto + rm src/chirpstack_api/as_pb/as_pb_grpc.py as-integration: python -m grpc_tools.protoc -I=proto --python_out=src --mypy_out=src proto/chirpstack-api/as_pb/integration/integration.proto @@ -66,3 +70,5 @@ as-external-api: $(PROTOC_GEN) proto/chirpstack-api/as_pb/external/api/profiles.proto $(PROTOC_GEN) proto/chirpstack-api/as_pb/external/api/serviceProfile.proto $(PROTOC_GEN) proto/chirpstack-api/as_pb/external/api/user.proto + + find src/chirpstack_api/as_pb/external/api -type f -name "*grpc.py" ! -name "*pb2*.py" -delete diff --git a/python/src/chirpstack_api/as_pb/as_pb_grpc.py b/python/src/chirpstack_api/as_pb/as_pb_grpc.py deleted file mode 100644 index 1a693665..00000000 --- a/python/src/chirpstack_api/as_pb/as_pb_grpc.py +++ /dev/null @@ -1,172 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/as_pb.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.protobuf.empty_pb2 -import google.protobuf.timestamp_pb2 -import chirpstack_api.common.common_pb2 -import chirpstack_api.gw.gw_pb2 -import chirpstack_api.as_pb.as_pb_pb2 - - -class ApplicationServerServiceBase(abc.ABC): - - @abc.abstractmethod - async def HandleUplinkData(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.HandleUplinkDataRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def HandleProprietaryUplink(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.HandleProprietaryUplinkRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def HandleError(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.HandleErrorRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def HandleDownlinkACK(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.HandleDownlinkACKRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def HandleGatewayStats(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.HandleGatewayStatsRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def HandleTxAck(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.HandleTxAckRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def SetDeviceStatus(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.SetDeviceStatusRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def SetDeviceLocation(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.SetDeviceLocationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def ReEncryptDeviceQueueItems(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.as_pb_pb2.ReEncryptDeviceQueueItemsRequest, chirpstack_api.as_pb.as_pb_pb2.ReEncryptDeviceQueueItemsResponse]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/as.ApplicationServerService/HandleUplinkData': grpclib.const.Handler( - self.HandleUplinkData, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.as_pb_pb2.HandleUplinkDataRequest, - google.protobuf.empty_pb2.Empty, - ), - '/as.ApplicationServerService/HandleProprietaryUplink': grpclib.const.Handler( - self.HandleProprietaryUplink, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.as_pb_pb2.HandleProprietaryUplinkRequest, - google.protobuf.empty_pb2.Empty, - ), - '/as.ApplicationServerService/HandleError': grpclib.const.Handler( - self.HandleError, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.as_pb_pb2.HandleErrorRequest, - google.protobuf.empty_pb2.Empty, - ), - '/as.ApplicationServerService/HandleDownlinkACK': grpclib.const.Handler( - self.HandleDownlinkACK, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.as_pb_pb2.HandleDownlinkACKRequest, - google.protobuf.empty_pb2.Empty, - ), - '/as.ApplicationServerService/HandleGatewayStats': grpclib.const.Handler( - self.HandleGatewayStats, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.as_pb_pb2.HandleGatewayStatsRequest, - google.protobuf.empty_pb2.Empty, - ), - '/as.ApplicationServerService/HandleTxAck': grpclib.const.Handler( - self.HandleTxAck, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.as_pb_pb2.HandleTxAckRequest, - google.protobuf.empty_pb2.Empty, - ), - '/as.ApplicationServerService/SetDeviceStatus': grpclib.const.Handler( - self.SetDeviceStatus, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.as_pb_pb2.SetDeviceStatusRequest, - google.protobuf.empty_pb2.Empty, - ), - '/as.ApplicationServerService/SetDeviceLocation': grpclib.const.Handler( - self.SetDeviceLocation, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.as_pb_pb2.SetDeviceLocationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/as.ApplicationServerService/ReEncryptDeviceQueueItems': grpclib.const.Handler( - self.ReEncryptDeviceQueueItems, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.as_pb_pb2.ReEncryptDeviceQueueItemsRequest, - chirpstack_api.as_pb.as_pb_pb2.ReEncryptDeviceQueueItemsResponse, - ), - } - - -class ApplicationServerServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.HandleUplinkData = grpclib.client.UnaryUnaryMethod( - channel, - '/as.ApplicationServerService/HandleUplinkData', - chirpstack_api.as_pb.as_pb_pb2.HandleUplinkDataRequest, - google.protobuf.empty_pb2.Empty, - ) - self.HandleProprietaryUplink = grpclib.client.UnaryUnaryMethod( - channel, - '/as.ApplicationServerService/HandleProprietaryUplink', - chirpstack_api.as_pb.as_pb_pb2.HandleProprietaryUplinkRequest, - google.protobuf.empty_pb2.Empty, - ) - self.HandleError = grpclib.client.UnaryUnaryMethod( - channel, - '/as.ApplicationServerService/HandleError', - chirpstack_api.as_pb.as_pb_pb2.HandleErrorRequest, - google.protobuf.empty_pb2.Empty, - ) - self.HandleDownlinkACK = grpclib.client.UnaryUnaryMethod( - channel, - '/as.ApplicationServerService/HandleDownlinkACK', - chirpstack_api.as_pb.as_pb_pb2.HandleDownlinkACKRequest, - google.protobuf.empty_pb2.Empty, - ) - self.HandleGatewayStats = grpclib.client.UnaryUnaryMethod( - channel, - '/as.ApplicationServerService/HandleGatewayStats', - chirpstack_api.as_pb.as_pb_pb2.HandleGatewayStatsRequest, - google.protobuf.empty_pb2.Empty, - ) - self.HandleTxAck = grpclib.client.UnaryUnaryMethod( - channel, - '/as.ApplicationServerService/HandleTxAck', - chirpstack_api.as_pb.as_pb_pb2.HandleTxAckRequest, - google.protobuf.empty_pb2.Empty, - ) - self.SetDeviceStatus = grpclib.client.UnaryUnaryMethod( - channel, - '/as.ApplicationServerService/SetDeviceStatus', - chirpstack_api.as_pb.as_pb_pb2.SetDeviceStatusRequest, - google.protobuf.empty_pb2.Empty, - ) - self.SetDeviceLocation = grpclib.client.UnaryUnaryMethod( - channel, - '/as.ApplicationServerService/SetDeviceLocation', - chirpstack_api.as_pb.as_pb_pb2.SetDeviceLocationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.ReEncryptDeviceQueueItems = grpclib.client.UnaryUnaryMethod( - channel, - '/as.ApplicationServerService/ReEncryptDeviceQueueItems', - chirpstack_api.as_pb.as_pb_pb2.ReEncryptDeviceQueueItemsRequest, - chirpstack_api.as_pb.as_pb_pb2.ReEncryptDeviceQueueItemsResponse, - ) diff --git a/python/src/chirpstack_api/as_pb/external/api/application_grpc.py b/python/src/chirpstack_api/as_pb/external/api/application_grpc.py deleted file mode 100644 index dec30bf7..00000000 --- a/python/src/chirpstack_api/as_pb/external/api/application_grpc.py +++ /dev/null @@ -1,715 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/external/api/application.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.protobuf.timestamp_pb2 -import google.api.annotations_pb2 -import google.protobuf.empty_pb2 -import chirpstack_api.as_pb.external.api.application_pb2 - - -class ApplicationServiceBase(abc.ABC): - - @abc.abstractmethod - async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateApplicationRequest, chirpstack_api.as_pb.external.api.application_pb2.CreateApplicationResponse]') -> None: - pass - - @abc.abstractmethod - async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetApplicationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetApplicationResponse]') -> None: - pass - - @abc.abstractmethod - async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateApplicationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteApplicationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.ListApplicationRequest, chirpstack_api.as_pb.external.api.application_pb2.ListApplicationResponse]') -> None: - pass - - @abc.abstractmethod - async def CreateHTTPIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateHTTPIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetHTTPIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetHTTPIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetHTTPIntegrationResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateHTTPIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateHTTPIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteHTTPIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteHTTPIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def CreateInfluxDBIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateInfluxDBIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetInfluxDBIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetInfluxDBIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetInfluxDBIntegrationResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateInfluxDBIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateInfluxDBIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteInfluxDBIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteInfluxDBIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def CreateThingsBoardIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateThingsBoardIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetThingsBoardIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetThingsBoardIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetThingsBoardIntegrationResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateThingsBoardIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateThingsBoardIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteThingsBoardIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteThingsBoardIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def CreateMyDevicesIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateMyDevicesIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetMyDevicesIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetMyDevicesIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetMyDevicesIntegrationResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateMyDevicesIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateMyDevicesIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteMyDevicesIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteMyDevicesIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def CreateLoRaCloudIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateLoRaCloudIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetLoRaCloudIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetLoRaCloudIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetLoRaCloudIntegrationResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateLoRaCloudIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateLoRaCloudIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteLoRaCloudIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteLoRaCloudIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def CreateGCPPubSubIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateGCPPubSubIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetGCPPubSubIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetGCPPubSubIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetGCPPubSubIntegrationResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateGCPPubSubIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateGCPPubSubIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteGCPPubSubIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteGCPPubSubIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def CreateAWSSNSIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateAWSSNSIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetAWSSNSIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetAWSSNSIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetAWSSNSIntegrationResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateAWSSNSIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateAWSSNSIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteAWSSNSIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteAWSSNSIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def CreateAzureServiceBusIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreateAzureServiceBusIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetAzureServiceBusIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetAzureServiceBusIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetAzureServiceBusIntegrationResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateAzureServiceBusIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdateAzureServiceBusIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteAzureServiceBusIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeleteAzureServiceBusIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def CreatePilotThingsIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.CreatePilotThingsIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetPilotThingsIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GetPilotThingsIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.GetPilotThingsIntegrationResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdatePilotThingsIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.UpdatePilotThingsIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeletePilotThingsIntegration(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.DeletePilotThingsIntegrationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def ListIntegrations(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.ListIntegrationRequest, chirpstack_api.as_pb.external.api.application_pb2.ListIntegrationResponse]') -> None: - pass - - @abc.abstractmethod - async def GenerateMQTTIntegrationClientCertificate(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.application_pb2.GenerateMQTTIntegrationClientCertificateRequest, chirpstack_api.as_pb.external.api.application_pb2.GenerateMQTTIntegrationClientCertificateResponse]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/api.ApplicationService/Create': grpclib.const.Handler( - self.Create, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.CreateApplicationRequest, - chirpstack_api.as_pb.external.api.application_pb2.CreateApplicationResponse, - ), - '/api.ApplicationService/Get': grpclib.const.Handler( - self.Get, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.GetApplicationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetApplicationResponse, - ), - '/api.ApplicationService/Update': grpclib.const.Handler( - self.Update, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.UpdateApplicationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/Delete': grpclib.const.Handler( - self.Delete, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.DeleteApplicationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/List': grpclib.const.Handler( - self.List, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.ListApplicationRequest, - chirpstack_api.as_pb.external.api.application_pb2.ListApplicationResponse, - ), - '/api.ApplicationService/CreateHTTPIntegration': grpclib.const.Handler( - self.CreateHTTPIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.CreateHTTPIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/GetHTTPIntegration': grpclib.const.Handler( - self.GetHTTPIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.GetHTTPIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetHTTPIntegrationResponse, - ), - '/api.ApplicationService/UpdateHTTPIntegration': grpclib.const.Handler( - self.UpdateHTTPIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.UpdateHTTPIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/DeleteHTTPIntegration': grpclib.const.Handler( - self.DeleteHTTPIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.DeleteHTTPIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/CreateInfluxDBIntegration': grpclib.const.Handler( - self.CreateInfluxDBIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.CreateInfluxDBIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/GetInfluxDBIntegration': grpclib.const.Handler( - self.GetInfluxDBIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.GetInfluxDBIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetInfluxDBIntegrationResponse, - ), - '/api.ApplicationService/UpdateInfluxDBIntegration': grpclib.const.Handler( - self.UpdateInfluxDBIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.UpdateInfluxDBIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/DeleteInfluxDBIntegration': grpclib.const.Handler( - self.DeleteInfluxDBIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.DeleteInfluxDBIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/CreateThingsBoardIntegration': grpclib.const.Handler( - self.CreateThingsBoardIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.CreateThingsBoardIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/GetThingsBoardIntegration': grpclib.const.Handler( - self.GetThingsBoardIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.GetThingsBoardIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetThingsBoardIntegrationResponse, - ), - '/api.ApplicationService/UpdateThingsBoardIntegration': grpclib.const.Handler( - self.UpdateThingsBoardIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.UpdateThingsBoardIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/DeleteThingsBoardIntegration': grpclib.const.Handler( - self.DeleteThingsBoardIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.DeleteThingsBoardIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/CreateMyDevicesIntegration': grpclib.const.Handler( - self.CreateMyDevicesIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.CreateMyDevicesIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/GetMyDevicesIntegration': grpclib.const.Handler( - self.GetMyDevicesIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.GetMyDevicesIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetMyDevicesIntegrationResponse, - ), - '/api.ApplicationService/UpdateMyDevicesIntegration': grpclib.const.Handler( - self.UpdateMyDevicesIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.UpdateMyDevicesIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/DeleteMyDevicesIntegration': grpclib.const.Handler( - self.DeleteMyDevicesIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.DeleteMyDevicesIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/CreateLoRaCloudIntegration': grpclib.const.Handler( - self.CreateLoRaCloudIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.CreateLoRaCloudIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/GetLoRaCloudIntegration': grpclib.const.Handler( - self.GetLoRaCloudIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.GetLoRaCloudIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetLoRaCloudIntegrationResponse, - ), - '/api.ApplicationService/UpdateLoRaCloudIntegration': grpclib.const.Handler( - self.UpdateLoRaCloudIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.UpdateLoRaCloudIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/DeleteLoRaCloudIntegration': grpclib.const.Handler( - self.DeleteLoRaCloudIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.DeleteLoRaCloudIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/CreateGCPPubSubIntegration': grpclib.const.Handler( - self.CreateGCPPubSubIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.CreateGCPPubSubIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/GetGCPPubSubIntegration': grpclib.const.Handler( - self.GetGCPPubSubIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.GetGCPPubSubIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetGCPPubSubIntegrationResponse, - ), - '/api.ApplicationService/UpdateGCPPubSubIntegration': grpclib.const.Handler( - self.UpdateGCPPubSubIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.UpdateGCPPubSubIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/DeleteGCPPubSubIntegration': grpclib.const.Handler( - self.DeleteGCPPubSubIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.DeleteGCPPubSubIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/CreateAWSSNSIntegration': grpclib.const.Handler( - self.CreateAWSSNSIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.CreateAWSSNSIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/GetAWSSNSIntegration': grpclib.const.Handler( - self.GetAWSSNSIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.GetAWSSNSIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetAWSSNSIntegrationResponse, - ), - '/api.ApplicationService/UpdateAWSSNSIntegration': grpclib.const.Handler( - self.UpdateAWSSNSIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.UpdateAWSSNSIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/DeleteAWSSNSIntegration': grpclib.const.Handler( - self.DeleteAWSSNSIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.DeleteAWSSNSIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/CreateAzureServiceBusIntegration': grpclib.const.Handler( - self.CreateAzureServiceBusIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.CreateAzureServiceBusIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/GetAzureServiceBusIntegration': grpclib.const.Handler( - self.GetAzureServiceBusIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.GetAzureServiceBusIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetAzureServiceBusIntegrationResponse, - ), - '/api.ApplicationService/UpdateAzureServiceBusIntegration': grpclib.const.Handler( - self.UpdateAzureServiceBusIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.UpdateAzureServiceBusIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/DeleteAzureServiceBusIntegration': grpclib.const.Handler( - self.DeleteAzureServiceBusIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.DeleteAzureServiceBusIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/CreatePilotThingsIntegration': grpclib.const.Handler( - self.CreatePilotThingsIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.CreatePilotThingsIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/GetPilotThingsIntegration': grpclib.const.Handler( - self.GetPilotThingsIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.GetPilotThingsIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetPilotThingsIntegrationResponse, - ), - '/api.ApplicationService/UpdatePilotThingsIntegration': grpclib.const.Handler( - self.UpdatePilotThingsIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.UpdatePilotThingsIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/DeletePilotThingsIntegration': grpclib.const.Handler( - self.DeletePilotThingsIntegration, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.DeletePilotThingsIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ApplicationService/ListIntegrations': grpclib.const.Handler( - self.ListIntegrations, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.ListIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.ListIntegrationResponse, - ), - '/api.ApplicationService/GenerateMQTTIntegrationClientCertificate': grpclib.const.Handler( - self.GenerateMQTTIntegrationClientCertificate, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.application_pb2.GenerateMQTTIntegrationClientCertificateRequest, - chirpstack_api.as_pb.external.api.application_pb2.GenerateMQTTIntegrationClientCertificateResponse, - ), - } - - -class ApplicationServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.Create = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/Create', - chirpstack_api.as_pb.external.api.application_pb2.CreateApplicationRequest, - chirpstack_api.as_pb.external.api.application_pb2.CreateApplicationResponse, - ) - self.Get = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/Get', - chirpstack_api.as_pb.external.api.application_pb2.GetApplicationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetApplicationResponse, - ) - self.Update = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/Update', - chirpstack_api.as_pb.external.api.application_pb2.UpdateApplicationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Delete = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/Delete', - chirpstack_api.as_pb.external.api.application_pb2.DeleteApplicationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.List = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/List', - chirpstack_api.as_pb.external.api.application_pb2.ListApplicationRequest, - chirpstack_api.as_pb.external.api.application_pb2.ListApplicationResponse, - ) - self.CreateHTTPIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/CreateHTTPIntegration', - chirpstack_api.as_pb.external.api.application_pb2.CreateHTTPIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetHTTPIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/GetHTTPIntegration', - chirpstack_api.as_pb.external.api.application_pb2.GetHTTPIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetHTTPIntegrationResponse, - ) - self.UpdateHTTPIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/UpdateHTTPIntegration', - chirpstack_api.as_pb.external.api.application_pb2.UpdateHTTPIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteHTTPIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/DeleteHTTPIntegration', - chirpstack_api.as_pb.external.api.application_pb2.DeleteHTTPIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.CreateInfluxDBIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/CreateInfluxDBIntegration', - chirpstack_api.as_pb.external.api.application_pb2.CreateInfluxDBIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetInfluxDBIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/GetInfluxDBIntegration', - chirpstack_api.as_pb.external.api.application_pb2.GetInfluxDBIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetInfluxDBIntegrationResponse, - ) - self.UpdateInfluxDBIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/UpdateInfluxDBIntegration', - chirpstack_api.as_pb.external.api.application_pb2.UpdateInfluxDBIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteInfluxDBIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/DeleteInfluxDBIntegration', - chirpstack_api.as_pb.external.api.application_pb2.DeleteInfluxDBIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.CreateThingsBoardIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/CreateThingsBoardIntegration', - chirpstack_api.as_pb.external.api.application_pb2.CreateThingsBoardIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetThingsBoardIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/GetThingsBoardIntegration', - chirpstack_api.as_pb.external.api.application_pb2.GetThingsBoardIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetThingsBoardIntegrationResponse, - ) - self.UpdateThingsBoardIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/UpdateThingsBoardIntegration', - chirpstack_api.as_pb.external.api.application_pb2.UpdateThingsBoardIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteThingsBoardIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/DeleteThingsBoardIntegration', - chirpstack_api.as_pb.external.api.application_pb2.DeleteThingsBoardIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.CreateMyDevicesIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/CreateMyDevicesIntegration', - chirpstack_api.as_pb.external.api.application_pb2.CreateMyDevicesIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetMyDevicesIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/GetMyDevicesIntegration', - chirpstack_api.as_pb.external.api.application_pb2.GetMyDevicesIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetMyDevicesIntegrationResponse, - ) - self.UpdateMyDevicesIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/UpdateMyDevicesIntegration', - chirpstack_api.as_pb.external.api.application_pb2.UpdateMyDevicesIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteMyDevicesIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/DeleteMyDevicesIntegration', - chirpstack_api.as_pb.external.api.application_pb2.DeleteMyDevicesIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.CreateLoRaCloudIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/CreateLoRaCloudIntegration', - chirpstack_api.as_pb.external.api.application_pb2.CreateLoRaCloudIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetLoRaCloudIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/GetLoRaCloudIntegration', - chirpstack_api.as_pb.external.api.application_pb2.GetLoRaCloudIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetLoRaCloudIntegrationResponse, - ) - self.UpdateLoRaCloudIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/UpdateLoRaCloudIntegration', - chirpstack_api.as_pb.external.api.application_pb2.UpdateLoRaCloudIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteLoRaCloudIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/DeleteLoRaCloudIntegration', - chirpstack_api.as_pb.external.api.application_pb2.DeleteLoRaCloudIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.CreateGCPPubSubIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/CreateGCPPubSubIntegration', - chirpstack_api.as_pb.external.api.application_pb2.CreateGCPPubSubIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetGCPPubSubIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/GetGCPPubSubIntegration', - chirpstack_api.as_pb.external.api.application_pb2.GetGCPPubSubIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetGCPPubSubIntegrationResponse, - ) - self.UpdateGCPPubSubIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/UpdateGCPPubSubIntegration', - chirpstack_api.as_pb.external.api.application_pb2.UpdateGCPPubSubIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteGCPPubSubIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/DeleteGCPPubSubIntegration', - chirpstack_api.as_pb.external.api.application_pb2.DeleteGCPPubSubIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.CreateAWSSNSIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/CreateAWSSNSIntegration', - chirpstack_api.as_pb.external.api.application_pb2.CreateAWSSNSIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetAWSSNSIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/GetAWSSNSIntegration', - chirpstack_api.as_pb.external.api.application_pb2.GetAWSSNSIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetAWSSNSIntegrationResponse, - ) - self.UpdateAWSSNSIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/UpdateAWSSNSIntegration', - chirpstack_api.as_pb.external.api.application_pb2.UpdateAWSSNSIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteAWSSNSIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/DeleteAWSSNSIntegration', - chirpstack_api.as_pb.external.api.application_pb2.DeleteAWSSNSIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.CreateAzureServiceBusIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/CreateAzureServiceBusIntegration', - chirpstack_api.as_pb.external.api.application_pb2.CreateAzureServiceBusIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetAzureServiceBusIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/GetAzureServiceBusIntegration', - chirpstack_api.as_pb.external.api.application_pb2.GetAzureServiceBusIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetAzureServiceBusIntegrationResponse, - ) - self.UpdateAzureServiceBusIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/UpdateAzureServiceBusIntegration', - chirpstack_api.as_pb.external.api.application_pb2.UpdateAzureServiceBusIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteAzureServiceBusIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/DeleteAzureServiceBusIntegration', - chirpstack_api.as_pb.external.api.application_pb2.DeleteAzureServiceBusIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.CreatePilotThingsIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/CreatePilotThingsIntegration', - chirpstack_api.as_pb.external.api.application_pb2.CreatePilotThingsIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetPilotThingsIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/GetPilotThingsIntegration', - chirpstack_api.as_pb.external.api.application_pb2.GetPilotThingsIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.GetPilotThingsIntegrationResponse, - ) - self.UpdatePilotThingsIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/UpdatePilotThingsIntegration', - chirpstack_api.as_pb.external.api.application_pb2.UpdatePilotThingsIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeletePilotThingsIntegration = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/DeletePilotThingsIntegration', - chirpstack_api.as_pb.external.api.application_pb2.DeletePilotThingsIntegrationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.ListIntegrations = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/ListIntegrations', - chirpstack_api.as_pb.external.api.application_pb2.ListIntegrationRequest, - chirpstack_api.as_pb.external.api.application_pb2.ListIntegrationResponse, - ) - self.GenerateMQTTIntegrationClientCertificate = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ApplicationService/GenerateMQTTIntegrationClientCertificate', - chirpstack_api.as_pb.external.api.application_pb2.GenerateMQTTIntegrationClientCertificateRequest, - chirpstack_api.as_pb.external.api.application_pb2.GenerateMQTTIntegrationClientCertificateResponse, - ) diff --git a/python/src/chirpstack_api/as_pb/external/api/deviceProfile_grpc.py b/python/src/chirpstack_api/as_pb/external/api/deviceProfile_grpc.py deleted file mode 100644 index 478db8a9..00000000 --- a/python/src/chirpstack_api/as_pb/external/api/deviceProfile_grpc.py +++ /dev/null @@ -1,108 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/external/api/deviceProfile.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.api.annotations_pb2 -import google.protobuf.timestamp_pb2 -import google.protobuf.empty_pb2 -import chirpstack_api.as_pb.external.api.profiles_pb2 -import chirpstack_api.as_pb.external.api.deviceProfile_pb2 - - -class DeviceProfileServiceBase(abc.ABC): - - @abc.abstractmethod - async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceProfile_pb2.CreateDeviceProfileRequest, chirpstack_api.as_pb.external.api.deviceProfile_pb2.CreateDeviceProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceProfile_pb2.GetDeviceProfileRequest, chirpstack_api.as_pb.external.api.deviceProfile_pb2.GetDeviceProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceProfile_pb2.UpdateDeviceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceProfile_pb2.DeleteDeviceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceProfile_pb2.ListDeviceProfileRequest, chirpstack_api.as_pb.external.api.deviceProfile_pb2.ListDeviceProfileResponse]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/api.DeviceProfileService/Create': grpclib.const.Handler( - self.Create, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.deviceProfile_pb2.CreateDeviceProfileRequest, - chirpstack_api.as_pb.external.api.deviceProfile_pb2.CreateDeviceProfileResponse, - ), - '/api.DeviceProfileService/Get': grpclib.const.Handler( - self.Get, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.deviceProfile_pb2.GetDeviceProfileRequest, - chirpstack_api.as_pb.external.api.deviceProfile_pb2.GetDeviceProfileResponse, - ), - '/api.DeviceProfileService/Update': grpclib.const.Handler( - self.Update, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.deviceProfile_pb2.UpdateDeviceProfileRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.DeviceProfileService/Delete': grpclib.const.Handler( - self.Delete, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.deviceProfile_pb2.DeleteDeviceProfileRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.DeviceProfileService/List': grpclib.const.Handler( - self.List, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.deviceProfile_pb2.ListDeviceProfileRequest, - chirpstack_api.as_pb.external.api.deviceProfile_pb2.ListDeviceProfileResponse, - ), - } - - -class DeviceProfileServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.Create = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceProfileService/Create', - chirpstack_api.as_pb.external.api.deviceProfile_pb2.CreateDeviceProfileRequest, - chirpstack_api.as_pb.external.api.deviceProfile_pb2.CreateDeviceProfileResponse, - ) - self.Get = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceProfileService/Get', - chirpstack_api.as_pb.external.api.deviceProfile_pb2.GetDeviceProfileRequest, - chirpstack_api.as_pb.external.api.deviceProfile_pb2.GetDeviceProfileResponse, - ) - self.Update = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceProfileService/Update', - chirpstack_api.as_pb.external.api.deviceProfile_pb2.UpdateDeviceProfileRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Delete = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceProfileService/Delete', - chirpstack_api.as_pb.external.api.deviceProfile_pb2.DeleteDeviceProfileRequest, - google.protobuf.empty_pb2.Empty, - ) - self.List = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceProfileService/List', - chirpstack_api.as_pb.external.api.deviceProfile_pb2.ListDeviceProfileRequest, - chirpstack_api.as_pb.external.api.deviceProfile_pb2.ListDeviceProfileResponse, - ) diff --git a/python/src/chirpstack_api/as_pb/external/api/deviceQueue_grpc.py b/python/src/chirpstack_api/as_pb/external/api/deviceQueue_grpc.py deleted file mode 100644 index cb2ef787..00000000 --- a/python/src/chirpstack_api/as_pb/external/api/deviceQueue_grpc.py +++ /dev/null @@ -1,74 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/external/api/deviceQueue.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.api.annotations_pb2 -import google.protobuf.empty_pb2 -import chirpstack_api.as_pb.external.api.deviceQueue_pb2 - - -class DeviceQueueServiceBase(abc.ABC): - - @abc.abstractmethod - async def Enqueue(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceQueue_pb2.EnqueueDeviceQueueItemRequest, chirpstack_api.as_pb.external.api.deviceQueue_pb2.EnqueueDeviceQueueItemResponse]') -> None: - pass - - @abc.abstractmethod - async def Flush(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceQueue_pb2.FlushDeviceQueueRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.deviceQueue_pb2.ListDeviceQueueItemsRequest, chirpstack_api.as_pb.external.api.deviceQueue_pb2.ListDeviceQueueItemsResponse]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/api.DeviceQueueService/Enqueue': grpclib.const.Handler( - self.Enqueue, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.deviceQueue_pb2.EnqueueDeviceQueueItemRequest, - chirpstack_api.as_pb.external.api.deviceQueue_pb2.EnqueueDeviceQueueItemResponse, - ), - '/api.DeviceQueueService/Flush': grpclib.const.Handler( - self.Flush, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.deviceQueue_pb2.FlushDeviceQueueRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.DeviceQueueService/List': grpclib.const.Handler( - self.List, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.deviceQueue_pb2.ListDeviceQueueItemsRequest, - chirpstack_api.as_pb.external.api.deviceQueue_pb2.ListDeviceQueueItemsResponse, - ), - } - - -class DeviceQueueServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.Enqueue = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceQueueService/Enqueue', - chirpstack_api.as_pb.external.api.deviceQueue_pb2.EnqueueDeviceQueueItemRequest, - chirpstack_api.as_pb.external.api.deviceQueue_pb2.EnqueueDeviceQueueItemResponse, - ) - self.Flush = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceQueueService/Flush', - chirpstack_api.as_pb.external.api.deviceQueue_pb2.FlushDeviceQueueRequest, - google.protobuf.empty_pb2.Empty, - ) - self.List = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceQueueService/List', - chirpstack_api.as_pb.external.api.deviceQueue_pb2.ListDeviceQueueItemsRequest, - chirpstack_api.as_pb.external.api.deviceQueue_pb2.ListDeviceQueueItemsResponse, - ) diff --git a/python/src/chirpstack_api/as_pb/external/api/device_grpc.py b/python/src/chirpstack_api/as_pb/external/api/device_grpc.py deleted file mode 100644 index 9372ce94..00000000 --- a/python/src/chirpstack_api/as_pb/external/api/device_grpc.py +++ /dev/null @@ -1,301 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/external/api/device.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.api.annotations_pb2 -import google.protobuf.timestamp_pb2 -import google.protobuf.empty_pb2 -import chirpstack_api.common.common_pb2 -import chirpstack_api.as_pb.external.api.frameLog_pb2 -import chirpstack_api.as_pb.external.api.device_pb2 - - -class DeviceServiceBase(abc.ABC): - - @abc.abstractmethod - async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.CreateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.GetDeviceRequest, chirpstack_api.as_pb.external.api.device_pb2.GetDeviceResponse]') -> None: - pass - - @abc.abstractmethod - async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.ListDeviceRequest, chirpstack_api.as_pb.external.api.device_pb2.ListDeviceResponse]') -> None: - pass - - @abc.abstractmethod - async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.DeleteDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.UpdateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def CreateKeys(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.CreateDeviceKeysRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetKeys(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.GetDeviceKeysRequest, chirpstack_api.as_pb.external.api.device_pb2.GetDeviceKeysResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateKeys(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.UpdateDeviceKeysRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteKeys(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.DeleteDeviceKeysRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Activate(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.ActivateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Deactivate(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.DeactivateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetActivation(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.GetDeviceActivationRequest, chirpstack_api.as_pb.external.api.device_pb2.GetDeviceActivationResponse]') -> None: - pass - - @abc.abstractmethod - async def GetRandomDevAddr(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.GetRandomDevAddrRequest, chirpstack_api.as_pb.external.api.device_pb2.GetRandomDevAddrResponse]') -> None: - pass - - @abc.abstractmethod - async def GetStats(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.GetDeviceStatsRequest, chirpstack_api.as_pb.external.api.device_pb2.GetDeviceStatsResponse]') -> None: - pass - - @abc.abstractmethod - async def StreamFrameLogs(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceFrameLogsRequest, chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceFrameLogsResponse]') -> None: - pass - - @abc.abstractmethod - async def StreamEventLogs(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceEventLogsRequest, chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceEventLogsResponse]') -> None: - pass - - @abc.abstractmethod - async def ClearDeviceNonces(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.device_pb2.ClearDeviceNoncesRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/api.DeviceService/Create': grpclib.const.Handler( - self.Create, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.CreateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.DeviceService/Get': grpclib.const.Handler( - self.Get, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceRequest, - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceResponse, - ), - '/api.DeviceService/List': grpclib.const.Handler( - self.List, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.ListDeviceRequest, - chirpstack_api.as_pb.external.api.device_pb2.ListDeviceResponse, - ), - '/api.DeviceService/Delete': grpclib.const.Handler( - self.Delete, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.DeleteDeviceRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.DeviceService/Update': grpclib.const.Handler( - self.Update, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.UpdateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.DeviceService/CreateKeys': grpclib.const.Handler( - self.CreateKeys, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.CreateDeviceKeysRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.DeviceService/GetKeys': grpclib.const.Handler( - self.GetKeys, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceKeysRequest, - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceKeysResponse, - ), - '/api.DeviceService/UpdateKeys': grpclib.const.Handler( - self.UpdateKeys, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.UpdateDeviceKeysRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.DeviceService/DeleteKeys': grpclib.const.Handler( - self.DeleteKeys, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.DeleteDeviceKeysRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.DeviceService/Activate': grpclib.const.Handler( - self.Activate, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.ActivateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.DeviceService/Deactivate': grpclib.const.Handler( - self.Deactivate, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.DeactivateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.DeviceService/GetActivation': grpclib.const.Handler( - self.GetActivation, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceActivationRequest, - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceActivationResponse, - ), - '/api.DeviceService/GetRandomDevAddr': grpclib.const.Handler( - self.GetRandomDevAddr, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.GetRandomDevAddrRequest, - chirpstack_api.as_pb.external.api.device_pb2.GetRandomDevAddrResponse, - ), - '/api.DeviceService/GetStats': grpclib.const.Handler( - self.GetStats, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceStatsRequest, - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceStatsResponse, - ), - '/api.DeviceService/StreamFrameLogs': grpclib.const.Handler( - self.StreamFrameLogs, - grpclib.const.Cardinality.UNARY_STREAM, - chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceFrameLogsRequest, - chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceFrameLogsResponse, - ), - '/api.DeviceService/StreamEventLogs': grpclib.const.Handler( - self.StreamEventLogs, - grpclib.const.Cardinality.UNARY_STREAM, - chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceEventLogsRequest, - chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceEventLogsResponse, - ), - '/api.DeviceService/ClearDeviceNonces': grpclib.const.Handler( - self.ClearDeviceNonces, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.device_pb2.ClearDeviceNoncesRequest, - google.protobuf.empty_pb2.Empty, - ), - } - - -class DeviceServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.Create = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/Create', - chirpstack_api.as_pb.external.api.device_pb2.CreateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Get = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/Get', - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceRequest, - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceResponse, - ) - self.List = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/List', - chirpstack_api.as_pb.external.api.device_pb2.ListDeviceRequest, - chirpstack_api.as_pb.external.api.device_pb2.ListDeviceResponse, - ) - self.Delete = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/Delete', - chirpstack_api.as_pb.external.api.device_pb2.DeleteDeviceRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Update = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/Update', - chirpstack_api.as_pb.external.api.device_pb2.UpdateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ) - self.CreateKeys = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/CreateKeys', - chirpstack_api.as_pb.external.api.device_pb2.CreateDeviceKeysRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetKeys = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/GetKeys', - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceKeysRequest, - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceKeysResponse, - ) - self.UpdateKeys = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/UpdateKeys', - chirpstack_api.as_pb.external.api.device_pb2.UpdateDeviceKeysRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteKeys = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/DeleteKeys', - chirpstack_api.as_pb.external.api.device_pb2.DeleteDeviceKeysRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Activate = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/Activate', - chirpstack_api.as_pb.external.api.device_pb2.ActivateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Deactivate = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/Deactivate', - chirpstack_api.as_pb.external.api.device_pb2.DeactivateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetActivation = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/GetActivation', - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceActivationRequest, - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceActivationResponse, - ) - self.GetRandomDevAddr = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/GetRandomDevAddr', - chirpstack_api.as_pb.external.api.device_pb2.GetRandomDevAddrRequest, - chirpstack_api.as_pb.external.api.device_pb2.GetRandomDevAddrResponse, - ) - self.GetStats = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/GetStats', - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceStatsRequest, - chirpstack_api.as_pb.external.api.device_pb2.GetDeviceStatsResponse, - ) - self.StreamFrameLogs = grpclib.client.UnaryStreamMethod( - channel, - '/api.DeviceService/StreamFrameLogs', - chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceFrameLogsRequest, - chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceFrameLogsResponse, - ) - self.StreamEventLogs = grpclib.client.UnaryStreamMethod( - channel, - '/api.DeviceService/StreamEventLogs', - chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceEventLogsRequest, - chirpstack_api.as_pb.external.api.device_pb2.StreamDeviceEventLogsResponse, - ) - self.ClearDeviceNonces = grpclib.client.UnaryUnaryMethod( - channel, - '/api.DeviceService/ClearDeviceNonces', - chirpstack_api.as_pb.external.api.device_pb2.ClearDeviceNoncesRequest, - google.protobuf.empty_pb2.Empty, - ) diff --git a/python/src/chirpstack_api/as_pb/external/api/frameLog_grpc.py b/python/src/chirpstack_api/as_pb/external/api/frameLog_grpc.py deleted file mode 100644 index 80c1a63b..00000000 --- a/python/src/chirpstack_api/as_pb/external/api/frameLog_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/external/api/frameLog.proto -# plugin: grpclib.plugin.main diff --git a/python/src/chirpstack_api/as_pb/external/api/gatewayProfile_grpc.py b/python/src/chirpstack_api/as_pb/external/api/gatewayProfile_grpc.py deleted file mode 100644 index 0847ae29..00000000 --- a/python/src/chirpstack_api/as_pb/external/api/gatewayProfile_grpc.py +++ /dev/null @@ -1,109 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/external/api/gatewayProfile.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.api.annotations_pb2 -import google.protobuf.timestamp_pb2 -import google.protobuf.duration_pb2 -import google.protobuf.empty_pb2 -import chirpstack_api.common.common_pb2 -import chirpstack_api.as_pb.external.api.gatewayProfile_pb2 - - -class GatewayProfileServiceBase(abc.ABC): - - @abc.abstractmethod - async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gatewayProfile_pb2.CreateGatewayProfileRequest, chirpstack_api.as_pb.external.api.gatewayProfile_pb2.CreateGatewayProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gatewayProfile_pb2.GetGatewayProfileRequest, chirpstack_api.as_pb.external.api.gatewayProfile_pb2.GetGatewayProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gatewayProfile_pb2.UpdateGatewayProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gatewayProfile_pb2.DeleteGatewayProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gatewayProfile_pb2.ListGatewayProfilesRequest, chirpstack_api.as_pb.external.api.gatewayProfile_pb2.ListGatewayProfilesResponse]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/api.GatewayProfileService/Create': grpclib.const.Handler( - self.Create, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.CreateGatewayProfileRequest, - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.CreateGatewayProfileResponse, - ), - '/api.GatewayProfileService/Get': grpclib.const.Handler( - self.Get, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.GetGatewayProfileRequest, - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.GetGatewayProfileResponse, - ), - '/api.GatewayProfileService/Update': grpclib.const.Handler( - self.Update, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.UpdateGatewayProfileRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.GatewayProfileService/Delete': grpclib.const.Handler( - self.Delete, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.DeleteGatewayProfileRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.GatewayProfileService/List': grpclib.const.Handler( - self.List, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.ListGatewayProfilesRequest, - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.ListGatewayProfilesResponse, - ), - } - - -class GatewayProfileServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.Create = grpclib.client.UnaryUnaryMethod( - channel, - '/api.GatewayProfileService/Create', - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.CreateGatewayProfileRequest, - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.CreateGatewayProfileResponse, - ) - self.Get = grpclib.client.UnaryUnaryMethod( - channel, - '/api.GatewayProfileService/Get', - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.GetGatewayProfileRequest, - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.GetGatewayProfileResponse, - ) - self.Update = grpclib.client.UnaryUnaryMethod( - channel, - '/api.GatewayProfileService/Update', - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.UpdateGatewayProfileRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Delete = grpclib.client.UnaryUnaryMethod( - channel, - '/api.GatewayProfileService/Delete', - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.DeleteGatewayProfileRequest, - google.protobuf.empty_pb2.Empty, - ) - self.List = grpclib.client.UnaryUnaryMethod( - channel, - '/api.GatewayProfileService/List', - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.ListGatewayProfilesRequest, - chirpstack_api.as_pb.external.api.gatewayProfile_pb2.ListGatewayProfilesResponse, - ) diff --git a/python/src/chirpstack_api/as_pb/external/api/gateway_grpc.py b/python/src/chirpstack_api/as_pb/external/api/gateway_grpc.py deleted file mode 100644 index 1b523292..00000000 --- a/python/src/chirpstack_api/as_pb/external/api/gateway_grpc.py +++ /dev/null @@ -1,173 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/external/api/gateway.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.api.annotations_pb2 -import google.protobuf.timestamp_pb2 -import google.protobuf.empty_pb2 -import chirpstack_api.common.common_pb2 -import chirpstack_api.as_pb.external.api.frameLog_pb2 -import chirpstack_api.as_pb.external.api.gateway_pb2 - - -class GatewayServiceBase(abc.ABC): - - @abc.abstractmethod - async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.CreateGatewayRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayRequest, chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayResponse]') -> None: - pass - - @abc.abstractmethod - async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.UpdateGatewayRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.DeleteGatewayRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.ListGatewayRequest, chirpstack_api.as_pb.external.api.gateway_pb2.ListGatewayResponse]') -> None: - pass - - @abc.abstractmethod - async def GetStats(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayStatsRequest, chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayStatsResponse]') -> None: - pass - - @abc.abstractmethod - async def GetLastPing(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.GetLastPingRequest, chirpstack_api.as_pb.external.api.gateway_pb2.GetLastPingResponse]') -> None: - pass - - @abc.abstractmethod - async def GenerateGatewayClientCertificate(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.GenerateGatewayClientCertificateRequest, chirpstack_api.as_pb.external.api.gateway_pb2.GenerateGatewayClientCertificateResponse]') -> None: - pass - - @abc.abstractmethod - async def StreamFrameLogs(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.gateway_pb2.StreamGatewayFrameLogsRequest, chirpstack_api.as_pb.external.api.gateway_pb2.StreamGatewayFrameLogsResponse]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/api.GatewayService/Create': grpclib.const.Handler( - self.Create, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.gateway_pb2.CreateGatewayRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.GatewayService/Get': grpclib.const.Handler( - self.Get, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayRequest, - chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayResponse, - ), - '/api.GatewayService/Update': grpclib.const.Handler( - self.Update, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.gateway_pb2.UpdateGatewayRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.GatewayService/Delete': grpclib.const.Handler( - self.Delete, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.gateway_pb2.DeleteGatewayRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.GatewayService/List': grpclib.const.Handler( - self.List, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.gateway_pb2.ListGatewayRequest, - chirpstack_api.as_pb.external.api.gateway_pb2.ListGatewayResponse, - ), - '/api.GatewayService/GetStats': grpclib.const.Handler( - self.GetStats, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayStatsRequest, - chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayStatsResponse, - ), - '/api.GatewayService/GetLastPing': grpclib.const.Handler( - self.GetLastPing, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.gateway_pb2.GetLastPingRequest, - chirpstack_api.as_pb.external.api.gateway_pb2.GetLastPingResponse, - ), - '/api.GatewayService/GenerateGatewayClientCertificate': grpclib.const.Handler( - self.GenerateGatewayClientCertificate, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.gateway_pb2.GenerateGatewayClientCertificateRequest, - chirpstack_api.as_pb.external.api.gateway_pb2.GenerateGatewayClientCertificateResponse, - ), - '/api.GatewayService/StreamFrameLogs': grpclib.const.Handler( - self.StreamFrameLogs, - grpclib.const.Cardinality.UNARY_STREAM, - chirpstack_api.as_pb.external.api.gateway_pb2.StreamGatewayFrameLogsRequest, - chirpstack_api.as_pb.external.api.gateway_pb2.StreamGatewayFrameLogsResponse, - ), - } - - -class GatewayServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.Create = grpclib.client.UnaryUnaryMethod( - channel, - '/api.GatewayService/Create', - chirpstack_api.as_pb.external.api.gateway_pb2.CreateGatewayRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Get = grpclib.client.UnaryUnaryMethod( - channel, - '/api.GatewayService/Get', - chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayRequest, - chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayResponse, - ) - self.Update = grpclib.client.UnaryUnaryMethod( - channel, - '/api.GatewayService/Update', - chirpstack_api.as_pb.external.api.gateway_pb2.UpdateGatewayRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Delete = grpclib.client.UnaryUnaryMethod( - channel, - '/api.GatewayService/Delete', - chirpstack_api.as_pb.external.api.gateway_pb2.DeleteGatewayRequest, - google.protobuf.empty_pb2.Empty, - ) - self.List = grpclib.client.UnaryUnaryMethod( - channel, - '/api.GatewayService/List', - chirpstack_api.as_pb.external.api.gateway_pb2.ListGatewayRequest, - chirpstack_api.as_pb.external.api.gateway_pb2.ListGatewayResponse, - ) - self.GetStats = grpclib.client.UnaryUnaryMethod( - channel, - '/api.GatewayService/GetStats', - chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayStatsRequest, - chirpstack_api.as_pb.external.api.gateway_pb2.GetGatewayStatsResponse, - ) - self.GetLastPing = grpclib.client.UnaryUnaryMethod( - channel, - '/api.GatewayService/GetLastPing', - chirpstack_api.as_pb.external.api.gateway_pb2.GetLastPingRequest, - chirpstack_api.as_pb.external.api.gateway_pb2.GetLastPingResponse, - ) - self.GenerateGatewayClientCertificate = grpclib.client.UnaryUnaryMethod( - channel, - '/api.GatewayService/GenerateGatewayClientCertificate', - chirpstack_api.as_pb.external.api.gateway_pb2.GenerateGatewayClientCertificateRequest, - chirpstack_api.as_pb.external.api.gateway_pb2.GenerateGatewayClientCertificateResponse, - ) - self.StreamFrameLogs = grpclib.client.UnaryStreamMethod( - channel, - '/api.GatewayService/StreamFrameLogs', - chirpstack_api.as_pb.external.api.gateway_pb2.StreamGatewayFrameLogsRequest, - chirpstack_api.as_pb.external.api.gateway_pb2.StreamGatewayFrameLogsResponse, - ) diff --git a/python/src/chirpstack_api/as_pb/external/api/internal_grpc.py b/python/src/chirpstack_api/as_pb/external/api/internal_grpc.py deleted file mode 100644 index de13d4f7..00000000 --- a/python/src/chirpstack_api/as_pb/external/api/internal_grpc.py +++ /dev/null @@ -1,188 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/external/api/internal.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.api.annotations_pb2 -import google.protobuf.timestamp_pb2 -import google.protobuf.empty_pb2 -import chirpstack_api.as_pb.external.api.user_pb2 -import chirpstack_api.as_pb.external.api.internal_pb2 - - -class InternalServiceBase(abc.ABC): - - @abc.abstractmethod - async def Login(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.LoginRequest, chirpstack_api.as_pb.external.api.internal_pb2.LoginResponse]') -> None: - pass - - @abc.abstractmethod - async def Profile(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, chirpstack_api.as_pb.external.api.internal_pb2.ProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def GlobalSearch(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.GlobalSearchRequest, chirpstack_api.as_pb.external.api.internal_pb2.GlobalSearchResponse]') -> None: - pass - - @abc.abstractmethod - async def CreateAPIKey(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.CreateAPIKeyRequest, chirpstack_api.as_pb.external.api.internal_pb2.CreateAPIKeyResponse]') -> None: - pass - - @abc.abstractmethod - async def DeleteAPIKey(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.DeleteAPIKeyRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def ListAPIKeys(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.ListAPIKeysRequest, chirpstack_api.as_pb.external.api.internal_pb2.ListAPIKeysResponse]') -> None: - pass - - @abc.abstractmethod - async def Settings(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, chirpstack_api.as_pb.external.api.internal_pb2.SettingsResponse]') -> None: - pass - - @abc.abstractmethod - async def OpenIDConnectLogin(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.OpenIDConnectLoginRequest, chirpstack_api.as_pb.external.api.internal_pb2.OpenIDConnectLoginResponse]') -> None: - pass - - @abc.abstractmethod - async def GetDevicesSummary(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.GetDevicesSummaryRequest, chirpstack_api.as_pb.external.api.internal_pb2.GetDevicesSummaryResponse]') -> None: - pass - - @abc.abstractmethod - async def GetGatewaysSummary(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.internal_pb2.GetGatewaysSummaryRequest, chirpstack_api.as_pb.external.api.internal_pb2.GetGatewaysSummaryResponse]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/api.InternalService/Login': grpclib.const.Handler( - self.Login, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.internal_pb2.LoginRequest, - chirpstack_api.as_pb.external.api.internal_pb2.LoginResponse, - ), - '/api.InternalService/Profile': grpclib.const.Handler( - self.Profile, - grpclib.const.Cardinality.UNARY_UNARY, - google.protobuf.empty_pb2.Empty, - chirpstack_api.as_pb.external.api.internal_pb2.ProfileResponse, - ), - '/api.InternalService/GlobalSearch': grpclib.const.Handler( - self.GlobalSearch, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.internal_pb2.GlobalSearchRequest, - chirpstack_api.as_pb.external.api.internal_pb2.GlobalSearchResponse, - ), - '/api.InternalService/CreateAPIKey': grpclib.const.Handler( - self.CreateAPIKey, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.internal_pb2.CreateAPIKeyRequest, - chirpstack_api.as_pb.external.api.internal_pb2.CreateAPIKeyResponse, - ), - '/api.InternalService/DeleteAPIKey': grpclib.const.Handler( - self.DeleteAPIKey, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.internal_pb2.DeleteAPIKeyRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.InternalService/ListAPIKeys': grpclib.const.Handler( - self.ListAPIKeys, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.internal_pb2.ListAPIKeysRequest, - chirpstack_api.as_pb.external.api.internal_pb2.ListAPIKeysResponse, - ), - '/api.InternalService/Settings': grpclib.const.Handler( - self.Settings, - grpclib.const.Cardinality.UNARY_UNARY, - google.protobuf.empty_pb2.Empty, - chirpstack_api.as_pb.external.api.internal_pb2.SettingsResponse, - ), - '/api.InternalService/OpenIDConnectLogin': grpclib.const.Handler( - self.OpenIDConnectLogin, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.internal_pb2.OpenIDConnectLoginRequest, - chirpstack_api.as_pb.external.api.internal_pb2.OpenIDConnectLoginResponse, - ), - '/api.InternalService/GetDevicesSummary': grpclib.const.Handler( - self.GetDevicesSummary, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.internal_pb2.GetDevicesSummaryRequest, - chirpstack_api.as_pb.external.api.internal_pb2.GetDevicesSummaryResponse, - ), - '/api.InternalService/GetGatewaysSummary': grpclib.const.Handler( - self.GetGatewaysSummary, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.internal_pb2.GetGatewaysSummaryRequest, - chirpstack_api.as_pb.external.api.internal_pb2.GetGatewaysSummaryResponse, - ), - } - - -class InternalServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.Login = grpclib.client.UnaryUnaryMethod( - channel, - '/api.InternalService/Login', - chirpstack_api.as_pb.external.api.internal_pb2.LoginRequest, - chirpstack_api.as_pb.external.api.internal_pb2.LoginResponse, - ) - self.Profile = grpclib.client.UnaryUnaryMethod( - channel, - '/api.InternalService/Profile', - google.protobuf.empty_pb2.Empty, - chirpstack_api.as_pb.external.api.internal_pb2.ProfileResponse, - ) - self.GlobalSearch = grpclib.client.UnaryUnaryMethod( - channel, - '/api.InternalService/GlobalSearch', - chirpstack_api.as_pb.external.api.internal_pb2.GlobalSearchRequest, - chirpstack_api.as_pb.external.api.internal_pb2.GlobalSearchResponse, - ) - self.CreateAPIKey = grpclib.client.UnaryUnaryMethod( - channel, - '/api.InternalService/CreateAPIKey', - chirpstack_api.as_pb.external.api.internal_pb2.CreateAPIKeyRequest, - chirpstack_api.as_pb.external.api.internal_pb2.CreateAPIKeyResponse, - ) - self.DeleteAPIKey = grpclib.client.UnaryUnaryMethod( - channel, - '/api.InternalService/DeleteAPIKey', - chirpstack_api.as_pb.external.api.internal_pb2.DeleteAPIKeyRequest, - google.protobuf.empty_pb2.Empty, - ) - self.ListAPIKeys = grpclib.client.UnaryUnaryMethod( - channel, - '/api.InternalService/ListAPIKeys', - chirpstack_api.as_pb.external.api.internal_pb2.ListAPIKeysRequest, - chirpstack_api.as_pb.external.api.internal_pb2.ListAPIKeysResponse, - ) - self.Settings = grpclib.client.UnaryUnaryMethod( - channel, - '/api.InternalService/Settings', - google.protobuf.empty_pb2.Empty, - chirpstack_api.as_pb.external.api.internal_pb2.SettingsResponse, - ) - self.OpenIDConnectLogin = grpclib.client.UnaryUnaryMethod( - channel, - '/api.InternalService/OpenIDConnectLogin', - chirpstack_api.as_pb.external.api.internal_pb2.OpenIDConnectLoginRequest, - chirpstack_api.as_pb.external.api.internal_pb2.OpenIDConnectLoginResponse, - ) - self.GetDevicesSummary = grpclib.client.UnaryUnaryMethod( - channel, - '/api.InternalService/GetDevicesSummary', - chirpstack_api.as_pb.external.api.internal_pb2.GetDevicesSummaryRequest, - chirpstack_api.as_pb.external.api.internal_pb2.GetDevicesSummaryResponse, - ) - self.GetGatewaysSummary = grpclib.client.UnaryUnaryMethod( - channel, - '/api.InternalService/GetGatewaysSummary', - chirpstack_api.as_pb.external.api.internal_pb2.GetGatewaysSummaryRequest, - chirpstack_api.as_pb.external.api.internal_pb2.GetGatewaysSummaryResponse, - ) diff --git a/python/src/chirpstack_api/as_pb/external/api/multicastGroup_grpc.py b/python/src/chirpstack_api/as_pb/external/api/multicastGroup_grpc.py deleted file mode 100644 index 7bde0516..00000000 --- a/python/src/chirpstack_api/as_pb/external/api/multicastGroup_grpc.py +++ /dev/null @@ -1,187 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/external/api/multicastGroup.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.api.annotations_pb2 -import google.protobuf.timestamp_pb2 -import google.protobuf.empty_pb2 -import chirpstack_api.as_pb.external.api.multicastGroup_pb2 - - -class MulticastGroupServiceBase(abc.ABC): - - @abc.abstractmethod - async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.CreateMulticastGroupRequest, chirpstack_api.as_pb.external.api.multicastGroup_pb2.CreateMulticastGroupResponse]') -> None: - pass - - @abc.abstractmethod - async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.GetMulticastGroupRequest, chirpstack_api.as_pb.external.api.multicastGroup_pb2.GetMulticastGroupResponse]') -> None: - pass - - @abc.abstractmethod - async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.UpdateMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.DeleteMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupRequest, chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupResponse]') -> None: - pass - - @abc.abstractmethod - async def AddDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.AddDeviceToMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def RemoveDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.RemoveDeviceFromMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Enqueue(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.EnqueueMulticastQueueItemRequest, chirpstack_api.as_pb.external.api.multicastGroup_pb2.EnqueueMulticastQueueItemResponse]') -> None: - pass - - @abc.abstractmethod - async def FlushQueue(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.FlushMulticastGroupQueueItemsRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def ListQueue(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupQueueItemsRequest, chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupQueueItemsResponse]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/api.MulticastGroupService/Create': grpclib.const.Handler( - self.Create, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.CreateMulticastGroupRequest, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.CreateMulticastGroupResponse, - ), - '/api.MulticastGroupService/Get': grpclib.const.Handler( - self.Get, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.GetMulticastGroupRequest, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.GetMulticastGroupResponse, - ), - '/api.MulticastGroupService/Update': grpclib.const.Handler( - self.Update, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.UpdateMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.MulticastGroupService/Delete': grpclib.const.Handler( - self.Delete, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.DeleteMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.MulticastGroupService/List': grpclib.const.Handler( - self.List, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupRequest, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupResponse, - ), - '/api.MulticastGroupService/AddDevice': grpclib.const.Handler( - self.AddDevice, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.AddDeviceToMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.MulticastGroupService/RemoveDevice': grpclib.const.Handler( - self.RemoveDevice, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.RemoveDeviceFromMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.MulticastGroupService/Enqueue': grpclib.const.Handler( - self.Enqueue, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.EnqueueMulticastQueueItemRequest, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.EnqueueMulticastQueueItemResponse, - ), - '/api.MulticastGroupService/FlushQueue': grpclib.const.Handler( - self.FlushQueue, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.FlushMulticastGroupQueueItemsRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.MulticastGroupService/ListQueue': grpclib.const.Handler( - self.ListQueue, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupQueueItemsRequest, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupQueueItemsResponse, - ), - } - - -class MulticastGroupServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.Create = grpclib.client.UnaryUnaryMethod( - channel, - '/api.MulticastGroupService/Create', - chirpstack_api.as_pb.external.api.multicastGroup_pb2.CreateMulticastGroupRequest, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.CreateMulticastGroupResponse, - ) - self.Get = grpclib.client.UnaryUnaryMethod( - channel, - '/api.MulticastGroupService/Get', - chirpstack_api.as_pb.external.api.multicastGroup_pb2.GetMulticastGroupRequest, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.GetMulticastGroupResponse, - ) - self.Update = grpclib.client.UnaryUnaryMethod( - channel, - '/api.MulticastGroupService/Update', - chirpstack_api.as_pb.external.api.multicastGroup_pb2.UpdateMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Delete = grpclib.client.UnaryUnaryMethod( - channel, - '/api.MulticastGroupService/Delete', - chirpstack_api.as_pb.external.api.multicastGroup_pb2.DeleteMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ) - self.List = grpclib.client.UnaryUnaryMethod( - channel, - '/api.MulticastGroupService/List', - chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupRequest, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupResponse, - ) - self.AddDevice = grpclib.client.UnaryUnaryMethod( - channel, - '/api.MulticastGroupService/AddDevice', - chirpstack_api.as_pb.external.api.multicastGroup_pb2.AddDeviceToMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ) - self.RemoveDevice = grpclib.client.UnaryUnaryMethod( - channel, - '/api.MulticastGroupService/RemoveDevice', - chirpstack_api.as_pb.external.api.multicastGroup_pb2.RemoveDeviceFromMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Enqueue = grpclib.client.UnaryUnaryMethod( - channel, - '/api.MulticastGroupService/Enqueue', - chirpstack_api.as_pb.external.api.multicastGroup_pb2.EnqueueMulticastQueueItemRequest, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.EnqueueMulticastQueueItemResponse, - ) - self.FlushQueue = grpclib.client.UnaryUnaryMethod( - channel, - '/api.MulticastGroupService/FlushQueue', - chirpstack_api.as_pb.external.api.multicastGroup_pb2.FlushMulticastGroupQueueItemsRequest, - google.protobuf.empty_pb2.Empty, - ) - self.ListQueue = grpclib.client.UnaryUnaryMethod( - channel, - '/api.MulticastGroupService/ListQueue', - chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupQueueItemsRequest, - chirpstack_api.as_pb.external.api.multicastGroup_pb2.ListMulticastGroupQueueItemsResponse, - ) diff --git a/python/src/chirpstack_api/as_pb/external/api/networkServer_grpc.py b/python/src/chirpstack_api/as_pb/external/api/networkServer_grpc.py deleted file mode 100644 index 60d42055..00000000 --- a/python/src/chirpstack_api/as_pb/external/api/networkServer_grpc.py +++ /dev/null @@ -1,123 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/external/api/networkServer.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.api.annotations_pb2 -import google.protobuf.timestamp_pb2 -import google.protobuf.empty_pb2 -import chirpstack_api.as_pb.external.api.networkServer_pb2 - - -class NetworkServerServiceBase(abc.ABC): - - @abc.abstractmethod - async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.networkServer_pb2.CreateNetworkServerRequest, chirpstack_api.as_pb.external.api.networkServer_pb2.CreateNetworkServerResponse]') -> None: - pass - - @abc.abstractmethod - async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.networkServer_pb2.GetNetworkServerRequest, chirpstack_api.as_pb.external.api.networkServer_pb2.GetNetworkServerResponse]') -> None: - pass - - @abc.abstractmethod - async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.networkServer_pb2.UpdateNetworkServerRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.networkServer_pb2.DeleteNetworkServerRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.networkServer_pb2.ListNetworkServerRequest, chirpstack_api.as_pb.external.api.networkServer_pb2.ListNetworkServerResponse]') -> None: - pass - - @abc.abstractmethod - async def GetADRAlgorithms(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.networkServer_pb2.GetADRAlgorithmsRequest, chirpstack_api.as_pb.external.api.networkServer_pb2.GetADRAlgorithmsResponse]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/api.NetworkServerService/Create': grpclib.const.Handler( - self.Create, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.networkServer_pb2.CreateNetworkServerRequest, - chirpstack_api.as_pb.external.api.networkServer_pb2.CreateNetworkServerResponse, - ), - '/api.NetworkServerService/Get': grpclib.const.Handler( - self.Get, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.networkServer_pb2.GetNetworkServerRequest, - chirpstack_api.as_pb.external.api.networkServer_pb2.GetNetworkServerResponse, - ), - '/api.NetworkServerService/Update': grpclib.const.Handler( - self.Update, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.networkServer_pb2.UpdateNetworkServerRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.NetworkServerService/Delete': grpclib.const.Handler( - self.Delete, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.networkServer_pb2.DeleteNetworkServerRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.NetworkServerService/List': grpclib.const.Handler( - self.List, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.networkServer_pb2.ListNetworkServerRequest, - chirpstack_api.as_pb.external.api.networkServer_pb2.ListNetworkServerResponse, - ), - '/api.NetworkServerService/GetADRAlgorithms': grpclib.const.Handler( - self.GetADRAlgorithms, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.networkServer_pb2.GetADRAlgorithmsRequest, - chirpstack_api.as_pb.external.api.networkServer_pb2.GetADRAlgorithmsResponse, - ), - } - - -class NetworkServerServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.Create = grpclib.client.UnaryUnaryMethod( - channel, - '/api.NetworkServerService/Create', - chirpstack_api.as_pb.external.api.networkServer_pb2.CreateNetworkServerRequest, - chirpstack_api.as_pb.external.api.networkServer_pb2.CreateNetworkServerResponse, - ) - self.Get = grpclib.client.UnaryUnaryMethod( - channel, - '/api.NetworkServerService/Get', - chirpstack_api.as_pb.external.api.networkServer_pb2.GetNetworkServerRequest, - chirpstack_api.as_pb.external.api.networkServer_pb2.GetNetworkServerResponse, - ) - self.Update = grpclib.client.UnaryUnaryMethod( - channel, - '/api.NetworkServerService/Update', - chirpstack_api.as_pb.external.api.networkServer_pb2.UpdateNetworkServerRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Delete = grpclib.client.UnaryUnaryMethod( - channel, - '/api.NetworkServerService/Delete', - chirpstack_api.as_pb.external.api.networkServer_pb2.DeleteNetworkServerRequest, - google.protobuf.empty_pb2.Empty, - ) - self.List = grpclib.client.UnaryUnaryMethod( - channel, - '/api.NetworkServerService/List', - chirpstack_api.as_pb.external.api.networkServer_pb2.ListNetworkServerRequest, - chirpstack_api.as_pb.external.api.networkServer_pb2.ListNetworkServerResponse, - ) - self.GetADRAlgorithms = grpclib.client.UnaryUnaryMethod( - channel, - '/api.NetworkServerService/GetADRAlgorithms', - chirpstack_api.as_pb.external.api.networkServer_pb2.GetADRAlgorithmsRequest, - chirpstack_api.as_pb.external.api.networkServer_pb2.GetADRAlgorithmsResponse, - ) diff --git a/python/src/chirpstack_api/as_pb/external/api/organization_grpc.py b/python/src/chirpstack_api/as_pb/external/api/organization_grpc.py deleted file mode 100644 index 6e4b1799..00000000 --- a/python/src/chirpstack_api/as_pb/external/api/organization_grpc.py +++ /dev/null @@ -1,187 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/external/api/organization.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.api.annotations_pb2 -import google.protobuf.timestamp_pb2 -import google.protobuf.empty_pb2 -import chirpstack_api.as_pb.external.api.organization_pb2 - - -class OrganizationServiceBase(abc.ABC): - - @abc.abstractmethod - async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationRequest, chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationResponse]') -> None: - pass - - @abc.abstractmethod - async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationRequest, chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationResponse]') -> None: - pass - - @abc.abstractmethod - async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.CreateOrganizationRequest, chirpstack_api.as_pb.external.api.organization_pb2.CreateOrganizationResponse]') -> None: - pass - - @abc.abstractmethod - async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.UpdateOrganizationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.DeleteOrganizationRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def ListUsers(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationUsersRequest, chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationUsersResponse]') -> None: - pass - - @abc.abstractmethod - async def GetUser(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationUserRequest, chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationUserResponse]') -> None: - pass - - @abc.abstractmethod - async def AddUser(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.AddOrganizationUserRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def UpdateUser(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.UpdateOrganizationUserRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteUser(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.organization_pb2.DeleteOrganizationUserRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/api.OrganizationService/List': grpclib.const.Handler( - self.List, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationRequest, - chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationResponse, - ), - '/api.OrganizationService/Get': grpclib.const.Handler( - self.Get, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationRequest, - chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationResponse, - ), - '/api.OrganizationService/Create': grpclib.const.Handler( - self.Create, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.organization_pb2.CreateOrganizationRequest, - chirpstack_api.as_pb.external.api.organization_pb2.CreateOrganizationResponse, - ), - '/api.OrganizationService/Update': grpclib.const.Handler( - self.Update, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.organization_pb2.UpdateOrganizationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.OrganizationService/Delete': grpclib.const.Handler( - self.Delete, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.organization_pb2.DeleteOrganizationRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.OrganizationService/ListUsers': grpclib.const.Handler( - self.ListUsers, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationUsersRequest, - chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationUsersResponse, - ), - '/api.OrganizationService/GetUser': grpclib.const.Handler( - self.GetUser, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationUserRequest, - chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationUserResponse, - ), - '/api.OrganizationService/AddUser': grpclib.const.Handler( - self.AddUser, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.organization_pb2.AddOrganizationUserRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.OrganizationService/UpdateUser': grpclib.const.Handler( - self.UpdateUser, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.organization_pb2.UpdateOrganizationUserRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.OrganizationService/DeleteUser': grpclib.const.Handler( - self.DeleteUser, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.organization_pb2.DeleteOrganizationUserRequest, - google.protobuf.empty_pb2.Empty, - ), - } - - -class OrganizationServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.List = grpclib.client.UnaryUnaryMethod( - channel, - '/api.OrganizationService/List', - chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationRequest, - chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationResponse, - ) - self.Get = grpclib.client.UnaryUnaryMethod( - channel, - '/api.OrganizationService/Get', - chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationRequest, - chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationResponse, - ) - self.Create = grpclib.client.UnaryUnaryMethod( - channel, - '/api.OrganizationService/Create', - chirpstack_api.as_pb.external.api.organization_pb2.CreateOrganizationRequest, - chirpstack_api.as_pb.external.api.organization_pb2.CreateOrganizationResponse, - ) - self.Update = grpclib.client.UnaryUnaryMethod( - channel, - '/api.OrganizationService/Update', - chirpstack_api.as_pb.external.api.organization_pb2.UpdateOrganizationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Delete = grpclib.client.UnaryUnaryMethod( - channel, - '/api.OrganizationService/Delete', - chirpstack_api.as_pb.external.api.organization_pb2.DeleteOrganizationRequest, - google.protobuf.empty_pb2.Empty, - ) - self.ListUsers = grpclib.client.UnaryUnaryMethod( - channel, - '/api.OrganizationService/ListUsers', - chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationUsersRequest, - chirpstack_api.as_pb.external.api.organization_pb2.ListOrganizationUsersResponse, - ) - self.GetUser = grpclib.client.UnaryUnaryMethod( - channel, - '/api.OrganizationService/GetUser', - chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationUserRequest, - chirpstack_api.as_pb.external.api.organization_pb2.GetOrganizationUserResponse, - ) - self.AddUser = grpclib.client.UnaryUnaryMethod( - channel, - '/api.OrganizationService/AddUser', - chirpstack_api.as_pb.external.api.organization_pb2.AddOrganizationUserRequest, - google.protobuf.empty_pb2.Empty, - ) - self.UpdateUser = grpclib.client.UnaryUnaryMethod( - channel, - '/api.OrganizationService/UpdateUser', - chirpstack_api.as_pb.external.api.organization_pb2.UpdateOrganizationUserRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteUser = grpclib.client.UnaryUnaryMethod( - channel, - '/api.OrganizationService/DeleteUser', - chirpstack_api.as_pb.external.api.organization_pb2.DeleteOrganizationUserRequest, - google.protobuf.empty_pb2.Empty, - ) diff --git a/python/src/chirpstack_api/as_pb/external/api/profiles_grpc.py b/python/src/chirpstack_api/as_pb/external/api/profiles_grpc.py deleted file mode 100644 index 339e0886..00000000 --- a/python/src/chirpstack_api/as_pb/external/api/profiles_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/external/api/profiles.proto -# plugin: grpclib.plugin.main diff --git a/python/src/chirpstack_api/as_pb/external/api/serviceProfile_grpc.py b/python/src/chirpstack_api/as_pb/external/api/serviceProfile_grpc.py deleted file mode 100644 index a72953e8..00000000 --- a/python/src/chirpstack_api/as_pb/external/api/serviceProfile_grpc.py +++ /dev/null @@ -1,108 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/external/api/serviceProfile.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.api.annotations_pb2 -import google.protobuf.timestamp_pb2 -import google.protobuf.empty_pb2 -import chirpstack_api.as_pb.external.api.profiles_pb2 -import chirpstack_api.as_pb.external.api.serviceProfile_pb2 - - -class ServiceProfileServiceBase(abc.ABC): - - @abc.abstractmethod - async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.serviceProfile_pb2.CreateServiceProfileRequest, chirpstack_api.as_pb.external.api.serviceProfile_pb2.CreateServiceProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.serviceProfile_pb2.GetServiceProfileRequest, chirpstack_api.as_pb.external.api.serviceProfile_pb2.GetServiceProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.serviceProfile_pb2.UpdateServiceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.serviceProfile_pb2.DeleteServiceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.serviceProfile_pb2.ListServiceProfileRequest, chirpstack_api.as_pb.external.api.serviceProfile_pb2.ListServiceProfileResponse]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/api.ServiceProfileService/Create': grpclib.const.Handler( - self.Create, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.serviceProfile_pb2.CreateServiceProfileRequest, - chirpstack_api.as_pb.external.api.serviceProfile_pb2.CreateServiceProfileResponse, - ), - '/api.ServiceProfileService/Get': grpclib.const.Handler( - self.Get, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.serviceProfile_pb2.GetServiceProfileRequest, - chirpstack_api.as_pb.external.api.serviceProfile_pb2.GetServiceProfileResponse, - ), - '/api.ServiceProfileService/Update': grpclib.const.Handler( - self.Update, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.serviceProfile_pb2.UpdateServiceProfileRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ServiceProfileService/Delete': grpclib.const.Handler( - self.Delete, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.serviceProfile_pb2.DeleteServiceProfileRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.ServiceProfileService/List': grpclib.const.Handler( - self.List, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.serviceProfile_pb2.ListServiceProfileRequest, - chirpstack_api.as_pb.external.api.serviceProfile_pb2.ListServiceProfileResponse, - ), - } - - -class ServiceProfileServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.Create = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ServiceProfileService/Create', - chirpstack_api.as_pb.external.api.serviceProfile_pb2.CreateServiceProfileRequest, - chirpstack_api.as_pb.external.api.serviceProfile_pb2.CreateServiceProfileResponse, - ) - self.Get = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ServiceProfileService/Get', - chirpstack_api.as_pb.external.api.serviceProfile_pb2.GetServiceProfileRequest, - chirpstack_api.as_pb.external.api.serviceProfile_pb2.GetServiceProfileResponse, - ) - self.Update = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ServiceProfileService/Update', - chirpstack_api.as_pb.external.api.serviceProfile_pb2.UpdateServiceProfileRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Delete = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ServiceProfileService/Delete', - chirpstack_api.as_pb.external.api.serviceProfile_pb2.DeleteServiceProfileRequest, - google.protobuf.empty_pb2.Empty, - ) - self.List = grpclib.client.UnaryUnaryMethod( - channel, - '/api.ServiceProfileService/List', - chirpstack_api.as_pb.external.api.serviceProfile_pb2.ListServiceProfileRequest, - chirpstack_api.as_pb.external.api.serviceProfile_pb2.ListServiceProfileResponse, - ) diff --git a/python/src/chirpstack_api/as_pb/external/api/user_grpc.py b/python/src/chirpstack_api/as_pb/external/api/user_grpc.py deleted file mode 100644 index 5c51cbe6..00000000 --- a/python/src/chirpstack_api/as_pb/external/api/user_grpc.py +++ /dev/null @@ -1,123 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/as_pb/external/api/user.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.api.annotations_pb2 -import google.protobuf.timestamp_pb2 -import google.protobuf.empty_pb2 -import chirpstack_api.as_pb.external.api.user_pb2 - - -class UserServiceBase(abc.ABC): - - @abc.abstractmethod - async def List(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.user_pb2.ListUserRequest, chirpstack_api.as_pb.external.api.user_pb2.ListUserResponse]') -> None: - pass - - @abc.abstractmethod - async def Get(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.user_pb2.GetUserRequest, chirpstack_api.as_pb.external.api.user_pb2.GetUserResponse]') -> None: - pass - - @abc.abstractmethod - async def Create(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.user_pb2.CreateUserRequest, chirpstack_api.as_pb.external.api.user_pb2.CreateUserResponse]') -> None: - pass - - @abc.abstractmethod - async def Update(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.user_pb2.UpdateUserRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def Delete(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.user_pb2.DeleteUserRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def UpdatePassword(self, stream: 'grpclib.server.Stream[chirpstack_api.as_pb.external.api.user_pb2.UpdateUserPasswordRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/api.UserService/List': grpclib.const.Handler( - self.List, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.user_pb2.ListUserRequest, - chirpstack_api.as_pb.external.api.user_pb2.ListUserResponse, - ), - '/api.UserService/Get': grpclib.const.Handler( - self.Get, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.user_pb2.GetUserRequest, - chirpstack_api.as_pb.external.api.user_pb2.GetUserResponse, - ), - '/api.UserService/Create': grpclib.const.Handler( - self.Create, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.user_pb2.CreateUserRequest, - chirpstack_api.as_pb.external.api.user_pb2.CreateUserResponse, - ), - '/api.UserService/Update': grpclib.const.Handler( - self.Update, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.user_pb2.UpdateUserRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.UserService/Delete': grpclib.const.Handler( - self.Delete, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.user_pb2.DeleteUserRequest, - google.protobuf.empty_pb2.Empty, - ), - '/api.UserService/UpdatePassword': grpclib.const.Handler( - self.UpdatePassword, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.as_pb.external.api.user_pb2.UpdateUserPasswordRequest, - google.protobuf.empty_pb2.Empty, - ), - } - - -class UserServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.List = grpclib.client.UnaryUnaryMethod( - channel, - '/api.UserService/List', - chirpstack_api.as_pb.external.api.user_pb2.ListUserRequest, - chirpstack_api.as_pb.external.api.user_pb2.ListUserResponse, - ) - self.Get = grpclib.client.UnaryUnaryMethod( - channel, - '/api.UserService/Get', - chirpstack_api.as_pb.external.api.user_pb2.GetUserRequest, - chirpstack_api.as_pb.external.api.user_pb2.GetUserResponse, - ) - self.Create = grpclib.client.UnaryUnaryMethod( - channel, - '/api.UserService/Create', - chirpstack_api.as_pb.external.api.user_pb2.CreateUserRequest, - chirpstack_api.as_pb.external.api.user_pb2.CreateUserResponse, - ) - self.Update = grpclib.client.UnaryUnaryMethod( - channel, - '/api.UserService/Update', - chirpstack_api.as_pb.external.api.user_pb2.UpdateUserRequest, - google.protobuf.empty_pb2.Empty, - ) - self.Delete = grpclib.client.UnaryUnaryMethod( - channel, - '/api.UserService/Delete', - chirpstack_api.as_pb.external.api.user_pb2.DeleteUserRequest, - google.protobuf.empty_pb2.Empty, - ) - self.UpdatePassword = grpclib.client.UnaryUnaryMethod( - channel, - '/api.UserService/UpdatePassword', - chirpstack_api.as_pb.external.api.user_pb2.UpdateUserPasswordRequest, - google.protobuf.empty_pb2.Empty, - ) diff --git a/python/src/chirpstack_api/fuota/fuota_grpc.py b/python/src/chirpstack_api/fuota/fuota_grpc.py deleted file mode 100644 index deb61cbd..00000000 --- a/python/src/chirpstack_api/fuota/fuota_grpc.py +++ /dev/null @@ -1,74 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/fuota/fuota.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.protobuf.timestamp_pb2 -import google.protobuf.duration_pb2 -import chirpstack_api.fuota.fuota_pb2 - - -class FUOTAServerServiceBase(abc.ABC): - - @abc.abstractmethod - async def CreateDeployment(self, stream: 'grpclib.server.Stream[chirpstack_api.fuota.fuota_pb2.CreateDeploymentRequest, chirpstack_api.fuota.fuota_pb2.CreateDeploymentResponse]') -> None: - pass - - @abc.abstractmethod - async def GetDeploymentStatus(self, stream: 'grpclib.server.Stream[chirpstack_api.fuota.fuota_pb2.GetDeploymentStatusRequest, chirpstack_api.fuota.fuota_pb2.GetDeploymentStatusResponse]') -> None: - pass - - @abc.abstractmethod - async def GetDeploymentDeviceLogs(self, stream: 'grpclib.server.Stream[chirpstack_api.fuota.fuota_pb2.GetDeploymentDeviceLogsRequest, chirpstack_api.fuota.fuota_pb2.GetDeploymentDeviceLogsResponse]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/fuota.FUOTAServerService/CreateDeployment': grpclib.const.Handler( - self.CreateDeployment, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.fuota.fuota_pb2.CreateDeploymentRequest, - chirpstack_api.fuota.fuota_pb2.CreateDeploymentResponse, - ), - '/fuota.FUOTAServerService/GetDeploymentStatus': grpclib.const.Handler( - self.GetDeploymentStatus, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.fuota.fuota_pb2.GetDeploymentStatusRequest, - chirpstack_api.fuota.fuota_pb2.GetDeploymentStatusResponse, - ), - '/fuota.FUOTAServerService/GetDeploymentDeviceLogs': grpclib.const.Handler( - self.GetDeploymentDeviceLogs, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.fuota.fuota_pb2.GetDeploymentDeviceLogsRequest, - chirpstack_api.fuota.fuota_pb2.GetDeploymentDeviceLogsResponse, - ), - } - - -class FUOTAServerServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.CreateDeployment = grpclib.client.UnaryUnaryMethod( - channel, - '/fuota.FUOTAServerService/CreateDeployment', - chirpstack_api.fuota.fuota_pb2.CreateDeploymentRequest, - chirpstack_api.fuota.fuota_pb2.CreateDeploymentResponse, - ) - self.GetDeploymentStatus = grpclib.client.UnaryUnaryMethod( - channel, - '/fuota.FUOTAServerService/GetDeploymentStatus', - chirpstack_api.fuota.fuota_pb2.GetDeploymentStatusRequest, - chirpstack_api.fuota.fuota_pb2.GetDeploymentStatusResponse, - ) - self.GetDeploymentDeviceLogs = grpclib.client.UnaryUnaryMethod( - channel, - '/fuota.FUOTAServerService/GetDeploymentDeviceLogs', - chirpstack_api.fuota.fuota_pb2.GetDeploymentDeviceLogsRequest, - chirpstack_api.fuota.fuota_pb2.GetDeploymentDeviceLogsResponse, - ) diff --git a/python/src/chirpstack_api/geo/geo_grpc.py b/python/src/chirpstack_api/geo/geo_grpc.py deleted file mode 100644 index 0c05a493..00000000 --- a/python/src/chirpstack_api/geo/geo_grpc.py +++ /dev/null @@ -1,58 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/geo/geo.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import chirpstack_api.gw.gw_pb2 -import chirpstack_api.common.common_pb2 -import chirpstack_api.geo.geo_pb2 - - -class GeolocationServerServiceBase(abc.ABC): - - @abc.abstractmethod - async def ResolveTDOA(self, stream: 'grpclib.server.Stream[chirpstack_api.geo.geo_pb2.ResolveTDOARequest, chirpstack_api.geo.geo_pb2.ResolveTDOAResponse]') -> None: - pass - - @abc.abstractmethod - async def ResolveMultiFrameTDOA(self, stream: 'grpclib.server.Stream[chirpstack_api.geo.geo_pb2.ResolveMultiFrameTDOARequest, chirpstack_api.geo.geo_pb2.ResolveMultiFrameTDOAResponse]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/geo.GeolocationServerService/ResolveTDOA': grpclib.const.Handler( - self.ResolveTDOA, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.geo.geo_pb2.ResolveTDOARequest, - chirpstack_api.geo.geo_pb2.ResolveTDOAResponse, - ), - '/geo.GeolocationServerService/ResolveMultiFrameTDOA': grpclib.const.Handler( - self.ResolveMultiFrameTDOA, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.geo.geo_pb2.ResolveMultiFrameTDOARequest, - chirpstack_api.geo.geo_pb2.ResolveMultiFrameTDOAResponse, - ), - } - - -class GeolocationServerServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.ResolveTDOA = grpclib.client.UnaryUnaryMethod( - channel, - '/geo.GeolocationServerService/ResolveTDOA', - chirpstack_api.geo.geo_pb2.ResolveTDOARequest, - chirpstack_api.geo.geo_pb2.ResolveTDOAResponse, - ) - self.ResolveMultiFrameTDOA = grpclib.client.UnaryUnaryMethod( - channel, - '/geo.GeolocationServerService/ResolveMultiFrameTDOA', - chirpstack_api.geo.geo_pb2.ResolveMultiFrameTDOARequest, - chirpstack_api.geo.geo_pb2.ResolveMultiFrameTDOAResponse, - ) diff --git a/python/src/chirpstack_api/nc/nc_grpc.py b/python/src/chirpstack_api/nc/nc_grpc.py deleted file mode 100644 index e90df0e7..00000000 --- a/python/src/chirpstack_api/nc/nc_grpc.py +++ /dev/null @@ -1,90 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/nc/nc.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.protobuf.empty_pb2 -import chirpstack_api.gw.gw_pb2 -import chirpstack_api.nc.nc_pb2 - - -class NetworkControllerServiceBase(abc.ABC): - - @abc.abstractmethod - async def HandleUplinkMetaData(self, stream: 'grpclib.server.Stream[chirpstack_api.nc.nc_pb2.HandleUplinkMetaDataRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def HandleDownlinkMetaData(self, stream: 'grpclib.server.Stream[chirpstack_api.nc.nc_pb2.HandleDownlinkMetaDataRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def HandleUplinkMACCommand(self, stream: 'grpclib.server.Stream[chirpstack_api.nc.nc_pb2.HandleUplinkMACCommandRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def HandleRejectedUplinkFrameSet(self, stream: 'grpclib.server.Stream[chirpstack_api.nc.nc_pb2.HandleRejectedUplinkFrameSetRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/nc.NetworkControllerService/HandleUplinkMetaData': grpclib.const.Handler( - self.HandleUplinkMetaData, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.nc.nc_pb2.HandleUplinkMetaDataRequest, - google.protobuf.empty_pb2.Empty, - ), - '/nc.NetworkControllerService/HandleDownlinkMetaData': grpclib.const.Handler( - self.HandleDownlinkMetaData, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.nc.nc_pb2.HandleDownlinkMetaDataRequest, - google.protobuf.empty_pb2.Empty, - ), - '/nc.NetworkControllerService/HandleUplinkMACCommand': grpclib.const.Handler( - self.HandleUplinkMACCommand, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.nc.nc_pb2.HandleUplinkMACCommandRequest, - google.protobuf.empty_pb2.Empty, - ), - '/nc.NetworkControllerService/HandleRejectedUplinkFrameSet': grpclib.const.Handler( - self.HandleRejectedUplinkFrameSet, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.nc.nc_pb2.HandleRejectedUplinkFrameSetRequest, - google.protobuf.empty_pb2.Empty, - ), - } - - -class NetworkControllerServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.HandleUplinkMetaData = grpclib.client.UnaryUnaryMethod( - channel, - '/nc.NetworkControllerService/HandleUplinkMetaData', - chirpstack_api.nc.nc_pb2.HandleUplinkMetaDataRequest, - google.protobuf.empty_pb2.Empty, - ) - self.HandleDownlinkMetaData = grpclib.client.UnaryUnaryMethod( - channel, - '/nc.NetworkControllerService/HandleDownlinkMetaData', - chirpstack_api.nc.nc_pb2.HandleDownlinkMetaDataRequest, - google.protobuf.empty_pb2.Empty, - ) - self.HandleUplinkMACCommand = grpclib.client.UnaryUnaryMethod( - channel, - '/nc.NetworkControllerService/HandleUplinkMACCommand', - chirpstack_api.nc.nc_pb2.HandleUplinkMACCommandRequest, - google.protobuf.empty_pb2.Empty, - ) - self.HandleRejectedUplinkFrameSet = grpclib.client.UnaryUnaryMethod( - channel, - '/nc.NetworkControllerService/HandleRejectedUplinkFrameSet', - chirpstack_api.nc.nc_pb2.HandleRejectedUplinkFrameSetRequest, - google.protobuf.empty_pb2.Empty, - ) diff --git a/python/src/chirpstack_api/ns/ns_grpc.py b/python/src/chirpstack_api/ns/ns_grpc.py deleted file mode 100644 index 64f54bfd..00000000 --- a/python/src/chirpstack_api/ns/ns_grpc.py +++ /dev/null @@ -1,830 +0,0 @@ -# Generated by the Protocol Buffers compiler. DO NOT EDIT! -# source: chirpstack-api/ns/ns.proto -# plugin: grpclib.plugin.main -import abc -import typing - -import grpclib.const -import grpclib.client -if typing.TYPE_CHECKING: - import grpclib.server - -import google.protobuf.timestamp_pb2 -import google.protobuf.duration_pb2 -import google.protobuf.empty_pb2 -import chirpstack_api.common.common_pb2 -import chirpstack_api.gw.gw_pb2 -import chirpstack_api.ns.profiles_pb2 -import chirpstack_api.ns.ns_pb2 - - -class NetworkServerServiceBase(abc.ABC): - - @abc.abstractmethod - async def CreateServiceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateServiceProfileRequest, chirpstack_api.ns.ns_pb2.CreateServiceProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def GetServiceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetServiceProfileRequest, chirpstack_api.ns.ns_pb2.GetServiceProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateServiceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.UpdateServiceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteServiceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeleteServiceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def CreateRoutingProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateRoutingProfileRequest, chirpstack_api.ns.ns_pb2.CreateRoutingProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def GetRoutingProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetRoutingProfileRequest, chirpstack_api.ns.ns_pb2.GetRoutingProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateRoutingProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.UpdateRoutingProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteRoutingProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeleteRoutingProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def CreateDeviceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateDeviceProfileRequest, chirpstack_api.ns.ns_pb2.CreateDeviceProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def GetDeviceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetDeviceProfileRequest, chirpstack_api.ns.ns_pb2.GetDeviceProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateDeviceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.UpdateDeviceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteDeviceProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeleteDeviceProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def CreateDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetDeviceRequest, chirpstack_api.ns.ns_pb2.GetDeviceResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.UpdateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeleteDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def ActivateDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.ActivateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeactivateDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeactivateDeviceRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetDeviceActivation(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetDeviceActivationRequest, chirpstack_api.ns.ns_pb2.GetDeviceActivationResponse]') -> None: - pass - - @abc.abstractmethod - async def CreateDeviceQueueItem(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateDeviceQueueItemRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def FlushDeviceQueueForDevEUI(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.FlushDeviceQueueForDevEUIRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetDeviceQueueItemsForDevEUI(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetDeviceQueueItemsForDevEUIRequest, chirpstack_api.ns.ns_pb2.GetDeviceQueueItemsForDevEUIResponse]') -> None: - pass - - @abc.abstractmethod - async def GetNextDownlinkFCntForDevEUI(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetNextDownlinkFCntForDevEUIRequest, chirpstack_api.ns.ns_pb2.GetNextDownlinkFCntForDevEUIResponse]') -> None: - pass - - @abc.abstractmethod - async def GetRandomDevAddr(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, chirpstack_api.ns.ns_pb2.GetRandomDevAddrResponse]') -> None: - pass - - @abc.abstractmethod - async def CreateMACCommandQueueItem(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateMACCommandQueueItemRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def SendProprietaryPayload(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.SendProprietaryPayloadRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def CreateGateway(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateGatewayRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetGateway(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetGatewayRequest, chirpstack_api.ns.ns_pb2.GetGatewayResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateGateway(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.UpdateGatewayRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteGateway(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeleteGatewayRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GenerateGatewayClientCertificate(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GenerateGatewayClientCertificateRequest, chirpstack_api.ns.ns_pb2.GenerateGatewayClientCertificateResponse]') -> None: - pass - - @abc.abstractmethod - async def CreateGatewayProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateGatewayProfileRequest, chirpstack_api.ns.ns_pb2.CreateGatewayProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def GetGatewayProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetGatewayProfileRequest, chirpstack_api.ns.ns_pb2.GetGatewayProfileResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateGatewayProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.UpdateGatewayProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteGatewayProfile(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeleteGatewayProfileRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetGatewayStats(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetGatewayStatsRequest, chirpstack_api.ns.ns_pb2.GetGatewayStatsResponse]') -> None: - pass - - @abc.abstractmethod - async def StreamFrameLogsForGateway(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.StreamFrameLogsForGatewayRequest, chirpstack_api.ns.ns_pb2.StreamFrameLogsForGatewayResponse]') -> None: - pass - - @abc.abstractmethod - async def StreamFrameLogsForDevice(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.StreamFrameLogsForDeviceRequest, chirpstack_api.ns.ns_pb2.StreamFrameLogsForDeviceResponse]') -> None: - pass - - @abc.abstractmethod - async def CreateMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.CreateMulticastGroupRequest, chirpstack_api.ns.ns_pb2.CreateMulticastGroupResponse]') -> None: - pass - - @abc.abstractmethod - async def GetMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetMulticastGroupRequest, chirpstack_api.ns.ns_pb2.GetMulticastGroupResponse]') -> None: - pass - - @abc.abstractmethod - async def UpdateMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.UpdateMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def DeleteMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.DeleteMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def AddDeviceToMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.AddDeviceToMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def RemoveDeviceFromMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.RemoveDeviceFromMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def EnqueueMulticastQueueItem(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.EnqueueMulticastQueueItemRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def FlushMulticastQueueForMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.FlushMulticastQueueForMulticastGroupRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - @abc.abstractmethod - async def GetMulticastQueueItemsForMulticastGroup(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.GetMulticastQueueItemsForMulticastGroupRequest, chirpstack_api.ns.ns_pb2.GetMulticastQueueItemsForMulticastGroupResponse]') -> None: - pass - - @abc.abstractmethod - async def GetVersion(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, chirpstack_api.ns.ns_pb2.GetVersionResponse]') -> None: - pass - - @abc.abstractmethod - async def GetADRAlgorithms(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, chirpstack_api.ns.ns_pb2.GetADRAlgorithmsResponse]') -> None: - pass - - @abc.abstractmethod - async def ClearDeviceNonces(self, stream: 'grpclib.server.Stream[chirpstack_api.ns.ns_pb2.ClearDeviceNoncesRequest, google.protobuf.empty_pb2.Empty]') -> None: - pass - - def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return { - '/ns.NetworkServerService/CreateServiceProfile': grpclib.const.Handler( - self.CreateServiceProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.CreateServiceProfileRequest, - chirpstack_api.ns.ns_pb2.CreateServiceProfileResponse, - ), - '/ns.NetworkServerService/GetServiceProfile': grpclib.const.Handler( - self.GetServiceProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.GetServiceProfileRequest, - chirpstack_api.ns.ns_pb2.GetServiceProfileResponse, - ), - '/ns.NetworkServerService/UpdateServiceProfile': grpclib.const.Handler( - self.UpdateServiceProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.UpdateServiceProfileRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/DeleteServiceProfile': grpclib.const.Handler( - self.DeleteServiceProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.DeleteServiceProfileRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/CreateRoutingProfile': grpclib.const.Handler( - self.CreateRoutingProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.CreateRoutingProfileRequest, - chirpstack_api.ns.ns_pb2.CreateRoutingProfileResponse, - ), - '/ns.NetworkServerService/GetRoutingProfile': grpclib.const.Handler( - self.GetRoutingProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.GetRoutingProfileRequest, - chirpstack_api.ns.ns_pb2.GetRoutingProfileResponse, - ), - '/ns.NetworkServerService/UpdateRoutingProfile': grpclib.const.Handler( - self.UpdateRoutingProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.UpdateRoutingProfileRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/DeleteRoutingProfile': grpclib.const.Handler( - self.DeleteRoutingProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.DeleteRoutingProfileRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/CreateDeviceProfile': grpclib.const.Handler( - self.CreateDeviceProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.CreateDeviceProfileRequest, - chirpstack_api.ns.ns_pb2.CreateDeviceProfileResponse, - ), - '/ns.NetworkServerService/GetDeviceProfile': grpclib.const.Handler( - self.GetDeviceProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.GetDeviceProfileRequest, - chirpstack_api.ns.ns_pb2.GetDeviceProfileResponse, - ), - '/ns.NetworkServerService/UpdateDeviceProfile': grpclib.const.Handler( - self.UpdateDeviceProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.UpdateDeviceProfileRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/DeleteDeviceProfile': grpclib.const.Handler( - self.DeleteDeviceProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.DeleteDeviceProfileRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/CreateDevice': grpclib.const.Handler( - self.CreateDevice, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.CreateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/GetDevice': grpclib.const.Handler( - self.GetDevice, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.GetDeviceRequest, - chirpstack_api.ns.ns_pb2.GetDeviceResponse, - ), - '/ns.NetworkServerService/UpdateDevice': grpclib.const.Handler( - self.UpdateDevice, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.UpdateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/DeleteDevice': grpclib.const.Handler( - self.DeleteDevice, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.DeleteDeviceRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/ActivateDevice': grpclib.const.Handler( - self.ActivateDevice, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.ActivateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/DeactivateDevice': grpclib.const.Handler( - self.DeactivateDevice, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.DeactivateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/GetDeviceActivation': grpclib.const.Handler( - self.GetDeviceActivation, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.GetDeviceActivationRequest, - chirpstack_api.ns.ns_pb2.GetDeviceActivationResponse, - ), - '/ns.NetworkServerService/CreateDeviceQueueItem': grpclib.const.Handler( - self.CreateDeviceQueueItem, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.CreateDeviceQueueItemRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/FlushDeviceQueueForDevEUI': grpclib.const.Handler( - self.FlushDeviceQueueForDevEUI, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.FlushDeviceQueueForDevEUIRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/GetDeviceQueueItemsForDevEUI': grpclib.const.Handler( - self.GetDeviceQueueItemsForDevEUI, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.GetDeviceQueueItemsForDevEUIRequest, - chirpstack_api.ns.ns_pb2.GetDeviceQueueItemsForDevEUIResponse, - ), - '/ns.NetworkServerService/GetNextDownlinkFCntForDevEUI': grpclib.const.Handler( - self.GetNextDownlinkFCntForDevEUI, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.GetNextDownlinkFCntForDevEUIRequest, - chirpstack_api.ns.ns_pb2.GetNextDownlinkFCntForDevEUIResponse, - ), - '/ns.NetworkServerService/GetRandomDevAddr': grpclib.const.Handler( - self.GetRandomDevAddr, - grpclib.const.Cardinality.UNARY_UNARY, - google.protobuf.empty_pb2.Empty, - chirpstack_api.ns.ns_pb2.GetRandomDevAddrResponse, - ), - '/ns.NetworkServerService/CreateMACCommandQueueItem': grpclib.const.Handler( - self.CreateMACCommandQueueItem, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.CreateMACCommandQueueItemRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/SendProprietaryPayload': grpclib.const.Handler( - self.SendProprietaryPayload, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.SendProprietaryPayloadRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/CreateGateway': grpclib.const.Handler( - self.CreateGateway, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.CreateGatewayRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/GetGateway': grpclib.const.Handler( - self.GetGateway, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.GetGatewayRequest, - chirpstack_api.ns.ns_pb2.GetGatewayResponse, - ), - '/ns.NetworkServerService/UpdateGateway': grpclib.const.Handler( - self.UpdateGateway, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.UpdateGatewayRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/DeleteGateway': grpclib.const.Handler( - self.DeleteGateway, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.DeleteGatewayRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/GenerateGatewayClientCertificate': grpclib.const.Handler( - self.GenerateGatewayClientCertificate, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.GenerateGatewayClientCertificateRequest, - chirpstack_api.ns.ns_pb2.GenerateGatewayClientCertificateResponse, - ), - '/ns.NetworkServerService/CreateGatewayProfile': grpclib.const.Handler( - self.CreateGatewayProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.CreateGatewayProfileRequest, - chirpstack_api.ns.ns_pb2.CreateGatewayProfileResponse, - ), - '/ns.NetworkServerService/GetGatewayProfile': grpclib.const.Handler( - self.GetGatewayProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.GetGatewayProfileRequest, - chirpstack_api.ns.ns_pb2.GetGatewayProfileResponse, - ), - '/ns.NetworkServerService/UpdateGatewayProfile': grpclib.const.Handler( - self.UpdateGatewayProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.UpdateGatewayProfileRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/DeleteGatewayProfile': grpclib.const.Handler( - self.DeleteGatewayProfile, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.DeleteGatewayProfileRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/GetGatewayStats': grpclib.const.Handler( - self.GetGatewayStats, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.GetGatewayStatsRequest, - chirpstack_api.ns.ns_pb2.GetGatewayStatsResponse, - ), - '/ns.NetworkServerService/StreamFrameLogsForGateway': grpclib.const.Handler( - self.StreamFrameLogsForGateway, - grpclib.const.Cardinality.UNARY_STREAM, - chirpstack_api.ns.ns_pb2.StreamFrameLogsForGatewayRequest, - chirpstack_api.ns.ns_pb2.StreamFrameLogsForGatewayResponse, - ), - '/ns.NetworkServerService/StreamFrameLogsForDevice': grpclib.const.Handler( - self.StreamFrameLogsForDevice, - grpclib.const.Cardinality.UNARY_STREAM, - chirpstack_api.ns.ns_pb2.StreamFrameLogsForDeviceRequest, - chirpstack_api.ns.ns_pb2.StreamFrameLogsForDeviceResponse, - ), - '/ns.NetworkServerService/CreateMulticastGroup': grpclib.const.Handler( - self.CreateMulticastGroup, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.CreateMulticastGroupRequest, - chirpstack_api.ns.ns_pb2.CreateMulticastGroupResponse, - ), - '/ns.NetworkServerService/GetMulticastGroup': grpclib.const.Handler( - self.GetMulticastGroup, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.GetMulticastGroupRequest, - chirpstack_api.ns.ns_pb2.GetMulticastGroupResponse, - ), - '/ns.NetworkServerService/UpdateMulticastGroup': grpclib.const.Handler( - self.UpdateMulticastGroup, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.UpdateMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/DeleteMulticastGroup': grpclib.const.Handler( - self.DeleteMulticastGroup, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.DeleteMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/AddDeviceToMulticastGroup': grpclib.const.Handler( - self.AddDeviceToMulticastGroup, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.AddDeviceToMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/RemoveDeviceFromMulticastGroup': grpclib.const.Handler( - self.RemoveDeviceFromMulticastGroup, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.RemoveDeviceFromMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/EnqueueMulticastQueueItem': grpclib.const.Handler( - self.EnqueueMulticastQueueItem, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.EnqueueMulticastQueueItemRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/FlushMulticastQueueForMulticastGroup': grpclib.const.Handler( - self.FlushMulticastQueueForMulticastGroup, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.FlushMulticastQueueForMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ), - '/ns.NetworkServerService/GetMulticastQueueItemsForMulticastGroup': grpclib.const.Handler( - self.GetMulticastQueueItemsForMulticastGroup, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.GetMulticastQueueItemsForMulticastGroupRequest, - chirpstack_api.ns.ns_pb2.GetMulticastQueueItemsForMulticastGroupResponse, - ), - '/ns.NetworkServerService/GetVersion': grpclib.const.Handler( - self.GetVersion, - grpclib.const.Cardinality.UNARY_UNARY, - google.protobuf.empty_pb2.Empty, - chirpstack_api.ns.ns_pb2.GetVersionResponse, - ), - '/ns.NetworkServerService/GetADRAlgorithms': grpclib.const.Handler( - self.GetADRAlgorithms, - grpclib.const.Cardinality.UNARY_UNARY, - google.protobuf.empty_pb2.Empty, - chirpstack_api.ns.ns_pb2.GetADRAlgorithmsResponse, - ), - '/ns.NetworkServerService/ClearDeviceNonces': grpclib.const.Handler( - self.ClearDeviceNonces, - grpclib.const.Cardinality.UNARY_UNARY, - chirpstack_api.ns.ns_pb2.ClearDeviceNoncesRequest, - google.protobuf.empty_pb2.Empty, - ), - } - - -class NetworkServerServiceStub: - - def __init__(self, channel: grpclib.client.Channel) -> None: - self.CreateServiceProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/CreateServiceProfile', - chirpstack_api.ns.ns_pb2.CreateServiceProfileRequest, - chirpstack_api.ns.ns_pb2.CreateServiceProfileResponse, - ) - self.GetServiceProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetServiceProfile', - chirpstack_api.ns.ns_pb2.GetServiceProfileRequest, - chirpstack_api.ns.ns_pb2.GetServiceProfileResponse, - ) - self.UpdateServiceProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/UpdateServiceProfile', - chirpstack_api.ns.ns_pb2.UpdateServiceProfileRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteServiceProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/DeleteServiceProfile', - chirpstack_api.ns.ns_pb2.DeleteServiceProfileRequest, - google.protobuf.empty_pb2.Empty, - ) - self.CreateRoutingProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/CreateRoutingProfile', - chirpstack_api.ns.ns_pb2.CreateRoutingProfileRequest, - chirpstack_api.ns.ns_pb2.CreateRoutingProfileResponse, - ) - self.GetRoutingProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetRoutingProfile', - chirpstack_api.ns.ns_pb2.GetRoutingProfileRequest, - chirpstack_api.ns.ns_pb2.GetRoutingProfileResponse, - ) - self.UpdateRoutingProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/UpdateRoutingProfile', - chirpstack_api.ns.ns_pb2.UpdateRoutingProfileRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteRoutingProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/DeleteRoutingProfile', - chirpstack_api.ns.ns_pb2.DeleteRoutingProfileRequest, - google.protobuf.empty_pb2.Empty, - ) - self.CreateDeviceProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/CreateDeviceProfile', - chirpstack_api.ns.ns_pb2.CreateDeviceProfileRequest, - chirpstack_api.ns.ns_pb2.CreateDeviceProfileResponse, - ) - self.GetDeviceProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetDeviceProfile', - chirpstack_api.ns.ns_pb2.GetDeviceProfileRequest, - chirpstack_api.ns.ns_pb2.GetDeviceProfileResponse, - ) - self.UpdateDeviceProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/UpdateDeviceProfile', - chirpstack_api.ns.ns_pb2.UpdateDeviceProfileRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteDeviceProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/DeleteDeviceProfile', - chirpstack_api.ns.ns_pb2.DeleteDeviceProfileRequest, - google.protobuf.empty_pb2.Empty, - ) - self.CreateDevice = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/CreateDevice', - chirpstack_api.ns.ns_pb2.CreateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetDevice = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetDevice', - chirpstack_api.ns.ns_pb2.GetDeviceRequest, - chirpstack_api.ns.ns_pb2.GetDeviceResponse, - ) - self.UpdateDevice = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/UpdateDevice', - chirpstack_api.ns.ns_pb2.UpdateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteDevice = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/DeleteDevice', - chirpstack_api.ns.ns_pb2.DeleteDeviceRequest, - google.protobuf.empty_pb2.Empty, - ) - self.ActivateDevice = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/ActivateDevice', - chirpstack_api.ns.ns_pb2.ActivateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeactivateDevice = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/DeactivateDevice', - chirpstack_api.ns.ns_pb2.DeactivateDeviceRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetDeviceActivation = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetDeviceActivation', - chirpstack_api.ns.ns_pb2.GetDeviceActivationRequest, - chirpstack_api.ns.ns_pb2.GetDeviceActivationResponse, - ) - self.CreateDeviceQueueItem = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/CreateDeviceQueueItem', - chirpstack_api.ns.ns_pb2.CreateDeviceQueueItemRequest, - google.protobuf.empty_pb2.Empty, - ) - self.FlushDeviceQueueForDevEUI = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/FlushDeviceQueueForDevEUI', - chirpstack_api.ns.ns_pb2.FlushDeviceQueueForDevEUIRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetDeviceQueueItemsForDevEUI = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetDeviceQueueItemsForDevEUI', - chirpstack_api.ns.ns_pb2.GetDeviceQueueItemsForDevEUIRequest, - chirpstack_api.ns.ns_pb2.GetDeviceQueueItemsForDevEUIResponse, - ) - self.GetNextDownlinkFCntForDevEUI = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetNextDownlinkFCntForDevEUI', - chirpstack_api.ns.ns_pb2.GetNextDownlinkFCntForDevEUIRequest, - chirpstack_api.ns.ns_pb2.GetNextDownlinkFCntForDevEUIResponse, - ) - self.GetRandomDevAddr = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetRandomDevAddr', - google.protobuf.empty_pb2.Empty, - chirpstack_api.ns.ns_pb2.GetRandomDevAddrResponse, - ) - self.CreateMACCommandQueueItem = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/CreateMACCommandQueueItem', - chirpstack_api.ns.ns_pb2.CreateMACCommandQueueItemRequest, - google.protobuf.empty_pb2.Empty, - ) - self.SendProprietaryPayload = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/SendProprietaryPayload', - chirpstack_api.ns.ns_pb2.SendProprietaryPayloadRequest, - google.protobuf.empty_pb2.Empty, - ) - self.CreateGateway = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/CreateGateway', - chirpstack_api.ns.ns_pb2.CreateGatewayRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetGateway = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetGateway', - chirpstack_api.ns.ns_pb2.GetGatewayRequest, - chirpstack_api.ns.ns_pb2.GetGatewayResponse, - ) - self.UpdateGateway = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/UpdateGateway', - chirpstack_api.ns.ns_pb2.UpdateGatewayRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteGateway = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/DeleteGateway', - chirpstack_api.ns.ns_pb2.DeleteGatewayRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GenerateGatewayClientCertificate = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GenerateGatewayClientCertificate', - chirpstack_api.ns.ns_pb2.GenerateGatewayClientCertificateRequest, - chirpstack_api.ns.ns_pb2.GenerateGatewayClientCertificateResponse, - ) - self.CreateGatewayProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/CreateGatewayProfile', - chirpstack_api.ns.ns_pb2.CreateGatewayProfileRequest, - chirpstack_api.ns.ns_pb2.CreateGatewayProfileResponse, - ) - self.GetGatewayProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetGatewayProfile', - chirpstack_api.ns.ns_pb2.GetGatewayProfileRequest, - chirpstack_api.ns.ns_pb2.GetGatewayProfileResponse, - ) - self.UpdateGatewayProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/UpdateGatewayProfile', - chirpstack_api.ns.ns_pb2.UpdateGatewayProfileRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteGatewayProfile = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/DeleteGatewayProfile', - chirpstack_api.ns.ns_pb2.DeleteGatewayProfileRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetGatewayStats = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetGatewayStats', - chirpstack_api.ns.ns_pb2.GetGatewayStatsRequest, - chirpstack_api.ns.ns_pb2.GetGatewayStatsResponse, - ) - self.StreamFrameLogsForGateway = grpclib.client.UnaryStreamMethod( - channel, - '/ns.NetworkServerService/StreamFrameLogsForGateway', - chirpstack_api.ns.ns_pb2.StreamFrameLogsForGatewayRequest, - chirpstack_api.ns.ns_pb2.StreamFrameLogsForGatewayResponse, - ) - self.StreamFrameLogsForDevice = grpclib.client.UnaryStreamMethod( - channel, - '/ns.NetworkServerService/StreamFrameLogsForDevice', - chirpstack_api.ns.ns_pb2.StreamFrameLogsForDeviceRequest, - chirpstack_api.ns.ns_pb2.StreamFrameLogsForDeviceResponse, - ) - self.CreateMulticastGroup = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/CreateMulticastGroup', - chirpstack_api.ns.ns_pb2.CreateMulticastGroupRequest, - chirpstack_api.ns.ns_pb2.CreateMulticastGroupResponse, - ) - self.GetMulticastGroup = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetMulticastGroup', - chirpstack_api.ns.ns_pb2.GetMulticastGroupRequest, - chirpstack_api.ns.ns_pb2.GetMulticastGroupResponse, - ) - self.UpdateMulticastGroup = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/UpdateMulticastGroup', - chirpstack_api.ns.ns_pb2.UpdateMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ) - self.DeleteMulticastGroup = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/DeleteMulticastGroup', - chirpstack_api.ns.ns_pb2.DeleteMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ) - self.AddDeviceToMulticastGroup = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/AddDeviceToMulticastGroup', - chirpstack_api.ns.ns_pb2.AddDeviceToMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ) - self.RemoveDeviceFromMulticastGroup = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/RemoveDeviceFromMulticastGroup', - chirpstack_api.ns.ns_pb2.RemoveDeviceFromMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ) - self.EnqueueMulticastQueueItem = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/EnqueueMulticastQueueItem', - chirpstack_api.ns.ns_pb2.EnqueueMulticastQueueItemRequest, - google.protobuf.empty_pb2.Empty, - ) - self.FlushMulticastQueueForMulticastGroup = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/FlushMulticastQueueForMulticastGroup', - chirpstack_api.ns.ns_pb2.FlushMulticastQueueForMulticastGroupRequest, - google.protobuf.empty_pb2.Empty, - ) - self.GetMulticastQueueItemsForMulticastGroup = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetMulticastQueueItemsForMulticastGroup', - chirpstack_api.ns.ns_pb2.GetMulticastQueueItemsForMulticastGroupRequest, - chirpstack_api.ns.ns_pb2.GetMulticastQueueItemsForMulticastGroupResponse, - ) - self.GetVersion = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetVersion', - google.protobuf.empty_pb2.Empty, - chirpstack_api.ns.ns_pb2.GetVersionResponse, - ) - self.GetADRAlgorithms = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/GetADRAlgorithms', - google.protobuf.empty_pb2.Empty, - chirpstack_api.ns.ns_pb2.GetADRAlgorithmsResponse, - ) - self.ClearDeviceNonces = grpclib.client.UnaryUnaryMethod( - channel, - '/ns.NetworkServerService/ClearDeviceNonces', - chirpstack_api.ns.ns_pb2.ClearDeviceNoncesRequest, - google.protobuf.empty_pb2.Empty, - )