From 295cd5e4b1d2f6002e5795a8ccde947d171e5bac Mon Sep 17 00:00:00 2001 From: Orne Brocaar Date: Mon, 4 Sep 2023 15:06:38 +0100 Subject: [PATCH] Bump version to 4.5.0-test.1 --- Cargo.lock | 10 +- api/grpc-web/package.json | 2 +- api/java/build.gradle.kts | 2 +- api/js/package.json | 2 +- api/kotlin/build.gradle.kts | 2 +- .../src/chirpstack_api/api/application_pb2.py | 335 ++--- .../chirpstack_api/api/application_pb2.pyi | 1009 ++++++------- .../src/chirpstack_api/api/device_pb2.py | 167 +-- .../src/chirpstack_api/api/device_pb2.pyi | 516 +++---- .../chirpstack_api/api/device_profile_pb2.py | 91 +- .../chirpstack_api/api/device_profile_pb2.pyi | 446 +++--- .../api/device_profile_template_pb2.py | 55 +- .../api/device_profile_template_pb2.pyi | 258 ++-- .../src/chirpstack_api/api/frame_log_pb2.py | 15 +- .../src/chirpstack_api/api/frame_log_pb2.pyi | 64 +- .../src/chirpstack_api/api/gateway_pb2.py | 79 +- .../src/chirpstack_api/api/gateway_pb2.pyi | 259 ++-- .../src/chirpstack_api/api/internal_pb2.py | 139 +- .../src/chirpstack_api/api/internal_pb2.pyi | 414 +++--- .../chirpstack_api/api/multicast_group_pb2.py | 99 +- .../api/multicast_group_pb2.pyi | 282 ++-- .../src/chirpstack_api/api/relay_pb2.py | 43 +- .../src/chirpstack_api/api/relay_pb2.pyi | 94 +- .../src/chirpstack_api/api/request_log_pb2.py | 15 +- .../chirpstack_api/api/request_log_pb2.pyi | 10 +- .../src/chirpstack_api/api/tenant_pb2.py | 87 +- .../src/chirpstack_api/api/tenant_pb2.pyi | 240 ++-- api/python/src/chirpstack_api/api/user_pb2.py | 59 +- .../src/chirpstack_api/api/user_pb2.pyi | 132 +- .../src/chirpstack_api/common/common_pb2.py | 59 +- .../src/chirpstack_api/common/common_pb2.pyi | 225 +-- api/python/src/chirpstack_api/gw/gw_pb2.py | 191 +-- api/python/src/chirpstack_api/gw/gw_pb2.pyi | 923 ++++++------ .../integration/integration_pb2.py | 67 +- .../integration/integration_pb2.pyi | 345 ++--- .../src/chirpstack_api/meta/meta_pb2.py | 15 +- .../src/chirpstack_api/meta/meta_pb2.pyi | 62 +- api/python/src/setup.py | 2 +- api/rust/Cargo.lock | 1245 +++++++++++++++++ api/rust/Cargo.toml | 2 +- backend/Cargo.toml | 2 +- chirpstack/Cargo.toml | 2 +- lrwn-filters/Cargo.toml | 2 +- lrwn/Cargo.toml | 2 +- ui/package.json | 2 +- 45 files changed, 4743 insertions(+), 3329 deletions(-) create mode 100644 api/rust/Cargo.lock diff --git a/Cargo.lock b/Cargo.lock index 9b2f0518..9146ba99 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -741,7 +741,7 @@ dependencies = [ [[package]] name = "backend" -version = "4.4.3" +version = "4.5.0-test.1" dependencies = [ "aes-kw", "anyhow", @@ -980,7 +980,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chirpstack" -version = "4.4.3" +version = "4.5.0-test.1" dependencies = [ "aes", "anyhow", @@ -1060,7 +1060,7 @@ dependencies = [ [[package]] name = "chirpstack_api" -version = "4.4.3" +version = "4.5.0-test.1" dependencies = [ "hex", "pbjson", @@ -2471,7 +2471,7 @@ dependencies = [ [[package]] name = "lrwn" -version = "4.4.3" +version = "4.5.0-test.1" dependencies = [ "aes", "anyhow", @@ -2485,7 +2485,7 @@ dependencies = [ [[package]] name = "lrwn_filters" -version = "4.4.3" +version = "4.5.0-test.1" dependencies = [ "hex", "lrwn", diff --git a/api/grpc-web/package.json b/api/grpc-web/package.json index 6c883972..e32af069 100644 --- a/api/grpc-web/package.json +++ b/api/grpc-web/package.json @@ -1,6 +1,6 @@ { "name": "@chirpstack/chirpstack-api-grpc-web", - "version": "4.4.3", + "version": "4.5.0-test.1", "description": "Chirpstack gRPC-web API", "license": "MIT", "devDependencies": { diff --git a/api/java/build.gradle.kts b/api/java/build.gradle.kts index 1a81bfbb..f823feac 100644 --- a/api/java/build.gradle.kts +++ b/api/java/build.gradle.kts @@ -8,7 +8,7 @@ plugins { } group = "io.chirpstack" -version = "4.4.3" +version = "4.5.0-test.1" repositories { mavenCentral() diff --git a/api/js/package.json b/api/js/package.json index 63b6f728..8e1918b4 100644 --- a/api/js/package.json +++ b/api/js/package.json @@ -1,6 +1,6 @@ { "name": "@chirpstack/chirpstack-api", - "version": "4.4.3", + "version": "4.5.0-test.1", "description": "Chirpstack JS and TS API", "license": "MIT", "devDependencies": { diff --git a/api/kotlin/build.gradle.kts b/api/kotlin/build.gradle.kts index 5c202de0..c32d33f1 100644 --- a/api/kotlin/build.gradle.kts +++ b/api/kotlin/build.gradle.kts @@ -9,7 +9,7 @@ plugins { } group = "io.chirpstack" -version = "4.4.3" +version = "4.5.0-test.1" repositories { mavenCentral() diff --git a/api/python/src/chirpstack_api/api/application_pb2.py b/api/python/src/chirpstack_api/api/application_pb2.py index 582b94af..a45966e1 100644 --- a/api/python/src/chirpstack_api/api/application_pb2.py +++ b/api/python/src/chirpstack_api/api/application_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/api/application.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,8 +18,9 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$chirpstack-api/api/application.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\"O\n\x0b\x41pplication\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x11\n\ttenant_id\x18\x04 \x01(\t\"\xa4\x01\n\x13\x41pplicationListItem\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\"A\n\x18\x43reateApplicationRequest\x12%\n\x0b\x61pplication\x18\x01 \x01(\x0b\x32\x10.api.Application\"\'\n\x19\x43reateApplicationResponse\x12\n\n\x02id\x18\x01 \x01(\t\"#\n\x15GetApplicationRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\xb9\x01\n\x16GetApplicationResponse\x12%\n\x0b\x61pplication\x18\x01 \x01(\x0b\x32\x10.api.Application\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10measurement_keys\x18\x04 \x03(\t\"A\n\x18UpdateApplicationRequest\x12%\n\x0b\x61pplication\x18\x01 \x01(\x0b\x32\x10.api.Application\"&\n\x18\x44\x65leteApplicationRequest\x12\n\n\x02id\x18\x01 \x01(\t\"[\n\x17ListApplicationsRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x0e\n\x06search\x18\x03 \x01(\t\x12\x11\n\ttenant_id\x18\x04 \x01(\t\"Y\n\x18ListApplicationsResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12(\n\x06result\x18\x02 \x03(\x0b\x32\x18.api.ApplicationListItem\"1\n\x17ListIntegrationsRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"9\n\x13IntegrationListItem\x12\"\n\x04kind\x18\x01 \x01(\x0e\x32\x14.api.IntegrationKind\"Y\n\x18ListIntegrationsResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12(\n\x06result\x18\x02 \x03(\x0b\x32\x18.api.IntegrationListItem\"\xca\x01\n\x0fHttpIntegration\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\x12\x32\n\x07headers\x18\x02 \x03(\x0b\x32!.api.HttpIntegration.HeadersEntry\x12\x1f\n\x08\x65ncoding\x18\x03 \x01(\x0e\x32\r.api.Encoding\x12\x1a\n\x12\x65vent_endpoint_url\x18\x04 \x01(\t\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"I\n\x1c\x43reateHttpIntegrationRequest\x12)\n\x0bintegration\x18\x01 \x01(\x0b\x32\x14.api.HttpIntegration\"3\n\x19GetHttpIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"G\n\x1aGetHttpIntegrationResponse\x12)\n\x0bintegration\x18\x01 \x01(\x0b\x32\x14.api.HttpIntegration\"I\n\x1cUpdateHttpIntegrationRequest\x12)\n\x0bintegration\x18\x01 \x01(\x0b\x32\x14.api.HttpIntegration\"6\n\x1c\x44\x65leteHttpIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"\x95\x02\n\x13InfluxDbIntegration\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\x12\n\n\x02\x64\x62\x18\x03 \x01(\t\x12\x10\n\x08username\x18\x04 \x01(\t\x12\x10\n\x08password\x18\x05 \x01(\t\x12\x1d\n\x15retention_policy_name\x18\x06 \x01(\t\x12)\n\tprecision\x18\x07 \x01(\x0e\x32\x16.api.InfluxDbPrecision\x12%\n\x07version\x18\x08 \x01(\x0e\x32\x14.api.InfluxDbVersion\x12\r\n\x05token\x18\t \x01(\t\x12\x14\n\x0corganization\x18\n \x01(\t\x12\x0e\n\x06\x62ucket\x18\x0b \x01(\t\"Q\n CreateInfluxDbIntegrationRequest\x12-\n\x0bintegration\x18\x01 \x01(\x0b\x32\x18.api.InfluxDbIntegration\"7\n\x1dGetInfluxDbIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"O\n\x1eGetInfluxDbIntegrationResponse\x12-\n\x0bintegration\x18\x01 \x01(\x0b\x32\x18.api.InfluxDbIntegration\"Q\n UpdateInfluxDbIntegrationRequest\x12-\n\x0bintegration\x18\x01 \x01(\x0b\x32\x18.api.InfluxDbIntegration\":\n DeleteInfluxDbIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"@\n\x16ThingsBoardIntegration\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\x12\x0e\n\x06server\x18\x02 \x01(\t\"W\n#CreateThingsBoardIntegrationRequest\x12\x30\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1b.api.ThingsBoardIntegration\":\n GetThingsBoardIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"U\n!GetThingsBoardIntegrationResponse\x12\x30\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1b.api.ThingsBoardIntegration\"W\n#UpdateThingsBoardIntegrationRequest\x12\x30\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1b.api.ThingsBoardIntegration\"=\n#DeleteThingsBoardIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"@\n\x14MyDevicesIntegration\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\"S\n!CreateMyDevicesIntegrationRequest\x12.\n\x0bintegration\x18\x01 \x01(\x0b\x32\x19.api.MyDevicesIntegration\"8\n\x1eGetMyDevicesIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"Q\n\x1fGetMyDevicesIntegrationResponse\x12.\n\x0bintegration\x18\x01 \x01(\x0b\x32\x19.api.MyDevicesIntegration\"S\n!UpdateMyDevicesIntegrationRequest\x12.\n\x0bintegration\x18\x01 \x01(\x0b\x32\x19.api.MyDevicesIntegration\";\n!DeleteMyDevicesIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"z\n\x14LoraCloudIntegration\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\x12J\n\x1amodem_geolocation_services\x18\x02 \x01(\x0b\x32&.api.LoraCloudModemGeolocationServices\"\xd5\x03\n!LoraCloudModemGeolocationServices\x12\r\n\x05token\x18\x01 \x01(\t\x12\x15\n\rmodem_enabled\x18\x02 \x01(\x08\x12\x17\n\x0f\x66orward_f_ports\x18\x10 \x03(\r\x12\x18\n\x10gnss_use_rx_time\x18\x05 \x01(\x08\x12!\n\x19gnss_use_gateway_location\x18\x11 \x01(\x08\x12\x11\n\tparse_tlv\x18\x06 \x01(\x08\x12\x1e\n\x16geolocation_buffer_ttl\x18\x07 \x01(\r\x12#\n\x1bgeolocation_min_buffer_size\x18\x08 \x01(\r\x12\x18\n\x10geolocation_tdoa\x18\t \x01(\x08\x12\x18\n\x10geolocation_rssi\x18\n \x01(\x08\x12\x18\n\x10geolocation_gnss\x18\x0b \x01(\x08\x12&\n\x1egeolocation_gnss_payload_field\x18\x0c \x01(\t\x12$\n\x1cgeolocation_gnss_use_rx_time\x18\r \x01(\x08\x12\x18\n\x10geolocation_wifi\x18\x0e \x01(\x08\x12&\n\x1egeolocation_wifi_payload_field\x18\x0f \x01(\t\"S\n!CreateLoraCloudIntegrationRequest\x12.\n\x0bintegration\x18\x01 \x01(\x0b\x32\x19.api.LoraCloudIntegration\"8\n\x1eGetLoraCloudIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"Q\n\x1fGetLoraCloudIntegrationResponse\x12.\n\x0bintegration\x18\x01 \x01(\x0b\x32\x19.api.LoraCloudIntegration\"S\n!UpdateLoraCloudIntegrationRequest\x12.\n\x0bintegration\x18\x01 \x01(\x0b\x32\x19.api.LoraCloudIntegration\";\n!DeleteLoraCloudIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"\x91\x01\n\x14GcpPubSubIntegration\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\x12\x1f\n\x08\x65ncoding\x18\x02 \x01(\x0e\x32\r.api.Encoding\x12\x18\n\x10\x63redentials_file\x18\x03 \x01(\t\x12\x12\n\nproject_id\x18\x04 \x01(\t\x12\x12\n\ntopic_name\x18\x05 \x01(\t\"S\n!CreateGcpPubSubIntegrationRequest\x12.\n\x0bintegration\x18\x01 \x01(\x0b\x32\x19.api.GcpPubSubIntegration\"8\n\x1eGetGcpPubSubIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"Q\n\x1fGetGcpPubSubIntegrationResponse\x12.\n\x0bintegration\x18\x01 \x01(\x0b\x32\x19.api.GcpPubSubIntegration\"S\n!UpdateGcpPubSubIntegrationRequest\x12.\n\x0bintegration\x18\x01 \x01(\x0b\x32\x19.api.GcpPubSubIntegration\";\n!DeleteGcpPubSubIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"\xa1\x01\n\x11\x41wsSnsIntegration\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\x12\x1f\n\x08\x65ncoding\x18\x02 \x01(\x0e\x32\r.api.Encoding\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x15\n\raccess_key_id\x18\x04 \x01(\t\x12\x19\n\x11secret_access_key\x18\x05 \x01(\t\x12\x11\n\ttopic_arn\x18\x06 \x01(\t\"M\n\x1e\x43reateAwsSnsIntegrationRequest\x12+\n\x0bintegration\x18\x01 \x01(\x0b\x32\x16.api.AwsSnsIntegration\"5\n\x1bGetAwsSnsIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"K\n\x1cGetAwsSnsIntegrationResponse\x12+\n\x0bintegration\x18\x01 \x01(\x0b\x32\x16.api.AwsSnsIntegration\"M\n\x1eUpdateAwsSnsIntegrationRequest\x12+\n\x0bintegration\x18\x01 \x01(\x0b\x32\x16.api.AwsSnsIntegration\"8\n\x1e\x44\x65leteAwsSnsIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"\x86\x01\n\x1a\x41zureServiceBusIntegration\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\x12\x1f\n\x08\x65ncoding\x18\x02 \x01(\x0e\x32\r.api.Encoding\x12\x19\n\x11\x63onnection_string\x18\x03 \x01(\t\x12\x14\n\x0cpublish_name\x18\x04 \x01(\t\"_\n\'CreateAzureServiceBusIntegrationRequest\x12\x34\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1f.api.AzureServiceBusIntegration\">\n$GetAzureServiceBusIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"]\n%GetAzureServiceBusIntegrationResponse\x12\x34\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1f.api.AzureServiceBusIntegration\"_\n\'UpdateAzureServiceBusIntegrationRequest\x12\x34\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1f.api.AzureServiceBusIntegration\"A\n\'DeleteAzureServiceBusIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"O\n\x16PilotThingsIntegration\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\x12\x0e\n\x06server\x18\x02 \x01(\t\x12\r\n\x05token\x18\x03 \x01(\t\"W\n#CreatePilotThingsIntegrationRequest\x12\x30\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1b.api.PilotThingsIntegration\":\n GetPilotThingsIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"U\n!GetPilotThingsIntegrationResponse\x12\x30\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1b.api.PilotThingsIntegration\"W\n#UpdatePilotThingsIntegrationRequest\x12\x30\n\x0bintegration\x18\x01 \x01(\x0b\x32\x1b.api.PilotThingsIntegration\"=\n#DeletePilotThingsIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"|\n\x10IftttIntegration\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\x15\n\ruplink_values\x18\x03 \x03(\t\x12\x16\n\x0e\x61rbitrary_json\x18\x04 \x01(\x08\x12\x14\n\x0c\x65vent_prefix\x18\x05 \x01(\t\"K\n\x1d\x43reateIftttIntegrationRequest\x12*\n\x0bintegration\x18\x01 \x01(\x0b\x32\x15.api.IftttIntegration\"4\n\x1aGetIftttIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"I\n\x1bGetIftttIntegrationResponse\x12*\n\x0bintegration\x18\x01 \x01(\x0b\x32\x15.api.IftttIntegration\"K\n\x1dUpdateIftttIntegrationRequest\x12*\n\x0bintegration\x18\x01 \x01(\x0b\x32\x15.api.IftttIntegration\"7\n\x1d\x44\x65leteIftttIntegrationRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"I\n/GenerateMqttIntegrationClientCertificateRequest\x12\x16\n\x0e\x61pplication_id\x18\x01 \x01(\t\"\x96\x01\n0GenerateMqttIntegrationClientCertificateResponse\x12\x10\n\x08tls_cert\x18\x01 \x01(\t\x12\x0f\n\x07tls_key\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61_cert\x18\x03 \x01(\t\x12.\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp*\"\n\x08\x45ncoding\x12\x08\n\x04JSON\x10\x00\x12\x0c\n\x08PROTOBUF\x10\x01*\xbf\x01\n\x0fIntegrationKind\x12\x08\n\x04HTTP\x10\x00\x12\r\n\tINFLUX_DB\x10\x01\x12\x10\n\x0cTHINGS_BOARD\x10\x02\x12\x0e\n\nMY_DEVICES\x10\x03\x12\x0e\n\nLORA_CLOUD\x10\x04\x12\x0f\n\x0bGCP_PUB_SUB\x10\x05\x12\x0b\n\x07\x41WS_SNS\x10\x06\x12\x15\n\x11\x41ZURE_SERVICE_BUS\x10\x07\x12\x10\n\x0cPILOT_THINGS\x10\x08\x12\x0f\n\x0bMQTT_GLOBAL\x10\t\x12\t\n\x05IFTTT\x10\n*?\n\x11InfluxDbPrecision\x12\x06\n\x02NS\x10\x00\x12\x05\n\x01U\x10\x01\x12\x06\n\x02MS\x10\x02\x12\x05\n\x01S\x10\x03\x12\x05\n\x01M\x10\x04\x12\x05\n\x01H\x10\x05*1\n\x0fInfluxDbVersion\x12\x0e\n\nINFLUXDB_1\x10\x00\x12\x0e\n\nINFLUXDB_2\x10\x01\x32\xb8<\n\x12\x41pplicationService\x12\x65\n\x06\x43reate\x12\x1d.api.CreateApplicationRequest\x1a\x1e.api.CreateApplicationResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/api/applications:\x01*\x12^\n\x03Get\x12\x1a.api.GetApplicationRequest\x1a\x1b.api.GetApplicationResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/api/applications/{id}\x12n\n\x06Update\x12\x1d.api.UpdateApplicationRequest\x1a\x16.google.protobuf.Empty\"-\x82\xd3\xe4\x93\x02\'\x1a\"/api/applications/{application.id}:\x01*\x12_\n\x06\x44\x65lete\x12\x1d.api.DeleteApplicationRequest\x1a\x16.google.protobuf.Empty\"\x1e\x82\xd3\xe4\x93\x02\x18*\x16/api/applications/{id}\x12^\n\x04List\x12\x1c.api.ListApplicationsRequest\x1a\x1d.api.ListApplicationsResponse\"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/api/applications\x12\x88\x01\n\x10ListIntegrations\x12\x1c.api.ListIntegrationsRequest\x1a\x1d.api.ListIntegrationsResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//api/applications/{application_id}/integrations\x12\x9f\x01\n\x15\x43reateHttpIntegration\x12!.api.CreateHttpIntegrationRequest\x1a\x16.google.protobuf.Empty\"K\x82\xd3\xe4\x93\x02\x45\"@/api/applications/{integration.application_id}/integrations/http:\x01*\x12\x93\x01\n\x12GetHttpIntegration\x12\x1e.api.GetHttpIntegrationRequest\x1a\x1f.api.GetHttpIntegrationResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/api/applications/{application_id}/integrations/http\x12\x9f\x01\n\x15UpdateHttpIntegration\x12!.api.UpdateHttpIntegrationRequest\x1a\x16.google.protobuf.Empty\"K\x82\xd3\xe4\x93\x02\x45\x1a@/api/applications/{integration.application_id}/integrations/http:\x01*\x12\x90\x01\n\x15\x44\x65leteHttpIntegration\x12!.api.DeleteHttpIntegrationRequest\x1a\x16.google.protobuf.Empty\"<\x82\xd3\xe4\x93\x02\x36*4/api/applications/{application_id}/integrations/http\x12\xab\x01\n\x19\x43reateInfluxDbIntegration\x12%.api.CreateInfluxDbIntegrationRequest\x1a\x16.google.protobuf.Empty\"O\x82\xd3\xe4\x93\x02I\"D/api/applications/{integration.application_id}/integrations/influxdb:\x01*\x12\xa3\x01\n\x16GetInfluxDbIntegration\x12\".api.GetInfluxDbIntegrationRequest\x1a#.api.GetInfluxDbIntegrationResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/api/applications/{application_id}/integrations/influxdb\x12\xab\x01\n\x19UpdateInfluxDbIntegration\x12%.api.UpdateInfluxDbIntegrationRequest\x1a\x16.google.protobuf.Empty\"O\x82\xd3\xe4\x93\x02I\x1a\x44/api/applications/{integration.application_id}/integrations/influxdb:\x01*\x12\x9c\x01\n\x19\x44\x65leteInfluxDbIntegration\x12%.api.DeleteInfluxDbIntegrationRequest\x1a\x16.google.protobuf.Empty\"@\x82\xd3\xe4\x93\x02:*8/api/applications/{application_id}/integrations/influxdb\x12\xb4\x01\n\x1c\x43reateThingsBoardIntegration\x12(.api.CreateThingsBoardIntegrationRequest\x1a\x16.google.protobuf.Empty\"R\x82\xd3\xe4\x93\x02L\"G/api/applications/{integration.application_id}/integrations/thingsboard:\x01*\x12\xaf\x01\n\x19GetThingsBoardIntegration\x12%.api.GetThingsBoardIntegrationRequest\x1a&.api.GetThingsBoardIntegrationResponse\"C\x82\xd3\xe4\x93\x02=\x12;/api/applications/{application_id}/integrations/thingsboard\x12\xb4\x01\n\x1cUpdateThingsBoardIntegration\x12(.api.UpdateThingsBoardIntegrationRequest\x1a\x16.google.protobuf.Empty\"R\x82\xd3\xe4\x93\x02L\x1aG/api/applications/{integration.application_id}/integrations/thingsboard:\x01*\x12\xa5\x01\n\x1c\x44\x65leteThingsBoardIntegration\x12(.api.DeleteThingsBoardIntegrationRequest\x1a\x16.google.protobuf.Empty\"C\x82\xd3\xe4\x93\x02=*;/api/applications/{application_id}/integrations/thingsboard\x12\xae\x01\n\x1a\x43reateMyDevicesIntegration\x12&.api.CreateMyDevicesIntegrationRequest\x1a\x16.google.protobuf.Empty\"P\x82\xd3\xe4\x93\x02J\"E/api/applications/{integration.application_id}/integrations/mydevices:\x01*\x12\xa7\x01\n\x17GetMyDevicesIntegration\x12#.api.GetMyDevicesIntegrationRequest\x1a$.api.GetMyDevicesIntegrationResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/api/applications/{application_id}/integrations/mydevices\x12\xae\x01\n\x1aUpdateMyDevicesIntegration\x12&.api.UpdateMyDevicesIntegrationRequest\x1a\x16.google.protobuf.Empty\"P\x82\xd3\xe4\x93\x02J\x1a\x45/api/applications/{integration.application_id}/integrations/mydevices:\x01*\x12\x9f\x01\n\x1a\x44\x65leteMyDevicesIntegration\x12&.api.DeleteMyDevicesIntegrationRequest\x1a\x16.google.protobuf.Empty\"A\x82\xd3\xe4\x93\x02;*9/api/applications/{application_id}/integrations/mydevices\x12\xae\x01\n\x1a\x43reateLoraCloudIntegration\x12&.api.CreateLoraCloudIntegrationRequest\x1a\x16.google.protobuf.Empty\"P\x82\xd3\xe4\x93\x02J\"E/api/applications/{integration.application_id}/integrations/loracloud:\x01*\x12\xa7\x01\n\x17GetLoraCloudIntegration\x12#.api.GetLoraCloudIntegrationRequest\x1a$.api.GetLoraCloudIntegrationResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/api/applications/{application_id}/integrations/loracloud\x12\xae\x01\n\x1aUpdateLoraCloudIntegration\x12&.api.UpdateLoraCloudIntegrationRequest\x1a\x16.google.protobuf.Empty\"P\x82\xd3\xe4\x93\x02J\x1a\x45/api/applications/{integration.application_id}/integrations/loracloud:\x01*\x12\x9f\x01\n\x1a\x44\x65leteLoraCloudIntegration\x12&.api.DeleteLoraCloudIntegrationRequest\x1a\x16.google.protobuf.Empty\"A\x82\xd3\xe4\x93\x02;*9/api/applications/{application_id}/integrations/loracloud\x12\xb0\x01\n\x1a\x43reateGcpPubSubIntegration\x12&.api.CreateGcpPubSubIntegrationRequest\x1a\x16.google.protobuf.Empty\"R\x82\xd3\xe4\x93\x02L\"G/api/applications/{integration.application_id}/integrations/gcp-pub-sub:\x01*\x12\xa9\x01\n\x17GetGcpPubSubIntegration\x12#.api.GetGcpPubSubIntegrationRequest\x1a$.api.GetGcpPubSubIntegrationResponse\"C\x82\xd3\xe4\x93\x02=\x12;/api/applications/{application_id}/integrations/gcp-pub-sub\x12\xb0\x01\n\x1aUpdateGcpPubSubIntegration\x12&.api.UpdateGcpPubSubIntegrationRequest\x1a\x16.google.protobuf.Empty\"R\x82\xd3\xe4\x93\x02L\x1aG/api/applications/{integration.application_id}/integrations/gcp-pub-sub:\x01*\x12\xa1\x01\n\x1a\x44\x65leteGcpPubSubIntegration\x12&.api.DeleteGcpPubSubIntegrationRequest\x1a\x16.google.protobuf.Empty\"C\x82\xd3\xe4\x93\x02=*;/api/applications/{application_id}/integrations/gcp-pub-sub\x12\xa6\x01\n\x17\x43reateAwsSnsIntegration\x12#.api.CreateAwsSnsIntegrationRequest\x1a\x16.google.protobuf.Empty\"N\x82\xd3\xe4\x93\x02H\"C/api/applications/{integration.application_id}/integrations/aws-sns:\x01*\x12\x9c\x01\n\x14GetAwsSnsIntegration\x12 .api.GetAwsSnsIntegrationRequest\x1a!.api.GetAwsSnsIntegrationResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/api/applications/{application_id}/integrations/aws-sns\x12\xa6\x01\n\x17UpdateAwsSnsIntegration\x12#.api.UpdateAwsSnsIntegrationRequest\x1a\x16.google.protobuf.Empty\"N\x82\xd3\xe4\x93\x02H\x1a\x43/api/applications/{integration.application_id}/integrations/aws-sns:\x01*\x12\x97\x01\n\x17\x44\x65leteAwsSnsIntegration\x12#.api.DeleteAwsSnsIntegrationRequest\x1a\x16.google.protobuf.Empty\"?\x82\xd3\xe4\x93\x02\x39*7/api/applications/{application_id}/integrations/aws-sns\x12\xc2\x01\n CreateAzureServiceBusIntegration\x12,.api.CreateAzureServiceBusIntegrationRequest\x1a\x16.google.protobuf.Empty\"X\x82\xd3\xe4\x93\x02R\"M/api/applications/{integration.application_id}/integrations/azure-service-bus:\x01*\x12\xc1\x01\n\x1dGetAzureServiceBusIntegration\x12).api.GetAzureServiceBusIntegrationRequest\x1a*.api.GetAzureServiceBusIntegrationResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/api/applications/{application_id}/integrations/azure-service-bus\x12\xc2\x01\n UpdateAzureServiceBusIntegration\x12,.api.UpdateAzureServiceBusIntegrationRequest\x1a\x16.google.protobuf.Empty\"X\x82\xd3\xe4\x93\x02R\x1aM/api/applications/{integration.application_id}/integrations/azure-service-bus:\x01*\x12\xb3\x01\n DeleteAzureServiceBusIntegration\x12,.api.DeleteAzureServiceBusIntegrationRequest\x1a\x16.google.protobuf.Empty\"I\x82\xd3\xe4\x93\x02\x43*A/api/applications/{application_id}/integrations/azure-service-bus\x12\xb5\x01\n\x1c\x43reatePilotThingsIntegration\x12(.api.CreatePilotThingsIntegrationRequest\x1a\x16.google.protobuf.Empty\"S\x82\xd3\xe4\x93\x02M\"H/api/applications/{integration.application_id}/integrations/pilot-things:\x01*\x12\xb0\x01\n\x19GetPilotThingsIntegration\x12%.api.GetPilotThingsIntegrationRequest\x1a&.api.GetPilotThingsIntegrationResponse\"D\x82\xd3\xe4\x93\x02>\x12* None: ... class ApplicationListItem(_message.Message): - __slots__ = ["created_at", "description", "id", "name", "updated_at"] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["id", "created_at", "updated_at", "name", "description"] ID_FIELD_NUMBER: _ClassVar[int] - NAME_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp - description: str + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] id: str - name: str + created_at: _timestamp_pb2.Timestamp updated_at: _timestamp_pb2.Timestamp + name: str + description: str def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ...) -> None: ... -class AwsSnsIntegration(_message.Message): - __slots__ = ["access_key_id", "application_id", "encoding", "region", "secret_access_key", "topic_arn"] - ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - ENCODING_FIELD_NUMBER: _ClassVar[int] - REGION_FIELD_NUMBER: _ClassVar[int] - SECRET_ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] - TOPIC_ARN_FIELD_NUMBER: _ClassVar[int] - access_key_id: str - application_id: str - encoding: Encoding - region: str - secret_access_key: str - topic_arn: str - def __init__(self, application_id: _Optional[str] = ..., encoding: _Optional[_Union[Encoding, str]] = ..., region: _Optional[str] = ..., access_key_id: _Optional[str] = ..., secret_access_key: _Optional[str] = ..., topic_arn: _Optional[str] = ...) -> None: ... - -class AzureServiceBusIntegration(_message.Message): - __slots__ = ["application_id", "connection_string", "encoding", "publish_name"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - CONNECTION_STRING_FIELD_NUMBER: _ClassVar[int] - ENCODING_FIELD_NUMBER: _ClassVar[int] - PUBLISH_NAME_FIELD_NUMBER: _ClassVar[int] - application_id: str - connection_string: str - encoding: Encoding - publish_name: str - def __init__(self, application_id: _Optional[str] = ..., encoding: _Optional[_Union[Encoding, str]] = ..., connection_string: _Optional[str] = ..., publish_name: _Optional[str] = ...) -> None: ... - class CreateApplicationRequest(_message.Message): __slots__ = ["application"] APPLICATION_FIELD_NUMBER: _ClassVar[int] @@ -96,164 +101,6 @@ class CreateApplicationResponse(_message.Message): id: str def __init__(self, id: _Optional[str] = ...) -> None: ... -class CreateAwsSnsIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: AwsSnsIntegration - def __init__(self, integration: _Optional[_Union[AwsSnsIntegration, _Mapping]] = ...) -> None: ... - -class CreateAzureServiceBusIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: AzureServiceBusIntegration - def __init__(self, integration: _Optional[_Union[AzureServiceBusIntegration, _Mapping]] = ...) -> None: ... - -class CreateGcpPubSubIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: GcpPubSubIntegration - def __init__(self, integration: _Optional[_Union[GcpPubSubIntegration, _Mapping]] = ...) -> None: ... - -class CreateHttpIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: HttpIntegration - def __init__(self, integration: _Optional[_Union[HttpIntegration, _Mapping]] = ...) -> None: ... - -class CreateIftttIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: IftttIntegration - def __init__(self, integration: _Optional[_Union[IftttIntegration, _Mapping]] = ...) -> None: ... - -class CreateInfluxDbIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: InfluxDbIntegration - def __init__(self, integration: _Optional[_Union[InfluxDbIntegration, _Mapping]] = ...) -> None: ... - -class CreateLoraCloudIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: LoraCloudIntegration - def __init__(self, integration: _Optional[_Union[LoraCloudIntegration, _Mapping]] = ...) -> None: ... - -class CreateMyDevicesIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: MyDevicesIntegration - def __init__(self, integration: _Optional[_Union[MyDevicesIntegration, _Mapping]] = ...) -> None: ... - -class CreatePilotThingsIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: PilotThingsIntegration - def __init__(self, integration: _Optional[_Union[PilotThingsIntegration, _Mapping]] = ...) -> None: ... - -class CreateThingsBoardIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: ThingsBoardIntegration - def __init__(self, integration: _Optional[_Union[ThingsBoardIntegration, _Mapping]] = ...) -> None: ... - -class DeleteApplicationRequest(_message.Message): - __slots__ = ["id"] - ID_FIELD_NUMBER: _ClassVar[int] - id: str - def __init__(self, id: _Optional[str] = ...) -> None: ... - -class DeleteAwsSnsIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class DeleteAzureServiceBusIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class DeleteGcpPubSubIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class DeleteHttpIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class DeleteIftttIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class DeleteInfluxDbIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class DeleteLoraCloudIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class DeleteMyDevicesIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class DeletePilotThingsIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class DeleteThingsBoardIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class GcpPubSubIntegration(_message.Message): - __slots__ = ["application_id", "credentials_file", "encoding", "project_id", "topic_name"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - CREDENTIALS_FILE_FIELD_NUMBER: _ClassVar[int] - ENCODING_FIELD_NUMBER: _ClassVar[int] - PROJECT_ID_FIELD_NUMBER: _ClassVar[int] - TOPIC_NAME_FIELD_NUMBER: _ClassVar[int] - application_id: str - credentials_file: str - encoding: Encoding - project_id: str - topic_name: str - def __init__(self, application_id: _Optional[str] = ..., encoding: _Optional[_Union[Encoding, str]] = ..., credentials_file: _Optional[str] = ..., project_id: _Optional[str] = ..., topic_name: _Optional[str] = ...) -> None: ... - -class GenerateMqttIntegrationClientCertificateRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class GenerateMqttIntegrationClientCertificateResponse(_message.Message): - __slots__ = ["ca_cert", "expires_at", "tls_cert", "tls_key"] - CA_CERT_FIELD_NUMBER: _ClassVar[int] - EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] - TLS_CERT_FIELD_NUMBER: _ClassVar[int] - TLS_KEY_FIELD_NUMBER: _ClassVar[int] - ca_cert: str - expires_at: _timestamp_pb2.Timestamp - tls_cert: str - tls_key: str - def __init__(self, tls_cert: _Optional[str] = ..., tls_key: _Optional[str] = ..., ca_cert: _Optional[str] = ..., expires_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... - class GetApplicationRequest(_message.Message): __slots__ = ["id"] ID_FIELD_NUMBER: _ClassVar[int] @@ -261,201 +108,28 @@ class GetApplicationRequest(_message.Message): def __init__(self, id: _Optional[str] = ...) -> None: ... class GetApplicationResponse(_message.Message): - __slots__ = ["application", "created_at", "measurement_keys", "updated_at"] + __slots__ = ["application", "created_at", "updated_at", "measurement_keys"] APPLICATION_FIELD_NUMBER: _ClassVar[int] CREATED_AT_FIELD_NUMBER: _ClassVar[int] - MEASUREMENT_KEYS_FIELD_NUMBER: _ClassVar[int] UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + MEASUREMENT_KEYS_FIELD_NUMBER: _ClassVar[int] application: Application created_at: _timestamp_pb2.Timestamp - measurement_keys: _containers.RepeatedScalarFieldContainer[str] updated_at: _timestamp_pb2.Timestamp + measurement_keys: _containers.RepeatedScalarFieldContainer[str] def __init__(self, application: _Optional[_Union[Application, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., measurement_keys: _Optional[_Iterable[str]] = ...) -> None: ... -class GetAwsSnsIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... +class UpdateApplicationRequest(_message.Message): + __slots__ = ["application"] + APPLICATION_FIELD_NUMBER: _ClassVar[int] + application: Application + def __init__(self, application: _Optional[_Union[Application, _Mapping]] = ...) -> None: ... -class GetAwsSnsIntegrationResponse(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: AwsSnsIntegration - def __init__(self, integration: _Optional[_Union[AwsSnsIntegration, _Mapping]] = ...) -> None: ... - -class GetAzureServiceBusIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class GetAzureServiceBusIntegrationResponse(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: AzureServiceBusIntegration - def __init__(self, integration: _Optional[_Union[AzureServiceBusIntegration, _Mapping]] = ...) -> None: ... - -class GetGcpPubSubIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class GetGcpPubSubIntegrationResponse(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: GcpPubSubIntegration - def __init__(self, integration: _Optional[_Union[GcpPubSubIntegration, _Mapping]] = ...) -> None: ... - -class GetHttpIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class GetHttpIntegrationResponse(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: HttpIntegration - def __init__(self, integration: _Optional[_Union[HttpIntegration, _Mapping]] = ...) -> None: ... - -class GetIftttIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class GetIftttIntegrationResponse(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: IftttIntegration - def __init__(self, integration: _Optional[_Union[IftttIntegration, _Mapping]] = ...) -> None: ... - -class GetInfluxDbIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class GetInfluxDbIntegrationResponse(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: InfluxDbIntegration - def __init__(self, integration: _Optional[_Union[InfluxDbIntegration, _Mapping]] = ...) -> None: ... - -class GetLoraCloudIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class GetLoraCloudIntegrationResponse(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: LoraCloudIntegration - def __init__(self, integration: _Optional[_Union[LoraCloudIntegration, _Mapping]] = ...) -> None: ... - -class GetMyDevicesIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class GetMyDevicesIntegrationResponse(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: MyDevicesIntegration - def __init__(self, integration: _Optional[_Union[MyDevicesIntegration, _Mapping]] = ...) -> None: ... - -class GetPilotThingsIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class GetPilotThingsIntegrationResponse(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: PilotThingsIntegration - def __init__(self, integration: _Optional[_Union[PilotThingsIntegration, _Mapping]] = ...) -> None: ... - -class GetThingsBoardIntegrationRequest(_message.Message): - __slots__ = ["application_id"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - application_id: str - def __init__(self, application_id: _Optional[str] = ...) -> None: ... - -class GetThingsBoardIntegrationResponse(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: ThingsBoardIntegration - def __init__(self, integration: _Optional[_Union[ThingsBoardIntegration, _Mapping]] = ...) -> None: ... - -class HttpIntegration(_message.Message): - __slots__ = ["application_id", "encoding", "event_endpoint_url", "headers"] - class HeadersEntry(_message.Message): - __slots__ = ["key", "value"] - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: str - value: str - def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - ENCODING_FIELD_NUMBER: _ClassVar[int] - EVENT_ENDPOINT_URL_FIELD_NUMBER: _ClassVar[int] - HEADERS_FIELD_NUMBER: _ClassVar[int] - application_id: str - encoding: Encoding - event_endpoint_url: str - headers: _containers.ScalarMap[str, str] - def __init__(self, application_id: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ..., encoding: _Optional[_Union[Encoding, str]] = ..., event_endpoint_url: _Optional[str] = ...) -> None: ... - -class IftttIntegration(_message.Message): - __slots__ = ["application_id", "arbitrary_json", "event_prefix", "key", "uplink_values"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - ARBITRARY_JSON_FIELD_NUMBER: _ClassVar[int] - EVENT_PREFIX_FIELD_NUMBER: _ClassVar[int] - KEY_FIELD_NUMBER: _ClassVar[int] - UPLINK_VALUES_FIELD_NUMBER: _ClassVar[int] - application_id: str - arbitrary_json: bool - event_prefix: str - key: str - uplink_values: _containers.RepeatedScalarFieldContainer[str] - def __init__(self, application_id: _Optional[str] = ..., key: _Optional[str] = ..., uplink_values: _Optional[_Iterable[str]] = ..., arbitrary_json: bool = ..., event_prefix: _Optional[str] = ...) -> None: ... - -class InfluxDbIntegration(_message.Message): - __slots__ = ["application_id", "bucket", "db", "endpoint", "organization", "password", "precision", "retention_policy_name", "token", "username", "version"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - BUCKET_FIELD_NUMBER: _ClassVar[int] - DB_FIELD_NUMBER: _ClassVar[int] - ENDPOINT_FIELD_NUMBER: _ClassVar[int] - ORGANIZATION_FIELD_NUMBER: _ClassVar[int] - PASSWORD_FIELD_NUMBER: _ClassVar[int] - PRECISION_FIELD_NUMBER: _ClassVar[int] - RETENTION_POLICY_NAME_FIELD_NUMBER: _ClassVar[int] - TOKEN_FIELD_NUMBER: _ClassVar[int] - USERNAME_FIELD_NUMBER: _ClassVar[int] - VERSION_FIELD_NUMBER: _ClassVar[int] - application_id: str - bucket: str - db: str - endpoint: str - organization: str - password: str - precision: InfluxDbPrecision - retention_policy_name: str - token: str - username: str - version: InfluxDbVersion - def __init__(self, application_id: _Optional[str] = ..., endpoint: _Optional[str] = ..., db: _Optional[str] = ..., username: _Optional[str] = ..., password: _Optional[str] = ..., retention_policy_name: _Optional[str] = ..., precision: _Optional[_Union[InfluxDbPrecision, str]] = ..., version: _Optional[_Union[InfluxDbVersion, str]] = ..., token: _Optional[str] = ..., organization: _Optional[str] = ..., bucket: _Optional[str] = ...) -> None: ... - -class IntegrationListItem(_message.Message): - __slots__ = ["kind"] - KIND_FIELD_NUMBER: _ClassVar[int] - kind: IntegrationKind - def __init__(self, kind: _Optional[_Union[IntegrationKind, str]] = ...) -> None: ... +class DeleteApplicationRequest(_message.Message): + __slots__ = ["id"] + ID_FIELD_NUMBER: _ClassVar[int] + id: str + def __init__(self, id: _Optional[str] = ...) -> None: ... class ListApplicationsRequest(_message.Message): __slots__ = ["limit", "offset", "search", "tenant_id"] @@ -470,11 +144,11 @@ class ListApplicationsRequest(_message.Message): def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., tenant_id: _Optional[str] = ...) -> None: ... class ListApplicationsResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["total_count", "result"] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[ApplicationListItem] + RESULT_FIELD_NUMBER: _ClassVar[int] total_count: int + result: _containers.RepeatedCompositeFieldContainer[ApplicationListItem] def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[ApplicationListItem, _Mapping]]] = ...) -> None: ... class ListIntegrationsRequest(_message.Message): @@ -483,14 +157,201 @@ class ListIntegrationsRequest(_message.Message): application_id: str def __init__(self, application_id: _Optional[str] = ...) -> None: ... +class IntegrationListItem(_message.Message): + __slots__ = ["kind"] + KIND_FIELD_NUMBER: _ClassVar[int] + kind: IntegrationKind + def __init__(self, kind: _Optional[_Union[IntegrationKind, str]] = ...) -> None: ... + class ListIntegrationsResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["total_count", "result"] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[IntegrationListItem] + RESULT_FIELD_NUMBER: _ClassVar[int] total_count: int + result: _containers.RepeatedCompositeFieldContainer[IntegrationListItem] def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[IntegrationListItem, _Mapping]]] = ...) -> None: ... +class HttpIntegration(_message.Message): + __slots__ = ["application_id", "headers", "encoding", "event_endpoint_url"] + class HeadersEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + HEADERS_FIELD_NUMBER: _ClassVar[int] + ENCODING_FIELD_NUMBER: _ClassVar[int] + EVENT_ENDPOINT_URL_FIELD_NUMBER: _ClassVar[int] + application_id: str + headers: _containers.ScalarMap[str, str] + encoding: Encoding + event_endpoint_url: str + def __init__(self, application_id: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ..., encoding: _Optional[_Union[Encoding, str]] = ..., event_endpoint_url: _Optional[str] = ...) -> None: ... + +class CreateHttpIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: HttpIntegration + def __init__(self, integration: _Optional[_Union[HttpIntegration, _Mapping]] = ...) -> None: ... + +class GetHttpIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class GetHttpIntegrationResponse(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: HttpIntegration + def __init__(self, integration: _Optional[_Union[HttpIntegration, _Mapping]] = ...) -> None: ... + +class UpdateHttpIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: HttpIntegration + def __init__(self, integration: _Optional[_Union[HttpIntegration, _Mapping]] = ...) -> None: ... + +class DeleteHttpIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class InfluxDbIntegration(_message.Message): + __slots__ = ["application_id", "endpoint", "db", "username", "password", "retention_policy_name", "precision", "version", "token", "organization", "bucket"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + ENDPOINT_FIELD_NUMBER: _ClassVar[int] + DB_FIELD_NUMBER: _ClassVar[int] + USERNAME_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + RETENTION_POLICY_NAME_FIELD_NUMBER: _ClassVar[int] + PRECISION_FIELD_NUMBER: _ClassVar[int] + VERSION_FIELD_NUMBER: _ClassVar[int] + TOKEN_FIELD_NUMBER: _ClassVar[int] + ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + BUCKET_FIELD_NUMBER: _ClassVar[int] + application_id: str + endpoint: str + db: str + username: str + password: str + retention_policy_name: str + precision: InfluxDbPrecision + version: InfluxDbVersion + token: str + organization: str + bucket: str + def __init__(self, application_id: _Optional[str] = ..., endpoint: _Optional[str] = ..., db: _Optional[str] = ..., username: _Optional[str] = ..., password: _Optional[str] = ..., retention_policy_name: _Optional[str] = ..., precision: _Optional[_Union[InfluxDbPrecision, str]] = ..., version: _Optional[_Union[InfluxDbVersion, str]] = ..., token: _Optional[str] = ..., organization: _Optional[str] = ..., bucket: _Optional[str] = ...) -> None: ... + +class CreateInfluxDbIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: InfluxDbIntegration + def __init__(self, integration: _Optional[_Union[InfluxDbIntegration, _Mapping]] = ...) -> None: ... + +class GetInfluxDbIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class GetInfluxDbIntegrationResponse(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: InfluxDbIntegration + def __init__(self, integration: _Optional[_Union[InfluxDbIntegration, _Mapping]] = ...) -> None: ... + +class UpdateInfluxDbIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: InfluxDbIntegration + def __init__(self, integration: _Optional[_Union[InfluxDbIntegration, _Mapping]] = ...) -> None: ... + +class DeleteInfluxDbIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class ThingsBoardIntegration(_message.Message): + __slots__ = ["application_id", "server"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + SERVER_FIELD_NUMBER: _ClassVar[int] + application_id: str + server: str + def __init__(self, application_id: _Optional[str] = ..., server: _Optional[str] = ...) -> None: ... + +class CreateThingsBoardIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: ThingsBoardIntegration + def __init__(self, integration: _Optional[_Union[ThingsBoardIntegration, _Mapping]] = ...) -> None: ... + +class GetThingsBoardIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class GetThingsBoardIntegrationResponse(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: ThingsBoardIntegration + def __init__(self, integration: _Optional[_Union[ThingsBoardIntegration, _Mapping]] = ...) -> None: ... + +class UpdateThingsBoardIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: ThingsBoardIntegration + def __init__(self, integration: _Optional[_Union[ThingsBoardIntegration, _Mapping]] = ...) -> None: ... + +class DeleteThingsBoardIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class MyDevicesIntegration(_message.Message): + __slots__ = ["application_id", "endpoint"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + ENDPOINT_FIELD_NUMBER: _ClassVar[int] + application_id: str + endpoint: str + def __init__(self, application_id: _Optional[str] = ..., endpoint: _Optional[str] = ...) -> None: ... + +class CreateMyDevicesIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: MyDevicesIntegration + def __init__(self, integration: _Optional[_Union[MyDevicesIntegration, _Mapping]] = ...) -> None: ... + +class GetMyDevicesIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class GetMyDevicesIntegrationResponse(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: MyDevicesIntegration + def __init__(self, integration: _Optional[_Union[MyDevicesIntegration, _Mapping]] = ...) -> None: ... + +class UpdateMyDevicesIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: MyDevicesIntegration + def __init__(self, integration: _Optional[_Union[MyDevicesIntegration, _Mapping]] = ...) -> None: ... + +class DeleteMyDevicesIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + class LoraCloudIntegration(_message.Message): __slots__ = ["application_id", "modem_geolocation_services"] APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] @@ -500,46 +361,200 @@ class LoraCloudIntegration(_message.Message): def __init__(self, application_id: _Optional[str] = ..., modem_geolocation_services: _Optional[_Union[LoraCloudModemGeolocationServices, _Mapping]] = ...) -> None: ... class LoraCloudModemGeolocationServices(_message.Message): - __slots__ = ["forward_f_ports", "geolocation_buffer_ttl", "geolocation_gnss", "geolocation_gnss_payload_field", "geolocation_gnss_use_rx_time", "geolocation_min_buffer_size", "geolocation_rssi", "geolocation_tdoa", "geolocation_wifi", "geolocation_wifi_payload_field", "gnss_use_gateway_location", "gnss_use_rx_time", "modem_enabled", "parse_tlv", "token"] + __slots__ = ["token", "modem_enabled", "forward_f_ports", "gnss_use_rx_time", "gnss_use_gateway_location", "parse_tlv", "geolocation_buffer_ttl", "geolocation_min_buffer_size", "geolocation_tdoa", "geolocation_rssi", "geolocation_gnss", "geolocation_gnss_payload_field", "geolocation_gnss_use_rx_time", "geolocation_wifi", "geolocation_wifi_payload_field"] + TOKEN_FIELD_NUMBER: _ClassVar[int] + MODEM_ENABLED_FIELD_NUMBER: _ClassVar[int] FORWARD_F_PORTS_FIELD_NUMBER: _ClassVar[int] + GNSS_USE_RX_TIME_FIELD_NUMBER: _ClassVar[int] + GNSS_USE_GATEWAY_LOCATION_FIELD_NUMBER: _ClassVar[int] + PARSE_TLV_FIELD_NUMBER: _ClassVar[int] GEOLOCATION_BUFFER_TTL_FIELD_NUMBER: _ClassVar[int] + GEOLOCATION_MIN_BUFFER_SIZE_FIELD_NUMBER: _ClassVar[int] + GEOLOCATION_TDOA_FIELD_NUMBER: _ClassVar[int] + GEOLOCATION_RSSI_FIELD_NUMBER: _ClassVar[int] GEOLOCATION_GNSS_FIELD_NUMBER: _ClassVar[int] GEOLOCATION_GNSS_PAYLOAD_FIELD_FIELD_NUMBER: _ClassVar[int] GEOLOCATION_GNSS_USE_RX_TIME_FIELD_NUMBER: _ClassVar[int] - GEOLOCATION_MIN_BUFFER_SIZE_FIELD_NUMBER: _ClassVar[int] - GEOLOCATION_RSSI_FIELD_NUMBER: _ClassVar[int] - GEOLOCATION_TDOA_FIELD_NUMBER: _ClassVar[int] GEOLOCATION_WIFI_FIELD_NUMBER: _ClassVar[int] GEOLOCATION_WIFI_PAYLOAD_FIELD_FIELD_NUMBER: _ClassVar[int] - GNSS_USE_GATEWAY_LOCATION_FIELD_NUMBER: _ClassVar[int] - GNSS_USE_RX_TIME_FIELD_NUMBER: _ClassVar[int] - MODEM_ENABLED_FIELD_NUMBER: _ClassVar[int] - PARSE_TLV_FIELD_NUMBER: _ClassVar[int] - TOKEN_FIELD_NUMBER: _ClassVar[int] + token: str + modem_enabled: bool forward_f_ports: _containers.RepeatedScalarFieldContainer[int] + gnss_use_rx_time: bool + gnss_use_gateway_location: bool + parse_tlv: bool geolocation_buffer_ttl: int + geolocation_min_buffer_size: int + geolocation_tdoa: bool + geolocation_rssi: bool geolocation_gnss: bool geolocation_gnss_payload_field: str geolocation_gnss_use_rx_time: bool - geolocation_min_buffer_size: int - geolocation_rssi: bool - geolocation_tdoa: bool geolocation_wifi: bool geolocation_wifi_payload_field: str - gnss_use_gateway_location: bool - gnss_use_rx_time: bool - modem_enabled: bool - parse_tlv: bool - token: str def __init__(self, token: _Optional[str] = ..., modem_enabled: bool = ..., forward_f_ports: _Optional[_Iterable[int]] = ..., gnss_use_rx_time: bool = ..., gnss_use_gateway_location: bool = ..., parse_tlv: bool = ..., geolocation_buffer_ttl: _Optional[int] = ..., geolocation_min_buffer_size: _Optional[int] = ..., geolocation_tdoa: bool = ..., geolocation_rssi: bool = ..., geolocation_gnss: bool = ..., geolocation_gnss_payload_field: _Optional[str] = ..., geolocation_gnss_use_rx_time: bool = ..., geolocation_wifi: bool = ..., geolocation_wifi_payload_field: _Optional[str] = ...) -> None: ... -class MyDevicesIntegration(_message.Message): - __slots__ = ["application_id", "endpoint"] +class CreateLoraCloudIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: LoraCloudIntegration + def __init__(self, integration: _Optional[_Union[LoraCloudIntegration, _Mapping]] = ...) -> None: ... + +class GetLoraCloudIntegrationRequest(_message.Message): + __slots__ = ["application_id"] APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - ENDPOINT_FIELD_NUMBER: _ClassVar[int] application_id: str - endpoint: str - def __init__(self, application_id: _Optional[str] = ..., endpoint: _Optional[str] = ...) -> None: ... + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class GetLoraCloudIntegrationResponse(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: LoraCloudIntegration + def __init__(self, integration: _Optional[_Union[LoraCloudIntegration, _Mapping]] = ...) -> None: ... + +class UpdateLoraCloudIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: LoraCloudIntegration + def __init__(self, integration: _Optional[_Union[LoraCloudIntegration, _Mapping]] = ...) -> None: ... + +class DeleteLoraCloudIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class GcpPubSubIntegration(_message.Message): + __slots__ = ["application_id", "encoding", "credentials_file", "project_id", "topic_name"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + ENCODING_FIELD_NUMBER: _ClassVar[int] + CREDENTIALS_FILE_FIELD_NUMBER: _ClassVar[int] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + TOPIC_NAME_FIELD_NUMBER: _ClassVar[int] + application_id: str + encoding: Encoding + credentials_file: str + project_id: str + topic_name: str + def __init__(self, application_id: _Optional[str] = ..., encoding: _Optional[_Union[Encoding, str]] = ..., credentials_file: _Optional[str] = ..., project_id: _Optional[str] = ..., topic_name: _Optional[str] = ...) -> None: ... + +class CreateGcpPubSubIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: GcpPubSubIntegration + def __init__(self, integration: _Optional[_Union[GcpPubSubIntegration, _Mapping]] = ...) -> None: ... + +class GetGcpPubSubIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class GetGcpPubSubIntegrationResponse(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: GcpPubSubIntegration + def __init__(self, integration: _Optional[_Union[GcpPubSubIntegration, _Mapping]] = ...) -> None: ... + +class UpdateGcpPubSubIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: GcpPubSubIntegration + def __init__(self, integration: _Optional[_Union[GcpPubSubIntegration, _Mapping]] = ...) -> None: ... + +class DeleteGcpPubSubIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class AwsSnsIntegration(_message.Message): + __slots__ = ["application_id", "encoding", "region", "access_key_id", "secret_access_key", "topic_arn"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + ENCODING_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + SECRET_ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + TOPIC_ARN_FIELD_NUMBER: _ClassVar[int] + application_id: str + encoding: Encoding + region: str + access_key_id: str + secret_access_key: str + topic_arn: str + def __init__(self, application_id: _Optional[str] = ..., encoding: _Optional[_Union[Encoding, str]] = ..., region: _Optional[str] = ..., access_key_id: _Optional[str] = ..., secret_access_key: _Optional[str] = ..., topic_arn: _Optional[str] = ...) -> None: ... + +class CreateAwsSnsIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: AwsSnsIntegration + def __init__(self, integration: _Optional[_Union[AwsSnsIntegration, _Mapping]] = ...) -> None: ... + +class GetAwsSnsIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class GetAwsSnsIntegrationResponse(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: AwsSnsIntegration + def __init__(self, integration: _Optional[_Union[AwsSnsIntegration, _Mapping]] = ...) -> None: ... + +class UpdateAwsSnsIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: AwsSnsIntegration + def __init__(self, integration: _Optional[_Union[AwsSnsIntegration, _Mapping]] = ...) -> None: ... + +class DeleteAwsSnsIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class AzureServiceBusIntegration(_message.Message): + __slots__ = ["application_id", "encoding", "connection_string", "publish_name"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + ENCODING_FIELD_NUMBER: _ClassVar[int] + CONNECTION_STRING_FIELD_NUMBER: _ClassVar[int] + PUBLISH_NAME_FIELD_NUMBER: _ClassVar[int] + application_id: str + encoding: Encoding + connection_string: str + publish_name: str + def __init__(self, application_id: _Optional[str] = ..., encoding: _Optional[_Union[Encoding, str]] = ..., connection_string: _Optional[str] = ..., publish_name: _Optional[str] = ...) -> None: ... + +class CreateAzureServiceBusIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: AzureServiceBusIntegration + def __init__(self, integration: _Optional[_Union[AzureServiceBusIntegration, _Mapping]] = ...) -> None: ... + +class GetAzureServiceBusIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class GetAzureServiceBusIntegrationResponse(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: AzureServiceBusIntegration + def __init__(self, integration: _Optional[_Union[AzureServiceBusIntegration, _Mapping]] = ...) -> None: ... + +class UpdateAzureServiceBusIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: AzureServiceBusIntegration + def __init__(self, integration: _Optional[_Union[AzureServiceBusIntegration, _Mapping]] = ...) -> None: ... + +class DeleteAzureServiceBusIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... class PilotThingsIntegration(_message.Message): __slots__ = ["application_id", "server", "token"] @@ -551,67 +566,23 @@ class PilotThingsIntegration(_message.Message): token: str def __init__(self, application_id: _Optional[str] = ..., server: _Optional[str] = ..., token: _Optional[str] = ...) -> None: ... -class ThingsBoardIntegration(_message.Message): - __slots__ = ["application_id", "server"] +class CreatePilotThingsIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: PilotThingsIntegration + def __init__(self, integration: _Optional[_Union[PilotThingsIntegration, _Mapping]] = ...) -> None: ... + +class GetPilotThingsIntegrationRequest(_message.Message): + __slots__ = ["application_id"] APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - SERVER_FIELD_NUMBER: _ClassVar[int] application_id: str - server: str - def __init__(self, application_id: _Optional[str] = ..., server: _Optional[str] = ...) -> None: ... + def __init__(self, application_id: _Optional[str] = ...) -> None: ... -class UpdateApplicationRequest(_message.Message): - __slots__ = ["application"] - APPLICATION_FIELD_NUMBER: _ClassVar[int] - application: Application - def __init__(self, application: _Optional[_Union[Application, _Mapping]] = ...) -> None: ... - -class UpdateAwsSnsIntegrationRequest(_message.Message): +class GetPilotThingsIntegrationResponse(_message.Message): __slots__ = ["integration"] INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: AwsSnsIntegration - def __init__(self, integration: _Optional[_Union[AwsSnsIntegration, _Mapping]] = ...) -> None: ... - -class UpdateAzureServiceBusIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: AzureServiceBusIntegration - def __init__(self, integration: _Optional[_Union[AzureServiceBusIntegration, _Mapping]] = ...) -> None: ... - -class UpdateGcpPubSubIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: GcpPubSubIntegration - def __init__(self, integration: _Optional[_Union[GcpPubSubIntegration, _Mapping]] = ...) -> None: ... - -class UpdateHttpIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: HttpIntegration - def __init__(self, integration: _Optional[_Union[HttpIntegration, _Mapping]] = ...) -> None: ... - -class UpdateIftttIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: IftttIntegration - def __init__(self, integration: _Optional[_Union[IftttIntegration, _Mapping]] = ...) -> None: ... - -class UpdateInfluxDbIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: InfluxDbIntegration - def __init__(self, integration: _Optional[_Union[InfluxDbIntegration, _Mapping]] = ...) -> None: ... - -class UpdateLoraCloudIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: LoraCloudIntegration - def __init__(self, integration: _Optional[_Union[LoraCloudIntegration, _Mapping]] = ...) -> None: ... - -class UpdateMyDevicesIntegrationRequest(_message.Message): - __slots__ = ["integration"] - INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: MyDevicesIntegration - def __init__(self, integration: _Optional[_Union[MyDevicesIntegration, _Mapping]] = ...) -> None: ... + integration: PilotThingsIntegration + def __init__(self, integration: _Optional[_Union[PilotThingsIntegration, _Mapping]] = ...) -> None: ... class UpdatePilotThingsIntegrationRequest(_message.Message): __slots__ = ["integration"] @@ -619,20 +590,70 @@ class UpdatePilotThingsIntegrationRequest(_message.Message): integration: PilotThingsIntegration def __init__(self, integration: _Optional[_Union[PilotThingsIntegration, _Mapping]] = ...) -> None: ... -class UpdateThingsBoardIntegrationRequest(_message.Message): +class DeletePilotThingsIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class IftttIntegration(_message.Message): + __slots__ = ["application_id", "key", "uplink_values", "arbitrary_json", "event_prefix"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + KEY_FIELD_NUMBER: _ClassVar[int] + UPLINK_VALUES_FIELD_NUMBER: _ClassVar[int] + ARBITRARY_JSON_FIELD_NUMBER: _ClassVar[int] + EVENT_PREFIX_FIELD_NUMBER: _ClassVar[int] + application_id: str + key: str + uplink_values: _containers.RepeatedScalarFieldContainer[str] + arbitrary_json: bool + event_prefix: str + def __init__(self, application_id: _Optional[str] = ..., key: _Optional[str] = ..., uplink_values: _Optional[_Iterable[str]] = ..., arbitrary_json: bool = ..., event_prefix: _Optional[str] = ...) -> None: ... + +class CreateIftttIntegrationRequest(_message.Message): __slots__ = ["integration"] INTEGRATION_FIELD_NUMBER: _ClassVar[int] - integration: ThingsBoardIntegration - def __init__(self, integration: _Optional[_Union[ThingsBoardIntegration, _Mapping]] = ...) -> None: ... + integration: IftttIntegration + def __init__(self, integration: _Optional[_Union[IftttIntegration, _Mapping]] = ...) -> None: ... -class Encoding(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] +class GetIftttIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... -class IntegrationKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] +class GetIftttIntegrationResponse(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: IftttIntegration + def __init__(self, integration: _Optional[_Union[IftttIntegration, _Mapping]] = ...) -> None: ... -class InfluxDbPrecision(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] +class UpdateIftttIntegrationRequest(_message.Message): + __slots__ = ["integration"] + INTEGRATION_FIELD_NUMBER: _ClassVar[int] + integration: IftttIntegration + def __init__(self, integration: _Optional[_Union[IftttIntegration, _Mapping]] = ...) -> None: ... -class InfluxDbVersion(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] +class DeleteIftttIntegrationRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class GenerateMqttIntegrationClientCertificateRequest(_message.Message): + __slots__ = ["application_id"] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + application_id: str + def __init__(self, application_id: _Optional[str] = ...) -> None: ... + +class GenerateMqttIntegrationClientCertificateResponse(_message.Message): + __slots__ = ["tls_cert", "tls_key", "ca_cert", "expires_at"] + TLS_CERT_FIELD_NUMBER: _ClassVar[int] + TLS_KEY_FIELD_NUMBER: _ClassVar[int] + CA_CERT_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + tls_cert: str + tls_key: str + ca_cert: str + expires_at: _timestamp_pb2.Timestamp + def __init__(self, tls_cert: _Optional[str] = ..., tls_key: _Optional[str] = ..., ca_cert: _Optional[str] = ..., expires_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... diff --git a/api/python/src/chirpstack_api/api/device_pb2.py b/api/python/src/chirpstack_api/api/device_pb2.py index da0aa80d..f9e339e7 100644 --- a/api/python/src/chirpstack_api/api/device_pb2.py +++ b/api/python/src/chirpstack_api/api/device_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/api/device.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -20,8 +20,9 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63hirpstack-api/api/device.proto\x12\x03\x61pi\x1a\"chirpstack-api/common/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1bgoogle/protobuf/empty.proto\"\xe2\x02\n\x06\x44\x65vice\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x16\n\x0e\x61pplication_id\x18\x04 \x01(\t\x12\x19\n\x11\x64\x65vice_profile_id\x18\x05 \x01(\t\x12\x17\n\x0fskip_fcnt_check\x18\x06 \x01(\x08\x12\x13\n\x0bis_disabled\x18\x07 \x01(\x08\x12-\n\tvariables\x18\x08 \x03(\x0b\x32\x1a.api.Device.VariablesEntry\x12#\n\x04tags\x18\t \x03(\x0b\x32\x15.api.Device.TagsEntry\x12\x10\n\x08join_eui\x18\n \x01(\t\x1a\x30\n\x0eVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"T\n\x0c\x44\x65viceStatus\x12\x0e\n\x06margin\x18\x01 \x01(\x05\x12\x1d\n\x15\x65xternal_power_source\x18\x02 \x01(\x08\x12\x15\n\rbattery_level\x18\x03 \x01(\x02\"\xb8\x02\n\x0e\x44\x65viceListItem\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0clast_seen_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\x19\n\x11\x64\x65vice_profile_id\x18\x07 \x01(\t\x12\x1b\n\x13\x64\x65vice_profile_name\x18\x08 \x01(\t\x12(\n\rdevice_status\x18\t \x01(\x0b\x32\x11.api.DeviceStatus\"?\n\nDeviceKeys\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12\x0f\n\x07nwk_key\x18\x02 \x01(\t\x12\x0f\n\x07\x61pp_key\x18\x03 \x01(\t\"2\n\x13\x43reateDeviceRequest\x12\x1b\n\x06\x64\x65vice\x18\x01 \x01(\x0b\x32\x0b.api.Device\"#\n\x10GetDeviceRequest\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\"\x98\x02\n\x11GetDeviceResponse\x12\x1b\n\x06\x64\x65vice\x18\x01 \x01(\x0b\x32\x0b.api.Device\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0clast_seen_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\rdevice_status\x18\x05 \x01(\x0b\x32\x11.api.DeviceStatus\x12*\n\rclass_enabled\x18\x06 \x01(\x0e\x32\x13.common.DeviceClass\"2\n\x13UpdateDeviceRequest\x12\x1b\n\x06\x64\x65vice\x18\x01 \x01(\x0b\x32\x0b.api.Device\"&\n\x13\x44\x65leteDeviceRequest\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\"w\n\x12ListDevicesRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x0e\n\x06search\x18\x03 \x01(\t\x12\x16\n\x0e\x61pplication_id\x18\x04 \x01(\t\x12\x1a\n\x12multicast_group_id\x18\x05 \x01(\t\"O\n\x13ListDevicesResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12#\n\x06result\x18\x02 \x03(\x0b\x32\x13.api.DeviceListItem\"?\n\x17\x43reateDeviceKeysRequest\x12$\n\x0b\x64\x65vice_keys\x18\x01 \x01(\x0b\x32\x0f.api.DeviceKeys\"\'\n\x14GetDeviceKeysRequest\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\"\x9d\x01\n\x15GetDeviceKeysResponse\x12$\n\x0b\x64\x65vice_keys\x18\x01 \x01(\x0b\x32\x0f.api.DeviceKeys\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"?\n\x17UpdateDeviceKeysRequest\x12$\n\x0b\x64\x65vice_keys\x18\x01 \x01(\x0b\x32\x0f.api.DeviceKeys\"*\n\x17\x44\x65leteDeviceKeysRequest\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\"\xcf\x01\n\x10\x44\x65viceActivation\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12\x10\n\x08\x64\x65v_addr\x18\x02 \x01(\t\x12\x11\n\tapp_s_key\x18\x03 \x01(\t\x12\x15\n\rnwk_s_enc_key\x18\x04 \x01(\t\x12\x17\n\x0fs_nwk_s_int_key\x18\x08 \x01(\t\x12\x17\n\x0f\x66_nwk_s_int_key\x18\t \x01(\t\x12\x10\n\x08\x66_cnt_up\x18\x05 \x01(\r\x12\x14\n\x0cn_f_cnt_down\x18\x06 \x01(\r\x12\x14\n\x0c\x61_f_cnt_down\x18\n \x01(\r\"I\n\x15\x41\x63tivateDeviceRequest\x12\x30\n\x11\x64\x65vice_activation\x18\x01 \x01(\x0b\x32\x15.api.DeviceActivation\"*\n\x17\x44\x65\x61\x63tivateDeviceRequest\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\"-\n\x1aGetDeviceActivationRequest\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\"O\n\x1bGetDeviceActivationResponse\x12\x30\n\x11\x64\x65vice_activation\x18\x01 \x01(\x0b\x32\x15.api.DeviceActivation\"*\n\x17GetRandomDevAddrRequest\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\",\n\x18GetRandomDevAddrResponse\x12\x10\n\x08\x64\x65v_addr\x18\x01 \x01(\t\"\xa8\x01\n\x17GetDeviceMetricsRequest\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12)\n\x05start\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\x0b\x61ggregation\x18\x04 \x01(\x0e\x32\x13.common.Aggregation\"\x93\x02\n\x18GetDeviceMetricsResponse\x12;\n\x07metrics\x18\x01 \x03(\x0b\x32*.api.GetDeviceMetricsResponse.MetricsEntry\x12\x39\n\x06states\x18\x02 \x03(\x0b\x32).api.GetDeviceMetricsResponse.StatesEntry\x1a>\n\x0cMetricsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.common.Metric:\x02\x38\x01\x1a?\n\x0bStatesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.api.DeviceState:\x02\x38\x01\"*\n\x0b\x44\x65viceState\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\"\xac\x01\n\x1bGetDeviceLinkMetricsRequest\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12)\n\x05start\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\x0b\x61ggregation\x18\x04 \x01(\x0e\x32\x13.common.Aggregation\"\xfb\x01\n\x1cGetDeviceLinkMetricsResponse\x12\"\n\nrx_packets\x18\x01 \x01(\x0b\x32\x0e.common.Metric\x12\x1f\n\x07gw_rssi\x18\x02 \x01(\x0b\x32\x0e.common.Metric\x12\x1e\n\x06gw_snr\x18\x03 \x01(\x0b\x32\x0e.common.Metric\x12+\n\x13rx_packets_per_freq\x18\x04 \x01(\x0b\x32\x0e.common.Metric\x12)\n\x11rx_packets_per_dr\x18\x05 \x01(\x0b\x32\x0e.common.Metric\x12\x1e\n\x06\x65rrors\x18\x06 \x01(\x0b\x32\x0e.common.Metric\"\xb0\x01\n\x0f\x44\x65viceQueueItem\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07\x64\x65v_eui\x18\x02 \x01(\t\x12\x11\n\tconfirmed\x18\x03 \x01(\x08\x12\x0e\n\x06\x66_port\x18\x04 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\x12\'\n\x06object\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x12\n\nis_pending\x18\x07 \x01(\x08\x12\x12\n\nf_cnt_down\x18\x08 \x01(\r\"I\n\x1d\x45nqueueDeviceQueueItemRequest\x12(\n\nqueue_item\x18\x01 \x01(\x0b\x32\x14.api.DeviceQueueItem\",\n\x1e\x45nqueueDeviceQueueItemResponse\x12\n\n\x02id\x18\x01 \x01(\t\"*\n\x17\x46lushDeviceQueueRequest\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\"A\n\x1aGetDeviceQueueItemsRequest\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12\x12\n\ncount_only\x18\x02 \x01(\x08\"X\n\x1bGetDeviceQueueItemsResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12$\n\x06result\x18\x02 \x03(\x0b\x32\x14.api.DeviceQueueItem\"(\n\x15\x46lushDevNoncesRequest\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t2\xd0\x10\n\rDeviceService\x12S\n\x06\x43reate\x12\x18.api.CreateDeviceRequest\x1a\x16.google.protobuf.Empty\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/api/devices:\x01*\x12T\n\x03Get\x12\x15.api.GetDeviceRequest\x1a\x16.api.GetDeviceResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/api/devices/{dev_eui}\x12\x64\n\x06Update\x12\x18.api.UpdateDeviceRequest\x1a\x16.google.protobuf.Empty\"(\x82\xd3\xe4\x93\x02\"\x1a\x1d/api/devices/{device.dev_eui}:\x01*\x12Z\n\x06\x44\x65lete\x12\x18.api.DeleteDeviceRequest\x1a\x16.google.protobuf.Empty\"\x1e\x82\xd3\xe4\x93\x02\x18*\x16/api/devices/{dev_eui}\x12O\n\x04List\x12\x17.api.ListDevicesRequest\x1a\x18.api.ListDevicesResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/api/devices\x12v\n\nCreateKeys\x12\x1c.api.CreateDeviceKeysRequest\x1a\x16.google.protobuf.Empty\"2\x82\xd3\xe4\x93\x02,\"\'/api/devices/{device_keys.dev_eui}/keys:\x01*\x12\x65\n\x07GetKeys\x12\x19.api.GetDeviceKeysRequest\x1a\x1a.api.GetDeviceKeysResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/devices/{dev_eui}/keys\x12v\n\nUpdateKeys\x12\x1c.api.UpdateDeviceKeysRequest\x1a\x16.google.protobuf.Empty\"2\x82\xd3\xe4\x93\x02,\x1a\'/api/devices/{device_keys.dev_eui}/keys:\x01*\x12g\n\nDeleteKeys\x12\x1c.api.DeleteDeviceKeysRequest\x1a\x16.google.protobuf.Empty\"#\x82\xd3\xe4\x93\x02\x1d*\x1b/api/devices/{dev_eui}/keys\x12o\n\x0e\x46lushDevNonces\x12\x1a.api.FlushDevNoncesRequest\x1a\x16.google.protobuf.Empty\")\x82\xd3\xe4\x93\x02#*!/api/devices/{dev_eui}/dev-nonces\x12|\n\x08\x41\x63tivate\x12\x1a.api.ActivateDeviceRequest\x1a\x16.google.protobuf.Empty\"<\x82\xd3\xe4\x93\x02\x36\"1/api/devices/{device_activation.dev_eui}/activate:\x01*\x12m\n\nDeactivate\x12\x1c.api.DeactivateDeviceRequest\x1a\x16.google.protobuf.Empty\")\x82\xd3\xe4\x93\x02#*!/api/devices/{dev_eui}/activation\x12}\n\rGetActivation\x12\x1f.api.GetDeviceActivationRequest\x1a .api.GetDeviceActivationResponse\")\x82\xd3\xe4\x93\x02#\x12!/api/devices/{dev_eui}/activation\x12\x83\x01\n\x10GetRandomDevAddr\x12\x1c.api.GetRandomDevAddrRequest\x1a\x1d.api.GetRandomDevAddrResponse\"2\x82\xd3\xe4\x93\x02,\"*/api/devices/{dev_eui}/get-random-dev-addr\x12q\n\nGetMetrics\x12\x1c.api.GetDeviceMetricsRequest\x1a\x1d.api.GetDeviceMetricsResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/api/devices/{dev_eui}/metrics\x12\x82\x01\n\x0eGetLinkMetrics\x12 .api.GetDeviceLinkMetricsRequest\x1a!.api.GetDeviceLinkMetricsResponse\"+\x82\xd3\xe4\x93\x02%\x12#/api/devices/{dev_eui}/link-metrics\x12\x86\x01\n\x07\x45nqueue\x12\".api.EnqueueDeviceQueueItemRequest\x1a#.api.EnqueueDeviceQueueItemResponse\"2\x82\xd3\xe4\x93\x02,\"\'/api/devices/{queue_item.dev_eui}/queue:\x01*\x12h\n\nFlushQueue\x12\x1c.api.FlushDeviceQueueRequest\x1a\x16.google.protobuf.Empty\"$\x82\xd3\xe4\x93\x02\x1e*\x1c/api/devices/{dev_eui}/queue\x12s\n\x08GetQueue\x12\x1f.api.GetDeviceQueueItemsRequest\x1a .api.GetDeviceQueueItemsResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/devices/{dev_eui}/queueBc\n\x11io.chirpstack.apiB\x0b\x44\x65viceProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.device_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.device_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -72,84 +73,84 @@ if _descriptor._USE_C_DESCRIPTORS == False: _DEVICESERVICE.methods_by_name['FlushQueue']._serialized_options = b'\202\323\344\223\002\036*\034/api/devices/{dev_eui}/queue' _DEVICESERVICE.methods_by_name['GetQueue']._options = None _DEVICESERVICE.methods_by_name['GetQueue']._serialized_options = b'\202\323\344\223\002\036\022\034/api/devices/{dev_eui}/queue' - _DEVICE._serialized_start=199 - _DEVICE._serialized_end=553 - _DEVICE_VARIABLESENTRY._serialized_start=460 - _DEVICE_VARIABLESENTRY._serialized_end=508 - _DEVICE_TAGSENTRY._serialized_start=510 - _DEVICE_TAGSENTRY._serialized_end=553 - _DEVICESTATUS._serialized_start=555 - _DEVICESTATUS._serialized_end=639 - _DEVICELISTITEM._serialized_start=642 - _DEVICELISTITEM._serialized_end=954 - _DEVICEKEYS._serialized_start=956 - _DEVICEKEYS._serialized_end=1019 - _CREATEDEVICEREQUEST._serialized_start=1021 - _CREATEDEVICEREQUEST._serialized_end=1071 - _GETDEVICEREQUEST._serialized_start=1073 - _GETDEVICEREQUEST._serialized_end=1108 - _GETDEVICERESPONSE._serialized_start=1111 - _GETDEVICERESPONSE._serialized_end=1391 - _UPDATEDEVICEREQUEST._serialized_start=1393 - _UPDATEDEVICEREQUEST._serialized_end=1443 - _DELETEDEVICEREQUEST._serialized_start=1445 - _DELETEDEVICEREQUEST._serialized_end=1483 - _LISTDEVICESREQUEST._serialized_start=1485 - _LISTDEVICESREQUEST._serialized_end=1604 - _LISTDEVICESRESPONSE._serialized_start=1606 - _LISTDEVICESRESPONSE._serialized_end=1685 - _CREATEDEVICEKEYSREQUEST._serialized_start=1687 - _CREATEDEVICEKEYSREQUEST._serialized_end=1750 - _GETDEVICEKEYSREQUEST._serialized_start=1752 - _GETDEVICEKEYSREQUEST._serialized_end=1791 - _GETDEVICEKEYSRESPONSE._serialized_start=1794 - _GETDEVICEKEYSRESPONSE._serialized_end=1951 - _UPDATEDEVICEKEYSREQUEST._serialized_start=1953 - _UPDATEDEVICEKEYSREQUEST._serialized_end=2016 - _DELETEDEVICEKEYSREQUEST._serialized_start=2018 - _DELETEDEVICEKEYSREQUEST._serialized_end=2060 - _DEVICEACTIVATION._serialized_start=2063 - _DEVICEACTIVATION._serialized_end=2270 - _ACTIVATEDEVICEREQUEST._serialized_start=2272 - _ACTIVATEDEVICEREQUEST._serialized_end=2345 - _DEACTIVATEDEVICEREQUEST._serialized_start=2347 - _DEACTIVATEDEVICEREQUEST._serialized_end=2389 - _GETDEVICEACTIVATIONREQUEST._serialized_start=2391 - _GETDEVICEACTIVATIONREQUEST._serialized_end=2436 - _GETDEVICEACTIVATIONRESPONSE._serialized_start=2438 - _GETDEVICEACTIVATIONRESPONSE._serialized_end=2517 - _GETRANDOMDEVADDRREQUEST._serialized_start=2519 - _GETRANDOMDEVADDRREQUEST._serialized_end=2561 - _GETRANDOMDEVADDRRESPONSE._serialized_start=2563 - _GETRANDOMDEVADDRRESPONSE._serialized_end=2607 - _GETDEVICEMETRICSREQUEST._serialized_start=2610 - _GETDEVICEMETRICSREQUEST._serialized_end=2778 - _GETDEVICEMETRICSRESPONSE._serialized_start=2781 - _GETDEVICEMETRICSRESPONSE._serialized_end=3056 - _GETDEVICEMETRICSRESPONSE_METRICSENTRY._serialized_start=2929 - _GETDEVICEMETRICSRESPONSE_METRICSENTRY._serialized_end=2991 - _GETDEVICEMETRICSRESPONSE_STATESENTRY._serialized_start=2993 - _GETDEVICEMETRICSRESPONSE_STATESENTRY._serialized_end=3056 - _DEVICESTATE._serialized_start=3058 - _DEVICESTATE._serialized_end=3100 - _GETDEVICELINKMETRICSREQUEST._serialized_start=3103 - _GETDEVICELINKMETRICSREQUEST._serialized_end=3275 - _GETDEVICELINKMETRICSRESPONSE._serialized_start=3278 - _GETDEVICELINKMETRICSRESPONSE._serialized_end=3529 - _DEVICEQUEUEITEM._serialized_start=3532 - _DEVICEQUEUEITEM._serialized_end=3708 - _ENQUEUEDEVICEQUEUEITEMREQUEST._serialized_start=3710 - _ENQUEUEDEVICEQUEUEITEMREQUEST._serialized_end=3783 - _ENQUEUEDEVICEQUEUEITEMRESPONSE._serialized_start=3785 - _ENQUEUEDEVICEQUEUEITEMRESPONSE._serialized_end=3829 - _FLUSHDEVICEQUEUEREQUEST._serialized_start=3831 - _FLUSHDEVICEQUEUEREQUEST._serialized_end=3873 - _GETDEVICEQUEUEITEMSREQUEST._serialized_start=3875 - _GETDEVICEQUEUEITEMSREQUEST._serialized_end=3940 - _GETDEVICEQUEUEITEMSRESPONSE._serialized_start=3942 - _GETDEVICEQUEUEITEMSRESPONSE._serialized_end=4030 - _FLUSHDEVNONCESREQUEST._serialized_start=4032 - _FLUSHDEVNONCESREQUEST._serialized_end=4072 - _DEVICESERVICE._serialized_start=4075 - _DEVICESERVICE._serialized_end=6203 + _globals['_DEVICE']._serialized_start=199 + _globals['_DEVICE']._serialized_end=553 + _globals['_DEVICE_VARIABLESENTRY']._serialized_start=460 + _globals['_DEVICE_VARIABLESENTRY']._serialized_end=508 + _globals['_DEVICE_TAGSENTRY']._serialized_start=510 + _globals['_DEVICE_TAGSENTRY']._serialized_end=553 + _globals['_DEVICESTATUS']._serialized_start=555 + _globals['_DEVICESTATUS']._serialized_end=639 + _globals['_DEVICELISTITEM']._serialized_start=642 + _globals['_DEVICELISTITEM']._serialized_end=954 + _globals['_DEVICEKEYS']._serialized_start=956 + _globals['_DEVICEKEYS']._serialized_end=1019 + _globals['_CREATEDEVICEREQUEST']._serialized_start=1021 + _globals['_CREATEDEVICEREQUEST']._serialized_end=1071 + _globals['_GETDEVICEREQUEST']._serialized_start=1073 + _globals['_GETDEVICEREQUEST']._serialized_end=1108 + _globals['_GETDEVICERESPONSE']._serialized_start=1111 + _globals['_GETDEVICERESPONSE']._serialized_end=1391 + _globals['_UPDATEDEVICEREQUEST']._serialized_start=1393 + _globals['_UPDATEDEVICEREQUEST']._serialized_end=1443 + _globals['_DELETEDEVICEREQUEST']._serialized_start=1445 + _globals['_DELETEDEVICEREQUEST']._serialized_end=1483 + _globals['_LISTDEVICESREQUEST']._serialized_start=1485 + _globals['_LISTDEVICESREQUEST']._serialized_end=1604 + _globals['_LISTDEVICESRESPONSE']._serialized_start=1606 + _globals['_LISTDEVICESRESPONSE']._serialized_end=1685 + _globals['_CREATEDEVICEKEYSREQUEST']._serialized_start=1687 + _globals['_CREATEDEVICEKEYSREQUEST']._serialized_end=1750 + _globals['_GETDEVICEKEYSREQUEST']._serialized_start=1752 + _globals['_GETDEVICEKEYSREQUEST']._serialized_end=1791 + _globals['_GETDEVICEKEYSRESPONSE']._serialized_start=1794 + _globals['_GETDEVICEKEYSRESPONSE']._serialized_end=1951 + _globals['_UPDATEDEVICEKEYSREQUEST']._serialized_start=1953 + _globals['_UPDATEDEVICEKEYSREQUEST']._serialized_end=2016 + _globals['_DELETEDEVICEKEYSREQUEST']._serialized_start=2018 + _globals['_DELETEDEVICEKEYSREQUEST']._serialized_end=2060 + _globals['_DEVICEACTIVATION']._serialized_start=2063 + _globals['_DEVICEACTIVATION']._serialized_end=2270 + _globals['_ACTIVATEDEVICEREQUEST']._serialized_start=2272 + _globals['_ACTIVATEDEVICEREQUEST']._serialized_end=2345 + _globals['_DEACTIVATEDEVICEREQUEST']._serialized_start=2347 + _globals['_DEACTIVATEDEVICEREQUEST']._serialized_end=2389 + _globals['_GETDEVICEACTIVATIONREQUEST']._serialized_start=2391 + _globals['_GETDEVICEACTIVATIONREQUEST']._serialized_end=2436 + _globals['_GETDEVICEACTIVATIONRESPONSE']._serialized_start=2438 + _globals['_GETDEVICEACTIVATIONRESPONSE']._serialized_end=2517 + _globals['_GETRANDOMDEVADDRREQUEST']._serialized_start=2519 + _globals['_GETRANDOMDEVADDRREQUEST']._serialized_end=2561 + _globals['_GETRANDOMDEVADDRRESPONSE']._serialized_start=2563 + _globals['_GETRANDOMDEVADDRRESPONSE']._serialized_end=2607 + _globals['_GETDEVICEMETRICSREQUEST']._serialized_start=2610 + _globals['_GETDEVICEMETRICSREQUEST']._serialized_end=2778 + _globals['_GETDEVICEMETRICSRESPONSE']._serialized_start=2781 + _globals['_GETDEVICEMETRICSRESPONSE']._serialized_end=3056 + _globals['_GETDEVICEMETRICSRESPONSE_METRICSENTRY']._serialized_start=2929 + _globals['_GETDEVICEMETRICSRESPONSE_METRICSENTRY']._serialized_end=2991 + _globals['_GETDEVICEMETRICSRESPONSE_STATESENTRY']._serialized_start=2993 + _globals['_GETDEVICEMETRICSRESPONSE_STATESENTRY']._serialized_end=3056 + _globals['_DEVICESTATE']._serialized_start=3058 + _globals['_DEVICESTATE']._serialized_end=3100 + _globals['_GETDEVICELINKMETRICSREQUEST']._serialized_start=3103 + _globals['_GETDEVICELINKMETRICSREQUEST']._serialized_end=3275 + _globals['_GETDEVICELINKMETRICSRESPONSE']._serialized_start=3278 + _globals['_GETDEVICELINKMETRICSRESPONSE']._serialized_end=3529 + _globals['_DEVICEQUEUEITEM']._serialized_start=3532 + _globals['_DEVICEQUEUEITEM']._serialized_end=3708 + _globals['_ENQUEUEDEVICEQUEUEITEMREQUEST']._serialized_start=3710 + _globals['_ENQUEUEDEVICEQUEUEITEMREQUEST']._serialized_end=3783 + _globals['_ENQUEUEDEVICEQUEUEITEMRESPONSE']._serialized_start=3785 + _globals['_ENQUEUEDEVICEQUEUEITEMRESPONSE']._serialized_end=3829 + _globals['_FLUSHDEVICEQUEUEREQUEST']._serialized_start=3831 + _globals['_FLUSHDEVICEQUEUEREQUEST']._serialized_end=3873 + _globals['_GETDEVICEQUEUEITEMSREQUEST']._serialized_start=3875 + _globals['_GETDEVICEQUEUEITEMSREQUEST']._serialized_end=3940 + _globals['_GETDEVICEQUEUEITEMSRESPONSE']._serialized_start=3942 + _globals['_GETDEVICEQUEUEITEMSRESPONSE']._serialized_end=4030 + _globals['_FLUSHDEVNONCESREQUEST']._serialized_start=4032 + _globals['_FLUSHDEVNONCESREQUEST']._serialized_end=4072 + _globals['_DEVICESERVICE']._serialized_start=4075 + _globals['_DEVICESERVICE']._serialized_end=6203 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/api/device_pb2.pyi b/api/python/src/chirpstack_api/api/device_pb2.pyi index 65626122..fa8283b7 100644 --- a/api/python/src/chirpstack_api/api/device_pb2.pyi +++ b/api/python/src/chirpstack_api/api/device_pb2.pyi @@ -10,51 +10,8 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor -class ActivateDeviceRequest(_message.Message): - __slots__ = ["device_activation"] - DEVICE_ACTIVATION_FIELD_NUMBER: _ClassVar[int] - device_activation: DeviceActivation - def __init__(self, device_activation: _Optional[_Union[DeviceActivation, _Mapping]] = ...) -> None: ... - -class CreateDeviceKeysRequest(_message.Message): - __slots__ = ["device_keys"] - DEVICE_KEYS_FIELD_NUMBER: _ClassVar[int] - device_keys: DeviceKeys - def __init__(self, device_keys: _Optional[_Union[DeviceKeys, _Mapping]] = ...) -> None: ... - -class CreateDeviceRequest(_message.Message): - __slots__ = ["device"] - DEVICE_FIELD_NUMBER: _ClassVar[int] - device: Device - def __init__(self, device: _Optional[_Union[Device, _Mapping]] = ...) -> None: ... - -class DeactivateDeviceRequest(_message.Message): - __slots__ = ["dev_eui"] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - dev_eui: str - def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... - -class DeleteDeviceKeysRequest(_message.Message): - __slots__ = ["dev_eui"] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - dev_eui: str - def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... - -class DeleteDeviceRequest(_message.Message): - __slots__ = ["dev_eui"] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - dev_eui: str - def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... - class Device(_message.Message): - __slots__ = ["application_id", "description", "dev_eui", "device_profile_id", "is_disabled", "join_eui", "name", "skip_fcnt_check", "tags", "variables"] - class TagsEntry(_message.Message): - __slots__ = ["key", "value"] - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: str - value: str - def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + __slots__ = ["dev_eui", "name", "description", "application_id", "device_profile_id", "skip_fcnt_check", "is_disabled", "variables", "tags", "join_eui"] class VariablesEntry(_message.Message): __slots__ = ["key", "value"] KEY_FIELD_NUMBER: _ClassVar[int] @@ -62,139 +19,202 @@ class Device(_message.Message): key: str value: str def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - DESCRIPTION_FIELD_NUMBER: _ClassVar[int] - DEVICE_PROFILE_ID_FIELD_NUMBER: _ClassVar[int] + class TagsEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... DEV_EUI_FIELD_NUMBER: _ClassVar[int] - IS_DISABLED_FIELD_NUMBER: _ClassVar[int] - JOIN_EUI_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + DEVICE_PROFILE_ID_FIELD_NUMBER: _ClassVar[int] SKIP_FCNT_CHECK_FIELD_NUMBER: _ClassVar[int] - TAGS_FIELD_NUMBER: _ClassVar[int] + IS_DISABLED_FIELD_NUMBER: _ClassVar[int] VARIABLES_FIELD_NUMBER: _ClassVar[int] - application_id: str - description: str + TAGS_FIELD_NUMBER: _ClassVar[int] + JOIN_EUI_FIELD_NUMBER: _ClassVar[int] dev_eui: str - device_profile_id: str - is_disabled: bool - join_eui: str name: str + description: str + application_id: str + device_profile_id: str skip_fcnt_check: bool - tags: _containers.ScalarMap[str, str] + is_disabled: bool variables: _containers.ScalarMap[str, str] + tags: _containers.ScalarMap[str, str] + join_eui: str def __init__(self, dev_eui: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., application_id: _Optional[str] = ..., device_profile_id: _Optional[str] = ..., skip_fcnt_check: bool = ..., is_disabled: bool = ..., variables: _Optional[_Mapping[str, str]] = ..., tags: _Optional[_Mapping[str, str]] = ..., join_eui: _Optional[str] = ...) -> None: ... -class DeviceActivation(_message.Message): - __slots__ = ["a_f_cnt_down", "app_s_key", "dev_addr", "dev_eui", "f_cnt_up", "f_nwk_s_int_key", "n_f_cnt_down", "nwk_s_enc_key", "s_nwk_s_int_key"] - APP_S_KEY_FIELD_NUMBER: _ClassVar[int] - A_F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int] - DEV_ADDR_FIELD_NUMBER: _ClassVar[int] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - F_CNT_UP_FIELD_NUMBER: _ClassVar[int] - F_NWK_S_INT_KEY_FIELD_NUMBER: _ClassVar[int] - NWK_S_ENC_KEY_FIELD_NUMBER: _ClassVar[int] - N_F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int] - S_NWK_S_INT_KEY_FIELD_NUMBER: _ClassVar[int] - a_f_cnt_down: int - app_s_key: str - dev_addr: str - dev_eui: str - f_cnt_up: int - f_nwk_s_int_key: str - n_f_cnt_down: int - nwk_s_enc_key: str - s_nwk_s_int_key: str - def __init__(self, dev_eui: _Optional[str] = ..., dev_addr: _Optional[str] = ..., app_s_key: _Optional[str] = ..., nwk_s_enc_key: _Optional[str] = ..., s_nwk_s_int_key: _Optional[str] = ..., f_nwk_s_int_key: _Optional[str] = ..., f_cnt_up: _Optional[int] = ..., n_f_cnt_down: _Optional[int] = ..., a_f_cnt_down: _Optional[int] = ...) -> None: ... - -class DeviceKeys(_message.Message): - __slots__ = ["app_key", "dev_eui", "nwk_key"] - APP_KEY_FIELD_NUMBER: _ClassVar[int] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - NWK_KEY_FIELD_NUMBER: _ClassVar[int] - app_key: str - dev_eui: str - nwk_key: str - def __init__(self, dev_eui: _Optional[str] = ..., nwk_key: _Optional[str] = ..., app_key: _Optional[str] = ...) -> None: ... +class DeviceStatus(_message.Message): + __slots__ = ["margin", "external_power_source", "battery_level"] + MARGIN_FIELD_NUMBER: _ClassVar[int] + EXTERNAL_POWER_SOURCE_FIELD_NUMBER: _ClassVar[int] + BATTERY_LEVEL_FIELD_NUMBER: _ClassVar[int] + margin: int + external_power_source: bool + battery_level: float + def __init__(self, margin: _Optional[int] = ..., external_power_source: bool = ..., battery_level: _Optional[float] = ...) -> None: ... class DeviceListItem(_message.Message): - __slots__ = ["created_at", "description", "dev_eui", "device_profile_id", "device_profile_name", "device_status", "last_seen_at", "name", "updated_at"] + __slots__ = ["dev_eui", "created_at", "updated_at", "last_seen_at", "name", "description", "device_profile_id", "device_profile_name", "device_status"] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] DESCRIPTION_FIELD_NUMBER: _ClassVar[int] DEVICE_PROFILE_ID_FIELD_NUMBER: _ClassVar[int] DEVICE_PROFILE_NAME_FIELD_NUMBER: _ClassVar[int] DEVICE_STATUS_FIELD_NUMBER: _ClassVar[int] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int] - NAME_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp - description: str dev_eui: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + last_seen_at: _timestamp_pb2.Timestamp + name: str + description: str device_profile_id: str device_profile_name: str device_status: DeviceStatus - last_seen_at: _timestamp_pb2.Timestamp - name: str - updated_at: _timestamp_pb2.Timestamp def __init__(self, dev_eui: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., device_profile_id: _Optional[str] = ..., device_profile_name: _Optional[str] = ..., device_status: _Optional[_Union[DeviceStatus, _Mapping]] = ...) -> None: ... -class DeviceQueueItem(_message.Message): - __slots__ = ["confirmed", "data", "dev_eui", "f_cnt_down", "f_port", "id", "is_pending", "object"] - CONFIRMED_FIELD_NUMBER: _ClassVar[int] - DATA_FIELD_NUMBER: _ClassVar[int] +class DeviceKeys(_message.Message): + __slots__ = ["dev_eui", "nwk_key", "app_key"] DEV_EUI_FIELD_NUMBER: _ClassVar[int] - F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int] - F_PORT_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - IS_PENDING_FIELD_NUMBER: _ClassVar[int] - OBJECT_FIELD_NUMBER: _ClassVar[int] - confirmed: bool - data: bytes + NWK_KEY_FIELD_NUMBER: _ClassVar[int] + APP_KEY_FIELD_NUMBER: _ClassVar[int] dev_eui: str - f_cnt_down: int - f_port: int - id: str - is_pending: bool - object: _struct_pb2.Struct - def __init__(self, id: _Optional[str] = ..., dev_eui: _Optional[str] = ..., confirmed: bool = ..., f_port: _Optional[int] = ..., data: _Optional[bytes] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., is_pending: bool = ..., f_cnt_down: _Optional[int] = ...) -> None: ... + nwk_key: str + app_key: str + def __init__(self, dev_eui: _Optional[str] = ..., nwk_key: _Optional[str] = ..., app_key: _Optional[str] = ...) -> None: ... -class DeviceState(_message.Message): - __slots__ = ["name", "value"] - NAME_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - name: str - value: str - def __init__(self, name: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... +class CreateDeviceRequest(_message.Message): + __slots__ = ["device"] + DEVICE_FIELD_NUMBER: _ClassVar[int] + device: Device + def __init__(self, device: _Optional[_Union[Device, _Mapping]] = ...) -> None: ... -class DeviceStatus(_message.Message): - __slots__ = ["battery_level", "external_power_source", "margin"] - BATTERY_LEVEL_FIELD_NUMBER: _ClassVar[int] - EXTERNAL_POWER_SOURCE_FIELD_NUMBER: _ClassVar[int] - MARGIN_FIELD_NUMBER: _ClassVar[int] - battery_level: float - external_power_source: bool - margin: int - def __init__(self, margin: _Optional[int] = ..., external_power_source: bool = ..., battery_level: _Optional[float] = ...) -> None: ... - -class EnqueueDeviceQueueItemRequest(_message.Message): - __slots__ = ["queue_item"] - QUEUE_ITEM_FIELD_NUMBER: _ClassVar[int] - queue_item: DeviceQueueItem - def __init__(self, queue_item: _Optional[_Union[DeviceQueueItem, _Mapping]] = ...) -> None: ... - -class EnqueueDeviceQueueItemResponse(_message.Message): - __slots__ = ["id"] - ID_FIELD_NUMBER: _ClassVar[int] - id: str - def __init__(self, id: _Optional[str] = ...) -> None: ... - -class FlushDevNoncesRequest(_message.Message): +class GetDeviceRequest(_message.Message): __slots__ = ["dev_eui"] DEV_EUI_FIELD_NUMBER: _ClassVar[int] dev_eui: str def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... -class FlushDeviceQueueRequest(_message.Message): +class GetDeviceResponse(_message.Message): + __slots__ = ["device", "created_at", "updated_at", "last_seen_at", "device_status", "class_enabled"] + DEVICE_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int] + DEVICE_STATUS_FIELD_NUMBER: _ClassVar[int] + CLASS_ENABLED_FIELD_NUMBER: _ClassVar[int] + device: Device + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + last_seen_at: _timestamp_pb2.Timestamp + device_status: DeviceStatus + class_enabled: _common_pb2.DeviceClass + def __init__(self, device: _Optional[_Union[Device, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_status: _Optional[_Union[DeviceStatus, _Mapping]] = ..., class_enabled: _Optional[_Union[_common_pb2.DeviceClass, str]] = ...) -> None: ... + +class UpdateDeviceRequest(_message.Message): + __slots__ = ["device"] + DEVICE_FIELD_NUMBER: _ClassVar[int] + device: Device + def __init__(self, device: _Optional[_Union[Device, _Mapping]] = ...) -> None: ... + +class DeleteDeviceRequest(_message.Message): + __slots__ = ["dev_eui"] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + dev_eui: str + def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... + +class ListDevicesRequest(_message.Message): + __slots__ = ["limit", "offset", "search", "application_id", "multicast_group_id"] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + SEARCH_FIELD_NUMBER: _ClassVar[int] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] + limit: int + offset: int + search: str + application_id: str + multicast_group_id: str + def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., application_id: _Optional[str] = ..., multicast_group_id: _Optional[str] = ...) -> None: ... + +class ListDevicesResponse(_message.Message): + __slots__ = ["total_count", "result"] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + RESULT_FIELD_NUMBER: _ClassVar[int] + total_count: int + result: _containers.RepeatedCompositeFieldContainer[DeviceListItem] + def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[DeviceListItem, _Mapping]]] = ...) -> None: ... + +class CreateDeviceKeysRequest(_message.Message): + __slots__ = ["device_keys"] + DEVICE_KEYS_FIELD_NUMBER: _ClassVar[int] + device_keys: DeviceKeys + def __init__(self, device_keys: _Optional[_Union[DeviceKeys, _Mapping]] = ...) -> None: ... + +class GetDeviceKeysRequest(_message.Message): + __slots__ = ["dev_eui"] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + dev_eui: str + def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... + +class GetDeviceKeysResponse(_message.Message): + __slots__ = ["device_keys", "created_at", "updated_at"] + DEVICE_KEYS_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + device_keys: DeviceKeys + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + def __init__(self, device_keys: _Optional[_Union[DeviceKeys, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class UpdateDeviceKeysRequest(_message.Message): + __slots__ = ["device_keys"] + DEVICE_KEYS_FIELD_NUMBER: _ClassVar[int] + device_keys: DeviceKeys + def __init__(self, device_keys: _Optional[_Union[DeviceKeys, _Mapping]] = ...) -> None: ... + +class DeleteDeviceKeysRequest(_message.Message): + __slots__ = ["dev_eui"] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + dev_eui: str + def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... + +class DeviceActivation(_message.Message): + __slots__ = ["dev_eui", "dev_addr", "app_s_key", "nwk_s_enc_key", "s_nwk_s_int_key", "f_nwk_s_int_key", "f_cnt_up", "n_f_cnt_down", "a_f_cnt_down"] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + DEV_ADDR_FIELD_NUMBER: _ClassVar[int] + APP_S_KEY_FIELD_NUMBER: _ClassVar[int] + NWK_S_ENC_KEY_FIELD_NUMBER: _ClassVar[int] + S_NWK_S_INT_KEY_FIELD_NUMBER: _ClassVar[int] + F_NWK_S_INT_KEY_FIELD_NUMBER: _ClassVar[int] + F_CNT_UP_FIELD_NUMBER: _ClassVar[int] + N_F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int] + A_F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int] + dev_eui: str + dev_addr: str + app_s_key: str + nwk_s_enc_key: str + s_nwk_s_int_key: str + f_nwk_s_int_key: str + f_cnt_up: int + n_f_cnt_down: int + a_f_cnt_down: int + def __init__(self, dev_eui: _Optional[str] = ..., dev_addr: _Optional[str] = ..., app_s_key: _Optional[str] = ..., nwk_s_enc_key: _Optional[str] = ..., s_nwk_s_int_key: _Optional[str] = ..., f_nwk_s_int_key: _Optional[str] = ..., f_cnt_up: _Optional[int] = ..., n_f_cnt_down: _Optional[int] = ..., a_f_cnt_down: _Optional[int] = ...) -> None: ... + +class ActivateDeviceRequest(_message.Message): + __slots__ = ["device_activation"] + DEVICE_ACTIVATION_FIELD_NUMBER: _ClassVar[int] + device_activation: DeviceActivation + def __init__(self, device_activation: _Optional[_Union[DeviceActivation, _Mapping]] = ...) -> None: ... + +class DeactivateDeviceRequest(_message.Message): __slots__ = ["dev_eui"] DEV_EUI_FIELD_NUMBER: _ClassVar[int] dev_eui: str @@ -212,60 +232,28 @@ class GetDeviceActivationResponse(_message.Message): device_activation: DeviceActivation def __init__(self, device_activation: _Optional[_Union[DeviceActivation, _Mapping]] = ...) -> None: ... -class GetDeviceKeysRequest(_message.Message): +class GetRandomDevAddrRequest(_message.Message): __slots__ = ["dev_eui"] DEV_EUI_FIELD_NUMBER: _ClassVar[int] dev_eui: str def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... -class GetDeviceKeysResponse(_message.Message): - __slots__ = ["created_at", "device_keys", "updated_at"] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - DEVICE_KEYS_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp - device_keys: DeviceKeys - updated_at: _timestamp_pb2.Timestamp - def __init__(self, device_keys: _Optional[_Union[DeviceKeys, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... - -class GetDeviceLinkMetricsRequest(_message.Message): - __slots__ = ["aggregation", "dev_eui", "end", "start"] - AGGREGATION_FIELD_NUMBER: _ClassVar[int] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - END_FIELD_NUMBER: _ClassVar[int] - START_FIELD_NUMBER: _ClassVar[int] - aggregation: _common_pb2.Aggregation - dev_eui: str - end: _timestamp_pb2.Timestamp - start: _timestamp_pb2.Timestamp - def __init__(self, dev_eui: _Optional[str] = ..., start: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., aggregation: _Optional[_Union[_common_pb2.Aggregation, str]] = ...) -> None: ... - -class GetDeviceLinkMetricsResponse(_message.Message): - __slots__ = ["errors", "gw_rssi", "gw_snr", "rx_packets", "rx_packets_per_dr", "rx_packets_per_freq"] - ERRORS_FIELD_NUMBER: _ClassVar[int] - GW_RSSI_FIELD_NUMBER: _ClassVar[int] - GW_SNR_FIELD_NUMBER: _ClassVar[int] - RX_PACKETS_FIELD_NUMBER: _ClassVar[int] - RX_PACKETS_PER_DR_FIELD_NUMBER: _ClassVar[int] - RX_PACKETS_PER_FREQ_FIELD_NUMBER: _ClassVar[int] - errors: _common_pb2.Metric - gw_rssi: _common_pb2.Metric - gw_snr: _common_pb2.Metric - rx_packets: _common_pb2.Metric - rx_packets_per_dr: _common_pb2.Metric - rx_packets_per_freq: _common_pb2.Metric - def __init__(self, rx_packets: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., gw_rssi: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., gw_snr: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., rx_packets_per_freq: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., rx_packets_per_dr: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., errors: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ...) -> None: ... +class GetRandomDevAddrResponse(_message.Message): + __slots__ = ["dev_addr"] + DEV_ADDR_FIELD_NUMBER: _ClassVar[int] + dev_addr: str + def __init__(self, dev_addr: _Optional[str] = ...) -> None: ... class GetDeviceMetricsRequest(_message.Message): - __slots__ = ["aggregation", "dev_eui", "end", "start"] - AGGREGATION_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["dev_eui", "start", "end", "aggregation"] DEV_EUI_FIELD_NUMBER: _ClassVar[int] - END_FIELD_NUMBER: _ClassVar[int] START_FIELD_NUMBER: _ClassVar[int] - aggregation: _common_pb2.Aggregation + END_FIELD_NUMBER: _ClassVar[int] + AGGREGATION_FIELD_NUMBER: _ClassVar[int] dev_eui: str - end: _timestamp_pb2.Timestamp start: _timestamp_pb2.Timestamp + end: _timestamp_pb2.Timestamp + aggregation: _common_pb2.Aggregation def __init__(self, dev_eui: _Optional[str] = ..., start: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., aggregation: _Optional[_Union[_common_pb2.Aggregation, str]] = ...) -> None: ... class GetDeviceMetricsResponse(_message.Message): @@ -290,86 +278,98 @@ class GetDeviceMetricsResponse(_message.Message): states: _containers.MessageMap[str, DeviceState] def __init__(self, metrics: _Optional[_Mapping[str, _common_pb2.Metric]] = ..., states: _Optional[_Mapping[str, DeviceState]] = ...) -> None: ... -class GetDeviceQueueItemsRequest(_message.Message): - __slots__ = ["count_only", "dev_eui"] - COUNT_ONLY_FIELD_NUMBER: _ClassVar[int] +class DeviceState(_message.Message): + __slots__ = ["name", "value"] + NAME_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + name: str + value: str + def __init__(self, name: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + +class GetDeviceLinkMetricsRequest(_message.Message): + __slots__ = ["dev_eui", "start", "end", "aggregation"] DEV_EUI_FIELD_NUMBER: _ClassVar[int] - count_only: bool + START_FIELD_NUMBER: _ClassVar[int] + END_FIELD_NUMBER: _ClassVar[int] + AGGREGATION_FIELD_NUMBER: _ClassVar[int] dev_eui: str + start: _timestamp_pb2.Timestamp + end: _timestamp_pb2.Timestamp + aggregation: _common_pb2.Aggregation + def __init__(self, dev_eui: _Optional[str] = ..., start: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., aggregation: _Optional[_Union[_common_pb2.Aggregation, str]] = ...) -> None: ... + +class GetDeviceLinkMetricsResponse(_message.Message): + __slots__ = ["rx_packets", "gw_rssi", "gw_snr", "rx_packets_per_freq", "rx_packets_per_dr", "errors"] + RX_PACKETS_FIELD_NUMBER: _ClassVar[int] + GW_RSSI_FIELD_NUMBER: _ClassVar[int] + GW_SNR_FIELD_NUMBER: _ClassVar[int] + RX_PACKETS_PER_FREQ_FIELD_NUMBER: _ClassVar[int] + RX_PACKETS_PER_DR_FIELD_NUMBER: _ClassVar[int] + ERRORS_FIELD_NUMBER: _ClassVar[int] + rx_packets: _common_pb2.Metric + gw_rssi: _common_pb2.Metric + gw_snr: _common_pb2.Metric + rx_packets_per_freq: _common_pb2.Metric + rx_packets_per_dr: _common_pb2.Metric + errors: _common_pb2.Metric + def __init__(self, rx_packets: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., gw_rssi: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., gw_snr: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., rx_packets_per_freq: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., rx_packets_per_dr: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., errors: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ...) -> None: ... + +class DeviceQueueItem(_message.Message): + __slots__ = ["id", "dev_eui", "confirmed", "f_port", "data", "object", "is_pending", "f_cnt_down"] + ID_FIELD_NUMBER: _ClassVar[int] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + CONFIRMED_FIELD_NUMBER: _ClassVar[int] + F_PORT_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] + OBJECT_FIELD_NUMBER: _ClassVar[int] + IS_PENDING_FIELD_NUMBER: _ClassVar[int] + F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int] + id: str + dev_eui: str + confirmed: bool + f_port: int + data: bytes + object: _struct_pb2.Struct + is_pending: bool + f_cnt_down: int + def __init__(self, id: _Optional[str] = ..., dev_eui: _Optional[str] = ..., confirmed: bool = ..., f_port: _Optional[int] = ..., data: _Optional[bytes] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., is_pending: bool = ..., f_cnt_down: _Optional[int] = ...) -> None: ... + +class EnqueueDeviceQueueItemRequest(_message.Message): + __slots__ = ["queue_item"] + QUEUE_ITEM_FIELD_NUMBER: _ClassVar[int] + queue_item: DeviceQueueItem + def __init__(self, queue_item: _Optional[_Union[DeviceQueueItem, _Mapping]] = ...) -> None: ... + +class EnqueueDeviceQueueItemResponse(_message.Message): + __slots__ = ["id"] + ID_FIELD_NUMBER: _ClassVar[int] + id: str + def __init__(self, id: _Optional[str] = ...) -> None: ... + +class FlushDeviceQueueRequest(_message.Message): + __slots__ = ["dev_eui"] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + dev_eui: str + def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... + +class GetDeviceQueueItemsRequest(_message.Message): + __slots__ = ["dev_eui", "count_only"] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + COUNT_ONLY_FIELD_NUMBER: _ClassVar[int] + dev_eui: str + count_only: bool def __init__(self, dev_eui: _Optional[str] = ..., count_only: bool = ...) -> None: ... class GetDeviceQueueItemsResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["total_count", "result"] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[DeviceQueueItem] + RESULT_FIELD_NUMBER: _ClassVar[int] total_count: int + result: _containers.RepeatedCompositeFieldContainer[DeviceQueueItem] def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[DeviceQueueItem, _Mapping]]] = ...) -> None: ... -class GetDeviceRequest(_message.Message): +class FlushDevNoncesRequest(_message.Message): __slots__ = ["dev_eui"] DEV_EUI_FIELD_NUMBER: _ClassVar[int] dev_eui: str def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... - -class GetDeviceResponse(_message.Message): - __slots__ = ["class_enabled", "created_at", "device", "device_status", "last_seen_at", "updated_at"] - CLASS_ENABLED_FIELD_NUMBER: _ClassVar[int] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - DEVICE_FIELD_NUMBER: _ClassVar[int] - DEVICE_STATUS_FIELD_NUMBER: _ClassVar[int] - LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - class_enabled: _common_pb2.DeviceClass - created_at: _timestamp_pb2.Timestamp - device: Device - device_status: DeviceStatus - last_seen_at: _timestamp_pb2.Timestamp - updated_at: _timestamp_pb2.Timestamp - def __init__(self, device: _Optional[_Union[Device, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_status: _Optional[_Union[DeviceStatus, _Mapping]] = ..., class_enabled: _Optional[_Union[_common_pb2.DeviceClass, str]] = ...) -> None: ... - -class GetRandomDevAddrRequest(_message.Message): - __slots__ = ["dev_eui"] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - dev_eui: str - def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... - -class GetRandomDevAddrResponse(_message.Message): - __slots__ = ["dev_addr"] - DEV_ADDR_FIELD_NUMBER: _ClassVar[int] - dev_addr: str - def __init__(self, dev_addr: _Optional[str] = ...) -> None: ... - -class ListDevicesRequest(_message.Message): - __slots__ = ["application_id", "limit", "multicast_group_id", "offset", "search"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - LIMIT_FIELD_NUMBER: _ClassVar[int] - MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] - OFFSET_FIELD_NUMBER: _ClassVar[int] - SEARCH_FIELD_NUMBER: _ClassVar[int] - application_id: str - limit: int - multicast_group_id: str - offset: int - search: str - def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., application_id: _Optional[str] = ..., multicast_group_id: _Optional[str] = ...) -> None: ... - -class ListDevicesResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] - TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[DeviceListItem] - total_count: int - def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[DeviceListItem, _Mapping]]] = ...) -> None: ... - -class UpdateDeviceKeysRequest(_message.Message): - __slots__ = ["device_keys"] - DEVICE_KEYS_FIELD_NUMBER: _ClassVar[int] - device_keys: DeviceKeys - def __init__(self, device_keys: _Optional[_Union[DeviceKeys, _Mapping]] = ...) -> None: ... - -class UpdateDeviceRequest(_message.Message): - __slots__ = ["device"] - DEVICE_FIELD_NUMBER: _ClassVar[int] - device: Device - def __init__(self, device: _Optional[_Union[Device, _Mapping]] = ...) -> None: ... diff --git a/api/python/src/chirpstack_api/api/device_profile_pb2.py b/api/python/src/chirpstack_api/api/device_profile_pb2.py index f068cdc9..2422d7e7 100644 --- a/api/python/src/chirpstack_api/api/device_profile_pb2.py +++ b/api/python/src/chirpstack_api/api/device_profile_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/api/device_profile.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -19,8 +19,9 @@ from chirpstack_api.common import common_pb2 as chirpstack__api_dot_common_dot_c DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'chirpstack-api/api/device_profile.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"chirpstack-api/common/common.proto\"\xc8\x0e\n\rDeviceProfile\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\ttenant_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x1a \x01(\t\x12\x1e\n\x06region\x18\x04 \x01(\x0e\x32\x0e.common.Region\x12\'\n\x0bmac_version\x18\x05 \x01(\x0e\x32\x12.common.MacVersion\x12\x36\n\x13reg_params_revision\x18\x06 \x01(\x0e\x32\x19.common.RegParamsRevision\x12\x18\n\x10\x61\x64r_algorithm_id\x18\x07 \x01(\t\x12\x30\n\x15payload_codec_runtime\x18\x08 \x01(\x0e\x32\x11.api.CodecRuntime\x12\x1c\n\x14payload_codec_script\x18\t \x01(\t\x12\x1f\n\x17\x66lush_queue_on_activate\x18\n \x01(\x08\x12\x17\n\x0fuplink_interval\x18\x0b \x01(\r\x12\"\n\x1a\x64\x65vice_status_req_interval\x18\x0c \x01(\r\x12\x15\n\rsupports_otaa\x18\r \x01(\x08\x12\x18\n\x10supports_class_b\x18\x0e \x01(\x08\x12\x18\n\x10supports_class_c\x18\x0f \x01(\x08\x12\x17\n\x0f\x63lass_b_timeout\x18\x10 \x01(\r\x12\x1e\n\x16\x63lass_b_ping_slot_nb_k\x18\x11 \x01(\r\x12\x1c\n\x14\x63lass_b_ping_slot_dr\x18\x12 \x01(\r\x12\x1e\n\x16\x63lass_b_ping_slot_freq\x18\x13 \x01(\r\x12\x17\n\x0f\x63lass_c_timeout\x18\x14 \x01(\r\x12\x15\n\rabp_rx1_delay\x18\x15 \x01(\r\x12\x19\n\x11\x61\x62p_rx1_dr_offset\x18\x16 \x01(\r\x12\x12\n\nabp_rx2_dr\x18\x17 \x01(\r\x12\x14\n\x0c\x61\x62p_rx2_freq\x18\x18 \x01(\r\x12*\n\x04tags\x18\x19 \x03(\x0b\x32\x1c.api.DeviceProfile.TagsEntry\x12:\n\x0cmeasurements\x18\x1b \x03(\x0b\x32$.api.DeviceProfile.MeasurementsEntry\x12 \n\x18\x61uto_detect_measurements\x18\x1c \x01(\x08\x12\x18\n\x10region_config_id\x18\x1d \x01(\t\x12\x10\n\x08is_relay\x18\x1e \x01(\x08\x12\x13\n\x0bis_relay_ed\x18\x1f \x01(\x08\x12\x1b\n\x13relay_ed_relay_only\x18 \x01(\x08\x12\x15\n\rrelay_enabled\x18! \x01(\x08\x12\x32\n\x15relay_cad_periodicity\x18\" \x01(\x0e\x32\x13.api.CadPeriodicity\x12#\n\x1brelay_default_channel_index\x18# \x01(\r\x12!\n\x19relay_second_channel_freq\x18$ \x01(\r\x12\x1f\n\x17relay_second_channel_dr\x18% \x01(\r\x12?\n\x1frelay_second_channel_ack_offset\x18& \x01(\x0e\x32\x16.api.SecondChAckOffset\x12:\n\x18relay_ed_activation_mode\x18\' \x01(\x0e\x32\x18.api.RelayModeActivation\x12#\n\x1brelay_ed_smart_enable_level\x18( \x01(\r\x12\x19\n\x11relay_ed_back_off\x18) \x01(\r\x12)\n!relay_ed_uplink_limit_bucket_size\x18* \x01(\r\x12)\n!relay_ed_uplink_limit_reload_rate\x18+ \x01(\r\x12(\n relay_join_req_limit_reload_rate\x18, \x01(\r\x12&\n\x1erelay_notify_limit_reload_rate\x18- \x01(\r\x12-\n%relay_global_uplink_limit_reload_rate\x18. \x01(\r\x12\'\n\x1frelay_overall_limit_reload_rate\x18/ \x01(\r\x12(\n relay_join_req_limit_bucket_size\x18\x30 \x01(\r\x12&\n\x1erelay_notify_limit_bucket_size\x18\x31 \x01(\r\x12-\n%relay_global_uplink_limit_bucket_size\x18\x32 \x01(\r\x12\'\n\x1frelay_overall_limit_bucket_size\x18\x33 \x01(\r\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x45\n\x11MeasurementsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.api.Measurement:\x02\x38\x01\"?\n\x0bMeasurement\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.api.MeasurementKind\"\xdd\x02\n\x15\x44\x65viceProfileListItem\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x1e\n\x06region\x18\x05 \x01(\x0e\x32\x0e.common.Region\x12\'\n\x0bmac_version\x18\x06 \x01(\x0e\x32\x12.common.MacVersion\x12\x36\n\x13reg_params_revision\x18\x07 \x01(\x0e\x32\x19.common.RegParamsRevision\x12\x15\n\rsupports_otaa\x18\x08 \x01(\x08\x12\x18\n\x10supports_class_b\x18\t \x01(\x08\x12\x18\n\x10supports_class_c\x18\n \x01(\x08\"H\n\x1a\x43reateDeviceProfileRequest\x12*\n\x0e\x64\x65vice_profile\x18\x01 \x01(\x0b\x32\x12.api.DeviceProfile\")\n\x1b\x43reateDeviceProfileResponse\x12\n\n\x02id\x18\x01 \x01(\t\"%\n\x17GetDeviceProfileRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\xa6\x01\n\x18GetDeviceProfileResponse\x12*\n\x0e\x64\x65vice_profile\x18\x01 \x01(\x0b\x32\x12.api.DeviceProfile\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"H\n\x1aUpdateDeviceProfileRequest\x12*\n\x0e\x64\x65vice_profile\x18\x01 \x01(\x0b\x32\x12.api.DeviceProfile\"(\n\x1a\x44\x65leteDeviceProfileRequest\x12\n\n\x02id\x18\x01 \x01(\t\"]\n\x19ListDeviceProfilesRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x0e\n\x06search\x18\x03 \x01(\t\x12\x11\n\ttenant_id\x18\x04 \x01(\t\"]\n\x1aListDeviceProfilesResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12*\n\x06result\x18\x02 \x03(\x0b\x32\x1a.api.DeviceProfileListItem\"h\n&ListDeviceProfileAdrAlgorithmsResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12)\n\x06result\x18\x02 \x03(\x0b\x32\x19.api.AdrAlgorithmListItem\"0\n\x14\x41\x64rAlgorithmListItem\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t*1\n\x0c\x43odecRuntime\x12\x08\n\x04NONE\x10\x00\x12\x0f\n\x0b\x43\x41YENNE_LPP\x10\x01\x12\x06\n\x02JS\x10\x02*P\n\x0fMeasurementKind\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07\x43OUNTER\x10\x01\x12\x0c\n\x08\x41\x42SOLUTE\x10\x02\x12\t\n\x05GAUGE\x10\x03\x12\n\n\x06STRING\x10\x04*U\n\x0e\x43\x61\x64Periodicity\x12\t\n\x05SEC_1\x10\x00\x12\n\n\x06MS_500\x10\x01\x12\n\n\x06MS_250\x10\x02\x12\n\n\x06MS_100\x10\x03\x12\t\n\x05MS_50\x10\x04\x12\t\n\x05MS_20\x10\x05*a\n\x11SecondChAckOffset\x12\t\n\x05KHZ_0\x10\x00\x12\x0b\n\x07KHZ_200\x10\x01\x12\x0b\n\x07KHZ_400\x10\x02\x12\x0b\n\x07KHZ_800\x10\x03\x12\x0c\n\x08KHZ_1600\x10\x04\x12\x0c\n\x08KHZ_3200\x10\x05*l\n\x13RelayModeActivation\x12\x16\n\x12\x44ISABLE_RELAY_MODE\x10\x00\x12\x15\n\x11\x45NABLE_RELAY_MODE\x10\x01\x12\x0b\n\x07\x44YNAMIC\x10\x02\x12\x19\n\x15\x45ND_DEVICE_CONTROLLED\x10\x03\x32\xb8\x05\n\x14\x44\x65viceProfileService\x12l\n\x06\x43reate\x12\x1f.api.CreateDeviceProfileRequest\x1a .api.CreateDeviceProfileResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\"\x14/api/device-profiles:\x01*\x12\x65\n\x03Get\x12\x1c.api.GetDeviceProfileRequest\x1a\x1d.api.GetDeviceProfileResponse\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/api/device-profiles/{id}\x12v\n\x06Update\x12\x1f.api.UpdateDeviceProfileRequest\x1a\x16.google.protobuf.Empty\"3\x82\xd3\xe4\x93\x02-\x1a(/api/device-profiles/{device_profile.id}:\x01*\x12\x64\n\x06\x44\x65lete\x12\x1f.api.DeleteDeviceProfileRequest\x1a\x16.google.protobuf.Empty\"!\x82\xd3\xe4\x93\x02\x1b*\x19/api/device-profiles/{id}\x12\x65\n\x04List\x12\x1e.api.ListDeviceProfilesRequest\x1a\x1f.api.ListDeviceProfilesResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/api/device-profiles\x12\x85\x01\n\x11ListAdrAlgorithms\x12\x16.google.protobuf.Empty\x1a+.api.ListDeviceProfileAdrAlgorithmsResponse\"+\x82\xd3\xe4\x93\x02%\x12#/api/device-profiles/adr-algorithmsBj\n\x11io.chirpstack.apiB\x12\x44\x65viceProfileProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.device_profile_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.device_profile_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -41,46 +42,46 @@ if _descriptor._USE_C_DESCRIPTORS == False: _DEVICEPROFILESERVICE.methods_by_name['List']._serialized_options = b'\202\323\344\223\002\026\022\024/api/device-profiles' _DEVICEPROFILESERVICE.methods_by_name['ListAdrAlgorithms']._options = None _DEVICEPROFILESERVICE.methods_by_name['ListAdrAlgorithms']._serialized_options = b'\202\323\344\223\002%\022#/api/device-profiles/adr-algorithms' - _CODECRUNTIME._serialized_start=3247 - _CODECRUNTIME._serialized_end=3296 - _MEASUREMENTKIND._serialized_start=3298 - _MEASUREMENTKIND._serialized_end=3378 - _CADPERIODICITY._serialized_start=3380 - _CADPERIODICITY._serialized_end=3465 - _SECONDCHACKOFFSET._serialized_start=3467 - _SECONDCHACKOFFSET._serialized_end=3564 - _RELAYMODEACTIVATION._serialized_start=3566 - _RELAYMODEACTIVATION._serialized_end=3674 - _DEVICEPROFILE._serialized_start=177 - _DEVICEPROFILE._serialized_end=2041 - _DEVICEPROFILE_TAGSENTRY._serialized_start=1927 - _DEVICEPROFILE_TAGSENTRY._serialized_end=1970 - _DEVICEPROFILE_MEASUREMENTSENTRY._serialized_start=1972 - _DEVICEPROFILE_MEASUREMENTSENTRY._serialized_end=2041 - _MEASUREMENT._serialized_start=2043 - _MEASUREMENT._serialized_end=2106 - _DEVICEPROFILELISTITEM._serialized_start=2109 - _DEVICEPROFILELISTITEM._serialized_end=2458 - _CREATEDEVICEPROFILEREQUEST._serialized_start=2460 - _CREATEDEVICEPROFILEREQUEST._serialized_end=2532 - _CREATEDEVICEPROFILERESPONSE._serialized_start=2534 - _CREATEDEVICEPROFILERESPONSE._serialized_end=2575 - _GETDEVICEPROFILEREQUEST._serialized_start=2577 - _GETDEVICEPROFILEREQUEST._serialized_end=2614 - _GETDEVICEPROFILERESPONSE._serialized_start=2617 - _GETDEVICEPROFILERESPONSE._serialized_end=2783 - _UPDATEDEVICEPROFILEREQUEST._serialized_start=2785 - _UPDATEDEVICEPROFILEREQUEST._serialized_end=2857 - _DELETEDEVICEPROFILEREQUEST._serialized_start=2859 - _DELETEDEVICEPROFILEREQUEST._serialized_end=2899 - _LISTDEVICEPROFILESREQUEST._serialized_start=2901 - _LISTDEVICEPROFILESREQUEST._serialized_end=2994 - _LISTDEVICEPROFILESRESPONSE._serialized_start=2996 - _LISTDEVICEPROFILESRESPONSE._serialized_end=3089 - _LISTDEVICEPROFILEADRALGORITHMSRESPONSE._serialized_start=3091 - _LISTDEVICEPROFILEADRALGORITHMSRESPONSE._serialized_end=3195 - _ADRALGORITHMLISTITEM._serialized_start=3197 - _ADRALGORITHMLISTITEM._serialized_end=3245 - _DEVICEPROFILESERVICE._serialized_start=3677 - _DEVICEPROFILESERVICE._serialized_end=4373 + _globals['_CODECRUNTIME']._serialized_start=3247 + _globals['_CODECRUNTIME']._serialized_end=3296 + _globals['_MEASUREMENTKIND']._serialized_start=3298 + _globals['_MEASUREMENTKIND']._serialized_end=3378 + _globals['_CADPERIODICITY']._serialized_start=3380 + _globals['_CADPERIODICITY']._serialized_end=3465 + _globals['_SECONDCHACKOFFSET']._serialized_start=3467 + _globals['_SECONDCHACKOFFSET']._serialized_end=3564 + _globals['_RELAYMODEACTIVATION']._serialized_start=3566 + _globals['_RELAYMODEACTIVATION']._serialized_end=3674 + _globals['_DEVICEPROFILE']._serialized_start=177 + _globals['_DEVICEPROFILE']._serialized_end=2041 + _globals['_DEVICEPROFILE_TAGSENTRY']._serialized_start=1927 + _globals['_DEVICEPROFILE_TAGSENTRY']._serialized_end=1970 + _globals['_DEVICEPROFILE_MEASUREMENTSENTRY']._serialized_start=1972 + _globals['_DEVICEPROFILE_MEASUREMENTSENTRY']._serialized_end=2041 + _globals['_MEASUREMENT']._serialized_start=2043 + _globals['_MEASUREMENT']._serialized_end=2106 + _globals['_DEVICEPROFILELISTITEM']._serialized_start=2109 + _globals['_DEVICEPROFILELISTITEM']._serialized_end=2458 + _globals['_CREATEDEVICEPROFILEREQUEST']._serialized_start=2460 + _globals['_CREATEDEVICEPROFILEREQUEST']._serialized_end=2532 + _globals['_CREATEDEVICEPROFILERESPONSE']._serialized_start=2534 + _globals['_CREATEDEVICEPROFILERESPONSE']._serialized_end=2575 + _globals['_GETDEVICEPROFILEREQUEST']._serialized_start=2577 + _globals['_GETDEVICEPROFILEREQUEST']._serialized_end=2614 + _globals['_GETDEVICEPROFILERESPONSE']._serialized_start=2617 + _globals['_GETDEVICEPROFILERESPONSE']._serialized_end=2783 + _globals['_UPDATEDEVICEPROFILEREQUEST']._serialized_start=2785 + _globals['_UPDATEDEVICEPROFILEREQUEST']._serialized_end=2857 + _globals['_DELETEDEVICEPROFILEREQUEST']._serialized_start=2859 + _globals['_DELETEDEVICEPROFILEREQUEST']._serialized_end=2899 + _globals['_LISTDEVICEPROFILESREQUEST']._serialized_start=2901 + _globals['_LISTDEVICEPROFILESREQUEST']._serialized_end=2994 + _globals['_LISTDEVICEPROFILESRESPONSE']._serialized_start=2996 + _globals['_LISTDEVICEPROFILESRESPONSE']._serialized_end=3089 + _globals['_LISTDEVICEPROFILEADRALGORITHMSRESPONSE']._serialized_start=3091 + _globals['_LISTDEVICEPROFILEADRALGORITHMSRESPONSE']._serialized_end=3195 + _globals['_ADRALGORITHMLISTITEM']._serialized_start=3197 + _globals['_ADRALGORITHMLISTITEM']._serialized_end=3245 + _globals['_DEVICEPROFILESERVICE']._serialized_start=3677 + _globals['_DEVICEPROFILESERVICE']._serialized_end=4373 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/api/device_profile_pb2.pyi b/api/python/src/chirpstack_api/api/device_profile_pb2.pyi index 6421ffcc..4079565a 100644 --- a/api/python/src/chirpstack_api/api/device_profile_pb2.pyi +++ b/api/python/src/chirpstack_api/api/device_profile_pb2.pyi @@ -8,39 +8,222 @@ from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union -ABSOLUTE: MeasurementKind -CAYENNE_LPP: CodecRuntime -COUNTER: MeasurementKind DESCRIPTOR: _descriptor.FileDescriptor -DISABLE_RELAY_MODE: RelayModeActivation -DYNAMIC: RelayModeActivation -ENABLE_RELAY_MODE: RelayModeActivation -END_DEVICE_CONTROLLED: RelayModeActivation -GAUGE: MeasurementKind + +class CodecRuntime(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + NONE: _ClassVar[CodecRuntime] + CAYENNE_LPP: _ClassVar[CodecRuntime] + JS: _ClassVar[CodecRuntime] + +class MeasurementKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + UNKNOWN: _ClassVar[MeasurementKind] + COUNTER: _ClassVar[MeasurementKind] + ABSOLUTE: _ClassVar[MeasurementKind] + GAUGE: _ClassVar[MeasurementKind] + STRING: _ClassVar[MeasurementKind] + +class CadPeriodicity(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + SEC_1: _ClassVar[CadPeriodicity] + MS_500: _ClassVar[CadPeriodicity] + MS_250: _ClassVar[CadPeriodicity] + MS_100: _ClassVar[CadPeriodicity] + MS_50: _ClassVar[CadPeriodicity] + MS_20: _ClassVar[CadPeriodicity] + +class SecondChAckOffset(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + KHZ_0: _ClassVar[SecondChAckOffset] + KHZ_200: _ClassVar[SecondChAckOffset] + KHZ_400: _ClassVar[SecondChAckOffset] + KHZ_800: _ClassVar[SecondChAckOffset] + KHZ_1600: _ClassVar[SecondChAckOffset] + KHZ_3200: _ClassVar[SecondChAckOffset] + +class RelayModeActivation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + DISABLE_RELAY_MODE: _ClassVar[RelayModeActivation] + ENABLE_RELAY_MODE: _ClassVar[RelayModeActivation] + DYNAMIC: _ClassVar[RelayModeActivation] + END_DEVICE_CONTROLLED: _ClassVar[RelayModeActivation] +NONE: CodecRuntime +CAYENNE_LPP: CodecRuntime JS: CodecRuntime +UNKNOWN: MeasurementKind +COUNTER: MeasurementKind +ABSOLUTE: MeasurementKind +GAUGE: MeasurementKind +STRING: MeasurementKind +SEC_1: CadPeriodicity +MS_500: CadPeriodicity +MS_250: CadPeriodicity +MS_100: CadPeriodicity +MS_50: CadPeriodicity +MS_20: CadPeriodicity KHZ_0: SecondChAckOffset -KHZ_1600: SecondChAckOffset KHZ_200: SecondChAckOffset -KHZ_3200: SecondChAckOffset KHZ_400: SecondChAckOffset KHZ_800: SecondChAckOffset -MS_100: CadPeriodicity -MS_20: CadPeriodicity -MS_250: CadPeriodicity -MS_50: CadPeriodicity -MS_500: CadPeriodicity -NONE: CodecRuntime -SEC_1: CadPeriodicity -STRING: MeasurementKind -UNKNOWN: MeasurementKind +KHZ_1600: SecondChAckOffset +KHZ_3200: SecondChAckOffset +DISABLE_RELAY_MODE: RelayModeActivation +ENABLE_RELAY_MODE: RelayModeActivation +DYNAMIC: RelayModeActivation +END_DEVICE_CONTROLLED: RelayModeActivation -class AdrAlgorithmListItem(_message.Message): - __slots__ = ["id", "name"] +class DeviceProfile(_message.Message): + __slots__ = ["id", "tenant_id", "name", "description", "region", "mac_version", "reg_params_revision", "adr_algorithm_id", "payload_codec_runtime", "payload_codec_script", "flush_queue_on_activate", "uplink_interval", "device_status_req_interval", "supports_otaa", "supports_class_b", "supports_class_c", "class_b_timeout", "class_b_ping_slot_nb_k", "class_b_ping_slot_dr", "class_b_ping_slot_freq", "class_c_timeout", "abp_rx1_delay", "abp_rx1_dr_offset", "abp_rx2_dr", "abp_rx2_freq", "tags", "measurements", "auto_detect_measurements", "region_config_id", "is_relay", "is_relay_ed", "relay_ed_relay_only", "relay_enabled", "relay_cad_periodicity", "relay_default_channel_index", "relay_second_channel_freq", "relay_second_channel_dr", "relay_second_channel_ack_offset", "relay_ed_activation_mode", "relay_ed_smart_enable_level", "relay_ed_back_off", "relay_ed_uplink_limit_bucket_size", "relay_ed_uplink_limit_reload_rate", "relay_join_req_limit_reload_rate", "relay_notify_limit_reload_rate", "relay_global_uplink_limit_reload_rate", "relay_overall_limit_reload_rate", "relay_join_req_limit_bucket_size", "relay_notify_limit_bucket_size", "relay_global_uplink_limit_bucket_size", "relay_overall_limit_bucket_size"] + class TagsEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + class MeasurementsEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: Measurement + def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[Measurement, _Mapping]] = ...) -> None: ... ID_FIELD_NUMBER: _ClassVar[int] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + MAC_VERSION_FIELD_NUMBER: _ClassVar[int] + REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int] + ADR_ALGORITHM_ID_FIELD_NUMBER: _ClassVar[int] + PAYLOAD_CODEC_RUNTIME_FIELD_NUMBER: _ClassVar[int] + PAYLOAD_CODEC_SCRIPT_FIELD_NUMBER: _ClassVar[int] + FLUSH_QUEUE_ON_ACTIVATE_FIELD_NUMBER: _ClassVar[int] + UPLINK_INTERVAL_FIELD_NUMBER: _ClassVar[int] + DEVICE_STATUS_REQ_INTERVAL_FIELD_NUMBER: _ClassVar[int] + SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int] + SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int] + SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int] + CLASS_B_TIMEOUT_FIELD_NUMBER: _ClassVar[int] + CLASS_B_PING_SLOT_NB_K_FIELD_NUMBER: _ClassVar[int] + CLASS_B_PING_SLOT_DR_FIELD_NUMBER: _ClassVar[int] + CLASS_B_PING_SLOT_FREQ_FIELD_NUMBER: _ClassVar[int] + CLASS_C_TIMEOUT_FIELD_NUMBER: _ClassVar[int] + ABP_RX1_DELAY_FIELD_NUMBER: _ClassVar[int] + ABP_RX1_DR_OFFSET_FIELD_NUMBER: _ClassVar[int] + ABP_RX2_DR_FIELD_NUMBER: _ClassVar[int] + ABP_RX2_FREQ_FIELD_NUMBER: _ClassVar[int] + TAGS_FIELD_NUMBER: _ClassVar[int] + MEASUREMENTS_FIELD_NUMBER: _ClassVar[int] + AUTO_DETECT_MEASUREMENTS_FIELD_NUMBER: _ClassVar[int] + REGION_CONFIG_ID_FIELD_NUMBER: _ClassVar[int] + IS_RELAY_FIELD_NUMBER: _ClassVar[int] + IS_RELAY_ED_FIELD_NUMBER: _ClassVar[int] + RELAY_ED_RELAY_ONLY_FIELD_NUMBER: _ClassVar[int] + RELAY_ENABLED_FIELD_NUMBER: _ClassVar[int] + RELAY_CAD_PERIODICITY_FIELD_NUMBER: _ClassVar[int] + RELAY_DEFAULT_CHANNEL_INDEX_FIELD_NUMBER: _ClassVar[int] + RELAY_SECOND_CHANNEL_FREQ_FIELD_NUMBER: _ClassVar[int] + RELAY_SECOND_CHANNEL_DR_FIELD_NUMBER: _ClassVar[int] + RELAY_SECOND_CHANNEL_ACK_OFFSET_FIELD_NUMBER: _ClassVar[int] + RELAY_ED_ACTIVATION_MODE_FIELD_NUMBER: _ClassVar[int] + RELAY_ED_SMART_ENABLE_LEVEL_FIELD_NUMBER: _ClassVar[int] + RELAY_ED_BACK_OFF_FIELD_NUMBER: _ClassVar[int] + RELAY_ED_UPLINK_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int] + RELAY_ED_UPLINK_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int] + RELAY_JOIN_REQ_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int] + RELAY_NOTIFY_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int] + RELAY_GLOBAL_UPLINK_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int] + RELAY_OVERALL_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int] + RELAY_JOIN_REQ_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int] + RELAY_NOTIFY_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int] + RELAY_GLOBAL_UPLINK_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int] + RELAY_OVERALL_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int] id: str + tenant_id: str name: str - def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ... + description: str + region: _common_pb2.Region + mac_version: _common_pb2.MacVersion + reg_params_revision: _common_pb2.RegParamsRevision + adr_algorithm_id: str + payload_codec_runtime: CodecRuntime + payload_codec_script: str + flush_queue_on_activate: bool + uplink_interval: int + device_status_req_interval: int + supports_otaa: bool + supports_class_b: bool + supports_class_c: bool + class_b_timeout: int + class_b_ping_slot_nb_k: int + class_b_ping_slot_dr: int + class_b_ping_slot_freq: int + class_c_timeout: int + abp_rx1_delay: int + abp_rx1_dr_offset: int + abp_rx2_dr: int + abp_rx2_freq: int + tags: _containers.ScalarMap[str, str] + measurements: _containers.MessageMap[str, Measurement] + auto_detect_measurements: bool + region_config_id: str + is_relay: bool + is_relay_ed: bool + relay_ed_relay_only: bool + relay_enabled: bool + relay_cad_periodicity: CadPeriodicity + relay_default_channel_index: int + relay_second_channel_freq: int + relay_second_channel_dr: int + relay_second_channel_ack_offset: SecondChAckOffset + relay_ed_activation_mode: RelayModeActivation + relay_ed_smart_enable_level: int + relay_ed_back_off: int + relay_ed_uplink_limit_bucket_size: int + relay_ed_uplink_limit_reload_rate: int + relay_join_req_limit_reload_rate: int + relay_notify_limit_reload_rate: int + relay_global_uplink_limit_reload_rate: int + relay_overall_limit_reload_rate: int + relay_join_req_limit_bucket_size: int + relay_notify_limit_bucket_size: int + relay_global_uplink_limit_bucket_size: int + relay_overall_limit_bucket_size: int + def __init__(self, id: _Optional[str] = ..., tenant_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., adr_algorithm_id: _Optional[str] = ..., payload_codec_runtime: _Optional[_Union[CodecRuntime, str]] = ..., payload_codec_script: _Optional[str] = ..., flush_queue_on_activate: bool = ..., uplink_interval: _Optional[int] = ..., device_status_req_interval: _Optional[int] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ..., class_b_timeout: _Optional[int] = ..., class_b_ping_slot_nb_k: _Optional[int] = ..., class_b_ping_slot_dr: _Optional[int] = ..., class_b_ping_slot_freq: _Optional[int] = ..., class_c_timeout: _Optional[int] = ..., abp_rx1_delay: _Optional[int] = ..., abp_rx1_dr_offset: _Optional[int] = ..., abp_rx2_dr: _Optional[int] = ..., abp_rx2_freq: _Optional[int] = ..., tags: _Optional[_Mapping[str, str]] = ..., measurements: _Optional[_Mapping[str, Measurement]] = ..., auto_detect_measurements: bool = ..., region_config_id: _Optional[str] = ..., is_relay: bool = ..., is_relay_ed: bool = ..., relay_ed_relay_only: bool = ..., relay_enabled: bool = ..., relay_cad_periodicity: _Optional[_Union[CadPeriodicity, str]] = ..., relay_default_channel_index: _Optional[int] = ..., relay_second_channel_freq: _Optional[int] = ..., relay_second_channel_dr: _Optional[int] = ..., relay_second_channel_ack_offset: _Optional[_Union[SecondChAckOffset, str]] = ..., relay_ed_activation_mode: _Optional[_Union[RelayModeActivation, str]] = ..., relay_ed_smart_enable_level: _Optional[int] = ..., relay_ed_back_off: _Optional[int] = ..., relay_ed_uplink_limit_bucket_size: _Optional[int] = ..., relay_ed_uplink_limit_reload_rate: _Optional[int] = ..., relay_join_req_limit_reload_rate: _Optional[int] = ..., relay_notify_limit_reload_rate: _Optional[int] = ..., relay_global_uplink_limit_reload_rate: _Optional[int] = ..., relay_overall_limit_reload_rate: _Optional[int] = ..., relay_join_req_limit_bucket_size: _Optional[int] = ..., relay_notify_limit_bucket_size: _Optional[int] = ..., relay_global_uplink_limit_bucket_size: _Optional[int] = ..., relay_overall_limit_bucket_size: _Optional[int] = ...) -> None: ... + +class Measurement(_message.Message): + __slots__ = ["name", "kind"] + NAME_FIELD_NUMBER: _ClassVar[int] + KIND_FIELD_NUMBER: _ClassVar[int] + name: str + kind: MeasurementKind + def __init__(self, name: _Optional[str] = ..., kind: _Optional[_Union[MeasurementKind, str]] = ...) -> None: ... + +class DeviceProfileListItem(_message.Message): + __slots__ = ["id", "created_at", "updated_at", "name", "region", "mac_version", "reg_params_revision", "supports_otaa", "supports_class_b", "supports_class_c"] + ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + MAC_VERSION_FIELD_NUMBER: _ClassVar[int] + REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int] + SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int] + SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int] + SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int] + id: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + name: str + region: _common_pb2.Region + mac_version: _common_pb2.MacVersion + reg_params_revision: _common_pb2.RegParamsRevision + supports_otaa: bool + supports_class_b: bool + supports_class_c: bool + def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ...) -> None: ... class CreateDeviceProfileRequest(_message.Message): __slots__ = ["device_profile"] @@ -54,156 +237,6 @@ class CreateDeviceProfileResponse(_message.Message): id: str def __init__(self, id: _Optional[str] = ...) -> None: ... -class DeleteDeviceProfileRequest(_message.Message): - __slots__ = ["id"] - ID_FIELD_NUMBER: _ClassVar[int] - id: str - def __init__(self, id: _Optional[str] = ...) -> None: ... - -class DeviceProfile(_message.Message): - __slots__ = ["abp_rx1_delay", "abp_rx1_dr_offset", "abp_rx2_dr", "abp_rx2_freq", "adr_algorithm_id", "auto_detect_measurements", "class_b_ping_slot_dr", "class_b_ping_slot_freq", "class_b_ping_slot_nb_k", "class_b_timeout", "class_c_timeout", "description", "device_status_req_interval", "flush_queue_on_activate", "id", "is_relay", "is_relay_ed", "mac_version", "measurements", "name", "payload_codec_runtime", "payload_codec_script", "reg_params_revision", "region", "region_config_id", "relay_cad_periodicity", "relay_default_channel_index", "relay_ed_activation_mode", "relay_ed_back_off", "relay_ed_relay_only", "relay_ed_smart_enable_level", "relay_ed_uplink_limit_bucket_size", "relay_ed_uplink_limit_reload_rate", "relay_enabled", "relay_global_uplink_limit_bucket_size", "relay_global_uplink_limit_reload_rate", "relay_join_req_limit_bucket_size", "relay_join_req_limit_reload_rate", "relay_notify_limit_bucket_size", "relay_notify_limit_reload_rate", "relay_overall_limit_bucket_size", "relay_overall_limit_reload_rate", "relay_second_channel_ack_offset", "relay_second_channel_dr", "relay_second_channel_freq", "supports_class_b", "supports_class_c", "supports_otaa", "tags", "tenant_id", "uplink_interval"] - class MeasurementsEntry(_message.Message): - __slots__ = ["key", "value"] - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: str - value: Measurement - def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[Measurement, _Mapping]] = ...) -> None: ... - class TagsEntry(_message.Message): - __slots__ = ["key", "value"] - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: str - value: str - def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - ABP_RX1_DELAY_FIELD_NUMBER: _ClassVar[int] - ABP_RX1_DR_OFFSET_FIELD_NUMBER: _ClassVar[int] - ABP_RX2_DR_FIELD_NUMBER: _ClassVar[int] - ABP_RX2_FREQ_FIELD_NUMBER: _ClassVar[int] - ADR_ALGORITHM_ID_FIELD_NUMBER: _ClassVar[int] - AUTO_DETECT_MEASUREMENTS_FIELD_NUMBER: _ClassVar[int] - CLASS_B_PING_SLOT_DR_FIELD_NUMBER: _ClassVar[int] - CLASS_B_PING_SLOT_FREQ_FIELD_NUMBER: _ClassVar[int] - CLASS_B_PING_SLOT_NB_K_FIELD_NUMBER: _ClassVar[int] - CLASS_B_TIMEOUT_FIELD_NUMBER: _ClassVar[int] - CLASS_C_TIMEOUT_FIELD_NUMBER: _ClassVar[int] - DESCRIPTION_FIELD_NUMBER: _ClassVar[int] - DEVICE_STATUS_REQ_INTERVAL_FIELD_NUMBER: _ClassVar[int] - FLUSH_QUEUE_ON_ACTIVATE_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - IS_RELAY_ED_FIELD_NUMBER: _ClassVar[int] - IS_RELAY_FIELD_NUMBER: _ClassVar[int] - MAC_VERSION_FIELD_NUMBER: _ClassVar[int] - MEASUREMENTS_FIELD_NUMBER: _ClassVar[int] - NAME_FIELD_NUMBER: _ClassVar[int] - PAYLOAD_CODEC_RUNTIME_FIELD_NUMBER: _ClassVar[int] - PAYLOAD_CODEC_SCRIPT_FIELD_NUMBER: _ClassVar[int] - REGION_CONFIG_ID_FIELD_NUMBER: _ClassVar[int] - REGION_FIELD_NUMBER: _ClassVar[int] - REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int] - RELAY_CAD_PERIODICITY_FIELD_NUMBER: _ClassVar[int] - RELAY_DEFAULT_CHANNEL_INDEX_FIELD_NUMBER: _ClassVar[int] - RELAY_ED_ACTIVATION_MODE_FIELD_NUMBER: _ClassVar[int] - RELAY_ED_BACK_OFF_FIELD_NUMBER: _ClassVar[int] - RELAY_ED_RELAY_ONLY_FIELD_NUMBER: _ClassVar[int] - RELAY_ED_SMART_ENABLE_LEVEL_FIELD_NUMBER: _ClassVar[int] - RELAY_ED_UPLINK_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int] - RELAY_ED_UPLINK_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int] - RELAY_ENABLED_FIELD_NUMBER: _ClassVar[int] - RELAY_GLOBAL_UPLINK_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int] - RELAY_GLOBAL_UPLINK_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int] - RELAY_JOIN_REQ_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int] - RELAY_JOIN_REQ_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int] - RELAY_NOTIFY_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int] - RELAY_NOTIFY_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int] - RELAY_OVERALL_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int] - RELAY_OVERALL_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int] - RELAY_SECOND_CHANNEL_ACK_OFFSET_FIELD_NUMBER: _ClassVar[int] - RELAY_SECOND_CHANNEL_DR_FIELD_NUMBER: _ClassVar[int] - RELAY_SECOND_CHANNEL_FREQ_FIELD_NUMBER: _ClassVar[int] - SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int] - SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int] - SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int] - TAGS_FIELD_NUMBER: _ClassVar[int] - TENANT_ID_FIELD_NUMBER: _ClassVar[int] - UPLINK_INTERVAL_FIELD_NUMBER: _ClassVar[int] - abp_rx1_delay: int - abp_rx1_dr_offset: int - abp_rx2_dr: int - abp_rx2_freq: int - adr_algorithm_id: str - auto_detect_measurements: bool - class_b_ping_slot_dr: int - class_b_ping_slot_freq: int - class_b_ping_slot_nb_k: int - class_b_timeout: int - class_c_timeout: int - description: str - device_status_req_interval: int - flush_queue_on_activate: bool - id: str - is_relay: bool - is_relay_ed: bool - mac_version: _common_pb2.MacVersion - measurements: _containers.MessageMap[str, Measurement] - name: str - payload_codec_runtime: CodecRuntime - payload_codec_script: str - reg_params_revision: _common_pb2.RegParamsRevision - region: _common_pb2.Region - region_config_id: str - relay_cad_periodicity: CadPeriodicity - relay_default_channel_index: int - relay_ed_activation_mode: RelayModeActivation - relay_ed_back_off: int - relay_ed_relay_only: bool - relay_ed_smart_enable_level: int - relay_ed_uplink_limit_bucket_size: int - relay_ed_uplink_limit_reload_rate: int - relay_enabled: bool - relay_global_uplink_limit_bucket_size: int - relay_global_uplink_limit_reload_rate: int - relay_join_req_limit_bucket_size: int - relay_join_req_limit_reload_rate: int - relay_notify_limit_bucket_size: int - relay_notify_limit_reload_rate: int - relay_overall_limit_bucket_size: int - relay_overall_limit_reload_rate: int - relay_second_channel_ack_offset: SecondChAckOffset - relay_second_channel_dr: int - relay_second_channel_freq: int - supports_class_b: bool - supports_class_c: bool - supports_otaa: bool - tags: _containers.ScalarMap[str, str] - tenant_id: str - uplink_interval: int - def __init__(self, id: _Optional[str] = ..., tenant_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., adr_algorithm_id: _Optional[str] = ..., payload_codec_runtime: _Optional[_Union[CodecRuntime, str]] = ..., payload_codec_script: _Optional[str] = ..., flush_queue_on_activate: bool = ..., uplink_interval: _Optional[int] = ..., device_status_req_interval: _Optional[int] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ..., class_b_timeout: _Optional[int] = ..., class_b_ping_slot_nb_k: _Optional[int] = ..., class_b_ping_slot_dr: _Optional[int] = ..., class_b_ping_slot_freq: _Optional[int] = ..., class_c_timeout: _Optional[int] = ..., abp_rx1_delay: _Optional[int] = ..., abp_rx1_dr_offset: _Optional[int] = ..., abp_rx2_dr: _Optional[int] = ..., abp_rx2_freq: _Optional[int] = ..., tags: _Optional[_Mapping[str, str]] = ..., measurements: _Optional[_Mapping[str, Measurement]] = ..., auto_detect_measurements: bool = ..., region_config_id: _Optional[str] = ..., is_relay: bool = ..., is_relay_ed: bool = ..., relay_ed_relay_only: bool = ..., relay_enabled: bool = ..., relay_cad_periodicity: _Optional[_Union[CadPeriodicity, str]] = ..., relay_default_channel_index: _Optional[int] = ..., relay_second_channel_freq: _Optional[int] = ..., relay_second_channel_dr: _Optional[int] = ..., relay_second_channel_ack_offset: _Optional[_Union[SecondChAckOffset, str]] = ..., relay_ed_activation_mode: _Optional[_Union[RelayModeActivation, str]] = ..., relay_ed_smart_enable_level: _Optional[int] = ..., relay_ed_back_off: _Optional[int] = ..., relay_ed_uplink_limit_bucket_size: _Optional[int] = ..., relay_ed_uplink_limit_reload_rate: _Optional[int] = ..., relay_join_req_limit_reload_rate: _Optional[int] = ..., relay_notify_limit_reload_rate: _Optional[int] = ..., relay_global_uplink_limit_reload_rate: _Optional[int] = ..., relay_overall_limit_reload_rate: _Optional[int] = ..., relay_join_req_limit_bucket_size: _Optional[int] = ..., relay_notify_limit_bucket_size: _Optional[int] = ..., relay_global_uplink_limit_bucket_size: _Optional[int] = ..., relay_overall_limit_bucket_size: _Optional[int] = ...) -> None: ... - -class DeviceProfileListItem(_message.Message): - __slots__ = ["created_at", "id", "mac_version", "name", "reg_params_revision", "region", "supports_class_b", "supports_class_c", "supports_otaa", "updated_at"] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - MAC_VERSION_FIELD_NUMBER: _ClassVar[int] - NAME_FIELD_NUMBER: _ClassVar[int] - REGION_FIELD_NUMBER: _ClassVar[int] - REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int] - SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int] - SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int] - SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp - id: str - mac_version: _common_pb2.MacVersion - name: str - reg_params_revision: _common_pb2.RegParamsRevision - region: _common_pb2.Region - supports_class_b: bool - supports_class_c: bool - supports_otaa: bool - updated_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ...) -> None: ... - class GetDeviceProfileRequest(_message.Message): __slots__ = ["id"] ID_FIELD_NUMBER: _ClassVar[int] @@ -211,22 +244,26 @@ class GetDeviceProfileRequest(_message.Message): def __init__(self, id: _Optional[str] = ...) -> None: ... class GetDeviceProfileResponse(_message.Message): - __slots__ = ["created_at", "device_profile", "updated_at"] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["device_profile", "created_at", "updated_at"] DEVICE_PROFILE_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp device_profile: DeviceProfile + created_at: _timestamp_pb2.Timestamp updated_at: _timestamp_pb2.Timestamp def __init__(self, device_profile: _Optional[_Union[DeviceProfile, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... -class ListDeviceProfileAdrAlgorithmsResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] - TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[AdrAlgorithmListItem] - total_count: int - def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[AdrAlgorithmListItem, _Mapping]]] = ...) -> None: ... +class UpdateDeviceProfileRequest(_message.Message): + __slots__ = ["device_profile"] + DEVICE_PROFILE_FIELD_NUMBER: _ClassVar[int] + device_profile: DeviceProfile + def __init__(self, device_profile: _Optional[_Union[DeviceProfile, _Mapping]] = ...) -> None: ... + +class DeleteDeviceProfileRequest(_message.Message): + __slots__ = ["id"] + ID_FIELD_NUMBER: _ClassVar[int] + id: str + def __init__(self, id: _Optional[str] = ...) -> None: ... class ListDeviceProfilesRequest(_message.Message): __slots__ = ["limit", "offset", "search", "tenant_id"] @@ -241,38 +278,25 @@ class ListDeviceProfilesRequest(_message.Message): def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., tenant_id: _Optional[str] = ...) -> None: ... class ListDeviceProfilesResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["total_count", "result"] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[DeviceProfileListItem] + RESULT_FIELD_NUMBER: _ClassVar[int] total_count: int + result: _containers.RepeatedCompositeFieldContainer[DeviceProfileListItem] def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[DeviceProfileListItem, _Mapping]]] = ...) -> None: ... -class Measurement(_message.Message): - __slots__ = ["kind", "name"] - KIND_FIELD_NUMBER: _ClassVar[int] +class ListDeviceProfileAdrAlgorithmsResponse(_message.Message): + __slots__ = ["total_count", "result"] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + RESULT_FIELD_NUMBER: _ClassVar[int] + total_count: int + result: _containers.RepeatedCompositeFieldContainer[AdrAlgorithmListItem] + def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[AdrAlgorithmListItem, _Mapping]]] = ...) -> None: ... + +class AdrAlgorithmListItem(_message.Message): + __slots__ = ["id", "name"] + ID_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] - kind: MeasurementKind + id: str name: str - def __init__(self, name: _Optional[str] = ..., kind: _Optional[_Union[MeasurementKind, str]] = ...) -> None: ... - -class UpdateDeviceProfileRequest(_message.Message): - __slots__ = ["device_profile"] - DEVICE_PROFILE_FIELD_NUMBER: _ClassVar[int] - device_profile: DeviceProfile - def __init__(self, device_profile: _Optional[_Union[DeviceProfile, _Mapping]] = ...) -> None: ... - -class CodecRuntime(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class MeasurementKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class CadPeriodicity(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class SecondChAckOffset(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class RelayModeActivation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ... diff --git a/api/python/src/chirpstack_api/api/device_profile_template_pb2.py b/api/python/src/chirpstack_api/api/device_profile_template_pb2.py index bbfcd8b0..acd8cd6f 100644 --- a/api/python/src/chirpstack_api/api/device_profile_template_pb2.py +++ b/api/python/src/chirpstack_api/api/device_profile_template_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/api/device_profile_template.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -20,8 +20,9 @@ from chirpstack_api.api import device_profile_pb2 as chirpstack__api_dot_api_dot DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0chirpstack-api/api/device_profile_template.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"chirpstack-api/common/common.proto\x1a\'chirpstack-api/api/device_profile.proto\"\xf6\x07\n\x15\x44\x65viceProfileTemplate\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0e\n\x06vendor\x18\x04 \x01(\t\x12\x10\n\x08\x66irmware\x18\x05 \x01(\t\x12\x1e\n\x06region\x18\x06 \x01(\x0e\x32\x0e.common.Region\x12\'\n\x0bmac_version\x18\x07 \x01(\x0e\x32\x12.common.MacVersion\x12\x36\n\x13reg_params_revision\x18\x08 \x01(\x0e\x32\x19.common.RegParamsRevision\x12\x18\n\x10\x61\x64r_algorithm_id\x18\t \x01(\t\x12\x30\n\x15payload_codec_runtime\x18\n \x01(\x0e\x32\x11.api.CodecRuntime\x12\x1c\n\x14payload_codec_script\x18\x0b \x01(\t\x12\x1f\n\x17\x66lush_queue_on_activate\x18\x0c \x01(\x08\x12\x17\n\x0fuplink_interval\x18\r \x01(\r\x12\"\n\x1a\x64\x65vice_status_req_interval\x18\x0e \x01(\r\x12\x15\n\rsupports_otaa\x18\x0f \x01(\x08\x12\x18\n\x10supports_class_b\x18\x10 \x01(\x08\x12\x18\n\x10supports_class_c\x18\x11 \x01(\x08\x12\x17\n\x0f\x63lass_b_timeout\x18\x12 \x01(\r\x12\x1e\n\x16\x63lass_b_ping_slot_nb_k\x18\x13 \x01(\r\x12\x1c\n\x14\x63lass_b_ping_slot_dr\x18\x14 \x01(\r\x12\x1e\n\x16\x63lass_b_ping_slot_freq\x18\x15 \x01(\r\x12\x17\n\x0f\x63lass_c_timeout\x18\x16 \x01(\r\x12\x15\n\rabp_rx1_delay\x18\x17 \x01(\r\x12\x19\n\x11\x61\x62p_rx1_dr_offset\x18\x18 \x01(\r\x12\x12\n\nabp_rx2_dr\x18\x19 \x01(\r\x12\x14\n\x0c\x61\x62p_rx2_freq\x18\x1a \x01(\r\x12\x32\n\x04tags\x18\x1b \x03(\x0b\x32$.api.DeviceProfileTemplate.TagsEntry\x12\x42\n\x0cmeasurements\x18\x1c \x03(\x0b\x32,.api.DeviceProfileTemplate.MeasurementsEntry\x12 \n\x18\x61uto_detect_measurements\x18\x1d \x01(\x08\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x45\n\x11MeasurementsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.api.Measurement:\x02\x38\x01\"\x87\x03\n\x1d\x44\x65viceProfileTemplateListItem\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0e\n\x06vendor\x18\x05 \x01(\t\x12\x10\n\x08\x66irmware\x18\x06 \x01(\t\x12\x1e\n\x06region\x18\x07 \x01(\x0e\x32\x0e.common.Region\x12\'\n\x0bmac_version\x18\x08 \x01(\x0e\x32\x12.common.MacVersion\x12\x36\n\x13reg_params_revision\x18\t \x01(\x0e\x32\x19.common.RegParamsRevision\x12\x15\n\rsupports_otaa\x18\n \x01(\x08\x12\x18\n\x10supports_class_b\x18\x0b \x01(\x08\x12\x18\n\x10supports_class_c\x18\x0c \x01(\x08\"a\n\"CreateDeviceProfileTemplateRequest\x12;\n\x17\x64\x65vice_profile_template\x18\x01 \x01(\x0b\x32\x1a.api.DeviceProfileTemplate\"-\n\x1fGetDeviceProfileTemplateRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\xbf\x01\n GetDeviceProfileTemplateResponse\x12;\n\x17\x64\x65vice_profile_template\x18\x01 \x01(\x0b\x32\x1a.api.DeviceProfileTemplate\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"a\n\"UpdateDeviceProfileTemplateRequest\x12;\n\x17\x64\x65vice_profile_template\x18\x01 \x01(\x0b\x32\x1a.api.DeviceProfileTemplate\"0\n\"DeleteDeviceProfileTemplateRequest\x12\n\n\x02id\x18\x01 \x01(\t\"B\n!ListDeviceProfileTemplatesRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\"m\n\"ListDeviceProfileTemplatesResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12\x32\n\x06result\x18\x02 \x03(\x0b\x32\".api.DeviceProfileTemplateListItem2\x9d\x05\n\x1c\x44\x65viceProfileTemplateService\x12s\n\x06\x43reate\x12\'.api.CreateDeviceProfileTemplateRequest\x1a\x16.google.protobuf.Empty\"(\x82\xd3\xe4\x93\x02\"\"\x1d/api/device-profile-templates:\x01*\x12~\n\x03Get\x12$.api.GetDeviceProfileTemplateRequest\x1a%.api.GetDeviceProfileTemplateResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/api/device-profile-templates/{id}\x12\x90\x01\n\x06Update\x12\'.api.UpdateDeviceProfileTemplateRequest\x1a\x16.google.protobuf.Empty\"E\x82\xd3\xe4\x93\x02?\x1a:/api/device-profile-templates/{device_profile_template.id}:\x01*\x12u\n\x06\x44\x65lete\x12\'.api.DeleteDeviceProfileTemplateRequest\x1a\x16.google.protobuf.Empty\"*\x82\xd3\xe4\x93\x02$*\"/api/device-profile-templates/{id}\x12~\n\x04List\x12&.api.ListDeviceProfileTemplatesRequest\x1a\'.api.ListDeviceProfileTemplatesResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/api/device-profile-templatesBr\n\x11io.chirpstack.apiB\x1a\x44\x65viceProfileTemplateProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.device_profile_template_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.device_profile_template_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -40,28 +41,28 @@ if _descriptor._USE_C_DESCRIPTORS == False: _DEVICEPROFILETEMPLATESERVICE.methods_by_name['Delete']._serialized_options = b'\202\323\344\223\002$*\"/api/device-profile-templates/{id}' _DEVICEPROFILETEMPLATESERVICE.methods_by_name['List']._options = None _DEVICEPROFILETEMPLATESERVICE.methods_by_name['List']._serialized_options = b'\202\323\344\223\002\037\022\035/api/device-profile-templates' - _DEVICEPROFILETEMPLATE._serialized_start=227 - _DEVICEPROFILETEMPLATE._serialized_end=1241 - _DEVICEPROFILETEMPLATE_TAGSENTRY._serialized_start=1127 - _DEVICEPROFILETEMPLATE_TAGSENTRY._serialized_end=1170 - _DEVICEPROFILETEMPLATE_MEASUREMENTSENTRY._serialized_start=1172 - _DEVICEPROFILETEMPLATE_MEASUREMENTSENTRY._serialized_end=1241 - _DEVICEPROFILETEMPLATELISTITEM._serialized_start=1244 - _DEVICEPROFILETEMPLATELISTITEM._serialized_end=1635 - _CREATEDEVICEPROFILETEMPLATEREQUEST._serialized_start=1637 - _CREATEDEVICEPROFILETEMPLATEREQUEST._serialized_end=1734 - _GETDEVICEPROFILETEMPLATEREQUEST._serialized_start=1736 - _GETDEVICEPROFILETEMPLATEREQUEST._serialized_end=1781 - _GETDEVICEPROFILETEMPLATERESPONSE._serialized_start=1784 - _GETDEVICEPROFILETEMPLATERESPONSE._serialized_end=1975 - _UPDATEDEVICEPROFILETEMPLATEREQUEST._serialized_start=1977 - _UPDATEDEVICEPROFILETEMPLATEREQUEST._serialized_end=2074 - _DELETEDEVICEPROFILETEMPLATEREQUEST._serialized_start=2076 - _DELETEDEVICEPROFILETEMPLATEREQUEST._serialized_end=2124 - _LISTDEVICEPROFILETEMPLATESREQUEST._serialized_start=2126 - _LISTDEVICEPROFILETEMPLATESREQUEST._serialized_end=2192 - _LISTDEVICEPROFILETEMPLATESRESPONSE._serialized_start=2194 - _LISTDEVICEPROFILETEMPLATESRESPONSE._serialized_end=2303 - _DEVICEPROFILETEMPLATESERVICE._serialized_start=2306 - _DEVICEPROFILETEMPLATESERVICE._serialized_end=2975 + _globals['_DEVICEPROFILETEMPLATE']._serialized_start=227 + _globals['_DEVICEPROFILETEMPLATE']._serialized_end=1241 + _globals['_DEVICEPROFILETEMPLATE_TAGSENTRY']._serialized_start=1127 + _globals['_DEVICEPROFILETEMPLATE_TAGSENTRY']._serialized_end=1170 + _globals['_DEVICEPROFILETEMPLATE_MEASUREMENTSENTRY']._serialized_start=1172 + _globals['_DEVICEPROFILETEMPLATE_MEASUREMENTSENTRY']._serialized_end=1241 + _globals['_DEVICEPROFILETEMPLATELISTITEM']._serialized_start=1244 + _globals['_DEVICEPROFILETEMPLATELISTITEM']._serialized_end=1635 + _globals['_CREATEDEVICEPROFILETEMPLATEREQUEST']._serialized_start=1637 + _globals['_CREATEDEVICEPROFILETEMPLATEREQUEST']._serialized_end=1734 + _globals['_GETDEVICEPROFILETEMPLATEREQUEST']._serialized_start=1736 + _globals['_GETDEVICEPROFILETEMPLATEREQUEST']._serialized_end=1781 + _globals['_GETDEVICEPROFILETEMPLATERESPONSE']._serialized_start=1784 + _globals['_GETDEVICEPROFILETEMPLATERESPONSE']._serialized_end=1975 + _globals['_UPDATEDEVICEPROFILETEMPLATEREQUEST']._serialized_start=1977 + _globals['_UPDATEDEVICEPROFILETEMPLATEREQUEST']._serialized_end=2074 + _globals['_DELETEDEVICEPROFILETEMPLATEREQUEST']._serialized_start=2076 + _globals['_DELETEDEVICEPROFILETEMPLATEREQUEST']._serialized_end=2124 + _globals['_LISTDEVICEPROFILETEMPLATESREQUEST']._serialized_start=2126 + _globals['_LISTDEVICEPROFILETEMPLATESREQUEST']._serialized_end=2192 + _globals['_LISTDEVICEPROFILETEMPLATESRESPONSE']._serialized_start=2194 + _globals['_LISTDEVICEPROFILETEMPLATESRESPONSE']._serialized_end=2303 + _globals['_DEVICEPROFILETEMPLATESERVICE']._serialized_start=2306 + _globals['_DEVICEPROFILETEMPLATESERVICE']._serialized_end=2975 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/api/device_profile_template_pb2.pyi b/api/python/src/chirpstack_api/api/device_profile_template_pb2.pyi index 1df80876..360321de 100644 --- a/api/python/src/chirpstack_api/api/device_profile_template_pb2.pyi +++ b/api/python/src/chirpstack_api/api/device_profile_template_pb2.pyi @@ -10,138 +10,144 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor +class DeviceProfileTemplate(_message.Message): + __slots__ = ["id", "name", "description", "vendor", "firmware", "region", "mac_version", "reg_params_revision", "adr_algorithm_id", "payload_codec_runtime", "payload_codec_script", "flush_queue_on_activate", "uplink_interval", "device_status_req_interval", "supports_otaa", "supports_class_b", "supports_class_c", "class_b_timeout", "class_b_ping_slot_nb_k", "class_b_ping_slot_dr", "class_b_ping_slot_freq", "class_c_timeout", "abp_rx1_delay", "abp_rx1_dr_offset", "abp_rx2_dr", "abp_rx2_freq", "tags", "measurements", "auto_detect_measurements"] + class TagsEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + class MeasurementsEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: _device_profile_pb2.Measurement + def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_device_profile_pb2.Measurement, _Mapping]] = ...) -> None: ... + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + VENDOR_FIELD_NUMBER: _ClassVar[int] + FIRMWARE_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + MAC_VERSION_FIELD_NUMBER: _ClassVar[int] + REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int] + ADR_ALGORITHM_ID_FIELD_NUMBER: _ClassVar[int] + PAYLOAD_CODEC_RUNTIME_FIELD_NUMBER: _ClassVar[int] + PAYLOAD_CODEC_SCRIPT_FIELD_NUMBER: _ClassVar[int] + FLUSH_QUEUE_ON_ACTIVATE_FIELD_NUMBER: _ClassVar[int] + UPLINK_INTERVAL_FIELD_NUMBER: _ClassVar[int] + DEVICE_STATUS_REQ_INTERVAL_FIELD_NUMBER: _ClassVar[int] + SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int] + SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int] + SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int] + CLASS_B_TIMEOUT_FIELD_NUMBER: _ClassVar[int] + CLASS_B_PING_SLOT_NB_K_FIELD_NUMBER: _ClassVar[int] + CLASS_B_PING_SLOT_DR_FIELD_NUMBER: _ClassVar[int] + CLASS_B_PING_SLOT_FREQ_FIELD_NUMBER: _ClassVar[int] + CLASS_C_TIMEOUT_FIELD_NUMBER: _ClassVar[int] + ABP_RX1_DELAY_FIELD_NUMBER: _ClassVar[int] + ABP_RX1_DR_OFFSET_FIELD_NUMBER: _ClassVar[int] + ABP_RX2_DR_FIELD_NUMBER: _ClassVar[int] + ABP_RX2_FREQ_FIELD_NUMBER: _ClassVar[int] + TAGS_FIELD_NUMBER: _ClassVar[int] + MEASUREMENTS_FIELD_NUMBER: _ClassVar[int] + AUTO_DETECT_MEASUREMENTS_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + vendor: str + firmware: str + region: _common_pb2.Region + mac_version: _common_pb2.MacVersion + reg_params_revision: _common_pb2.RegParamsRevision + adr_algorithm_id: str + payload_codec_runtime: _device_profile_pb2.CodecRuntime + payload_codec_script: str + flush_queue_on_activate: bool + uplink_interval: int + device_status_req_interval: int + supports_otaa: bool + supports_class_b: bool + supports_class_c: bool + class_b_timeout: int + class_b_ping_slot_nb_k: int + class_b_ping_slot_dr: int + class_b_ping_slot_freq: int + class_c_timeout: int + abp_rx1_delay: int + abp_rx1_dr_offset: int + abp_rx2_dr: int + abp_rx2_freq: int + tags: _containers.ScalarMap[str, str] + measurements: _containers.MessageMap[str, _device_profile_pb2.Measurement] + auto_detect_measurements: bool + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., vendor: _Optional[str] = ..., firmware: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., adr_algorithm_id: _Optional[str] = ..., payload_codec_runtime: _Optional[_Union[_device_profile_pb2.CodecRuntime, str]] = ..., payload_codec_script: _Optional[str] = ..., flush_queue_on_activate: bool = ..., uplink_interval: _Optional[int] = ..., device_status_req_interval: _Optional[int] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ..., class_b_timeout: _Optional[int] = ..., class_b_ping_slot_nb_k: _Optional[int] = ..., class_b_ping_slot_dr: _Optional[int] = ..., class_b_ping_slot_freq: _Optional[int] = ..., class_c_timeout: _Optional[int] = ..., abp_rx1_delay: _Optional[int] = ..., abp_rx1_dr_offset: _Optional[int] = ..., abp_rx2_dr: _Optional[int] = ..., abp_rx2_freq: _Optional[int] = ..., tags: _Optional[_Mapping[str, str]] = ..., measurements: _Optional[_Mapping[str, _device_profile_pb2.Measurement]] = ..., auto_detect_measurements: bool = ...) -> None: ... + +class DeviceProfileTemplateListItem(_message.Message): + __slots__ = ["id", "created_at", "updated_at", "name", "vendor", "firmware", "region", "mac_version", "reg_params_revision", "supports_otaa", "supports_class_b", "supports_class_c"] + ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + VENDOR_FIELD_NUMBER: _ClassVar[int] + FIRMWARE_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + MAC_VERSION_FIELD_NUMBER: _ClassVar[int] + REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int] + SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int] + SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int] + SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int] + id: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + name: str + vendor: str + firmware: str + region: _common_pb2.Region + mac_version: _common_pb2.MacVersion + reg_params_revision: _common_pb2.RegParamsRevision + supports_otaa: bool + supports_class_b: bool + supports_class_c: bool + def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., vendor: _Optional[str] = ..., firmware: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ...) -> None: ... + class CreateDeviceProfileTemplateRequest(_message.Message): __slots__ = ["device_profile_template"] DEVICE_PROFILE_TEMPLATE_FIELD_NUMBER: _ClassVar[int] device_profile_template: DeviceProfileTemplate def __init__(self, device_profile_template: _Optional[_Union[DeviceProfileTemplate, _Mapping]] = ...) -> None: ... +class GetDeviceProfileTemplateRequest(_message.Message): + __slots__ = ["id"] + ID_FIELD_NUMBER: _ClassVar[int] + id: str + def __init__(self, id: _Optional[str] = ...) -> None: ... + +class GetDeviceProfileTemplateResponse(_message.Message): + __slots__ = ["device_profile_template", "created_at", "updated_at"] + DEVICE_PROFILE_TEMPLATE_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + device_profile_template: DeviceProfileTemplate + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + def __init__(self, device_profile_template: _Optional[_Union[DeviceProfileTemplate, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class UpdateDeviceProfileTemplateRequest(_message.Message): + __slots__ = ["device_profile_template"] + DEVICE_PROFILE_TEMPLATE_FIELD_NUMBER: _ClassVar[int] + device_profile_template: DeviceProfileTemplate + def __init__(self, device_profile_template: _Optional[_Union[DeviceProfileTemplate, _Mapping]] = ...) -> None: ... + class DeleteDeviceProfileTemplateRequest(_message.Message): __slots__ = ["id"] ID_FIELD_NUMBER: _ClassVar[int] id: str def __init__(self, id: _Optional[str] = ...) -> None: ... -class DeviceProfileTemplate(_message.Message): - __slots__ = ["abp_rx1_delay", "abp_rx1_dr_offset", "abp_rx2_dr", "abp_rx2_freq", "adr_algorithm_id", "auto_detect_measurements", "class_b_ping_slot_dr", "class_b_ping_slot_freq", "class_b_ping_slot_nb_k", "class_b_timeout", "class_c_timeout", "description", "device_status_req_interval", "firmware", "flush_queue_on_activate", "id", "mac_version", "measurements", "name", "payload_codec_runtime", "payload_codec_script", "reg_params_revision", "region", "supports_class_b", "supports_class_c", "supports_otaa", "tags", "uplink_interval", "vendor"] - class MeasurementsEntry(_message.Message): - __slots__ = ["key", "value"] - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: str - value: _device_profile_pb2.Measurement - def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_device_profile_pb2.Measurement, _Mapping]] = ...) -> None: ... - class TagsEntry(_message.Message): - __slots__ = ["key", "value"] - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: str - value: str - def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - ABP_RX1_DELAY_FIELD_NUMBER: _ClassVar[int] - ABP_RX1_DR_OFFSET_FIELD_NUMBER: _ClassVar[int] - ABP_RX2_DR_FIELD_NUMBER: _ClassVar[int] - ABP_RX2_FREQ_FIELD_NUMBER: _ClassVar[int] - ADR_ALGORITHM_ID_FIELD_NUMBER: _ClassVar[int] - AUTO_DETECT_MEASUREMENTS_FIELD_NUMBER: _ClassVar[int] - CLASS_B_PING_SLOT_DR_FIELD_NUMBER: _ClassVar[int] - CLASS_B_PING_SLOT_FREQ_FIELD_NUMBER: _ClassVar[int] - CLASS_B_PING_SLOT_NB_K_FIELD_NUMBER: _ClassVar[int] - CLASS_B_TIMEOUT_FIELD_NUMBER: _ClassVar[int] - CLASS_C_TIMEOUT_FIELD_NUMBER: _ClassVar[int] - DESCRIPTION_FIELD_NUMBER: _ClassVar[int] - DEVICE_STATUS_REQ_INTERVAL_FIELD_NUMBER: _ClassVar[int] - FIRMWARE_FIELD_NUMBER: _ClassVar[int] - FLUSH_QUEUE_ON_ACTIVATE_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - MAC_VERSION_FIELD_NUMBER: _ClassVar[int] - MEASUREMENTS_FIELD_NUMBER: _ClassVar[int] - NAME_FIELD_NUMBER: _ClassVar[int] - PAYLOAD_CODEC_RUNTIME_FIELD_NUMBER: _ClassVar[int] - PAYLOAD_CODEC_SCRIPT_FIELD_NUMBER: _ClassVar[int] - REGION_FIELD_NUMBER: _ClassVar[int] - REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int] - SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int] - SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int] - SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int] - TAGS_FIELD_NUMBER: _ClassVar[int] - UPLINK_INTERVAL_FIELD_NUMBER: _ClassVar[int] - VENDOR_FIELD_NUMBER: _ClassVar[int] - abp_rx1_delay: int - abp_rx1_dr_offset: int - abp_rx2_dr: int - abp_rx2_freq: int - adr_algorithm_id: str - auto_detect_measurements: bool - class_b_ping_slot_dr: int - class_b_ping_slot_freq: int - class_b_ping_slot_nb_k: int - class_b_timeout: int - class_c_timeout: int - description: str - device_status_req_interval: int - firmware: str - flush_queue_on_activate: bool - id: str - mac_version: _common_pb2.MacVersion - measurements: _containers.MessageMap[str, _device_profile_pb2.Measurement] - name: str - payload_codec_runtime: _device_profile_pb2.CodecRuntime - payload_codec_script: str - reg_params_revision: _common_pb2.RegParamsRevision - region: _common_pb2.Region - supports_class_b: bool - supports_class_c: bool - supports_otaa: bool - tags: _containers.ScalarMap[str, str] - uplink_interval: int - vendor: str - def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., vendor: _Optional[str] = ..., firmware: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., adr_algorithm_id: _Optional[str] = ..., payload_codec_runtime: _Optional[_Union[_device_profile_pb2.CodecRuntime, str]] = ..., payload_codec_script: _Optional[str] = ..., flush_queue_on_activate: bool = ..., uplink_interval: _Optional[int] = ..., device_status_req_interval: _Optional[int] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ..., class_b_timeout: _Optional[int] = ..., class_b_ping_slot_nb_k: _Optional[int] = ..., class_b_ping_slot_dr: _Optional[int] = ..., class_b_ping_slot_freq: _Optional[int] = ..., class_c_timeout: _Optional[int] = ..., abp_rx1_delay: _Optional[int] = ..., abp_rx1_dr_offset: _Optional[int] = ..., abp_rx2_dr: _Optional[int] = ..., abp_rx2_freq: _Optional[int] = ..., tags: _Optional[_Mapping[str, str]] = ..., measurements: _Optional[_Mapping[str, _device_profile_pb2.Measurement]] = ..., auto_detect_measurements: bool = ...) -> None: ... - -class DeviceProfileTemplateListItem(_message.Message): - __slots__ = ["created_at", "firmware", "id", "mac_version", "name", "reg_params_revision", "region", "supports_class_b", "supports_class_c", "supports_otaa", "updated_at", "vendor"] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - FIRMWARE_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - MAC_VERSION_FIELD_NUMBER: _ClassVar[int] - NAME_FIELD_NUMBER: _ClassVar[int] - REGION_FIELD_NUMBER: _ClassVar[int] - REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int] - SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int] - SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int] - SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - VENDOR_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp - firmware: str - id: str - mac_version: _common_pb2.MacVersion - name: str - reg_params_revision: _common_pb2.RegParamsRevision - region: _common_pb2.Region - supports_class_b: bool - supports_class_c: bool - supports_otaa: bool - updated_at: _timestamp_pb2.Timestamp - vendor: str - def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., vendor: _Optional[str] = ..., firmware: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ...) -> None: ... - -class GetDeviceProfileTemplateRequest(_message.Message): - __slots__ = ["id"] - ID_FIELD_NUMBER: _ClassVar[int] - id: str - def __init__(self, id: _Optional[str] = ...) -> None: ... - -class GetDeviceProfileTemplateResponse(_message.Message): - __slots__ = ["created_at", "device_profile_template", "updated_at"] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - DEVICE_PROFILE_TEMPLATE_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp - device_profile_template: DeviceProfileTemplate - updated_at: _timestamp_pb2.Timestamp - def __init__(self, device_profile_template: _Optional[_Union[DeviceProfileTemplate, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... - class ListDeviceProfileTemplatesRequest(_message.Message): __slots__ = ["limit", "offset"] LIMIT_FIELD_NUMBER: _ClassVar[int] @@ -151,15 +157,9 @@ class ListDeviceProfileTemplatesRequest(_message.Message): def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ...) -> None: ... class ListDeviceProfileTemplatesResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["total_count", "result"] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[DeviceProfileTemplateListItem] + RESULT_FIELD_NUMBER: _ClassVar[int] total_count: int + result: _containers.RepeatedCompositeFieldContainer[DeviceProfileTemplateListItem] def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[DeviceProfileTemplateListItem, _Mapping]]] = ...) -> None: ... - -class UpdateDeviceProfileTemplateRequest(_message.Message): - __slots__ = ["device_profile_template"] - DEVICE_PROFILE_TEMPLATE_FIELD_NUMBER: _ClassVar[int] - device_profile_template: DeviceProfileTemplate - def __init__(self, device_profile_template: _Optional[_Union[DeviceProfileTemplate, _Mapping]] = ...) -> None: ... diff --git a/api/python/src/chirpstack_api/api/frame_log_pb2.py b/api/python/src/chirpstack_api/api/frame_log_pb2.py index f60fe088..084b22c8 100644 --- a/api/python/src/chirpstack_api/api/frame_log_pb2.py +++ b/api/python/src/chirpstack_api/api/frame_log_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/api/frame_log.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,14 +18,15 @@ from chirpstack_api.gw import gw_pb2 as chirpstack__api_dot_gw_dot_gw__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"chirpstack-api/api/frame_log.proto\x12\x03\x61pi\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"chirpstack-api/common/common.proto\x1a\x1a\x63hirpstack-api/gw/gw.proto\"\x90\x02\n\x0eUplinkFrameLog\x12\x13\n\x0bphy_payload\x18\x01 \x01(\x0c\x12!\n\x07tx_info\x18\x02 \x01(\x0b\x32\x10.gw.UplinkTxInfo\x12!\n\x07rx_info\x18\x03 \x03(\x0b\x32\x10.gw.UplinkRxInfo\x12\x1d\n\x06m_type\x18\x04 \x01(\x0e\x32\r.common.MType\x12\x10\n\x08\x64\x65v_addr\x18\x05 \x01(\t\x12\x0f\n\x07\x64\x65v_eui\x18\x06 \x01(\t\x12(\n\x04time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10plaintext_f_opts\x18\x08 \x01(\x08\x12\x1d\n\x15plaintext_frm_payload\x18\t \x01(\x08\"\x9a\x02\n\x10\x44ownlinkFrameLog\x12(\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0bphy_payload\x18\x02 \x01(\x0c\x12#\n\x07tx_info\x18\x03 \x01(\x0b\x32\x12.gw.DownlinkTxInfo\x12\x13\n\x0b\x64ownlink_id\x18\x04 \x01(\r\x12\x12\n\ngateway_id\x18\x05 \x01(\t\x12\x1d\n\x06m_type\x18\x06 \x01(\x0e\x32\r.common.MType\x12\x10\n\x08\x64\x65v_addr\x18\x07 \x01(\t\x12\x0f\n\x07\x64\x65v_eui\x18\x08 \x01(\t\x12\x18\n\x10plaintext_f_opts\x18\t \x01(\x08\x12\x1d\n\x15plaintext_frm_payload\x18\n \x01(\x08\x42\x65\n\x11io.chirpstack.apiB\rFrameLogProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.frame_log_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.frame_log_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\021io.chirpstack.apiB\rFrameLogProtoP\001Z.github.com/chirpstack/chirpstack/api/go/v4/api\252\002\016Chirpstack.Api' - _UPLINKFRAMELOG._serialized_start=141 - _UPLINKFRAMELOG._serialized_end=413 - _DOWNLINKFRAMELOG._serialized_start=416 - _DOWNLINKFRAMELOG._serialized_end=698 + _globals['_UPLINKFRAMELOG']._serialized_start=141 + _globals['_UPLINKFRAMELOG']._serialized_end=413 + _globals['_DOWNLINKFRAMELOG']._serialized_start=416 + _globals['_DOWNLINKFRAMELOG']._serialized_end=698 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/api/frame_log_pb2.pyi b/api/python/src/chirpstack_api/api/frame_log_pb2.pyi index a4904382..02dbdefa 100644 --- a/api/python/src/chirpstack_api/api/frame_log_pb2.pyi +++ b/api/python/src/chirpstack_api/api/frame_log_pb2.pyi @@ -8,48 +8,48 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor -class DownlinkFrameLog(_message.Message): - __slots__ = ["dev_addr", "dev_eui", "downlink_id", "gateway_id", "m_type", "phy_payload", "plaintext_f_opts", "plaintext_frm_payload", "time", "tx_info"] +class UplinkFrameLog(_message.Message): + __slots__ = ["phy_payload", "tx_info", "rx_info", "m_type", "dev_addr", "dev_eui", "time", "plaintext_f_opts", "plaintext_frm_payload"] + PHY_PAYLOAD_FIELD_NUMBER: _ClassVar[int] + TX_INFO_FIELD_NUMBER: _ClassVar[int] + RX_INFO_FIELD_NUMBER: _ClassVar[int] + M_TYPE_FIELD_NUMBER: _ClassVar[int] DEV_ADDR_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int] + TIME_FIELD_NUMBER: _ClassVar[int] + PLAINTEXT_F_OPTS_FIELD_NUMBER: _ClassVar[int] + PLAINTEXT_FRM_PAYLOAD_FIELD_NUMBER: _ClassVar[int] + phy_payload: bytes + tx_info: _gw_pb2.UplinkTxInfo + rx_info: _containers.RepeatedCompositeFieldContainer[_gw_pb2.UplinkRxInfo] + m_type: _common_pb2.MType + dev_addr: str + dev_eui: str + time: _timestamp_pb2.Timestamp + plaintext_f_opts: bool + plaintext_frm_payload: bool + def __init__(self, phy_payload: _Optional[bytes] = ..., tx_info: _Optional[_Union[_gw_pb2.UplinkTxInfo, _Mapping]] = ..., rx_info: _Optional[_Iterable[_Union[_gw_pb2.UplinkRxInfo, _Mapping]]] = ..., m_type: _Optional[_Union[_common_pb2.MType, str]] = ..., dev_addr: _Optional[str] = ..., dev_eui: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., plaintext_f_opts: bool = ..., plaintext_frm_payload: bool = ...) -> None: ... + +class DownlinkFrameLog(_message.Message): + __slots__ = ["time", "phy_payload", "tx_info", "downlink_id", "gateway_id", "m_type", "dev_addr", "dev_eui", "plaintext_f_opts", "plaintext_frm_payload"] + TIME_FIELD_NUMBER: _ClassVar[int] + PHY_PAYLOAD_FIELD_NUMBER: _ClassVar[int] + TX_INFO_FIELD_NUMBER: _ClassVar[int] DOWNLINK_ID_FIELD_NUMBER: _ClassVar[int] GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] M_TYPE_FIELD_NUMBER: _ClassVar[int] - PHY_PAYLOAD_FIELD_NUMBER: _ClassVar[int] - PLAINTEXT_FRM_PAYLOAD_FIELD_NUMBER: _ClassVar[int] + DEV_ADDR_FIELD_NUMBER: _ClassVar[int] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] PLAINTEXT_F_OPTS_FIELD_NUMBER: _ClassVar[int] - TIME_FIELD_NUMBER: _ClassVar[int] - TX_INFO_FIELD_NUMBER: _ClassVar[int] - dev_addr: str - dev_eui: str + PLAINTEXT_FRM_PAYLOAD_FIELD_NUMBER: _ClassVar[int] + time: _timestamp_pb2.Timestamp + phy_payload: bytes + tx_info: _gw_pb2.DownlinkTxInfo downlink_id: int gateway_id: str m_type: _common_pb2.MType - phy_payload: bytes - plaintext_f_opts: bool - plaintext_frm_payload: bool - time: _timestamp_pb2.Timestamp - tx_info: _gw_pb2.DownlinkTxInfo - def __init__(self, time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., phy_payload: _Optional[bytes] = ..., tx_info: _Optional[_Union[_gw_pb2.DownlinkTxInfo, _Mapping]] = ..., downlink_id: _Optional[int] = ..., gateway_id: _Optional[str] = ..., m_type: _Optional[_Union[_common_pb2.MType, str]] = ..., dev_addr: _Optional[str] = ..., dev_eui: _Optional[str] = ..., plaintext_f_opts: bool = ..., plaintext_frm_payload: bool = ...) -> None: ... - -class UplinkFrameLog(_message.Message): - __slots__ = ["dev_addr", "dev_eui", "m_type", "phy_payload", "plaintext_f_opts", "plaintext_frm_payload", "rx_info", "time", "tx_info"] - DEV_ADDR_FIELD_NUMBER: _ClassVar[int] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - M_TYPE_FIELD_NUMBER: _ClassVar[int] - PHY_PAYLOAD_FIELD_NUMBER: _ClassVar[int] - PLAINTEXT_FRM_PAYLOAD_FIELD_NUMBER: _ClassVar[int] - PLAINTEXT_F_OPTS_FIELD_NUMBER: _ClassVar[int] - RX_INFO_FIELD_NUMBER: _ClassVar[int] - TIME_FIELD_NUMBER: _ClassVar[int] - TX_INFO_FIELD_NUMBER: _ClassVar[int] dev_addr: str dev_eui: str - m_type: _common_pb2.MType - phy_payload: bytes plaintext_f_opts: bool plaintext_frm_payload: bool - rx_info: _containers.RepeatedCompositeFieldContainer[_gw_pb2.UplinkRxInfo] - time: _timestamp_pb2.Timestamp - tx_info: _gw_pb2.UplinkTxInfo - def __init__(self, phy_payload: _Optional[bytes] = ..., tx_info: _Optional[_Union[_gw_pb2.UplinkTxInfo, _Mapping]] = ..., rx_info: _Optional[_Iterable[_Union[_gw_pb2.UplinkRxInfo, _Mapping]]] = ..., m_type: _Optional[_Union[_common_pb2.MType, str]] = ..., dev_addr: _Optional[str] = ..., dev_eui: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., plaintext_f_opts: bool = ..., plaintext_frm_payload: bool = ...) -> None: ... + def __init__(self, time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., phy_payload: _Optional[bytes] = ..., tx_info: _Optional[_Union[_gw_pb2.DownlinkTxInfo, _Mapping]] = ..., downlink_id: _Optional[int] = ..., gateway_id: _Optional[str] = ..., m_type: _Optional[_Union[_common_pb2.MType, str]] = ..., dev_addr: _Optional[str] = ..., dev_eui: _Optional[str] = ..., plaintext_f_opts: bool = ..., plaintext_frm_payload: bool = ...) -> None: ... diff --git a/api/python/src/chirpstack_api/api/gateway_pb2.py b/api/python/src/chirpstack_api/api/gateway_pb2.py index a3c94595..40fd81dc 100644 --- a/api/python/src/chirpstack_api/api/gateway_pb2.py +++ b/api/python/src/chirpstack_api/api/gateway_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/api/gateway.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -19,8 +19,9 @@ from chirpstack_api.common import common_pb2 as chirpstack__api_dot_common_dot_c DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n chirpstack-api/api/gateway.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"chirpstack-api/common/common.proto\"\xc1\x02\n\x07Gateway\x12\x12\n\ngateway_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\"\n\x08location\x18\x04 \x01(\x0b\x32\x10.common.Location\x12\x11\n\ttenant_id\x18\x05 \x01(\t\x12$\n\x04tags\x18\x06 \x03(\x0b\x32\x16.api.Gateway.TagsEntry\x12,\n\x08metadata\x18\x07 \x03(\x0b\x32\x1a.api.Gateway.MetadataEntry\x12\x16\n\x0estats_interval\x18\x08 \x01(\r\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa0\x03\n\x0fGatewayListItem\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x12\n\ngateway_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\"\n\x08location\x18\x05 \x01(\x0b\x32\x10.common.Location\x12\x38\n\nproperties\x18\x06 \x03(\x0b\x32$.api.GatewayListItem.PropertiesEntry\x12.\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0clast_seen_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12 \n\x05state\x18\n \x01(\x0e\x32\x11.api.GatewayState\x1a\x31\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"5\n\x14\x43reateGatewayRequest\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\"\'\n\x11GetGatewayRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"\xc5\x01\n\x12GetGatewayResponse\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0clast_seen_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"5\n\x14UpdateGatewayRequest\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\"*\n\x14\x44\x65leteGatewayRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"s\n\x13ListGatewaysRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x0e\n\x06search\x18\x03 \x01(\t\x12\x11\n\ttenant_id\x18\x04 \x01(\t\x12\x1a\n\x12multicast_group_id\x18\x05 \x01(\t\"Q\n\x14ListGatewaysResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12$\n\x06result\x18\x02 \x03(\x0b\x32\x14.api.GatewayListItem\"=\n\'GenerateGatewayClientCertificateRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"\x8e\x01\n(GenerateGatewayClientCertificateResponse\x12\x10\n\x08tls_cert\x18\x01 \x01(\t\x12\x0f\n\x07tls_key\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61_cert\x18\x03 \x01(\t\x12.\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xac\x01\n\x18GetGatewayMetricsRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\x12)\n\x05start\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\x0b\x61ggregation\x18\x04 \x01(\x0e\x32\x13.common.Aggregation\"\xc2\x02\n\x19GetGatewayMetricsResponse\x12\"\n\nrx_packets\x18\x01 \x01(\x0b\x32\x0e.common.Metric\x12\"\n\ntx_packets\x18\x02 \x01(\x0b\x32\x0e.common.Metric\x12+\n\x13tx_packets_per_freq\x18\x03 \x01(\x0b\x32\x0e.common.Metric\x12+\n\x13rx_packets_per_freq\x18\x04 \x01(\x0b\x32\x0e.common.Metric\x12)\n\x11tx_packets_per_dr\x18\x05 \x01(\x0b\x32\x0e.common.Metric\x12)\n\x11rx_packets_per_dr\x18\x06 \x01(\x0b\x32\x0e.common.Metric\x12-\n\x15tx_packets_per_status\x18\x07 \x01(\x0b\x32\x0e.common.Metric*7\n\x0cGatewayState\x12\x0e\n\nNEVER_SEEN\x10\x00\x12\n\n\x06ONLINE\x10\x01\x12\x0b\n\x07OFFLINE\x10\x02\x32\x91\x06\n\x0eGatewayService\x12U\n\x06\x43reate\x12\x19.api.CreateGatewayRequest\x1a\x16.google.protobuf.Empty\"\x18\x82\xd3\xe4\x93\x02\x12\"\r/api/gateways:\x01*\x12Z\n\x03Get\x12\x16.api.GetGatewayRequest\x1a\x17.api.GetGatewayResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/gateways/{gateway_id}\x12j\n\x06Update\x12\x19.api.UpdateGatewayRequest\x1a\x16.google.protobuf.Empty\"-\x82\xd3\xe4\x93\x02\'\x1a\"/api/gateways/{gateway.gateway_id}:\x01*\x12_\n\x06\x44\x65lete\x12\x19.api.DeleteGatewayRequest\x1a\x16.google.protobuf.Empty\"\"\x82\xd3\xe4\x93\x02\x1c*\x1a/api/gateways/{gateway_id}\x12R\n\x04List\x12\x18.api.ListGatewaysRequest\x1a\x19.api.ListGatewaysResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\x12\r/api/gateways\x12\xb1\x01\n\x19GenerateClientCertificate\x12,.api.GenerateGatewayClientCertificateRequest\x1a-.api.GenerateGatewayClientCertificateResponse\"7\x82\xd3\xe4\x93\x02\x31\"//api/gateways/{gateway_id}/generate-certificate\x12w\n\nGetMetrics\x12\x1d.api.GetGatewayMetricsRequest\x1a\x1e.api.GetGatewayMetricsResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/api/gateways/{gateway_id}/metricsBd\n\x11io.chirpstack.apiB\x0cGatewayProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.gateway_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.gateway_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -45,40 +46,40 @@ if _descriptor._USE_C_DESCRIPTORS == False: _GATEWAYSERVICE.methods_by_name['GenerateClientCertificate']._serialized_options = b'\202\323\344\223\0021\"//api/gateways/{gateway_id}/generate-certificate' _GATEWAYSERVICE.methods_by_name['GetMetrics']._options = None _GATEWAYSERVICE.methods_by_name['GetMetrics']._serialized_options = b'\202\323\344\223\002$\022\"/api/gateways/{gateway_id}/metrics' - _GATEWAYSTATE._serialized_start=2215 - _GATEWAYSTATE._serialized_end=2270 - _GATEWAY._serialized_start=170 - _GATEWAY._serialized_end=491 - _GATEWAY_TAGSENTRY._serialized_start=399 - _GATEWAY_TAGSENTRY._serialized_end=442 - _GATEWAY_METADATAENTRY._serialized_start=444 - _GATEWAY_METADATAENTRY._serialized_end=491 - _GATEWAYLISTITEM._serialized_start=494 - _GATEWAYLISTITEM._serialized_end=910 - _GATEWAYLISTITEM_PROPERTIESENTRY._serialized_start=861 - _GATEWAYLISTITEM_PROPERTIESENTRY._serialized_end=910 - _CREATEGATEWAYREQUEST._serialized_start=912 - _CREATEGATEWAYREQUEST._serialized_end=965 - _GETGATEWAYREQUEST._serialized_start=967 - _GETGATEWAYREQUEST._serialized_end=1006 - _GETGATEWAYRESPONSE._serialized_start=1009 - _GETGATEWAYRESPONSE._serialized_end=1206 - _UPDATEGATEWAYREQUEST._serialized_start=1208 - _UPDATEGATEWAYREQUEST._serialized_end=1261 - _DELETEGATEWAYREQUEST._serialized_start=1263 - _DELETEGATEWAYREQUEST._serialized_end=1305 - _LISTGATEWAYSREQUEST._serialized_start=1307 - _LISTGATEWAYSREQUEST._serialized_end=1422 - _LISTGATEWAYSRESPONSE._serialized_start=1424 - _LISTGATEWAYSRESPONSE._serialized_end=1505 - _GENERATEGATEWAYCLIENTCERTIFICATEREQUEST._serialized_start=1507 - _GENERATEGATEWAYCLIENTCERTIFICATEREQUEST._serialized_end=1568 - _GENERATEGATEWAYCLIENTCERTIFICATERESPONSE._serialized_start=1571 - _GENERATEGATEWAYCLIENTCERTIFICATERESPONSE._serialized_end=1713 - _GETGATEWAYMETRICSREQUEST._serialized_start=1716 - _GETGATEWAYMETRICSREQUEST._serialized_end=1888 - _GETGATEWAYMETRICSRESPONSE._serialized_start=1891 - _GETGATEWAYMETRICSRESPONSE._serialized_end=2213 - _GATEWAYSERVICE._serialized_start=2273 - _GATEWAYSERVICE._serialized_end=3058 + _globals['_GATEWAYSTATE']._serialized_start=2215 + _globals['_GATEWAYSTATE']._serialized_end=2270 + _globals['_GATEWAY']._serialized_start=170 + _globals['_GATEWAY']._serialized_end=491 + _globals['_GATEWAY_TAGSENTRY']._serialized_start=399 + _globals['_GATEWAY_TAGSENTRY']._serialized_end=442 + _globals['_GATEWAY_METADATAENTRY']._serialized_start=444 + _globals['_GATEWAY_METADATAENTRY']._serialized_end=491 + _globals['_GATEWAYLISTITEM']._serialized_start=494 + _globals['_GATEWAYLISTITEM']._serialized_end=910 + _globals['_GATEWAYLISTITEM_PROPERTIESENTRY']._serialized_start=861 + _globals['_GATEWAYLISTITEM_PROPERTIESENTRY']._serialized_end=910 + _globals['_CREATEGATEWAYREQUEST']._serialized_start=912 + _globals['_CREATEGATEWAYREQUEST']._serialized_end=965 + _globals['_GETGATEWAYREQUEST']._serialized_start=967 + _globals['_GETGATEWAYREQUEST']._serialized_end=1006 + _globals['_GETGATEWAYRESPONSE']._serialized_start=1009 + _globals['_GETGATEWAYRESPONSE']._serialized_end=1206 + _globals['_UPDATEGATEWAYREQUEST']._serialized_start=1208 + _globals['_UPDATEGATEWAYREQUEST']._serialized_end=1261 + _globals['_DELETEGATEWAYREQUEST']._serialized_start=1263 + _globals['_DELETEGATEWAYREQUEST']._serialized_end=1305 + _globals['_LISTGATEWAYSREQUEST']._serialized_start=1307 + _globals['_LISTGATEWAYSREQUEST']._serialized_end=1422 + _globals['_LISTGATEWAYSRESPONSE']._serialized_start=1424 + _globals['_LISTGATEWAYSRESPONSE']._serialized_end=1505 + _globals['_GENERATEGATEWAYCLIENTCERTIFICATEREQUEST']._serialized_start=1507 + _globals['_GENERATEGATEWAYCLIENTCERTIFICATEREQUEST']._serialized_end=1568 + _globals['_GENERATEGATEWAYCLIENTCERTIFICATERESPONSE']._serialized_start=1571 + _globals['_GENERATEGATEWAYCLIENTCERTIFICATERESPONSE']._serialized_end=1713 + _globals['_GETGATEWAYMETRICSREQUEST']._serialized_start=1716 + _globals['_GETGATEWAYMETRICSREQUEST']._serialized_end=1888 + _globals['_GETGATEWAYMETRICSRESPONSE']._serialized_start=1891 + _globals['_GETGATEWAYMETRICSRESPONSE']._serialized_end=2213 + _globals['_GATEWAYSERVICE']._serialized_start=2273 + _globals['_GATEWAYSERVICE']._serialized_end=3058 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/api/gateway_pb2.pyi b/api/python/src/chirpstack_api/api/gateway_pb2.pyi index bd67f22c..e3dfc137 100644 --- a/api/python/src/chirpstack_api/api/gateway_pb2.pyi +++ b/api/python/src/chirpstack_api/api/gateway_pb2.pyi @@ -9,9 +9,80 @@ from google.protobuf import message as _message from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor + +class GatewayState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + NEVER_SEEN: _ClassVar[GatewayState] + ONLINE: _ClassVar[GatewayState] + OFFLINE: _ClassVar[GatewayState] NEVER_SEEN: GatewayState -OFFLINE: GatewayState ONLINE: GatewayState +OFFLINE: GatewayState + +class Gateway(_message.Message): + __slots__ = ["gateway_id", "name", "description", "location", "tenant_id", "tags", "metadata", "stats_interval"] + class TagsEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + class MetadataEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + LOCATION_FIELD_NUMBER: _ClassVar[int] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + TAGS_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] + STATS_INTERVAL_FIELD_NUMBER: _ClassVar[int] + gateway_id: str + name: str + description: str + location: _common_pb2.Location + tenant_id: str + tags: _containers.ScalarMap[str, str] + metadata: _containers.ScalarMap[str, str] + stats_interval: int + def __init__(self, gateway_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ..., tenant_id: _Optional[str] = ..., tags: _Optional[_Mapping[str, str]] = ..., metadata: _Optional[_Mapping[str, str]] = ..., stats_interval: _Optional[int] = ...) -> None: ... + +class GatewayListItem(_message.Message): + __slots__ = ["tenant_id", "gateway_id", "name", "description", "location", "properties", "created_at", "updated_at", "last_seen_at", "state"] + class PropertiesEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + LOCATION_FIELD_NUMBER: _ClassVar[int] + PROPERTIES_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + tenant_id: str + gateway_id: str + name: str + description: str + location: _common_pb2.Location + properties: _containers.ScalarMap[str, str] + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + last_seen_at: _timestamp_pb2.Timestamp + state: GatewayState + def __init__(self, tenant_id: _Optional[str] = ..., gateway_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ..., properties: _Optional[_Mapping[str, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., state: _Optional[_Union[GatewayState, str]] = ...) -> None: ... class CreateGatewayRequest(_message.Message): __slots__ = ["gateway"] @@ -19,76 +90,57 @@ class CreateGatewayRequest(_message.Message): gateway: Gateway def __init__(self, gateway: _Optional[_Union[Gateway, _Mapping]] = ...) -> None: ... +class GetGatewayRequest(_message.Message): + __slots__ = ["gateway_id"] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + gateway_id: str + def __init__(self, gateway_id: _Optional[str] = ...) -> None: ... + +class GetGatewayResponse(_message.Message): + __slots__ = ["gateway", "created_at", "updated_at", "last_seen_at"] + GATEWAY_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int] + gateway: Gateway + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + last_seen_at: _timestamp_pb2.Timestamp + def __init__(self, gateway: _Optional[_Union[Gateway, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class UpdateGatewayRequest(_message.Message): + __slots__ = ["gateway"] + GATEWAY_FIELD_NUMBER: _ClassVar[int] + gateway: Gateway + def __init__(self, gateway: _Optional[_Union[Gateway, _Mapping]] = ...) -> None: ... + class DeleteGatewayRequest(_message.Message): __slots__ = ["gateway_id"] GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] gateway_id: str def __init__(self, gateway_id: _Optional[str] = ...) -> None: ... -class Gateway(_message.Message): - __slots__ = ["description", "gateway_id", "location", "metadata", "name", "stats_interval", "tags", "tenant_id"] - class MetadataEntry(_message.Message): - __slots__ = ["key", "value"] - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: str - value: str - def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - class TagsEntry(_message.Message): - __slots__ = ["key", "value"] - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: str - value: str - def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - DESCRIPTION_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - LOCATION_FIELD_NUMBER: _ClassVar[int] - METADATA_FIELD_NUMBER: _ClassVar[int] - NAME_FIELD_NUMBER: _ClassVar[int] - STATS_INTERVAL_FIELD_NUMBER: _ClassVar[int] - TAGS_FIELD_NUMBER: _ClassVar[int] +class ListGatewaysRequest(_message.Message): + __slots__ = ["limit", "offset", "search", "tenant_id", "multicast_group_id"] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + SEARCH_FIELD_NUMBER: _ClassVar[int] TENANT_ID_FIELD_NUMBER: _ClassVar[int] - description: str - gateway_id: str - location: _common_pb2.Location - metadata: _containers.ScalarMap[str, str] - name: str - stats_interval: int - tags: _containers.ScalarMap[str, str] + MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] + limit: int + offset: int + search: str tenant_id: str - def __init__(self, gateway_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ..., tenant_id: _Optional[str] = ..., tags: _Optional[_Mapping[str, str]] = ..., metadata: _Optional[_Mapping[str, str]] = ..., stats_interval: _Optional[int] = ...) -> None: ... + multicast_group_id: str + def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., tenant_id: _Optional[str] = ..., multicast_group_id: _Optional[str] = ...) -> None: ... -class GatewayListItem(_message.Message): - __slots__ = ["created_at", "description", "gateway_id", "last_seen_at", "location", "name", "properties", "state", "tenant_id", "updated_at"] - class PropertiesEntry(_message.Message): - __slots__ = ["key", "value"] - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: str - value: str - def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - DESCRIPTION_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int] - LOCATION_FIELD_NUMBER: _ClassVar[int] - NAME_FIELD_NUMBER: _ClassVar[int] - PROPERTIES_FIELD_NUMBER: _ClassVar[int] - STATE_FIELD_NUMBER: _ClassVar[int] - TENANT_ID_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp - description: str - gateway_id: str - last_seen_at: _timestamp_pb2.Timestamp - location: _common_pb2.Location - name: str - properties: _containers.ScalarMap[str, str] - state: GatewayState - tenant_id: str - updated_at: _timestamp_pb2.Timestamp - def __init__(self, tenant_id: _Optional[str] = ..., gateway_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ..., properties: _Optional[_Mapping[str, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., state: _Optional[_Union[GatewayState, str]] = ...) -> None: ... +class ListGatewaysResponse(_message.Message): + __slots__ = ["total_count", "result"] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + RESULT_FIELD_NUMBER: _ClassVar[int] + total_count: int + result: _containers.RepeatedCompositeFieldContainer[GatewayListItem] + def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[GatewayListItem, _Mapping]]] = ...) -> None: ... class GenerateGatewayClientCertificateRequest(_message.Message): __slots__ = ["gateway_id"] @@ -97,92 +149,43 @@ class GenerateGatewayClientCertificateRequest(_message.Message): def __init__(self, gateway_id: _Optional[str] = ...) -> None: ... class GenerateGatewayClientCertificateResponse(_message.Message): - __slots__ = ["ca_cert", "expires_at", "tls_cert", "tls_key"] - CA_CERT_FIELD_NUMBER: _ClassVar[int] - EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["tls_cert", "tls_key", "ca_cert", "expires_at"] TLS_CERT_FIELD_NUMBER: _ClassVar[int] TLS_KEY_FIELD_NUMBER: _ClassVar[int] - ca_cert: str - expires_at: _timestamp_pb2.Timestamp + CA_CERT_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] tls_cert: str tls_key: str + ca_cert: str + expires_at: _timestamp_pb2.Timestamp def __init__(self, tls_cert: _Optional[str] = ..., tls_key: _Optional[str] = ..., ca_cert: _Optional[str] = ..., expires_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class GetGatewayMetricsRequest(_message.Message): - __slots__ = ["aggregation", "end", "gateway_id", "start"] - AGGREGATION_FIELD_NUMBER: _ClassVar[int] - END_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["gateway_id", "start", "end", "aggregation"] GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] START_FIELD_NUMBER: _ClassVar[int] - aggregation: _common_pb2.Aggregation - end: _timestamp_pb2.Timestamp + END_FIELD_NUMBER: _ClassVar[int] + AGGREGATION_FIELD_NUMBER: _ClassVar[int] gateway_id: str start: _timestamp_pb2.Timestamp + end: _timestamp_pb2.Timestamp + aggregation: _common_pb2.Aggregation def __init__(self, gateway_id: _Optional[str] = ..., start: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., aggregation: _Optional[_Union[_common_pb2.Aggregation, str]] = ...) -> None: ... class GetGatewayMetricsResponse(_message.Message): - __slots__ = ["rx_packets", "rx_packets_per_dr", "rx_packets_per_freq", "tx_packets", "tx_packets_per_dr", "tx_packets_per_freq", "tx_packets_per_status"] + __slots__ = ["rx_packets", "tx_packets", "tx_packets_per_freq", "rx_packets_per_freq", "tx_packets_per_dr", "rx_packets_per_dr", "tx_packets_per_status"] RX_PACKETS_FIELD_NUMBER: _ClassVar[int] - RX_PACKETS_PER_DR_FIELD_NUMBER: _ClassVar[int] - RX_PACKETS_PER_FREQ_FIELD_NUMBER: _ClassVar[int] TX_PACKETS_FIELD_NUMBER: _ClassVar[int] - TX_PACKETS_PER_DR_FIELD_NUMBER: _ClassVar[int] TX_PACKETS_PER_FREQ_FIELD_NUMBER: _ClassVar[int] + RX_PACKETS_PER_FREQ_FIELD_NUMBER: _ClassVar[int] + TX_PACKETS_PER_DR_FIELD_NUMBER: _ClassVar[int] + RX_PACKETS_PER_DR_FIELD_NUMBER: _ClassVar[int] TX_PACKETS_PER_STATUS_FIELD_NUMBER: _ClassVar[int] rx_packets: _common_pb2.Metric - rx_packets_per_dr: _common_pb2.Metric - rx_packets_per_freq: _common_pb2.Metric tx_packets: _common_pb2.Metric - tx_packets_per_dr: _common_pb2.Metric tx_packets_per_freq: _common_pb2.Metric + rx_packets_per_freq: _common_pb2.Metric + tx_packets_per_dr: _common_pb2.Metric + rx_packets_per_dr: _common_pb2.Metric tx_packets_per_status: _common_pb2.Metric def __init__(self, rx_packets: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., tx_packets: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., tx_packets_per_freq: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., rx_packets_per_freq: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., tx_packets_per_dr: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., rx_packets_per_dr: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., tx_packets_per_status: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ...) -> None: ... - -class GetGatewayRequest(_message.Message): - __slots__ = ["gateway_id"] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - gateway_id: str - def __init__(self, gateway_id: _Optional[str] = ...) -> None: ... - -class GetGatewayResponse(_message.Message): - __slots__ = ["created_at", "gateway", "last_seen_at", "updated_at"] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - GATEWAY_FIELD_NUMBER: _ClassVar[int] - LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp - gateway: Gateway - last_seen_at: _timestamp_pb2.Timestamp - updated_at: _timestamp_pb2.Timestamp - def __init__(self, gateway: _Optional[_Union[Gateway, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... - -class ListGatewaysRequest(_message.Message): - __slots__ = ["limit", "multicast_group_id", "offset", "search", "tenant_id"] - LIMIT_FIELD_NUMBER: _ClassVar[int] - MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] - OFFSET_FIELD_NUMBER: _ClassVar[int] - SEARCH_FIELD_NUMBER: _ClassVar[int] - TENANT_ID_FIELD_NUMBER: _ClassVar[int] - limit: int - multicast_group_id: str - offset: int - search: str - tenant_id: str - def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., tenant_id: _Optional[str] = ..., multicast_group_id: _Optional[str] = ...) -> None: ... - -class ListGatewaysResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] - TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[GatewayListItem] - total_count: int - def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[GatewayListItem, _Mapping]]] = ...) -> None: ... - -class UpdateGatewayRequest(_message.Message): - __slots__ = ["gateway"] - GATEWAY_FIELD_NUMBER: _ClassVar[int] - gateway: Gateway - def __init__(self, gateway: _Optional[_Union[Gateway, _Mapping]] = ...) -> None: ... - -class GatewayState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] diff --git a/api/python/src/chirpstack_api/api/internal_pb2.py b/api/python/src/chirpstack_api/api/internal_pb2.py index 908a43fe..0eead05a 100644 --- a/api/python/src/chirpstack_api/api/internal_pb2.py +++ b/api/python/src/chirpstack_api/api/internal_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/api/internal.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -19,8 +19,9 @@ from chirpstack_api.api import user_pb2 as chirpstack__api_dot_api_dot_user__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!chirpstack-api/api/internal.proto\x12\x03\x61pi\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"chirpstack-api/common/common.proto\x1a\x1d\x63hirpstack-api/api/user.proto\"G\n\x06\x41piKey\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08is_admin\x18\x03 \x01(\x08\x12\x11\n\ttenant_id\x18\x04 \x01(\t\"3\n\x13\x43reateApiKeyRequest\x12\x1c\n\x07\x61pi_key\x18\x01 \x01(\x0b\x32\x0b.api.ApiKey\"1\n\x14\x43reateApiKeyResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\r\n\x05token\x18\x02 \x01(\t\"!\n\x13\x44\x65leteApiKeyRequest\x12\n\n\x02id\x18\x01 \x01(\t\"X\n\x12ListApiKeysRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x10\n\x08is_admin\x18\x03 \x01(\x08\x12\x11\n\ttenant_id\x18\x04 \x01(\t\"G\n\x13ListApiKeysResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12\x1b\n\x06result\x18\x02 \x03(\x0b\x32\x0b.api.ApiKey\"\xc8\x01\n\x0eUserTenantLink\x12.\n\ncreated_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x11\n\ttenant_id\x18\x03 \x01(\t\x12\x10\n\x08is_admin\x18\x04 \x01(\x08\x12\x17\n\x0fis_device_admin\x18\x05 \x01(\x08\x12\x18\n\x10is_gateway_admin\x18\x06 \x01(\x08\"/\n\x0cLoginRequest\x12\r\n\x05\x65mail\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\"\x1c\n\rLoginResponse\x12\x0b\n\x03jwt\x18\x01 \x01(\t\"P\n\x0fProfileResponse\x12\x17\n\x04user\x18\x01 \x01(\x0b\x32\t.api.User\x12$\n\x07tenants\x18\x03 \x03(\x0b\x32\x13.api.UserTenantLink\"D\n\x13GlobalSearchRequest\x12\x0e\n\x06search\x18\x01 \x01(\t\x12\r\n\x05limit\x18\x02 \x01(\x03\x12\x0e\n\x06offset\x18\x03 \x01(\x03\"?\n\x14GlobalSearchResponse\x12\'\n\x06result\x18\x01 \x03(\x0b\x32\x17.api.GlobalSearchResult\"\xe2\x01\n\x12GlobalSearchResult\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\r\n\x05score\x18\x02 \x01(\x02\x12\x11\n\ttenant_id\x18\x03 \x01(\t\x12\x13\n\x0btenant_name\x18\x04 \x01(\t\x12\x16\n\x0e\x61pplication_id\x18\x05 \x01(\t\x12\x18\n\x10\x61pplication_name\x18\x06 \x01(\t\x12\x16\n\x0e\x64\x65vice_dev_eui\x18\x07 \x01(\t\x12\x13\n\x0b\x64\x65vice_name\x18\x08 \x01(\t\x12\x12\n\ngateway_id\x18\t \x01(\t\x12\x14\n\x0cgateway_name\x18\n \x01(\t\">\n\x10SettingsResponse\x12*\n\x0eopenid_connect\x18\x01 \x01(\x0b\x32\x12.api.OpenIdConnect\"q\n\rOpenIdConnect\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x1b\n\tlogin_url\x18\x02 \x01(\tR\x08loginURL\x12\x13\n\x0blogin_label\x18\x03 \x01(\t\x12\x1d\n\nlogout_url\x18\x04 \x01(\tR\tlogoutURL\"8\n\x19OpenIdConnectLoginRequest\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\t\"+\n\x1aOpenIdConnectLoginResponse\x12\r\n\x05token\x18\x01 \x01(\t\"-\n\x18GetDevicesSummaryRequest\x12\x11\n\ttenant_id\x18\x01 \x01(\t\"\xd2\x01\n\x19GetDevicesSummaryResponse\x12\x14\n\x0c\x61\x63tive_count\x18\x01 \x01(\r\x12\x16\n\x0einactive_count\x18\x02 \x01(\r\x12=\n\x08\x64r_count\x18\x03 \x03(\x0b\x32+.api.GetDevicesSummaryResponse.DrCountEntry\x12\x18\n\x10never_seen_count\x18\x04 \x01(\r\x1a.\n\x0c\x44rCountEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\".\n\x19GetGatewaysSummaryRequest\x12\x11\n\ttenant_id\x18\x01 \x01(\t\"c\n\x1aGetGatewaysSummaryResponse\x12\x14\n\x0conline_count\x18\x01 \x01(\r\x12\x15\n\roffline_count\x18\x02 \x01(\r\x12\x18\n\x10never_seen_count\x18\x03 \x01(\r\"\xc7\x01\n\x07LogItem\x12\n\n\x02id\x18\x01 \x01(\t\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0c\n\x04\x62ody\x18\x04 \x01(\t\x12\x30\n\nproperties\x18\x05 \x03(\x0b\x32\x1c.api.LogItem.PropertiesEntry\x1a\x31\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"0\n\x1aStreamGatewayFramesRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\",\n\x19StreamDeviceFramesRequest\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\",\n\x19StreamDeviceEventsRequest\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\";\n\x13ListRegionsResponse\x12$\n\x07regions\x18\x01 \x03(\x0b\x32\x13.api.RegionListItem\"Q\n\x0eRegionListItem\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1e\n\x06region\x18\x02 \x01(\x0e\x32\x0e.common.Region\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\"\x1e\n\x10GetRegionRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\xa8\x02\n\x11GetRegionResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1e\n\x06region\x18\x02 \x01(\x0e\x32\x0e.common.Region\x12\x11\n\tuser_info\x18\x03 \x01(\t\x12+\n\x0fuplink_channels\x18\x04 \x03(\x0b\x32\x12.api.RegionChannel\x12\x11\n\trx1_delay\x18\x05 \x01(\r\x12\x15\n\rrx1_dr_offset\x18\x06 \x01(\r\x12\x0e\n\x06rx2_dr\x18\x07 \x01(\r\x12\x15\n\rrx2_frequency\x18\x08 \x01(\r\x12\x1c\n\x14\x63lass_b_ping_slot_dr\x18\t \x01(\r\x12#\n\x1b\x63lass_b_ping_slot_frequency\x18\n \x01(\r\x12\x13\n\x0b\x64\x65scription\x18\x0b \x01(\t\"B\n\rRegionChannel\x12\x11\n\tfrequency\x18\x01 \x01(\r\x12\x0e\n\x06\x64r_min\x18\x02 \x01(\r\x12\x0e\n\x06\x64r_max\x18\x03 \x01(\r2\xb4\x08\n\x0fInternalService\x12\x30\n\x05Login\x12\x11.api.LoginRequest\x1a\x12.api.LoginResponse\"\x00\x12\x39\n\x07Profile\x12\x16.google.protobuf.Empty\x1a\x14.api.ProfileResponse\"\x00\x12\x45\n\x0cGlobalSearch\x12\x18.api.GlobalSearchRequest\x1a\x19.api.GlobalSearchResponse\"\x00\x12\x45\n\x0c\x43reateApiKey\x12\x18.api.CreateApiKeyRequest\x1a\x19.api.CreateApiKeyResponse\"\x00\x12\x42\n\x0c\x44\x65leteApiKey\x12\x18.api.DeleteApiKeyRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x42\n\x0bListApiKeys\x12\x17.api.ListApiKeysRequest\x1a\x18.api.ListApiKeysResponse\"\x00\x12;\n\x08Settings\x12\x16.google.protobuf.Empty\x1a\x15.api.SettingsResponse\"\x00\x12W\n\x12OpenIdConnectLogin\x12\x1e.api.OpenIdConnectLoginRequest\x1a\x1f.api.OpenIdConnectLoginResponse\"\x00\x12T\n\x11GetDevicesSummary\x12\x1d.api.GetDevicesSummaryRequest\x1a\x1e.api.GetDevicesSummaryResponse\"\x00\x12W\n\x12GetGatewaysSummary\x12\x1e.api.GetGatewaysSummaryRequest\x1a\x1f.api.GetGatewaysSummaryResponse\"\x00\x12H\n\x13StreamGatewayFrames\x12\x1f.api.StreamGatewayFramesRequest\x1a\x0c.api.LogItem\"\x00\x30\x01\x12\x46\n\x12StreamDeviceFrames\x12\x1e.api.StreamDeviceFramesRequest\x1a\x0c.api.LogItem\"\x00\x30\x01\x12\x46\n\x12StreamDeviceEvents\x12\x1e.api.StreamDeviceEventsRequest\x1a\x0c.api.LogItem\"\x00\x30\x01\x12\x41\n\x0bListRegions\x12\x16.google.protobuf.Empty\x1a\x18.api.ListRegionsResponse\"\x00\x12<\n\tGetRegion\x12\x15.api.GetRegionRequest\x1a\x16.api.GetRegionResponse\"\x00\x42\x65\n\x11io.chirpstack.apiB\rInternalProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.internal_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.internal_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -29,70 +30,70 @@ if _descriptor._USE_C_DESCRIPTORS == False: _GETDEVICESSUMMARYRESPONSE_DRCOUNTENTRY._serialized_options = b'8\001' _LOGITEM_PROPERTIESENTRY._options = None _LOGITEM_PROPERTIESENTRY._serialized_options = b'8\001' - _APIKEY._serialized_start=171 - _APIKEY._serialized_end=242 - _CREATEAPIKEYREQUEST._serialized_start=244 - _CREATEAPIKEYREQUEST._serialized_end=295 - _CREATEAPIKEYRESPONSE._serialized_start=297 - _CREATEAPIKEYRESPONSE._serialized_end=346 - _DELETEAPIKEYREQUEST._serialized_start=348 - _DELETEAPIKEYREQUEST._serialized_end=381 - _LISTAPIKEYSREQUEST._serialized_start=383 - _LISTAPIKEYSREQUEST._serialized_end=471 - _LISTAPIKEYSRESPONSE._serialized_start=473 - _LISTAPIKEYSRESPONSE._serialized_end=544 - _USERTENANTLINK._serialized_start=547 - _USERTENANTLINK._serialized_end=747 - _LOGINREQUEST._serialized_start=749 - _LOGINREQUEST._serialized_end=796 - _LOGINRESPONSE._serialized_start=798 - _LOGINRESPONSE._serialized_end=826 - _PROFILERESPONSE._serialized_start=828 - _PROFILERESPONSE._serialized_end=908 - _GLOBALSEARCHREQUEST._serialized_start=910 - _GLOBALSEARCHREQUEST._serialized_end=978 - _GLOBALSEARCHRESPONSE._serialized_start=980 - _GLOBALSEARCHRESPONSE._serialized_end=1043 - _GLOBALSEARCHRESULT._serialized_start=1046 - _GLOBALSEARCHRESULT._serialized_end=1272 - _SETTINGSRESPONSE._serialized_start=1274 - _SETTINGSRESPONSE._serialized_end=1336 - _OPENIDCONNECT._serialized_start=1338 - _OPENIDCONNECT._serialized_end=1451 - _OPENIDCONNECTLOGINREQUEST._serialized_start=1453 - _OPENIDCONNECTLOGINREQUEST._serialized_end=1509 - _OPENIDCONNECTLOGINRESPONSE._serialized_start=1511 - _OPENIDCONNECTLOGINRESPONSE._serialized_end=1554 - _GETDEVICESSUMMARYREQUEST._serialized_start=1556 - _GETDEVICESSUMMARYREQUEST._serialized_end=1601 - _GETDEVICESSUMMARYRESPONSE._serialized_start=1604 - _GETDEVICESSUMMARYRESPONSE._serialized_end=1814 - _GETDEVICESSUMMARYRESPONSE_DRCOUNTENTRY._serialized_start=1768 - _GETDEVICESSUMMARYRESPONSE_DRCOUNTENTRY._serialized_end=1814 - _GETGATEWAYSSUMMARYREQUEST._serialized_start=1816 - _GETGATEWAYSSUMMARYREQUEST._serialized_end=1862 - _GETGATEWAYSSUMMARYRESPONSE._serialized_start=1864 - _GETGATEWAYSSUMMARYRESPONSE._serialized_end=1963 - _LOGITEM._serialized_start=1966 - _LOGITEM._serialized_end=2165 - _LOGITEM_PROPERTIESENTRY._serialized_start=2116 - _LOGITEM_PROPERTIESENTRY._serialized_end=2165 - _STREAMGATEWAYFRAMESREQUEST._serialized_start=2167 - _STREAMGATEWAYFRAMESREQUEST._serialized_end=2215 - _STREAMDEVICEFRAMESREQUEST._serialized_start=2217 - _STREAMDEVICEFRAMESREQUEST._serialized_end=2261 - _STREAMDEVICEEVENTSREQUEST._serialized_start=2263 - _STREAMDEVICEEVENTSREQUEST._serialized_end=2307 - _LISTREGIONSRESPONSE._serialized_start=2309 - _LISTREGIONSRESPONSE._serialized_end=2368 - _REGIONLISTITEM._serialized_start=2370 - _REGIONLISTITEM._serialized_end=2451 - _GETREGIONREQUEST._serialized_start=2453 - _GETREGIONREQUEST._serialized_end=2483 - _GETREGIONRESPONSE._serialized_start=2486 - _GETREGIONRESPONSE._serialized_end=2782 - _REGIONCHANNEL._serialized_start=2784 - _REGIONCHANNEL._serialized_end=2850 - _INTERNALSERVICE._serialized_start=2853 - _INTERNALSERVICE._serialized_end=3929 + _globals['_APIKEY']._serialized_start=171 + _globals['_APIKEY']._serialized_end=242 + _globals['_CREATEAPIKEYREQUEST']._serialized_start=244 + _globals['_CREATEAPIKEYREQUEST']._serialized_end=295 + _globals['_CREATEAPIKEYRESPONSE']._serialized_start=297 + _globals['_CREATEAPIKEYRESPONSE']._serialized_end=346 + _globals['_DELETEAPIKEYREQUEST']._serialized_start=348 + _globals['_DELETEAPIKEYREQUEST']._serialized_end=381 + _globals['_LISTAPIKEYSREQUEST']._serialized_start=383 + _globals['_LISTAPIKEYSREQUEST']._serialized_end=471 + _globals['_LISTAPIKEYSRESPONSE']._serialized_start=473 + _globals['_LISTAPIKEYSRESPONSE']._serialized_end=544 + _globals['_USERTENANTLINK']._serialized_start=547 + _globals['_USERTENANTLINK']._serialized_end=747 + _globals['_LOGINREQUEST']._serialized_start=749 + _globals['_LOGINREQUEST']._serialized_end=796 + _globals['_LOGINRESPONSE']._serialized_start=798 + _globals['_LOGINRESPONSE']._serialized_end=826 + _globals['_PROFILERESPONSE']._serialized_start=828 + _globals['_PROFILERESPONSE']._serialized_end=908 + _globals['_GLOBALSEARCHREQUEST']._serialized_start=910 + _globals['_GLOBALSEARCHREQUEST']._serialized_end=978 + _globals['_GLOBALSEARCHRESPONSE']._serialized_start=980 + _globals['_GLOBALSEARCHRESPONSE']._serialized_end=1043 + _globals['_GLOBALSEARCHRESULT']._serialized_start=1046 + _globals['_GLOBALSEARCHRESULT']._serialized_end=1272 + _globals['_SETTINGSRESPONSE']._serialized_start=1274 + _globals['_SETTINGSRESPONSE']._serialized_end=1336 + _globals['_OPENIDCONNECT']._serialized_start=1338 + _globals['_OPENIDCONNECT']._serialized_end=1451 + _globals['_OPENIDCONNECTLOGINREQUEST']._serialized_start=1453 + _globals['_OPENIDCONNECTLOGINREQUEST']._serialized_end=1509 + _globals['_OPENIDCONNECTLOGINRESPONSE']._serialized_start=1511 + _globals['_OPENIDCONNECTLOGINRESPONSE']._serialized_end=1554 + _globals['_GETDEVICESSUMMARYREQUEST']._serialized_start=1556 + _globals['_GETDEVICESSUMMARYREQUEST']._serialized_end=1601 + _globals['_GETDEVICESSUMMARYRESPONSE']._serialized_start=1604 + _globals['_GETDEVICESSUMMARYRESPONSE']._serialized_end=1814 + _globals['_GETDEVICESSUMMARYRESPONSE_DRCOUNTENTRY']._serialized_start=1768 + _globals['_GETDEVICESSUMMARYRESPONSE_DRCOUNTENTRY']._serialized_end=1814 + _globals['_GETGATEWAYSSUMMARYREQUEST']._serialized_start=1816 + _globals['_GETGATEWAYSSUMMARYREQUEST']._serialized_end=1862 + _globals['_GETGATEWAYSSUMMARYRESPONSE']._serialized_start=1864 + _globals['_GETGATEWAYSSUMMARYRESPONSE']._serialized_end=1963 + _globals['_LOGITEM']._serialized_start=1966 + _globals['_LOGITEM']._serialized_end=2165 + _globals['_LOGITEM_PROPERTIESENTRY']._serialized_start=2116 + _globals['_LOGITEM_PROPERTIESENTRY']._serialized_end=2165 + _globals['_STREAMGATEWAYFRAMESREQUEST']._serialized_start=2167 + _globals['_STREAMGATEWAYFRAMESREQUEST']._serialized_end=2215 + _globals['_STREAMDEVICEFRAMESREQUEST']._serialized_start=2217 + _globals['_STREAMDEVICEFRAMESREQUEST']._serialized_end=2261 + _globals['_STREAMDEVICEEVENTSREQUEST']._serialized_start=2263 + _globals['_STREAMDEVICEEVENTSREQUEST']._serialized_end=2307 + _globals['_LISTREGIONSRESPONSE']._serialized_start=2309 + _globals['_LISTREGIONSRESPONSE']._serialized_end=2368 + _globals['_REGIONLISTITEM']._serialized_start=2370 + _globals['_REGIONLISTITEM']._serialized_end=2451 + _globals['_GETREGIONREQUEST']._serialized_start=2453 + _globals['_GETREGIONREQUEST']._serialized_end=2483 + _globals['_GETREGIONRESPONSE']._serialized_start=2486 + _globals['_GETREGIONRESPONSE']._serialized_end=2782 + _globals['_REGIONCHANNEL']._serialized_start=2784 + _globals['_REGIONCHANNEL']._serialized_end=2850 + _globals['_INTERNALSERVICE']._serialized_start=2853 + _globals['_INTERNALSERVICE']._serialized_end=3929 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/api/internal_pb2.pyi b/api/python/src/chirpstack_api/api/internal_pb2.pyi index 4fa31e73..82c0b228 100644 --- a/api/python/src/chirpstack_api/api/internal_pb2.pyi +++ b/api/python/src/chirpstack_api/api/internal_pb2.pyi @@ -10,14 +10,14 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor class ApiKey(_message.Message): - __slots__ = ["id", "is_admin", "name", "tenant_id"] + __slots__ = ["id", "name", "is_admin", "tenant_id"] ID_FIELD_NUMBER: _ClassVar[int] - IS_ADMIN_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] + IS_ADMIN_FIELD_NUMBER: _ClassVar[int] TENANT_ID_FIELD_NUMBER: _ClassVar[int] id: str - is_admin: bool name: str + is_admin: bool tenant_id: str def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., is_admin: bool = ..., tenant_id: _Optional[str] = ...) -> None: ... @@ -41,165 +41,41 @@ class DeleteApiKeyRequest(_message.Message): id: str def __init__(self, id: _Optional[str] = ...) -> None: ... -class GetDevicesSummaryRequest(_message.Message): - __slots__ = ["tenant_id"] - TENANT_ID_FIELD_NUMBER: _ClassVar[int] - tenant_id: str - def __init__(self, tenant_id: _Optional[str] = ...) -> None: ... - -class GetDevicesSummaryResponse(_message.Message): - __slots__ = ["active_count", "dr_count", "inactive_count", "never_seen_count"] - class DrCountEntry(_message.Message): - __slots__ = ["key", "value"] - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: int - value: int - def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... - ACTIVE_COUNT_FIELD_NUMBER: _ClassVar[int] - DR_COUNT_FIELD_NUMBER: _ClassVar[int] - INACTIVE_COUNT_FIELD_NUMBER: _ClassVar[int] - NEVER_SEEN_COUNT_FIELD_NUMBER: _ClassVar[int] - active_count: int - dr_count: _containers.ScalarMap[int, int] - inactive_count: int - never_seen_count: int - def __init__(self, active_count: _Optional[int] = ..., inactive_count: _Optional[int] = ..., dr_count: _Optional[_Mapping[int, int]] = ..., never_seen_count: _Optional[int] = ...) -> None: ... - -class GetGatewaysSummaryRequest(_message.Message): - __slots__ = ["tenant_id"] - TENANT_ID_FIELD_NUMBER: _ClassVar[int] - tenant_id: str - def __init__(self, tenant_id: _Optional[str] = ...) -> None: ... - -class GetGatewaysSummaryResponse(_message.Message): - __slots__ = ["never_seen_count", "offline_count", "online_count"] - NEVER_SEEN_COUNT_FIELD_NUMBER: _ClassVar[int] - OFFLINE_COUNT_FIELD_NUMBER: _ClassVar[int] - ONLINE_COUNT_FIELD_NUMBER: _ClassVar[int] - never_seen_count: int - offline_count: int - online_count: int - def __init__(self, online_count: _Optional[int] = ..., offline_count: _Optional[int] = ..., never_seen_count: _Optional[int] = ...) -> None: ... - -class GetRegionRequest(_message.Message): - __slots__ = ["id"] - ID_FIELD_NUMBER: _ClassVar[int] - id: str - def __init__(self, id: _Optional[str] = ...) -> None: ... - -class GetRegionResponse(_message.Message): - __slots__ = ["class_b_ping_slot_dr", "class_b_ping_slot_frequency", "description", "id", "region", "rx1_delay", "rx1_dr_offset", "rx2_dr", "rx2_frequency", "uplink_channels", "user_info"] - CLASS_B_PING_SLOT_DR_FIELD_NUMBER: _ClassVar[int] - CLASS_B_PING_SLOT_FREQUENCY_FIELD_NUMBER: _ClassVar[int] - DESCRIPTION_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - REGION_FIELD_NUMBER: _ClassVar[int] - RX1_DELAY_FIELD_NUMBER: _ClassVar[int] - RX1_DR_OFFSET_FIELD_NUMBER: _ClassVar[int] - RX2_DR_FIELD_NUMBER: _ClassVar[int] - RX2_FREQUENCY_FIELD_NUMBER: _ClassVar[int] - UPLINK_CHANNELS_FIELD_NUMBER: _ClassVar[int] - USER_INFO_FIELD_NUMBER: _ClassVar[int] - class_b_ping_slot_dr: int - class_b_ping_slot_frequency: int - description: str - id: str - region: _common_pb2.Region - rx1_delay: int - rx1_dr_offset: int - rx2_dr: int - rx2_frequency: int - uplink_channels: _containers.RepeatedCompositeFieldContainer[RegionChannel] - user_info: str - def __init__(self, id: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., user_info: _Optional[str] = ..., uplink_channels: _Optional[_Iterable[_Union[RegionChannel, _Mapping]]] = ..., rx1_delay: _Optional[int] = ..., rx1_dr_offset: _Optional[int] = ..., rx2_dr: _Optional[int] = ..., rx2_frequency: _Optional[int] = ..., class_b_ping_slot_dr: _Optional[int] = ..., class_b_ping_slot_frequency: _Optional[int] = ..., description: _Optional[str] = ...) -> None: ... - -class GlobalSearchRequest(_message.Message): - __slots__ = ["limit", "offset", "search"] - LIMIT_FIELD_NUMBER: _ClassVar[int] - OFFSET_FIELD_NUMBER: _ClassVar[int] - SEARCH_FIELD_NUMBER: _ClassVar[int] - limit: int - offset: int - search: str - def __init__(self, search: _Optional[str] = ..., limit: _Optional[int] = ..., offset: _Optional[int] = ...) -> None: ... - -class GlobalSearchResponse(_message.Message): - __slots__ = ["result"] - RESULT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[GlobalSearchResult] - def __init__(self, result: _Optional[_Iterable[_Union[GlobalSearchResult, _Mapping]]] = ...) -> None: ... - -class GlobalSearchResult(_message.Message): - __slots__ = ["application_id", "application_name", "device_dev_eui", "device_name", "gateway_id", "gateway_name", "kind", "score", "tenant_id", "tenant_name"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - APPLICATION_NAME_FIELD_NUMBER: _ClassVar[int] - DEVICE_DEV_EUI_FIELD_NUMBER: _ClassVar[int] - DEVICE_NAME_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - GATEWAY_NAME_FIELD_NUMBER: _ClassVar[int] - KIND_FIELD_NUMBER: _ClassVar[int] - SCORE_FIELD_NUMBER: _ClassVar[int] - TENANT_ID_FIELD_NUMBER: _ClassVar[int] - TENANT_NAME_FIELD_NUMBER: _ClassVar[int] - application_id: str - application_name: str - device_dev_eui: str - device_name: str - gateway_id: str - gateway_name: str - kind: str - score: float - tenant_id: str - tenant_name: str - def __init__(self, kind: _Optional[str] = ..., score: _Optional[float] = ..., tenant_id: _Optional[str] = ..., tenant_name: _Optional[str] = ..., application_id: _Optional[str] = ..., application_name: _Optional[str] = ..., device_dev_eui: _Optional[str] = ..., device_name: _Optional[str] = ..., gateway_id: _Optional[str] = ..., gateway_name: _Optional[str] = ...) -> None: ... - class ListApiKeysRequest(_message.Message): - __slots__ = ["is_admin", "limit", "offset", "tenant_id"] - IS_ADMIN_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["limit", "offset", "is_admin", "tenant_id"] LIMIT_FIELD_NUMBER: _ClassVar[int] OFFSET_FIELD_NUMBER: _ClassVar[int] + IS_ADMIN_FIELD_NUMBER: _ClassVar[int] TENANT_ID_FIELD_NUMBER: _ClassVar[int] - is_admin: bool limit: int offset: int + is_admin: bool tenant_id: str def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., is_admin: bool = ..., tenant_id: _Optional[str] = ...) -> None: ... class ListApiKeysResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["total_count", "result"] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[ApiKey] + RESULT_FIELD_NUMBER: _ClassVar[int] total_count: int + result: _containers.RepeatedCompositeFieldContainer[ApiKey] def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[ApiKey, _Mapping]]] = ...) -> None: ... -class ListRegionsResponse(_message.Message): - __slots__ = ["regions"] - REGIONS_FIELD_NUMBER: _ClassVar[int] - regions: _containers.RepeatedCompositeFieldContainer[RegionListItem] - def __init__(self, regions: _Optional[_Iterable[_Union[RegionListItem, _Mapping]]] = ...) -> None: ... - -class LogItem(_message.Message): - __slots__ = ["body", "description", "id", "properties", "time"] - class PropertiesEntry(_message.Message): - __slots__ = ["key", "value"] - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: str - value: str - def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - BODY_FIELD_NUMBER: _ClassVar[int] - DESCRIPTION_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - PROPERTIES_FIELD_NUMBER: _ClassVar[int] - TIME_FIELD_NUMBER: _ClassVar[int] - body: str - description: str - id: str - properties: _containers.ScalarMap[str, str] - time: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., description: _Optional[str] = ..., body: _Optional[str] = ..., properties: _Optional[_Mapping[str, str]] = ...) -> None: ... +class UserTenantLink(_message.Message): + __slots__ = ["created_at", "updated_at", "tenant_id", "is_admin", "is_device_admin", "is_gateway_admin"] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + IS_ADMIN_FIELD_NUMBER: _ClassVar[int] + IS_DEVICE_ADMIN_FIELD_NUMBER: _ClassVar[int] + IS_GATEWAY_ADMIN_FIELD_NUMBER: _ClassVar[int] + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + tenant_id: str + is_admin: bool + is_device_admin: bool + is_gateway_admin: bool + def __init__(self, created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., tenant_id: _Optional[str] = ..., is_admin: bool = ..., is_device_admin: bool = ..., is_gateway_admin: bool = ...) -> None: ... class LoginRequest(_message.Message): __slots__ = ["email", "password"] @@ -215,15 +91,69 @@ class LoginResponse(_message.Message): jwt: str def __init__(self, jwt: _Optional[str] = ...) -> None: ... +class ProfileResponse(_message.Message): + __slots__ = ["user", "tenants"] + USER_FIELD_NUMBER: _ClassVar[int] + TENANTS_FIELD_NUMBER: _ClassVar[int] + user: _user_pb2.User + tenants: _containers.RepeatedCompositeFieldContainer[UserTenantLink] + def __init__(self, user: _Optional[_Union[_user_pb2.User, _Mapping]] = ..., tenants: _Optional[_Iterable[_Union[UserTenantLink, _Mapping]]] = ...) -> None: ... + +class GlobalSearchRequest(_message.Message): + __slots__ = ["search", "limit", "offset"] + SEARCH_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + search: str + limit: int + offset: int + def __init__(self, search: _Optional[str] = ..., limit: _Optional[int] = ..., offset: _Optional[int] = ...) -> None: ... + +class GlobalSearchResponse(_message.Message): + __slots__ = ["result"] + RESULT_FIELD_NUMBER: _ClassVar[int] + result: _containers.RepeatedCompositeFieldContainer[GlobalSearchResult] + def __init__(self, result: _Optional[_Iterable[_Union[GlobalSearchResult, _Mapping]]] = ...) -> None: ... + +class GlobalSearchResult(_message.Message): + __slots__ = ["kind", "score", "tenant_id", "tenant_name", "application_id", "application_name", "device_dev_eui", "device_name", "gateway_id", "gateway_name"] + KIND_FIELD_NUMBER: _ClassVar[int] + SCORE_FIELD_NUMBER: _ClassVar[int] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + TENANT_NAME_FIELD_NUMBER: _ClassVar[int] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + APPLICATION_NAME_FIELD_NUMBER: _ClassVar[int] + DEVICE_DEV_EUI_FIELD_NUMBER: _ClassVar[int] + DEVICE_NAME_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + GATEWAY_NAME_FIELD_NUMBER: _ClassVar[int] + kind: str + score: float + tenant_id: str + tenant_name: str + application_id: str + application_name: str + device_dev_eui: str + device_name: str + gateway_id: str + gateway_name: str + def __init__(self, kind: _Optional[str] = ..., score: _Optional[float] = ..., tenant_id: _Optional[str] = ..., tenant_name: _Optional[str] = ..., application_id: _Optional[str] = ..., application_name: _Optional[str] = ..., device_dev_eui: _Optional[str] = ..., device_name: _Optional[str] = ..., gateway_id: _Optional[str] = ..., gateway_name: _Optional[str] = ...) -> None: ... + +class SettingsResponse(_message.Message): + __slots__ = ["openid_connect"] + OPENID_CONNECT_FIELD_NUMBER: _ClassVar[int] + openid_connect: OpenIdConnect + def __init__(self, openid_connect: _Optional[_Union[OpenIdConnect, _Mapping]] = ...) -> None: ... + class OpenIdConnect(_message.Message): - __slots__ = ["enabled", "login_label", "login_url", "logout_url"] + __slots__ = ["enabled", "login_url", "login_label", "logout_url"] ENABLED_FIELD_NUMBER: _ClassVar[int] - LOGIN_LABEL_FIELD_NUMBER: _ClassVar[int] LOGIN_URL_FIELD_NUMBER: _ClassVar[int] + LOGIN_LABEL_FIELD_NUMBER: _ClassVar[int] LOGOUT_URL_FIELD_NUMBER: _ClassVar[int] enabled: bool - login_label: str login_url: str + login_label: str logout_url: str def __init__(self, enabled: bool = ..., login_url: _Optional[str] = ..., login_label: _Optional[str] = ..., logout_url: _Optional[str] = ...) -> None: ... @@ -241,51 +171,67 @@ class OpenIdConnectLoginResponse(_message.Message): token: str def __init__(self, token: _Optional[str] = ...) -> None: ... -class ProfileResponse(_message.Message): - __slots__ = ["tenants", "user"] - TENANTS_FIELD_NUMBER: _ClassVar[int] - USER_FIELD_NUMBER: _ClassVar[int] - tenants: _containers.RepeatedCompositeFieldContainer[UserTenantLink] - user: _user_pb2.User - def __init__(self, user: _Optional[_Union[_user_pb2.User, _Mapping]] = ..., tenants: _Optional[_Iterable[_Union[UserTenantLink, _Mapping]]] = ...) -> None: ... +class GetDevicesSummaryRequest(_message.Message): + __slots__ = ["tenant_id"] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + tenant_id: str + def __init__(self, tenant_id: _Optional[str] = ...) -> None: ... -class RegionChannel(_message.Message): - __slots__ = ["dr_max", "dr_min", "frequency"] - DR_MAX_FIELD_NUMBER: _ClassVar[int] - DR_MIN_FIELD_NUMBER: _ClassVar[int] - FREQUENCY_FIELD_NUMBER: _ClassVar[int] - dr_max: int - dr_min: int - frequency: int - def __init__(self, frequency: _Optional[int] = ..., dr_min: _Optional[int] = ..., dr_max: _Optional[int] = ...) -> None: ... +class GetDevicesSummaryResponse(_message.Message): + __slots__ = ["active_count", "inactive_count", "dr_count", "never_seen_count"] + class DrCountEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: int + value: int + def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... + ACTIVE_COUNT_FIELD_NUMBER: _ClassVar[int] + INACTIVE_COUNT_FIELD_NUMBER: _ClassVar[int] + DR_COUNT_FIELD_NUMBER: _ClassVar[int] + NEVER_SEEN_COUNT_FIELD_NUMBER: _ClassVar[int] + active_count: int + inactive_count: int + dr_count: _containers.ScalarMap[int, int] + never_seen_count: int + def __init__(self, active_count: _Optional[int] = ..., inactive_count: _Optional[int] = ..., dr_count: _Optional[_Mapping[int, int]] = ..., never_seen_count: _Optional[int] = ...) -> None: ... -class RegionListItem(_message.Message): - __slots__ = ["description", "id", "region"] - DESCRIPTION_FIELD_NUMBER: _ClassVar[int] +class GetGatewaysSummaryRequest(_message.Message): + __slots__ = ["tenant_id"] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + tenant_id: str + def __init__(self, tenant_id: _Optional[str] = ...) -> None: ... + +class GetGatewaysSummaryResponse(_message.Message): + __slots__ = ["online_count", "offline_count", "never_seen_count"] + ONLINE_COUNT_FIELD_NUMBER: _ClassVar[int] + OFFLINE_COUNT_FIELD_NUMBER: _ClassVar[int] + NEVER_SEEN_COUNT_FIELD_NUMBER: _ClassVar[int] + online_count: int + offline_count: int + never_seen_count: int + def __init__(self, online_count: _Optional[int] = ..., offline_count: _Optional[int] = ..., never_seen_count: _Optional[int] = ...) -> None: ... + +class LogItem(_message.Message): + __slots__ = ["id", "time", "description", "body", "properties"] + class PropertiesEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... ID_FIELD_NUMBER: _ClassVar[int] - REGION_FIELD_NUMBER: _ClassVar[int] - description: str + TIME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + BODY_FIELD_NUMBER: _ClassVar[int] + PROPERTIES_FIELD_NUMBER: _ClassVar[int] id: str - region: _common_pb2.Region - def __init__(self, id: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., description: _Optional[str] = ...) -> None: ... - -class SettingsResponse(_message.Message): - __slots__ = ["openid_connect"] - OPENID_CONNECT_FIELD_NUMBER: _ClassVar[int] - openid_connect: OpenIdConnect - def __init__(self, openid_connect: _Optional[_Union[OpenIdConnect, _Mapping]] = ...) -> None: ... - -class StreamDeviceEventsRequest(_message.Message): - __slots__ = ["dev_eui"] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - dev_eui: str - def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... - -class StreamDeviceFramesRequest(_message.Message): - __slots__ = ["dev_eui"] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - dev_eui: str - def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... + time: _timestamp_pb2.Timestamp + description: str + body: str + properties: _containers.ScalarMap[str, str] + def __init__(self, id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., description: _Optional[str] = ..., body: _Optional[str] = ..., properties: _Optional[_Mapping[str, str]] = ...) -> None: ... class StreamGatewayFramesRequest(_message.Message): __slots__ = ["gateway_id"] @@ -293,18 +239,72 @@ class StreamGatewayFramesRequest(_message.Message): gateway_id: str def __init__(self, gateway_id: _Optional[str] = ...) -> None: ... -class UserTenantLink(_message.Message): - __slots__ = ["created_at", "is_admin", "is_device_admin", "is_gateway_admin", "tenant_id", "updated_at"] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - IS_ADMIN_FIELD_NUMBER: _ClassVar[int] - IS_DEVICE_ADMIN_FIELD_NUMBER: _ClassVar[int] - IS_GATEWAY_ADMIN_FIELD_NUMBER: _ClassVar[int] - TENANT_ID_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp - is_admin: bool - is_device_admin: bool - is_gateway_admin: bool - tenant_id: str - updated_at: _timestamp_pb2.Timestamp - def __init__(self, created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., tenant_id: _Optional[str] = ..., is_admin: bool = ..., is_device_admin: bool = ..., is_gateway_admin: bool = ...) -> None: ... +class StreamDeviceFramesRequest(_message.Message): + __slots__ = ["dev_eui"] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + dev_eui: str + def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... + +class StreamDeviceEventsRequest(_message.Message): + __slots__ = ["dev_eui"] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + dev_eui: str + def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... + +class ListRegionsResponse(_message.Message): + __slots__ = ["regions"] + REGIONS_FIELD_NUMBER: _ClassVar[int] + regions: _containers.RepeatedCompositeFieldContainer[RegionListItem] + def __init__(self, regions: _Optional[_Iterable[_Union[RegionListItem, _Mapping]]] = ...) -> None: ... + +class RegionListItem(_message.Message): + __slots__ = ["id", "region", "description"] + ID_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + id: str + region: _common_pb2.Region + description: str + def __init__(self, id: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., description: _Optional[str] = ...) -> None: ... + +class GetRegionRequest(_message.Message): + __slots__ = ["id"] + ID_FIELD_NUMBER: _ClassVar[int] + id: str + def __init__(self, id: _Optional[str] = ...) -> None: ... + +class GetRegionResponse(_message.Message): + __slots__ = ["id", "region", "user_info", "uplink_channels", "rx1_delay", "rx1_dr_offset", "rx2_dr", "rx2_frequency", "class_b_ping_slot_dr", "class_b_ping_slot_frequency", "description"] + ID_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + USER_INFO_FIELD_NUMBER: _ClassVar[int] + UPLINK_CHANNELS_FIELD_NUMBER: _ClassVar[int] + RX1_DELAY_FIELD_NUMBER: _ClassVar[int] + RX1_DR_OFFSET_FIELD_NUMBER: _ClassVar[int] + RX2_DR_FIELD_NUMBER: _ClassVar[int] + RX2_FREQUENCY_FIELD_NUMBER: _ClassVar[int] + CLASS_B_PING_SLOT_DR_FIELD_NUMBER: _ClassVar[int] + CLASS_B_PING_SLOT_FREQUENCY_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + id: str + region: _common_pb2.Region + user_info: str + uplink_channels: _containers.RepeatedCompositeFieldContainer[RegionChannel] + rx1_delay: int + rx1_dr_offset: int + rx2_dr: int + rx2_frequency: int + class_b_ping_slot_dr: int + class_b_ping_slot_frequency: int + description: str + def __init__(self, id: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., user_info: _Optional[str] = ..., uplink_channels: _Optional[_Iterable[_Union[RegionChannel, _Mapping]]] = ..., rx1_delay: _Optional[int] = ..., rx1_dr_offset: _Optional[int] = ..., rx2_dr: _Optional[int] = ..., rx2_frequency: _Optional[int] = ..., class_b_ping_slot_dr: _Optional[int] = ..., class_b_ping_slot_frequency: _Optional[int] = ..., description: _Optional[str] = ...) -> None: ... + +class RegionChannel(_message.Message): + __slots__ = ["frequency", "dr_min", "dr_max"] + FREQUENCY_FIELD_NUMBER: _ClassVar[int] + DR_MIN_FIELD_NUMBER: _ClassVar[int] + DR_MAX_FIELD_NUMBER: _ClassVar[int] + frequency: int + dr_min: int + dr_max: int + def __init__(self, frequency: _Optional[int] = ..., dr_min: _Optional[int] = ..., dr_max: _Optional[int] = ...) -> None: ... diff --git a/api/python/src/chirpstack_api/api/multicast_group_pb2.py b/api/python/src/chirpstack_api/api/multicast_group_pb2.py index a55fd81c..eddaf7dc 100644 --- a/api/python/src/chirpstack_api/api/multicast_group_pb2.py +++ b/api/python/src/chirpstack_api/api/multicast_group_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/api/multicast_group.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -19,8 +19,9 @@ from chirpstack_api.common import common_pb2 as chirpstack__api_dot_common_dot_c DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(chirpstack-api/api/multicast_group.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"chirpstack-api/common/common.proto\"\xe0\x02\n\x0eMulticastGroup\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x16\n\x0e\x61pplication_id\x18\x03 \x01(\t\x12\x1e\n\x06region\x18\x04 \x01(\x0e\x32\x0e.common.Region\x12\x0f\n\x07mc_addr\x18\x05 \x01(\t\x12\x14\n\x0cmc_nwk_s_key\x18\x06 \x01(\t\x12\x14\n\x0cmc_app_s_key\x18\x07 \x01(\t\x12\r\n\x05\x66_cnt\x18\x08 \x01(\r\x12+\n\ngroup_type\x18\t \x01(\x0e\x32\x17.api.MulticastGroupType\x12\n\n\x02\x64r\x18\n \x01(\r\x12\x11\n\tfrequency\x18\x0b \x01(\r\x12 \n\x18\x63lass_b_ping_slot_period\x18\x0c \x01(\r\x12\x42\n\x17\x63lass_c_scheduling_type\x18\r \x01(\x0e\x32!.api.MulticastGroupSchedulingType\"\xdf\x01\n\x16MulticastGroupListItem\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x1e\n\x06region\x18\x05 \x01(\x0e\x32\x0e.common.Region\x12+\n\ngroup_type\x18\x06 \x01(\x0e\x32\x17.api.MulticastGroupType\"K\n\x1b\x43reateMulticastGroupRequest\x12,\n\x0fmulticast_group\x18\x01 \x01(\x0b\x32\x13.api.MulticastGroup\"*\n\x1c\x43reateMulticastGroupResponse\x12\n\n\x02id\x18\x01 \x01(\t\"&\n\x18GetMulticastGroupRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\xa9\x01\n\x19GetMulticastGroupResponse\x12,\n\x0fmulticast_group\x18\x01 \x01(\x0b\x32\x13.api.MulticastGroup\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"K\n\x1bUpdateMulticastGroupRequest\x12,\n\x0fmulticast_group\x18\x01 \x01(\x0b\x32\x13.api.MulticastGroup\")\n\x1b\x44\x65leteMulticastGroupRequest\x12\n\n\x02id\x18\x01 \x01(\t\"c\n\x1aListMulticastGroupsRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x0e\n\x06search\x18\x03 \x01(\t\x12\x16\n\x0e\x61pplication_id\x18\x04 \x01(\t\"_\n\x1bListMulticastGroupsResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12+\n\x06result\x18\x02 \x03(\x0b\x32\x1b.api.MulticastGroupListItem\"O\n AddDeviceToMulticastGroupRequest\x12\x1a\n\x12multicast_group_id\x18\x01 \x01(\t\x12\x0f\n\x07\x64\x65v_eui\x18\x02 \x01(\t\"T\n%RemoveDeviceFromMulticastGroupRequest\x12\x1a\n\x12multicast_group_id\x18\x01 \x01(\t\x12\x0f\n\x07\x64\x65v_eui\x18\x02 \x01(\t\"S\n!AddGatewayToMulticastGroupRequest\x12\x1a\n\x12multicast_group_id\x18\x01 \x01(\t\x12\x12\n\ngateway_id\x18\x02 \x01(\t\"X\n&RemoveGatewayFromMulticastGroupRequest\x12\x1a\n\x12multicast_group_id\x18\x01 \x01(\t\x12\x12\n\ngateway_id\x18\x02 \x01(\t\"b\n\x17MulticastGroupQueueItem\x12\x1a\n\x12multicast_group_id\x18\x01 \x01(\t\x12\r\n\x05\x66_cnt\x18\x02 \x01(\r\x12\x0e\n\x06\x66_port\x18\x03 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\"Y\n%EnqueueMulticastGroupQueueItemRequest\x12\x30\n\nqueue_item\x18\x01 \x01(\x0b\x32\x1c.api.MulticastGroupQueueItem\"7\n&EnqueueMulticastGroupQueueItemResponse\x12\r\n\x05\x66_cnt\x18\x01 \x01(\r\"=\n\x1f\x46lushMulticastGroupQueueRequest\x12\x1a\n\x12multicast_group_id\x18\x01 \x01(\t\"<\n\x1eListMulticastGroupQueueRequest\x12\x1a\n\x12multicast_group_id\x18\x01 \x01(\t\"N\n\x1fListMulticastGroupQueueResponse\x12+\n\x05items\x18\x01 \x03(\x0b\x32\x1c.api.MulticastGroupQueueItem*.\n\x12MulticastGroupType\x12\x0b\n\x07\x43LASS_C\x10\x00\x12\x0b\n\x07\x43LASS_B\x10\x01*7\n\x1cMulticastGroupSchedulingType\x12\t\n\x05\x44\x45LAY\x10\x00\x12\x0c\n\x08GPS_TIME\x10\x01\x32\xdd\x0c\n\x15MulticastGroupService\x12o\n\x06\x43reate\x12 .api.CreateMulticastGroupRequest\x1a!.api.CreateMulticastGroupResponse\" \x82\xd3\xe4\x93\x02\x1a\"\x15/api/multicast-groups:\x01*\x12h\n\x03Get\x12\x1d.api.GetMulticastGroupRequest\x1a\x1e.api.GetMulticastGroupResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/multicast-groups/{id}\x12y\n\x06Update\x12 .api.UpdateMulticastGroupRequest\x1a\x16.google.protobuf.Empty\"5\x82\xd3\xe4\x93\x02/\x1a*/api/multicast-groups/{multicast_group.id}:\x01*\x12\x66\n\x06\x44\x65lete\x12 .api.DeleteMulticastGroupRequest\x1a\x16.google.protobuf.Empty\"\"\x82\xd3\xe4\x93\x02\x1c*\x1a/api/multicast-groups/{id}\x12h\n\x04List\x12\x1f.api.ListMulticastGroupsRequest\x1a .api.ListMulticastGroupsResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/api/multicast-groups\x12\x89\x01\n\tAddDevice\x12%.api.AddDeviceToMulticastGroupRequest\x1a\x16.google.protobuf.Empty\"=\x82\xd3\xe4\x93\x02\x37\"2/api/multicast-groups/{multicast_group_id}/devices:\x01*\x12\x98\x01\n\x0cRemoveDevice\x12*.api.RemoveDeviceFromMulticastGroupRequest\x1a\x16.google.protobuf.Empty\"D\x82\xd3\xe4\x93\x02>*\x82\xd3\xe4\x93\x02\x38\"3/api/multicast-groups/{multicast_group_id}/gateways:\x01*\x12\x9e\x01\n\rRemoveGateway\x12+.api.RemoveGatewayFromMulticastGroupRequest\x1a\x16.google.protobuf.Empty\"H\x82\xd3\xe4\x93\x02\x42*@/api/multicast-groups/{multicast_group_id}/gateways/{gateway_id}\x12\xaa\x01\n\x07\x45nqueue\x12*.api.EnqueueMulticastGroupQueueItemRequest\x1a+.api.EnqueueMulticastGroupQueueItemResponse\"F\x82\xd3\xe4\x93\x02@\";/api/multicast-groups/{queue_item.multicast_group_id}/queue:\x01*\x12\x84\x01\n\nFlushQueue\x12$.api.FlushMulticastGroupQueueRequest\x1a\x16.google.protobuf.Empty\"8\x82\xd3\xe4\x93\x02\x32*0/api/multicast-groups/{multicast_group_id}/queue\x12\x90\x01\n\tListQueue\x12#.api.ListMulticastGroupQueueRequest\x1a$.api.ListMulticastGroupQueueResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/api/multicast-groups/{multicast_group_id}/queueBk\n\x11io.chirpstack.apiB\x13MulticastGroupProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.multicast_group_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.multicast_group_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -49,50 +50,50 @@ if _descriptor._USE_C_DESCRIPTORS == False: _MULTICASTGROUPSERVICE.methods_by_name['FlushQueue']._serialized_options = b'\202\323\344\223\0022*0/api/multicast-groups/{multicast_group_id}/queue' _MULTICASTGROUPSERVICE.methods_by_name['ListQueue']._options = None _MULTICASTGROUPSERVICE.methods_by_name['ListQueue']._serialized_options = b'\202\323\344\223\0022\0220/api/multicast-groups/{multicast_group_id}/queue' - _MULTICASTGROUPTYPE._serialized_start=2204 - _MULTICASTGROUPTYPE._serialized_end=2250 - _MULTICASTGROUPSCHEDULINGTYPE._serialized_start=2252 - _MULTICASTGROUPSCHEDULINGTYPE._serialized_end=2307 - _MULTICASTGROUP._serialized_start=178 - _MULTICASTGROUP._serialized_end=530 - _MULTICASTGROUPLISTITEM._serialized_start=533 - _MULTICASTGROUPLISTITEM._serialized_end=756 - _CREATEMULTICASTGROUPREQUEST._serialized_start=758 - _CREATEMULTICASTGROUPREQUEST._serialized_end=833 - _CREATEMULTICASTGROUPRESPONSE._serialized_start=835 - _CREATEMULTICASTGROUPRESPONSE._serialized_end=877 - _GETMULTICASTGROUPREQUEST._serialized_start=879 - _GETMULTICASTGROUPREQUEST._serialized_end=917 - _GETMULTICASTGROUPRESPONSE._serialized_start=920 - _GETMULTICASTGROUPRESPONSE._serialized_end=1089 - _UPDATEMULTICASTGROUPREQUEST._serialized_start=1091 - _UPDATEMULTICASTGROUPREQUEST._serialized_end=1166 - _DELETEMULTICASTGROUPREQUEST._serialized_start=1168 - _DELETEMULTICASTGROUPREQUEST._serialized_end=1209 - _LISTMULTICASTGROUPSREQUEST._serialized_start=1211 - _LISTMULTICASTGROUPSREQUEST._serialized_end=1310 - _LISTMULTICASTGROUPSRESPONSE._serialized_start=1312 - _LISTMULTICASTGROUPSRESPONSE._serialized_end=1407 - _ADDDEVICETOMULTICASTGROUPREQUEST._serialized_start=1409 - _ADDDEVICETOMULTICASTGROUPREQUEST._serialized_end=1488 - _REMOVEDEVICEFROMMULTICASTGROUPREQUEST._serialized_start=1490 - _REMOVEDEVICEFROMMULTICASTGROUPREQUEST._serialized_end=1574 - _ADDGATEWAYTOMULTICASTGROUPREQUEST._serialized_start=1576 - _ADDGATEWAYTOMULTICASTGROUPREQUEST._serialized_end=1659 - _REMOVEGATEWAYFROMMULTICASTGROUPREQUEST._serialized_start=1661 - _REMOVEGATEWAYFROMMULTICASTGROUPREQUEST._serialized_end=1749 - _MULTICASTGROUPQUEUEITEM._serialized_start=1751 - _MULTICASTGROUPQUEUEITEM._serialized_end=1849 - _ENQUEUEMULTICASTGROUPQUEUEITEMREQUEST._serialized_start=1851 - _ENQUEUEMULTICASTGROUPQUEUEITEMREQUEST._serialized_end=1940 - _ENQUEUEMULTICASTGROUPQUEUEITEMRESPONSE._serialized_start=1942 - _ENQUEUEMULTICASTGROUPQUEUEITEMRESPONSE._serialized_end=1997 - _FLUSHMULTICASTGROUPQUEUEREQUEST._serialized_start=1999 - _FLUSHMULTICASTGROUPQUEUEREQUEST._serialized_end=2060 - _LISTMULTICASTGROUPQUEUEREQUEST._serialized_start=2062 - _LISTMULTICASTGROUPQUEUEREQUEST._serialized_end=2122 - _LISTMULTICASTGROUPQUEUERESPONSE._serialized_start=2124 - _LISTMULTICASTGROUPQUEUERESPONSE._serialized_end=2202 - _MULTICASTGROUPSERVICE._serialized_start=2310 - _MULTICASTGROUPSERVICE._serialized_end=3939 + _globals['_MULTICASTGROUPTYPE']._serialized_start=2204 + _globals['_MULTICASTGROUPTYPE']._serialized_end=2250 + _globals['_MULTICASTGROUPSCHEDULINGTYPE']._serialized_start=2252 + _globals['_MULTICASTGROUPSCHEDULINGTYPE']._serialized_end=2307 + _globals['_MULTICASTGROUP']._serialized_start=178 + _globals['_MULTICASTGROUP']._serialized_end=530 + _globals['_MULTICASTGROUPLISTITEM']._serialized_start=533 + _globals['_MULTICASTGROUPLISTITEM']._serialized_end=756 + _globals['_CREATEMULTICASTGROUPREQUEST']._serialized_start=758 + _globals['_CREATEMULTICASTGROUPREQUEST']._serialized_end=833 + _globals['_CREATEMULTICASTGROUPRESPONSE']._serialized_start=835 + _globals['_CREATEMULTICASTGROUPRESPONSE']._serialized_end=877 + _globals['_GETMULTICASTGROUPREQUEST']._serialized_start=879 + _globals['_GETMULTICASTGROUPREQUEST']._serialized_end=917 + _globals['_GETMULTICASTGROUPRESPONSE']._serialized_start=920 + _globals['_GETMULTICASTGROUPRESPONSE']._serialized_end=1089 + _globals['_UPDATEMULTICASTGROUPREQUEST']._serialized_start=1091 + _globals['_UPDATEMULTICASTGROUPREQUEST']._serialized_end=1166 + _globals['_DELETEMULTICASTGROUPREQUEST']._serialized_start=1168 + _globals['_DELETEMULTICASTGROUPREQUEST']._serialized_end=1209 + _globals['_LISTMULTICASTGROUPSREQUEST']._serialized_start=1211 + _globals['_LISTMULTICASTGROUPSREQUEST']._serialized_end=1310 + _globals['_LISTMULTICASTGROUPSRESPONSE']._serialized_start=1312 + _globals['_LISTMULTICASTGROUPSRESPONSE']._serialized_end=1407 + _globals['_ADDDEVICETOMULTICASTGROUPREQUEST']._serialized_start=1409 + _globals['_ADDDEVICETOMULTICASTGROUPREQUEST']._serialized_end=1488 + _globals['_REMOVEDEVICEFROMMULTICASTGROUPREQUEST']._serialized_start=1490 + _globals['_REMOVEDEVICEFROMMULTICASTGROUPREQUEST']._serialized_end=1574 + _globals['_ADDGATEWAYTOMULTICASTGROUPREQUEST']._serialized_start=1576 + _globals['_ADDGATEWAYTOMULTICASTGROUPREQUEST']._serialized_end=1659 + _globals['_REMOVEGATEWAYFROMMULTICASTGROUPREQUEST']._serialized_start=1661 + _globals['_REMOVEGATEWAYFROMMULTICASTGROUPREQUEST']._serialized_end=1749 + _globals['_MULTICASTGROUPQUEUEITEM']._serialized_start=1751 + _globals['_MULTICASTGROUPQUEUEITEM']._serialized_end=1849 + _globals['_ENQUEUEMULTICASTGROUPQUEUEITEMREQUEST']._serialized_start=1851 + _globals['_ENQUEUEMULTICASTGROUPQUEUEITEMREQUEST']._serialized_end=1940 + _globals['_ENQUEUEMULTICASTGROUPQUEUEITEMRESPONSE']._serialized_start=1942 + _globals['_ENQUEUEMULTICASTGROUPQUEUEITEMRESPONSE']._serialized_end=1997 + _globals['_FLUSHMULTICASTGROUPQUEUEREQUEST']._serialized_start=1999 + _globals['_FLUSHMULTICASTGROUPQUEUEREQUEST']._serialized_end=2060 + _globals['_LISTMULTICASTGROUPQUEUEREQUEST']._serialized_start=2062 + _globals['_LISTMULTICASTGROUPQUEUEREQUEST']._serialized_end=2122 + _globals['_LISTMULTICASTGROUPQUEUERESPONSE']._serialized_start=2124 + _globals['_LISTMULTICASTGROUPQUEUERESPONSE']._serialized_end=2202 + _globals['_MULTICASTGROUPSERVICE']._serialized_start=2310 + _globals['_MULTICASTGROUPSERVICE']._serialized_end=3939 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/api/multicast_group_pb2.pyi b/api/python/src/chirpstack_api/api/multicast_group_pb2.pyi index a2d13cd5..760d86fd 100644 --- a/api/python/src/chirpstack_api/api/multicast_group_pb2.pyi +++ b/api/python/src/chirpstack_api/api/multicast_group_pb2.pyi @@ -8,27 +8,67 @@ from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union -CLASS_B: MulticastGroupType -CLASS_C: MulticastGroupType -DELAY: MulticastGroupSchedulingType DESCRIPTOR: _descriptor.FileDescriptor + +class MulticastGroupType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + CLASS_C: _ClassVar[MulticastGroupType] + CLASS_B: _ClassVar[MulticastGroupType] + +class MulticastGroupSchedulingType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + DELAY: _ClassVar[MulticastGroupSchedulingType] + GPS_TIME: _ClassVar[MulticastGroupSchedulingType] +CLASS_C: MulticastGroupType +CLASS_B: MulticastGroupType +DELAY: MulticastGroupSchedulingType GPS_TIME: MulticastGroupSchedulingType -class AddDeviceToMulticastGroupRequest(_message.Message): - __slots__ = ["dev_eui", "multicast_group_id"] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] - dev_eui: str - multicast_group_id: str - def __init__(self, multicast_group_id: _Optional[str] = ..., dev_eui: _Optional[str] = ...) -> None: ... +class MulticastGroup(_message.Message): + __slots__ = ["id", "name", "application_id", "region", "mc_addr", "mc_nwk_s_key", "mc_app_s_key", "f_cnt", "group_type", "dr", "frequency", "class_b_ping_slot_period", "class_c_scheduling_type"] + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + MC_ADDR_FIELD_NUMBER: _ClassVar[int] + MC_NWK_S_KEY_FIELD_NUMBER: _ClassVar[int] + MC_APP_S_KEY_FIELD_NUMBER: _ClassVar[int] + F_CNT_FIELD_NUMBER: _ClassVar[int] + GROUP_TYPE_FIELD_NUMBER: _ClassVar[int] + DR_FIELD_NUMBER: _ClassVar[int] + FREQUENCY_FIELD_NUMBER: _ClassVar[int] + CLASS_B_PING_SLOT_PERIOD_FIELD_NUMBER: _ClassVar[int] + CLASS_C_SCHEDULING_TYPE_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + application_id: str + region: _common_pb2.Region + mc_addr: str + mc_nwk_s_key: str + mc_app_s_key: str + f_cnt: int + group_type: MulticastGroupType + dr: int + frequency: int + class_b_ping_slot_period: int + class_c_scheduling_type: MulticastGroupSchedulingType + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., application_id: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mc_addr: _Optional[str] = ..., mc_nwk_s_key: _Optional[str] = ..., mc_app_s_key: _Optional[str] = ..., f_cnt: _Optional[int] = ..., group_type: _Optional[_Union[MulticastGroupType, str]] = ..., dr: _Optional[int] = ..., frequency: _Optional[int] = ..., class_b_ping_slot_period: _Optional[int] = ..., class_c_scheduling_type: _Optional[_Union[MulticastGroupSchedulingType, str]] = ...) -> None: ... -class AddGatewayToMulticastGroupRequest(_message.Message): - __slots__ = ["gateway_id", "multicast_group_id"] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] - gateway_id: str - multicast_group_id: str - def __init__(self, multicast_group_id: _Optional[str] = ..., gateway_id: _Optional[str] = ...) -> None: ... +class MulticastGroupListItem(_message.Message): + __slots__ = ["id", "created_at", "updated_at", "name", "region", "group_type"] + ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + GROUP_TYPE_FIELD_NUMBER: _ClassVar[int] + id: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + name: str + region: _common_pb2.Region + group_type: MulticastGroupType + def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., group_type: _Optional[_Union[MulticastGroupType, str]] = ...) -> None: ... class CreateMulticastGroupRequest(_message.Message): __slots__ = ["multicast_group"] @@ -42,12 +82,98 @@ class CreateMulticastGroupResponse(_message.Message): id: str def __init__(self, id: _Optional[str] = ...) -> None: ... +class GetMulticastGroupRequest(_message.Message): + __slots__ = ["id"] + ID_FIELD_NUMBER: _ClassVar[int] + id: str + def __init__(self, id: _Optional[str] = ...) -> None: ... + +class GetMulticastGroupResponse(_message.Message): + __slots__ = ["multicast_group", "created_at", "updated_at"] + MULTICAST_GROUP_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + multicast_group: MulticastGroup + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + def __init__(self, multicast_group: _Optional[_Union[MulticastGroup, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class UpdateMulticastGroupRequest(_message.Message): + __slots__ = ["multicast_group"] + MULTICAST_GROUP_FIELD_NUMBER: _ClassVar[int] + multicast_group: MulticastGroup + def __init__(self, multicast_group: _Optional[_Union[MulticastGroup, _Mapping]] = ...) -> None: ... + class DeleteMulticastGroupRequest(_message.Message): __slots__ = ["id"] ID_FIELD_NUMBER: _ClassVar[int] id: str def __init__(self, id: _Optional[str] = ...) -> None: ... +class ListMulticastGroupsRequest(_message.Message): + __slots__ = ["limit", "offset", "search", "application_id"] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + SEARCH_FIELD_NUMBER: _ClassVar[int] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + limit: int + offset: int + search: str + application_id: str + def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., application_id: _Optional[str] = ...) -> None: ... + +class ListMulticastGroupsResponse(_message.Message): + __slots__ = ["total_count", "result"] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + RESULT_FIELD_NUMBER: _ClassVar[int] + total_count: int + result: _containers.RepeatedCompositeFieldContainer[MulticastGroupListItem] + def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[MulticastGroupListItem, _Mapping]]] = ...) -> None: ... + +class AddDeviceToMulticastGroupRequest(_message.Message): + __slots__ = ["multicast_group_id", "dev_eui"] + MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + multicast_group_id: str + dev_eui: str + def __init__(self, multicast_group_id: _Optional[str] = ..., dev_eui: _Optional[str] = ...) -> None: ... + +class RemoveDeviceFromMulticastGroupRequest(_message.Message): + __slots__ = ["multicast_group_id", "dev_eui"] + MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + multicast_group_id: str + dev_eui: str + def __init__(self, multicast_group_id: _Optional[str] = ..., dev_eui: _Optional[str] = ...) -> None: ... + +class AddGatewayToMulticastGroupRequest(_message.Message): + __slots__ = ["multicast_group_id", "gateway_id"] + MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + multicast_group_id: str + gateway_id: str + def __init__(self, multicast_group_id: _Optional[str] = ..., gateway_id: _Optional[str] = ...) -> None: ... + +class RemoveGatewayFromMulticastGroupRequest(_message.Message): + __slots__ = ["multicast_group_id", "gateway_id"] + MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + multicast_group_id: str + gateway_id: str + def __init__(self, multicast_group_id: _Optional[str] = ..., gateway_id: _Optional[str] = ...) -> None: ... + +class MulticastGroupQueueItem(_message.Message): + __slots__ = ["multicast_group_id", "f_cnt", "f_port", "data"] + MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] + F_CNT_FIELD_NUMBER: _ClassVar[int] + F_PORT_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] + multicast_group_id: str + f_cnt: int + f_port: int + data: bytes + def __init__(self, multicast_group_id: _Optional[str] = ..., f_cnt: _Optional[int] = ..., f_port: _Optional[int] = ..., data: _Optional[bytes] = ...) -> None: ... + class EnqueueMulticastGroupQueueItemRequest(_message.Message): __slots__ = ["queue_item"] QUEUE_ITEM_FIELD_NUMBER: _ClassVar[int] @@ -66,22 +192,6 @@ class FlushMulticastGroupQueueRequest(_message.Message): multicast_group_id: str def __init__(self, multicast_group_id: _Optional[str] = ...) -> None: ... -class GetMulticastGroupRequest(_message.Message): - __slots__ = ["id"] - ID_FIELD_NUMBER: _ClassVar[int] - id: str - def __init__(self, id: _Optional[str] = ...) -> None: ... - -class GetMulticastGroupResponse(_message.Message): - __slots__ = ["created_at", "multicast_group", "updated_at"] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - MULTICAST_GROUP_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp - multicast_group: MulticastGroup - updated_at: _timestamp_pb2.Timestamp - def __init__(self, multicast_group: _Optional[_Union[MulticastGroup, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... - class ListMulticastGroupQueueRequest(_message.Message): __slots__ = ["multicast_group_id"] MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] @@ -93,109 +203,3 @@ class ListMulticastGroupQueueResponse(_message.Message): ITEMS_FIELD_NUMBER: _ClassVar[int] items: _containers.RepeatedCompositeFieldContainer[MulticastGroupQueueItem] def __init__(self, items: _Optional[_Iterable[_Union[MulticastGroupQueueItem, _Mapping]]] = ...) -> None: ... - -class ListMulticastGroupsRequest(_message.Message): - __slots__ = ["application_id", "limit", "offset", "search"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - LIMIT_FIELD_NUMBER: _ClassVar[int] - OFFSET_FIELD_NUMBER: _ClassVar[int] - SEARCH_FIELD_NUMBER: _ClassVar[int] - application_id: str - limit: int - offset: int - search: str - def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., application_id: _Optional[str] = ...) -> None: ... - -class ListMulticastGroupsResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] - TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[MulticastGroupListItem] - total_count: int - def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[MulticastGroupListItem, _Mapping]]] = ...) -> None: ... - -class MulticastGroup(_message.Message): - __slots__ = ["application_id", "class_b_ping_slot_period", "class_c_scheduling_type", "dr", "f_cnt", "frequency", "group_type", "id", "mc_addr", "mc_app_s_key", "mc_nwk_s_key", "name", "region"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - CLASS_B_PING_SLOT_PERIOD_FIELD_NUMBER: _ClassVar[int] - CLASS_C_SCHEDULING_TYPE_FIELD_NUMBER: _ClassVar[int] - DR_FIELD_NUMBER: _ClassVar[int] - FREQUENCY_FIELD_NUMBER: _ClassVar[int] - F_CNT_FIELD_NUMBER: _ClassVar[int] - GROUP_TYPE_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - MC_ADDR_FIELD_NUMBER: _ClassVar[int] - MC_APP_S_KEY_FIELD_NUMBER: _ClassVar[int] - MC_NWK_S_KEY_FIELD_NUMBER: _ClassVar[int] - NAME_FIELD_NUMBER: _ClassVar[int] - REGION_FIELD_NUMBER: _ClassVar[int] - application_id: str - class_b_ping_slot_period: int - class_c_scheduling_type: MulticastGroupSchedulingType - dr: int - f_cnt: int - frequency: int - group_type: MulticastGroupType - id: str - mc_addr: str - mc_app_s_key: str - mc_nwk_s_key: str - name: str - region: _common_pb2.Region - def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., application_id: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mc_addr: _Optional[str] = ..., mc_nwk_s_key: _Optional[str] = ..., mc_app_s_key: _Optional[str] = ..., f_cnt: _Optional[int] = ..., group_type: _Optional[_Union[MulticastGroupType, str]] = ..., dr: _Optional[int] = ..., frequency: _Optional[int] = ..., class_b_ping_slot_period: _Optional[int] = ..., class_c_scheduling_type: _Optional[_Union[MulticastGroupSchedulingType, str]] = ...) -> None: ... - -class MulticastGroupListItem(_message.Message): - __slots__ = ["created_at", "group_type", "id", "name", "region", "updated_at"] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - GROUP_TYPE_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - NAME_FIELD_NUMBER: _ClassVar[int] - REGION_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp - group_type: MulticastGroupType - id: str - name: str - region: _common_pb2.Region - updated_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., group_type: _Optional[_Union[MulticastGroupType, str]] = ...) -> None: ... - -class MulticastGroupQueueItem(_message.Message): - __slots__ = ["data", "f_cnt", "f_port", "multicast_group_id"] - DATA_FIELD_NUMBER: _ClassVar[int] - F_CNT_FIELD_NUMBER: _ClassVar[int] - F_PORT_FIELD_NUMBER: _ClassVar[int] - MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] - data: bytes - f_cnt: int - f_port: int - multicast_group_id: str - def __init__(self, multicast_group_id: _Optional[str] = ..., f_cnt: _Optional[int] = ..., f_port: _Optional[int] = ..., data: _Optional[bytes] = ...) -> None: ... - -class RemoveDeviceFromMulticastGroupRequest(_message.Message): - __slots__ = ["dev_eui", "multicast_group_id"] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] - dev_eui: str - multicast_group_id: str - def __init__(self, multicast_group_id: _Optional[str] = ..., dev_eui: _Optional[str] = ...) -> None: ... - -class RemoveGatewayFromMulticastGroupRequest(_message.Message): - __slots__ = ["gateway_id", "multicast_group_id"] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] - gateway_id: str - multicast_group_id: str - def __init__(self, multicast_group_id: _Optional[str] = ..., gateway_id: _Optional[str] = ...) -> None: ... - -class UpdateMulticastGroupRequest(_message.Message): - __slots__ = ["multicast_group"] - MULTICAST_GROUP_FIELD_NUMBER: _ClassVar[int] - multicast_group: MulticastGroup - def __init__(self, multicast_group: _Optional[_Union[MulticastGroup, _Mapping]] = ...) -> None: ... - -class MulticastGroupType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class MulticastGroupSchedulingType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] diff --git a/api/python/src/chirpstack_api/api/relay_pb2.py b/api/python/src/chirpstack_api/api/relay_pb2.py index 3fbc7c99..effc21a5 100644 --- a/api/python/src/chirpstack_api/api/relay_pb2.py +++ b/api/python/src/chirpstack_api/api/relay_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/api/relay.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,8 +18,9 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x63hirpstack-api/api/relay.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\".\n\rRelayListItem\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"J\n\x11ListRelaysRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x16\n\x0e\x61pplication_id\x18\x03 \x01(\t\"M\n\x12ListRelaysResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12\"\n\x06result\x18\x02 \x03(\x0b\x32\x12.api.RelayListItem\"F\n\x15\x41\x64\x64RelayDeviceRequest\x12\x15\n\rrelay_dev_eui\x18\x01 \x01(\t\x12\x16\n\x0e\x64\x65vice_dev_eui\x18\x02 \x01(\t\"I\n\x18RemoveRelayDeviceRequest\x12\x15\n\rrelay_dev_eui\x18\x01 \x01(\t\x12\x16\n\x0e\x64\x65vice_dev_eui\x18\x02 \x01(\t\"O\n\x17ListRelayDevicesRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x15\n\rrelay_dev_eui\x18\x03 \x01(\t\"d\n\x13RelayDeviceListItem\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x03 \x01(\t\"Y\n\x18ListRelayDevicesResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12(\n\x06result\x18\x02 \x03(\x0b\x32\x18.api.RelayDeviceListItem2\xc4\x03\n\x0cRelayService\x12L\n\x04List\x12\x16.api.ListRelaysRequest\x1a\x17.api.ListRelaysResponse\"\x13\x82\xd3\xe4\x93\x02\r\x12\x0b/api/relays\x12o\n\tAddDevice\x12\x1a.api.AddRelayDeviceRequest\x1a\x16.google.protobuf.Empty\".\x82\xd3\xe4\x93\x02(\"#/api/relays/{relay_dev_eui}/devices:\x01*\x12|\n\x0cRemoveDevice\x12\x1d.api.RemoveRelayDeviceRequest\x1a\x16.google.protobuf.Empty\"5\x82\xd3\xe4\x93\x02/*-/api/relays/{relay_dev_eui}/devices/{dev_eui}\x12w\n\x0bListDevices\x12\x1c.api.ListRelayDevicesRequest\x1a\x1d.api.ListRelayDevicesResponse\"+\x82\xd3\xe4\x93\x02%\x12#/api/relays/{relay_dev_eui}/devicesBb\n\x11io.chirpstack.apiB\nRelayProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.relay_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.relay_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -32,22 +33,22 @@ if _descriptor._USE_C_DESCRIPTORS == False: _RELAYSERVICE.methods_by_name['RemoveDevice']._serialized_options = b'\202\323\344\223\002/*-/api/relays/{relay_dev_eui}/devices/{dev_eui}' _RELAYSERVICE.methods_by_name['ListDevices']._options = None _RELAYSERVICE.methods_by_name['ListDevices']._serialized_options = b'\202\323\344\223\002%\022#/api/relays/{relay_dev_eui}/devices' - _RELAYLISTITEM._serialized_start=131 - _RELAYLISTITEM._serialized_end=177 - _LISTRELAYSREQUEST._serialized_start=179 - _LISTRELAYSREQUEST._serialized_end=253 - _LISTRELAYSRESPONSE._serialized_start=255 - _LISTRELAYSRESPONSE._serialized_end=332 - _ADDRELAYDEVICEREQUEST._serialized_start=334 - _ADDRELAYDEVICEREQUEST._serialized_end=404 - _REMOVERELAYDEVICEREQUEST._serialized_start=406 - _REMOVERELAYDEVICEREQUEST._serialized_end=479 - _LISTRELAYDEVICESREQUEST._serialized_start=481 - _LISTRELAYDEVICESREQUEST._serialized_end=560 - _RELAYDEVICELISTITEM._serialized_start=562 - _RELAYDEVICELISTITEM._serialized_end=662 - _LISTRELAYDEVICESRESPONSE._serialized_start=664 - _LISTRELAYDEVICESRESPONSE._serialized_end=753 - _RELAYSERVICE._serialized_start=756 - _RELAYSERVICE._serialized_end=1208 + _globals['_RELAYLISTITEM']._serialized_start=131 + _globals['_RELAYLISTITEM']._serialized_end=177 + _globals['_LISTRELAYSREQUEST']._serialized_start=179 + _globals['_LISTRELAYSREQUEST']._serialized_end=253 + _globals['_LISTRELAYSRESPONSE']._serialized_start=255 + _globals['_LISTRELAYSRESPONSE']._serialized_end=332 + _globals['_ADDRELAYDEVICEREQUEST']._serialized_start=334 + _globals['_ADDRELAYDEVICEREQUEST']._serialized_end=404 + _globals['_REMOVERELAYDEVICEREQUEST']._serialized_start=406 + _globals['_REMOVERELAYDEVICEREQUEST']._serialized_end=479 + _globals['_LISTRELAYDEVICESREQUEST']._serialized_start=481 + _globals['_LISTRELAYDEVICESREQUEST']._serialized_end=560 + _globals['_RELAYDEVICELISTITEM']._serialized_start=562 + _globals['_RELAYDEVICELISTITEM']._serialized_end=662 + _globals['_LISTRELAYDEVICESRESPONSE']._serialized_start=664 + _globals['_LISTRELAYDEVICESRESPONSE']._serialized_end=753 + _globals['_RELAYSERVICE']._serialized_start=756 + _globals['_RELAYSERVICE']._serialized_end=1208 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/api/relay_pb2.pyi b/api/python/src/chirpstack_api/api/relay_pb2.pyi index a4ff1f90..aaee73f2 100644 --- a/api/python/src/chirpstack_api/api/relay_pb2.pyi +++ b/api/python/src/chirpstack_api/api/relay_pb2.pyi @@ -8,12 +8,46 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor +class RelayListItem(_message.Message): + __slots__ = ["dev_eui", "name"] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + dev_eui: str + name: str + def __init__(self, dev_eui: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ... + +class ListRelaysRequest(_message.Message): + __slots__ = ["limit", "offset", "application_id"] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + limit: int + offset: int + application_id: str + def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., application_id: _Optional[str] = ...) -> None: ... + +class ListRelaysResponse(_message.Message): + __slots__ = ["total_count", "result"] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + RESULT_FIELD_NUMBER: _ClassVar[int] + total_count: int + result: _containers.RepeatedCompositeFieldContainer[RelayListItem] + def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[RelayListItem, _Mapping]]] = ...) -> None: ... + class AddRelayDeviceRequest(_message.Message): - __slots__ = ["device_dev_eui", "relay_dev_eui"] - DEVICE_DEV_EUI_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["relay_dev_eui", "device_dev_eui"] RELAY_DEV_EUI_FIELD_NUMBER: _ClassVar[int] - device_dev_eui: str + DEVICE_DEV_EUI_FIELD_NUMBER: _ClassVar[int] relay_dev_eui: str + device_dev_eui: str + def __init__(self, relay_dev_eui: _Optional[str] = ..., device_dev_eui: _Optional[str] = ...) -> None: ... + +class RemoveRelayDeviceRequest(_message.Message): + __slots__ = ["relay_dev_eui", "device_dev_eui"] + RELAY_DEV_EUI_FIELD_NUMBER: _ClassVar[int] + DEVICE_DEV_EUI_FIELD_NUMBER: _ClassVar[int] + relay_dev_eui: str + device_dev_eui: str def __init__(self, relay_dev_eui: _Optional[str] = ..., device_dev_eui: _Optional[str] = ...) -> None: ... class ListRelayDevicesRequest(_message.Message): @@ -26,54 +60,20 @@ class ListRelayDevicesRequest(_message.Message): relay_dev_eui: str def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., relay_dev_eui: _Optional[str] = ...) -> None: ... -class ListRelayDevicesResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] - TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[RelayDeviceListItem] - total_count: int - def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[RelayDeviceListItem, _Mapping]]] = ...) -> None: ... - -class ListRelaysRequest(_message.Message): - __slots__ = ["application_id", "limit", "offset"] - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - LIMIT_FIELD_NUMBER: _ClassVar[int] - OFFSET_FIELD_NUMBER: _ClassVar[int] - application_id: str - limit: int - offset: int - def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., application_id: _Optional[str] = ...) -> None: ... - -class ListRelaysResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] - TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[RelayListItem] - total_count: int - def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[RelayListItem, _Mapping]]] = ...) -> None: ... - class RelayDeviceListItem(_message.Message): - __slots__ = ["created_at", "dev_eui", "name"] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["dev_eui", "created_at", "name"] DEV_EUI_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp dev_eui: str + created_at: _timestamp_pb2.Timestamp name: str def __init__(self, dev_eui: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ...) -> None: ... -class RelayListItem(_message.Message): - __slots__ = ["dev_eui", "name"] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - NAME_FIELD_NUMBER: _ClassVar[int] - dev_eui: str - name: str - def __init__(self, dev_eui: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ... - -class RemoveRelayDeviceRequest(_message.Message): - __slots__ = ["device_dev_eui", "relay_dev_eui"] - DEVICE_DEV_EUI_FIELD_NUMBER: _ClassVar[int] - RELAY_DEV_EUI_FIELD_NUMBER: _ClassVar[int] - device_dev_eui: str - relay_dev_eui: str - def __init__(self, relay_dev_eui: _Optional[str] = ..., device_dev_eui: _Optional[str] = ...) -> None: ... +class ListRelayDevicesResponse(_message.Message): + __slots__ = ["total_count", "result"] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + RESULT_FIELD_NUMBER: _ClassVar[int] + total_count: int + result: _containers.RepeatedCompositeFieldContainer[RelayDeviceListItem] + def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[RelayDeviceListItem, _Mapping]]] = ...) -> None: ... diff --git a/api/python/src/chirpstack_api/api/request_log_pb2.py b/api/python/src/chirpstack_api/api/request_log_pb2.py index c70db003..2e5ac5d2 100644 --- a/api/python/src/chirpstack_api/api/request_log_pb2.py +++ b/api/python/src/chirpstack_api/api/request_log_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/api/request_log.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,16 +18,17 @@ from chirpstack_api.gw import gw_pb2 as chirpstack__api_dot_gw_dot_gw__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$chirpstack-api/api/request_log.proto\x12\x03\x61pi\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"chirpstack-api/common/common.proto\x1a\x1a\x63hirpstack-api/gw/gw.proto\"\x8f\x01\n\nRequestLog\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12/\n\x08metadata\x18\x03 \x03(\x0b\x32\x1d.api.RequestLog.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42g\n\x11io.chirpstack.apiB\x0fRequestLogProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.request_log_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.request_log_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\021io.chirpstack.apiB\017RequestLogProtoP\001Z.github.com/chirpstack/chirpstack/api/go/v4/api\252\002\016Chirpstack.Api' _REQUESTLOG_METADATAENTRY._options = None _REQUESTLOG_METADATAENTRY._serialized_options = b'8\001' - _REQUESTLOG._serialized_start=143 - _REQUESTLOG._serialized_end=286 - _REQUESTLOG_METADATAENTRY._serialized_start=239 - _REQUESTLOG_METADATAENTRY._serialized_end=286 + _globals['_REQUESTLOG']._serialized_start=143 + _globals['_REQUESTLOG']._serialized_end=286 + _globals['_REQUESTLOG_METADATAENTRY']._serialized_start=239 + _globals['_REQUESTLOG_METADATAENTRY']._serialized_end=286 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/api/request_log_pb2.pyi b/api/python/src/chirpstack_api/api/request_log_pb2.pyi index 80390b3f..4dafe93f 100644 --- a/api/python/src/chirpstack_api/api/request_log_pb2.pyi +++ b/api/python/src/chirpstack_api/api/request_log_pb2.pyi @@ -9,7 +9,7 @@ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Opti DESCRIPTOR: _descriptor.FileDescriptor class RequestLog(_message.Message): - __slots__ = ["metadata", "method", "service"] + __slots__ = ["service", "method", "metadata"] class MetadataEntry(_message.Message): __slots__ = ["key", "value"] KEY_FIELD_NUMBER: _ClassVar[int] @@ -17,10 +17,10 @@ class RequestLog(_message.Message): key: str value: str def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - METADATA_FIELD_NUMBER: _ClassVar[int] - METHOD_FIELD_NUMBER: _ClassVar[int] SERVICE_FIELD_NUMBER: _ClassVar[int] - metadata: _containers.ScalarMap[str, str] - method: str + METHOD_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] service: str + method: str + metadata: _containers.ScalarMap[str, str] def __init__(self, service: _Optional[str] = ..., method: _Optional[str] = ..., metadata: _Optional[_Mapping[str, str]] = ...) -> None: ... diff --git a/api/python/src/chirpstack_api/api/tenant_pb2.py b/api/python/src/chirpstack_api/api/tenant_pb2.py index bbb7717b..a6c06d24 100644 --- a/api/python/src/chirpstack_api/api/tenant_pb2.py +++ b/api/python/src/chirpstack_api/api/tenant_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/api/tenant.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,8 +18,9 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63hirpstack-api/api/tenant.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\"\xc3\x01\n\x06Tenant\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x19\n\x11\x63\x61n_have_gateways\x18\x04 \x01(\x08\x12\x19\n\x11max_gateway_count\x18\x05 \x01(\r\x12\x18\n\x10max_device_count\x18\x06 \x01(\r\x12\x1b\n\x13private_gateways_up\x18\x07 \x01(\x08\x12\x1d\n\x15private_gateways_down\x18\x08 \x01(\x08\"\x96\x02\n\x0eTenantListItem\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x19\n\x11\x63\x61n_have_gateways\x18\x05 \x01(\x08\x12\x1b\n\x13private_gateways_up\x18\x06 \x01(\x08\x12\x1d\n\x15private_gateways_down\x18\t \x01(\x08\x12\x19\n\x11max_gateway_count\x18\x07 \x01(\r\x12\x18\n\x10max_device_count\x18\x08 \x01(\r\"2\n\x13\x43reateTenantRequest\x12\x1b\n\x06tenant\x18\x01 \x01(\x0b\x32\x0b.api.Tenant\"\"\n\x14\x43reateTenantResponse\x12\n\n\x02id\x18\x01 \x01(\t\"\x1e\n\x10GetTenantRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x90\x01\n\x11GetTenantResponse\x12\x1b\n\x06tenant\x18\x01 \x01(\x0b\x32\x0b.api.Tenant\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"2\n\x13UpdateTenantRequest\x12\x1b\n\x06tenant\x18\x01 \x01(\x0b\x32\x0b.api.Tenant\"!\n\x13\x44\x65leteTenantRequest\x12\n\n\x02id\x18\x01 \x01(\t\"T\n\x12ListTenantsRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x0e\n\x06search\x18\x03 \x01(\t\x12\x0f\n\x07user_id\x18\x04 \x01(\t\"O\n\x13ListTenantsResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12#\n\x06result\x18\x02 \x03(\x0b\x32\x13.api.TenantListItem\"\x84\x01\n\nTenantUser\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\x12\x10\n\x08is_admin\x18\x03 \x01(\x08\x12\x17\n\x0fis_device_admin\x18\x04 \x01(\x08\x12\x18\n\x10is_gateway_admin\x18\x05 \x01(\x08\x12\r\n\x05\x65mail\x18\x06 \x01(\t\"\xec\x01\n\x12TenantUserListItem\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05\x65mail\x18\x05 \x01(\t\x12\x10\n\x08is_admin\x18\x06 \x01(\x08\x12\x17\n\x0fis_device_admin\x18\x07 \x01(\x08\x12\x18\n\x10is_gateway_admin\x18\x08 \x01(\x08\"<\n\x14\x41\x64\x64TenantUserRequest\x12$\n\x0btenant_user\x18\x01 \x01(\x0b\x32\x0f.api.TenantUser\":\n\x14GetTenantUserRequest\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\"\x9d\x01\n\x15GetTenantUserResponse\x12$\n\x0btenant_user\x18\x01 \x01(\x0b\x32\x0f.api.TenantUser\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"?\n\x17UpdateTenantUserRequest\x12$\n\x0btenant_user\x18\x01 \x01(\x0b\x32\x0f.api.TenantUser\"=\n\x17\x44\x65leteTenantUserRequest\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\"J\n\x16ListTenantUsersRequest\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\r\n\x05limit\x18\x02 \x01(\r\x12\x0e\n\x06offset\x18\x03 \x01(\r\"W\n\x17ListTenantUsersResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12\'\n\x06result\x18\x02 \x03(\x0b\x32\x17.api.TenantUserListItem2\xa2\x08\n\rTenantService\x12V\n\x06\x43reate\x12\x18.api.CreateTenantRequest\x1a\x19.api.CreateTenantResponse\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/api/tenants:\x01*\x12O\n\x03Get\x12\x15.api.GetTenantRequest\x1a\x16.api.GetTenantResponse\"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/api/tenants/{id}\x12_\n\x06Update\x12\x18.api.UpdateTenantRequest\x1a\x16.google.protobuf.Empty\"#\x82\xd3\xe4\x93\x02\x1d\x1a\x18/api/tenants/{tenant.id}:\x01*\x12U\n\x06\x44\x65lete\x12\x18.api.DeleteTenantRequest\x1a\x16.google.protobuf.Empty\"\x19\x82\xd3\xe4\x93\x02\x13*\x11/api/tenants/{id}\x12O\n\x04List\x12\x17.api.ListTenantsRequest\x1a\x18.api.ListTenantsResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/api/tenants\x12s\n\x07\x41\x64\x64User\x12\x19.api.AddTenantUserRequest\x1a\x16.google.protobuf.Empty\"5\x82\xd3\xe4\x93\x02/\"*/api/tenants/{tenant_user.tenant_id}/users:\x01*\x12r\n\x07GetUser\x12\x19.api.GetTenantUserRequest\x1a\x1a.api.GetTenantUserResponse\"0\x82\xd3\xe4\x93\x02*\x12(/api/tenants/{tenant_id}/users/{user_id}\x12\x8f\x01\n\nUpdateUser\x12\x1c.api.UpdateTenantUserRequest\x1a\x16.google.protobuf.Empty\"K\x82\xd3\xe4\x93\x02\x45\x1a@/api/tenants/{tenant_user.tenant_id}/users/{tenant_user.user_id}:\x01*\x12t\n\nDeleteUser\x12\x1c.api.DeleteTenantUserRequest\x1a\x16.google.protobuf.Empty\"0\x82\xd3\xe4\x93\x02**(/api/tenants/{tenant_id}/users/{user_id}\x12n\n\tListUsers\x12\x1b.api.ListTenantUsersRequest\x1a\x1c.api.ListTenantUsersResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/api/tenants/{tenant_id}/usersBc\n\x11io.chirpstack.apiB\x0bTenantProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.tenant_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.tenant_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -44,44 +45,44 @@ if _descriptor._USE_C_DESCRIPTORS == False: _TENANTSERVICE.methods_by_name['DeleteUser']._serialized_options = b'\202\323\344\223\002**(/api/tenants/{tenant_id}/users/{user_id}' _TENANTSERVICE.methods_by_name['ListUsers']._options = None _TENANTSERVICE.methods_by_name['ListUsers']._serialized_options = b'\202\323\344\223\002 \022\036/api/tenants/{tenant_id}/users' - _TENANT._serialized_start=133 - _TENANT._serialized_end=328 - _TENANTLISTITEM._serialized_start=331 - _TENANTLISTITEM._serialized_end=609 - _CREATETENANTREQUEST._serialized_start=611 - _CREATETENANTREQUEST._serialized_end=661 - _CREATETENANTRESPONSE._serialized_start=663 - _CREATETENANTRESPONSE._serialized_end=697 - _GETTENANTREQUEST._serialized_start=699 - _GETTENANTREQUEST._serialized_end=729 - _GETTENANTRESPONSE._serialized_start=732 - _GETTENANTRESPONSE._serialized_end=876 - _UPDATETENANTREQUEST._serialized_start=878 - _UPDATETENANTREQUEST._serialized_end=928 - _DELETETENANTREQUEST._serialized_start=930 - _DELETETENANTREQUEST._serialized_end=963 - _LISTTENANTSREQUEST._serialized_start=965 - _LISTTENANTSREQUEST._serialized_end=1049 - _LISTTENANTSRESPONSE._serialized_start=1051 - _LISTTENANTSRESPONSE._serialized_end=1130 - _TENANTUSER._serialized_start=1133 - _TENANTUSER._serialized_end=1265 - _TENANTUSERLISTITEM._serialized_start=1268 - _TENANTUSERLISTITEM._serialized_end=1504 - _ADDTENANTUSERREQUEST._serialized_start=1506 - _ADDTENANTUSERREQUEST._serialized_end=1566 - _GETTENANTUSERREQUEST._serialized_start=1568 - _GETTENANTUSERREQUEST._serialized_end=1626 - _GETTENANTUSERRESPONSE._serialized_start=1629 - _GETTENANTUSERRESPONSE._serialized_end=1786 - _UPDATETENANTUSERREQUEST._serialized_start=1788 - _UPDATETENANTUSERREQUEST._serialized_end=1851 - _DELETETENANTUSERREQUEST._serialized_start=1853 - _DELETETENANTUSERREQUEST._serialized_end=1914 - _LISTTENANTUSERSREQUEST._serialized_start=1916 - _LISTTENANTUSERSREQUEST._serialized_end=1990 - _LISTTENANTUSERSRESPONSE._serialized_start=1992 - _LISTTENANTUSERSRESPONSE._serialized_end=2079 - _TENANTSERVICE._serialized_start=2082 - _TENANTSERVICE._serialized_end=3140 + _globals['_TENANT']._serialized_start=133 + _globals['_TENANT']._serialized_end=328 + _globals['_TENANTLISTITEM']._serialized_start=331 + _globals['_TENANTLISTITEM']._serialized_end=609 + _globals['_CREATETENANTREQUEST']._serialized_start=611 + _globals['_CREATETENANTREQUEST']._serialized_end=661 + _globals['_CREATETENANTRESPONSE']._serialized_start=663 + _globals['_CREATETENANTRESPONSE']._serialized_end=697 + _globals['_GETTENANTREQUEST']._serialized_start=699 + _globals['_GETTENANTREQUEST']._serialized_end=729 + _globals['_GETTENANTRESPONSE']._serialized_start=732 + _globals['_GETTENANTRESPONSE']._serialized_end=876 + _globals['_UPDATETENANTREQUEST']._serialized_start=878 + _globals['_UPDATETENANTREQUEST']._serialized_end=928 + _globals['_DELETETENANTREQUEST']._serialized_start=930 + _globals['_DELETETENANTREQUEST']._serialized_end=963 + _globals['_LISTTENANTSREQUEST']._serialized_start=965 + _globals['_LISTTENANTSREQUEST']._serialized_end=1049 + _globals['_LISTTENANTSRESPONSE']._serialized_start=1051 + _globals['_LISTTENANTSRESPONSE']._serialized_end=1130 + _globals['_TENANTUSER']._serialized_start=1133 + _globals['_TENANTUSER']._serialized_end=1265 + _globals['_TENANTUSERLISTITEM']._serialized_start=1268 + _globals['_TENANTUSERLISTITEM']._serialized_end=1504 + _globals['_ADDTENANTUSERREQUEST']._serialized_start=1506 + _globals['_ADDTENANTUSERREQUEST']._serialized_end=1566 + _globals['_GETTENANTUSERREQUEST']._serialized_start=1568 + _globals['_GETTENANTUSERREQUEST']._serialized_end=1626 + _globals['_GETTENANTUSERRESPONSE']._serialized_start=1629 + _globals['_GETTENANTUSERRESPONSE']._serialized_end=1786 + _globals['_UPDATETENANTUSERREQUEST']._serialized_start=1788 + _globals['_UPDATETENANTUSERREQUEST']._serialized_end=1851 + _globals['_DELETETENANTUSERREQUEST']._serialized_start=1853 + _globals['_DELETETENANTUSERREQUEST']._serialized_end=1914 + _globals['_LISTTENANTUSERSREQUEST']._serialized_start=1916 + _globals['_LISTTENANTUSERSREQUEST']._serialized_end=1990 + _globals['_LISTTENANTUSERSRESPONSE']._serialized_start=1992 + _globals['_LISTTENANTUSERSRESPONSE']._serialized_end=2079 + _globals['_TENANTSERVICE']._serialized_start=2082 + _globals['_TENANTSERVICE']._serialized_end=3140 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/api/tenant_pb2.pyi b/api/python/src/chirpstack_api/api/tenant_pb2.pyi index a52ecee2..6dc5d4ac 100644 --- a/api/python/src/chirpstack_api/api/tenant_pb2.pyi +++ b/api/python/src/chirpstack_api/api/tenant_pb2.pyi @@ -8,11 +8,47 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor -class AddTenantUserRequest(_message.Message): - __slots__ = ["tenant_user"] - TENANT_USER_FIELD_NUMBER: _ClassVar[int] - tenant_user: TenantUser - def __init__(self, tenant_user: _Optional[_Union[TenantUser, _Mapping]] = ...) -> None: ... +class Tenant(_message.Message): + __slots__ = ["id", "name", "description", "can_have_gateways", "max_gateway_count", "max_device_count", "private_gateways_up", "private_gateways_down"] + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CAN_HAVE_GATEWAYS_FIELD_NUMBER: _ClassVar[int] + MAX_GATEWAY_COUNT_FIELD_NUMBER: _ClassVar[int] + MAX_DEVICE_COUNT_FIELD_NUMBER: _ClassVar[int] + PRIVATE_GATEWAYS_UP_FIELD_NUMBER: _ClassVar[int] + PRIVATE_GATEWAYS_DOWN_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + can_have_gateways: bool + max_gateway_count: int + max_device_count: int + private_gateways_up: bool + private_gateways_down: bool + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., can_have_gateways: bool = ..., max_gateway_count: _Optional[int] = ..., max_device_count: _Optional[int] = ..., private_gateways_up: bool = ..., private_gateways_down: bool = ...) -> None: ... + +class TenantListItem(_message.Message): + __slots__ = ["id", "created_at", "updated_at", "name", "can_have_gateways", "private_gateways_up", "private_gateways_down", "max_gateway_count", "max_device_count"] + ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + CAN_HAVE_GATEWAYS_FIELD_NUMBER: _ClassVar[int] + PRIVATE_GATEWAYS_UP_FIELD_NUMBER: _ClassVar[int] + PRIVATE_GATEWAYS_DOWN_FIELD_NUMBER: _ClassVar[int] + MAX_GATEWAY_COUNT_FIELD_NUMBER: _ClassVar[int] + MAX_DEVICE_COUNT_FIELD_NUMBER: _ClassVar[int] + id: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + name: str + can_have_gateways: bool + private_gateways_up: bool + private_gateways_down: bool + max_gateway_count: int + max_device_count: int + def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., can_have_gateways: bool = ..., private_gateways_up: bool = ..., private_gateways_down: bool = ..., max_gateway_count: _Optional[int] = ..., max_device_count: _Optional[int] = ...) -> None: ... class CreateTenantRequest(_message.Message): __slots__ = ["tenant"] @@ -26,20 +62,6 @@ class CreateTenantResponse(_message.Message): id: str def __init__(self, id: _Optional[str] = ...) -> None: ... -class DeleteTenantRequest(_message.Message): - __slots__ = ["id"] - ID_FIELD_NUMBER: _ClassVar[int] - id: str - def __init__(self, id: _Optional[str] = ...) -> None: ... - -class DeleteTenantUserRequest(_message.Message): - __slots__ = ["tenant_id", "user_id"] - TENANT_ID_FIELD_NUMBER: _ClassVar[int] - USER_ID_FIELD_NUMBER: _ClassVar[int] - tenant_id: str - user_id: str - def __init__(self, tenant_id: _Optional[str] = ..., user_id: _Optional[str] = ...) -> None: ... - class GetTenantRequest(_message.Message): __slots__ = ["id"] ID_FIELD_NUMBER: _ClassVar[int] @@ -47,50 +69,26 @@ class GetTenantRequest(_message.Message): def __init__(self, id: _Optional[str] = ...) -> None: ... class GetTenantResponse(_message.Message): - __slots__ = ["created_at", "tenant", "updated_at"] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["tenant", "created_at", "updated_at"] TENANT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp tenant: Tenant + created_at: _timestamp_pb2.Timestamp updated_at: _timestamp_pb2.Timestamp def __init__(self, tenant: _Optional[_Union[Tenant, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... -class GetTenantUserRequest(_message.Message): - __slots__ = ["tenant_id", "user_id"] - TENANT_ID_FIELD_NUMBER: _ClassVar[int] - USER_ID_FIELD_NUMBER: _ClassVar[int] - tenant_id: str - user_id: str - def __init__(self, tenant_id: _Optional[str] = ..., user_id: _Optional[str] = ...) -> None: ... +class UpdateTenantRequest(_message.Message): + __slots__ = ["tenant"] + TENANT_FIELD_NUMBER: _ClassVar[int] + tenant: Tenant + def __init__(self, tenant: _Optional[_Union[Tenant, _Mapping]] = ...) -> None: ... -class GetTenantUserResponse(_message.Message): - __slots__ = ["created_at", "tenant_user", "updated_at"] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - TENANT_USER_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp - tenant_user: TenantUser - updated_at: _timestamp_pb2.Timestamp - def __init__(self, tenant_user: _Optional[_Union[TenantUser, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... - -class ListTenantUsersRequest(_message.Message): - __slots__ = ["limit", "offset", "tenant_id"] - LIMIT_FIELD_NUMBER: _ClassVar[int] - OFFSET_FIELD_NUMBER: _ClassVar[int] - TENANT_ID_FIELD_NUMBER: _ClassVar[int] - limit: int - offset: int - tenant_id: str - def __init__(self, tenant_id: _Optional[str] = ..., limit: _Optional[int] = ..., offset: _Optional[int] = ...) -> None: ... - -class ListTenantUsersResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] - TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[TenantUserListItem] - total_count: int - def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[TenantUserListItem, _Mapping]]] = ...) -> None: ... +class DeleteTenantRequest(_message.Message): + __slots__ = ["id"] + ID_FIELD_NUMBER: _ClassVar[int] + id: str + def __init__(self, id: _Optional[str] = ...) -> None: ... class ListTenantsRequest(_message.Message): __slots__ = ["limit", "offset", "search", "user_id"] @@ -105,99 +103,101 @@ class ListTenantsRequest(_message.Message): def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., user_id: _Optional[str] = ...) -> None: ... class ListTenantsResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["total_count", "result"] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[TenantListItem] + RESULT_FIELD_NUMBER: _ClassVar[int] total_count: int + result: _containers.RepeatedCompositeFieldContainer[TenantListItem] def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[TenantListItem, _Mapping]]] = ...) -> None: ... -class Tenant(_message.Message): - __slots__ = ["can_have_gateways", "description", "id", "max_device_count", "max_gateway_count", "name", "private_gateways_down", "private_gateways_up"] - CAN_HAVE_GATEWAYS_FIELD_NUMBER: _ClassVar[int] - DESCRIPTION_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - MAX_DEVICE_COUNT_FIELD_NUMBER: _ClassVar[int] - MAX_GATEWAY_COUNT_FIELD_NUMBER: _ClassVar[int] - NAME_FIELD_NUMBER: _ClassVar[int] - PRIVATE_GATEWAYS_DOWN_FIELD_NUMBER: _ClassVar[int] - PRIVATE_GATEWAYS_UP_FIELD_NUMBER: _ClassVar[int] - can_have_gateways: bool - description: str - id: str - max_device_count: int - max_gateway_count: int - name: str - private_gateways_down: bool - private_gateways_up: bool - def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., can_have_gateways: bool = ..., max_gateway_count: _Optional[int] = ..., max_device_count: _Optional[int] = ..., private_gateways_up: bool = ..., private_gateways_down: bool = ...) -> None: ... - -class TenantListItem(_message.Message): - __slots__ = ["can_have_gateways", "created_at", "id", "max_device_count", "max_gateway_count", "name", "private_gateways_down", "private_gateways_up", "updated_at"] - CAN_HAVE_GATEWAYS_FIELD_NUMBER: _ClassVar[int] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - MAX_DEVICE_COUNT_FIELD_NUMBER: _ClassVar[int] - MAX_GATEWAY_COUNT_FIELD_NUMBER: _ClassVar[int] - NAME_FIELD_NUMBER: _ClassVar[int] - PRIVATE_GATEWAYS_DOWN_FIELD_NUMBER: _ClassVar[int] - PRIVATE_GATEWAYS_UP_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - can_have_gateways: bool - created_at: _timestamp_pb2.Timestamp - id: str - max_device_count: int - max_gateway_count: int - name: str - private_gateways_down: bool - private_gateways_up: bool - updated_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., can_have_gateways: bool = ..., private_gateways_up: bool = ..., private_gateways_down: bool = ..., max_gateway_count: _Optional[int] = ..., max_device_count: _Optional[int] = ...) -> None: ... - class TenantUser(_message.Message): - __slots__ = ["email", "is_admin", "is_device_admin", "is_gateway_admin", "tenant_id", "user_id"] - EMAIL_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["tenant_id", "user_id", "is_admin", "is_device_admin", "is_gateway_admin", "email"] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + USER_ID_FIELD_NUMBER: _ClassVar[int] IS_ADMIN_FIELD_NUMBER: _ClassVar[int] IS_DEVICE_ADMIN_FIELD_NUMBER: _ClassVar[int] IS_GATEWAY_ADMIN_FIELD_NUMBER: _ClassVar[int] - TENANT_ID_FIELD_NUMBER: _ClassVar[int] - USER_ID_FIELD_NUMBER: _ClassVar[int] - email: str + EMAIL_FIELD_NUMBER: _ClassVar[int] + tenant_id: str + user_id: str is_admin: bool is_device_admin: bool is_gateway_admin: bool - tenant_id: str - user_id: str + email: str def __init__(self, tenant_id: _Optional[str] = ..., user_id: _Optional[str] = ..., is_admin: bool = ..., is_device_admin: bool = ..., is_gateway_admin: bool = ..., email: _Optional[str] = ...) -> None: ... class TenantUserListItem(_message.Message): - __slots__ = ["created_at", "email", "is_admin", "is_device_admin", "is_gateway_admin", "tenant_id", "updated_at", "user_id"] + __slots__ = ["tenant_id", "user_id", "created_at", "updated_at", "email", "is_admin", "is_device_admin", "is_gateway_admin"] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + USER_ID_FIELD_NUMBER: _ClassVar[int] CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] EMAIL_FIELD_NUMBER: _ClassVar[int] IS_ADMIN_FIELD_NUMBER: _ClassVar[int] IS_DEVICE_ADMIN_FIELD_NUMBER: _ClassVar[int] IS_GATEWAY_ADMIN_FIELD_NUMBER: _ClassVar[int] - TENANT_ID_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - USER_ID_FIELD_NUMBER: _ClassVar[int] + tenant_id: str + user_id: str created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp email: str is_admin: bool is_device_admin: bool is_gateway_admin: bool - tenant_id: str - updated_at: _timestamp_pb2.Timestamp - user_id: str def __init__(self, tenant_id: _Optional[str] = ..., user_id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., email: _Optional[str] = ..., is_admin: bool = ..., is_device_admin: bool = ..., is_gateway_admin: bool = ...) -> None: ... -class UpdateTenantRequest(_message.Message): - __slots__ = ["tenant"] - TENANT_FIELD_NUMBER: _ClassVar[int] - tenant: Tenant - def __init__(self, tenant: _Optional[_Union[Tenant, _Mapping]] = ...) -> None: ... +class AddTenantUserRequest(_message.Message): + __slots__ = ["tenant_user"] + TENANT_USER_FIELD_NUMBER: _ClassVar[int] + tenant_user: TenantUser + def __init__(self, tenant_user: _Optional[_Union[TenantUser, _Mapping]] = ...) -> None: ... + +class GetTenantUserRequest(_message.Message): + __slots__ = ["tenant_id", "user_id"] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + USER_ID_FIELD_NUMBER: _ClassVar[int] + tenant_id: str + user_id: str + def __init__(self, tenant_id: _Optional[str] = ..., user_id: _Optional[str] = ...) -> None: ... + +class GetTenantUserResponse(_message.Message): + __slots__ = ["tenant_user", "created_at", "updated_at"] + TENANT_USER_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + tenant_user: TenantUser + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + def __init__(self, tenant_user: _Optional[_Union[TenantUser, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class UpdateTenantUserRequest(_message.Message): __slots__ = ["tenant_user"] TENANT_USER_FIELD_NUMBER: _ClassVar[int] tenant_user: TenantUser def __init__(self, tenant_user: _Optional[_Union[TenantUser, _Mapping]] = ...) -> None: ... + +class DeleteTenantUserRequest(_message.Message): + __slots__ = ["tenant_id", "user_id"] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + USER_ID_FIELD_NUMBER: _ClassVar[int] + tenant_id: str + user_id: str + def __init__(self, tenant_id: _Optional[str] = ..., user_id: _Optional[str] = ...) -> None: ... + +class ListTenantUsersRequest(_message.Message): + __slots__ = ["tenant_id", "limit", "offset"] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + tenant_id: str + limit: int + offset: int + def __init__(self, tenant_id: _Optional[str] = ..., limit: _Optional[int] = ..., offset: _Optional[int] = ...) -> None: ... + +class ListTenantUsersResponse(_message.Message): + __slots__ = ["total_count", "result"] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + RESULT_FIELD_NUMBER: _ClassVar[int] + total_count: int + result: _containers.RepeatedCompositeFieldContainer[TenantUserListItem] + def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[TenantUserListItem, _Mapping]]] = ...) -> None: ... diff --git a/api/python/src/chirpstack_api/api/user_pb2.py b/api/python/src/chirpstack_api/api/user_pb2.py index 51dce95b..8303b192 100644 --- a/api/python/src/chirpstack_api/api/user_pb2.py +++ b/api/python/src/chirpstack_api/api/user_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/api/user.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,8 +18,9 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x63hirpstack-api/api/user.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\"T\n\x04User\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08is_admin\x18\x04 \x01(\x08\x12\x11\n\tis_active\x18\x05 \x01(\x08\x12\r\n\x05\x65mail\x18\x06 \x01(\t\x12\x0c\n\x04note\x18\x07 \x01(\t\"\xae\x01\n\x0cUserListItem\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x10\n\x08is_admin\x18\x05 \x01(\x08\x12\x11\n\tis_active\x18\x06 \x01(\x08\"d\n\nUserTenant\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x10\n\x08is_admin\x18\x02 \x01(\x08\x12\x17\n\x0fis_device_admin\x18\x03 \x01(\x08\x12\x18\n\x10is_gateway_admin\x18\x04 \x01(\x08\"`\n\x11\x43reateUserRequest\x12\x17\n\x04user\x18\x01 \x01(\x0b\x32\t.api.User\x12\x10\n\x08password\x18\x02 \x01(\t\x12 \n\x07tenants\x18\x03 \x03(\x0b\x32\x0f.api.UserTenant\" \n\x12\x43reateUserResponse\x12\n\n\x02id\x18\x01 \x01(\t\"\x1c\n\x0eGetUserRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x8a\x01\n\x0fGetUserResponse\x12\x17\n\x04user\x18\x01 \x01(\x0b\x32\t.api.User\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\",\n\x11UpdateUserRequest\x12\x17\n\x04user\x18\x01 \x01(\x0b\x32\t.api.User\"\x1f\n\x11\x44\x65leteUserRequest\x12\n\n\x02id\x18\x01 \x01(\t\"1\n\x10ListUsersRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\"K\n\x11ListUsersResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12!\n\x06result\x18\x02 \x03(\x0b\x32\x11.api.UserListItem\">\n\x19UpdateUserPasswordRequest\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t2\x97\x04\n\x0bUserService\x12P\n\x06\x43reate\x12\x16.api.CreateUserRequest\x1a\x17.api.CreateUserResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\"\n/api/users:\x01*\x12I\n\x03Get\x12\x13.api.GetUserRequest\x1a\x14.api.GetUserResponse\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/api/users/{id}\x12Y\n\x06Update\x12\x16.api.UpdateUserRequest\x1a\x16.google.protobuf.Empty\"\x1f\x82\xd3\xe4\x93\x02\x19\x1a\x14/api/users/{user.id}:\x01*\x12Q\n\x06\x44\x65lete\x12\x16.api.DeleteUserRequest\x1a\x16.google.protobuf.Empty\"\x17\x82\xd3\xe4\x93\x02\x11*\x0f/api/users/{id}\x12I\n\x04List\x12\x15.api.ListUsersRequest\x1a\x16.api.ListUsersResponse\"\x12\x82\xd3\xe4\x93\x02\x0c\x12\n/api/users\x12r\n\x0eUpdatePassword\x12\x1e.api.UpdateUserPasswordRequest\x1a\x16.google.protobuf.Empty\"(\x82\xd3\xe4\x93\x02\"\"\x1d/api/users/{user_id}/password:\x01*Ba\n\x11io.chirpstack.apiB\tUserProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.user_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.user_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -36,30 +37,30 @@ if _descriptor._USE_C_DESCRIPTORS == False: _USERSERVICE.methods_by_name['List']._serialized_options = b'\202\323\344\223\002\014\022\n/api/users' _USERSERVICE.methods_by_name['UpdatePassword']._options = None _USERSERVICE.methods_by_name['UpdatePassword']._serialized_options = b'\202\323\344\223\002\"\"\035/api/users/{user_id}/password:\001*' - _USER._serialized_start=130 - _USER._serialized_end=214 - _USERLISTITEM._serialized_start=217 - _USERLISTITEM._serialized_end=391 - _USERTENANT._serialized_start=393 - _USERTENANT._serialized_end=493 - _CREATEUSERREQUEST._serialized_start=495 - _CREATEUSERREQUEST._serialized_end=591 - _CREATEUSERRESPONSE._serialized_start=593 - _CREATEUSERRESPONSE._serialized_end=625 - _GETUSERREQUEST._serialized_start=627 - _GETUSERREQUEST._serialized_end=655 - _GETUSERRESPONSE._serialized_start=658 - _GETUSERRESPONSE._serialized_end=796 - _UPDATEUSERREQUEST._serialized_start=798 - _UPDATEUSERREQUEST._serialized_end=842 - _DELETEUSERREQUEST._serialized_start=844 - _DELETEUSERREQUEST._serialized_end=875 - _LISTUSERSREQUEST._serialized_start=877 - _LISTUSERSREQUEST._serialized_end=926 - _LISTUSERSRESPONSE._serialized_start=928 - _LISTUSERSRESPONSE._serialized_end=1003 - _UPDATEUSERPASSWORDREQUEST._serialized_start=1005 - _UPDATEUSERPASSWORDREQUEST._serialized_end=1067 - _USERSERVICE._serialized_start=1070 - _USERSERVICE._serialized_end=1605 + _globals['_USER']._serialized_start=130 + _globals['_USER']._serialized_end=214 + _globals['_USERLISTITEM']._serialized_start=217 + _globals['_USERLISTITEM']._serialized_end=391 + _globals['_USERTENANT']._serialized_start=393 + _globals['_USERTENANT']._serialized_end=493 + _globals['_CREATEUSERREQUEST']._serialized_start=495 + _globals['_CREATEUSERREQUEST']._serialized_end=591 + _globals['_CREATEUSERRESPONSE']._serialized_start=593 + _globals['_CREATEUSERRESPONSE']._serialized_end=625 + _globals['_GETUSERREQUEST']._serialized_start=627 + _globals['_GETUSERREQUEST']._serialized_end=655 + _globals['_GETUSERRESPONSE']._serialized_start=658 + _globals['_GETUSERRESPONSE']._serialized_end=796 + _globals['_UPDATEUSERREQUEST']._serialized_start=798 + _globals['_UPDATEUSERREQUEST']._serialized_end=842 + _globals['_DELETEUSERREQUEST']._serialized_start=844 + _globals['_DELETEUSERREQUEST']._serialized_end=875 + _globals['_LISTUSERSREQUEST']._serialized_start=877 + _globals['_LISTUSERSREQUEST']._serialized_end=926 + _globals['_LISTUSERSRESPONSE']._serialized_start=928 + _globals['_LISTUSERSRESPONSE']._serialized_end=1003 + _globals['_UPDATEUSERPASSWORDREQUEST']._serialized_start=1005 + _globals['_UPDATEUSERPASSWORDREQUEST']._serialized_end=1067 + _globals['_USERSERVICE']._serialized_start=1070 + _globals['_USERSERVICE']._serialized_end=1605 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/api/user_pb2.pyi b/api/python/src/chirpstack_api/api/user_pb2.pyi index 3e506590..9d9db228 100644 --- a/api/python/src/chirpstack_api/api/user_pb2.pyi +++ b/api/python/src/chirpstack_api/api/user_pb2.pyi @@ -8,14 +8,56 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor +class User(_message.Message): + __slots__ = ["id", "is_admin", "is_active", "email", "note"] + ID_FIELD_NUMBER: _ClassVar[int] + IS_ADMIN_FIELD_NUMBER: _ClassVar[int] + IS_ACTIVE_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + NOTE_FIELD_NUMBER: _ClassVar[int] + id: str + is_admin: bool + is_active: bool + email: str + note: str + def __init__(self, id: _Optional[str] = ..., is_admin: bool = ..., is_active: bool = ..., email: _Optional[str] = ..., note: _Optional[str] = ...) -> None: ... + +class UserListItem(_message.Message): + __slots__ = ["id", "created_at", "updated_at", "email", "is_admin", "is_active"] + ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + IS_ADMIN_FIELD_NUMBER: _ClassVar[int] + IS_ACTIVE_FIELD_NUMBER: _ClassVar[int] + id: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + email: str + is_admin: bool + is_active: bool + def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., email: _Optional[str] = ..., is_admin: bool = ..., is_active: bool = ...) -> None: ... + +class UserTenant(_message.Message): + __slots__ = ["tenant_id", "is_admin", "is_device_admin", "is_gateway_admin"] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + IS_ADMIN_FIELD_NUMBER: _ClassVar[int] + IS_DEVICE_ADMIN_FIELD_NUMBER: _ClassVar[int] + IS_GATEWAY_ADMIN_FIELD_NUMBER: _ClassVar[int] + tenant_id: str + is_admin: bool + is_device_admin: bool + is_gateway_admin: bool + def __init__(self, tenant_id: _Optional[str] = ..., is_admin: bool = ..., is_device_admin: bool = ..., is_gateway_admin: bool = ...) -> None: ... + class CreateUserRequest(_message.Message): - __slots__ = ["password", "tenants", "user"] + __slots__ = ["user", "password", "tenants"] + USER_FIELD_NUMBER: _ClassVar[int] PASSWORD_FIELD_NUMBER: _ClassVar[int] TENANTS_FIELD_NUMBER: _ClassVar[int] - USER_FIELD_NUMBER: _ClassVar[int] + user: User password: str tenants: _containers.RepeatedCompositeFieldContainer[UserTenant] - user: User def __init__(self, user: _Optional[_Union[User, _Mapping]] = ..., password: _Optional[str] = ..., tenants: _Optional[_Iterable[_Union[UserTenant, _Mapping]]] = ...) -> None: ... class CreateUserResponse(_message.Message): @@ -24,12 +66,6 @@ class CreateUserResponse(_message.Message): id: str def __init__(self, id: _Optional[str] = ...) -> None: ... -class DeleteUserRequest(_message.Message): - __slots__ = ["id"] - ID_FIELD_NUMBER: _ClassVar[int] - id: str - def __init__(self, id: _Optional[str] = ...) -> None: ... - class GetUserRequest(_message.Message): __slots__ = ["id"] ID_FIELD_NUMBER: _ClassVar[int] @@ -37,15 +73,27 @@ class GetUserRequest(_message.Message): def __init__(self, id: _Optional[str] = ...) -> None: ... class GetUserResponse(_message.Message): - __slots__ = ["created_at", "updated_at", "user"] + __slots__ = ["user", "created_at", "updated_at"] + USER_FIELD_NUMBER: _ClassVar[int] CREATED_AT_FIELD_NUMBER: _ClassVar[int] UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - USER_FIELD_NUMBER: _ClassVar[int] + user: User created_at: _timestamp_pb2.Timestamp updated_at: _timestamp_pb2.Timestamp - user: User def __init__(self, user: _Optional[_Union[User, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... +class UpdateUserRequest(_message.Message): + __slots__ = ["user"] + USER_FIELD_NUMBER: _ClassVar[int] + user: User + def __init__(self, user: _Optional[_Union[User, _Mapping]] = ...) -> None: ... + +class DeleteUserRequest(_message.Message): + __slots__ = ["id"] + ID_FIELD_NUMBER: _ClassVar[int] + id: str + def __init__(self, id: _Optional[str] = ...) -> None: ... + class ListUsersRequest(_message.Message): __slots__ = ["limit", "offset"] LIMIT_FIELD_NUMBER: _ClassVar[int] @@ -55,65 +103,17 @@ class ListUsersRequest(_message.Message): def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ...) -> None: ... class ListUsersResponse(_message.Message): - __slots__ = ["result", "total_count"] - RESULT_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["total_count", "result"] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] - result: _containers.RepeatedCompositeFieldContainer[UserListItem] + RESULT_FIELD_NUMBER: _ClassVar[int] total_count: int + result: _containers.RepeatedCompositeFieldContainer[UserListItem] def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[UserListItem, _Mapping]]] = ...) -> None: ... class UpdateUserPasswordRequest(_message.Message): - __slots__ = ["password", "user_id"] - PASSWORD_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["user_id", "password"] USER_ID_FIELD_NUMBER: _ClassVar[int] - password: str + PASSWORD_FIELD_NUMBER: _ClassVar[int] user_id: str + password: str def __init__(self, user_id: _Optional[str] = ..., password: _Optional[str] = ...) -> None: ... - -class UpdateUserRequest(_message.Message): - __slots__ = ["user"] - USER_FIELD_NUMBER: _ClassVar[int] - user: User - def __init__(self, user: _Optional[_Union[User, _Mapping]] = ...) -> None: ... - -class User(_message.Message): - __slots__ = ["email", "id", "is_active", "is_admin", "note"] - EMAIL_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - IS_ACTIVE_FIELD_NUMBER: _ClassVar[int] - IS_ADMIN_FIELD_NUMBER: _ClassVar[int] - NOTE_FIELD_NUMBER: _ClassVar[int] - email: str - id: str - is_active: bool - is_admin: bool - note: str - def __init__(self, id: _Optional[str] = ..., is_admin: bool = ..., is_active: bool = ..., email: _Optional[str] = ..., note: _Optional[str] = ...) -> None: ... - -class UserListItem(_message.Message): - __slots__ = ["created_at", "email", "id", "is_active", "is_admin", "updated_at"] - CREATED_AT_FIELD_NUMBER: _ClassVar[int] - EMAIL_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - IS_ACTIVE_FIELD_NUMBER: _ClassVar[int] - IS_ADMIN_FIELD_NUMBER: _ClassVar[int] - UPDATED_AT_FIELD_NUMBER: _ClassVar[int] - created_at: _timestamp_pb2.Timestamp - email: str - id: str - is_active: bool - is_admin: bool - updated_at: _timestamp_pb2.Timestamp - def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., email: _Optional[str] = ..., is_admin: bool = ..., is_active: bool = ...) -> None: ... - -class UserTenant(_message.Message): - __slots__ = ["is_admin", "is_device_admin", "is_gateway_admin", "tenant_id"] - IS_ADMIN_FIELD_NUMBER: _ClassVar[int] - IS_DEVICE_ADMIN_FIELD_NUMBER: _ClassVar[int] - IS_GATEWAY_ADMIN_FIELD_NUMBER: _ClassVar[int] - TENANT_ID_FIELD_NUMBER: _ClassVar[int] - is_admin: bool - is_device_admin: bool - is_gateway_admin: bool - tenant_id: str - def __init__(self, tenant_id: _Optional[str] = ..., is_admin: bool = ..., is_device_admin: bool = ..., is_gateway_admin: bool = ...) -> None: ... diff --git a/api/python/src/chirpstack_api/common/common_pb2.py b/api/python/src/chirpstack_api/common/common_pb2.py index f415954f..17012bbb 100644 --- a/api/python/src/chirpstack_api/common/common_pb2.py +++ b/api/python/src/chirpstack_api/common/common_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/common/common.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -16,36 +16,37 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"chirpstack-api/common/common.proto\x12\x06\x63ommon\x1a\x1fgoogle/protobuf/timestamp.proto\"{\n\x08Location\x12\x10\n\x08latitude\x18\x01 \x01(\x01\x12\x11\n\tlongitude\x18\x02 \x01(\x01\x12\x10\n\x08\x61ltitude\x18\x03 \x01(\x01\x12&\n\x06source\x18\x04 \x01(\x0e\x32\x16.common.LocationSource\x12\x10\n\x08\x61\x63\x63uracy\x18\x05 \x01(\x02\"1\n\x0bKeyEnvelope\x12\x11\n\tkek_label\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x65s_key\x18\x02 \x01(\x0c\"\x91\x01\n\x06Metric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\ntimestamps\x18\x02 \x03(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x08\x64\x61tasets\x18\x03 \x03(\x0b\x32\x15.common.MetricDataset\x12 \n\x04kind\x18\x04 \x01(\x0e\x32\x12.common.MetricKind\",\n\rMetricDataset\x12\r\n\x05label\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x03(\x02*,\n\nModulation\x12\x08\n\x04LORA\x10\x00\x12\x07\n\x03\x46SK\x10\x01\x12\x0b\n\x07LR_FHSS\x10\x02*\xaa\x01\n\x06Region\x12\t\n\x05\x45U868\x10\x00\x12\t\n\x05US915\x10\x02\x12\t\n\x05\x43N779\x10\x03\x12\t\n\x05\x45U433\x10\x04\x12\t\n\x05\x41U915\x10\x05\x12\t\n\x05\x43N470\x10\x06\x12\t\n\x05\x41S923\x10\x07\x12\x0b\n\x07\x41S923_2\x10\x0c\x12\x0b\n\x07\x41S923_3\x10\r\x12\x0b\n\x07\x41S923_4\x10\x0e\x12\t\n\x05KR920\x10\x08\x12\t\n\x05IN865\x10\t\x12\t\n\x05RU864\x10\n\x12\x0b\n\x07ISM2400\x10\x0b*\xb3\x01\n\x05MType\x12\x10\n\x0cJOIN_REQUEST\x10\x00\x12\x0f\n\x0bJOIN_ACCEPT\x10\x01\x12\x17\n\x13UNCONFIRMED_DATA_UP\x10\x02\x12\x19\n\x15UNCONFIRMED_DATA_DOWN\x10\x03\x12\x15\n\x11\x43ONFIRMED_DATA_UP\x10\x04\x12\x17\n\x13\x43ONFIRMED_DATA_DOWN\x10\x05\x12\x12\n\x0eREJOIN_REQUEST\x10\x06\x12\x0f\n\x0bPROPRIETARY\x10\x07*~\n\nMacVersion\x12\x11\n\rLORAWAN_1_0_0\x10\x00\x12\x11\n\rLORAWAN_1_0_1\x10\x01\x12\x11\n\rLORAWAN_1_0_2\x10\x02\x12\x11\n\rLORAWAN_1_0_3\x10\x03\x12\x11\n\rLORAWAN_1_0_4\x10\x04\x12\x11\n\rLORAWAN_1_1_0\x10\x05*e\n\x11RegParamsRevision\x12\x05\n\x01\x41\x10\x00\x12\x05\n\x01\x42\x10\x01\x12\x0f\n\x0bRP002_1_0_0\x10\x02\x12\x0f\n\x0bRP002_1_0_1\x10\x03\x12\x0f\n\x0bRP002_1_0_2\x10\x04\x12\x0f\n\x0bRP002_1_0_3\x10\x05*\x8e\x01\n\x0eLocationSource\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03GPS\x10\x01\x12\n\n\x06\x43ONFIG\x10\x02\x12\x15\n\x11GEO_RESOLVER_TDOA\x10\x03\x12\x15\n\x11GEO_RESOLVER_RSSI\x10\x04\x12\x15\n\x11GEO_RESOLVER_GNSS\x10\x05\x12\x15\n\x11GEO_RESOLVER_WIFI\x10\x06*+\n\x0b\x41ggregation\x12\x08\n\x04HOUR\x10\x00\x12\x07\n\x03\x44\x41Y\x10\x01\x12\t\n\x05MONTH\x10\x02*2\n\nMetricKind\x12\x0b\n\x07\x43OUNTER\x10\x00\x12\x0c\n\x08\x41\x42SOLUTE\x10\x01\x12\t\n\x05GAUGE\x10\x02*4\n\x0b\x44\x65viceClass\x12\x0b\n\x07\x43LASS_A\x10\x00\x12\x0b\n\x07\x43LASS_B\x10\x01\x12\x0b\n\x07\x43LASS_C\x10\x02\x42i\n\x11io.chirpstack.apiB\x0b\x43ommonProtoP\x01Z1github.com/chirpstack/chirpstack/api/go/v4/common\xaa\x02\x11\x43hirpstack.Commonb\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.common.common_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.common.common_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\021io.chirpstack.apiB\013CommonProtoP\001Z1github.com/chirpstack/chirpstack/api/go/v4/common\252\002\021Chirpstack.Common' - _MODULATION._serialized_start=449 - _MODULATION._serialized_end=493 - _REGION._serialized_start=496 - _REGION._serialized_end=666 - _MTYPE._serialized_start=669 - _MTYPE._serialized_end=848 - _MACVERSION._serialized_start=850 - _MACVERSION._serialized_end=976 - _REGPARAMSREVISION._serialized_start=978 - _REGPARAMSREVISION._serialized_end=1079 - _LOCATIONSOURCE._serialized_start=1082 - _LOCATIONSOURCE._serialized_end=1224 - _AGGREGATION._serialized_start=1226 - _AGGREGATION._serialized_end=1269 - _METRICKIND._serialized_start=1271 - _METRICKIND._serialized_end=1321 - _DEVICECLASS._serialized_start=1323 - _DEVICECLASS._serialized_end=1375 - _LOCATION._serialized_start=79 - _LOCATION._serialized_end=202 - _KEYENVELOPE._serialized_start=204 - _KEYENVELOPE._serialized_end=253 - _METRIC._serialized_start=256 - _METRIC._serialized_end=401 - _METRICDATASET._serialized_start=403 - _METRICDATASET._serialized_end=447 + _globals['_MODULATION']._serialized_start=449 + _globals['_MODULATION']._serialized_end=493 + _globals['_REGION']._serialized_start=496 + _globals['_REGION']._serialized_end=666 + _globals['_MTYPE']._serialized_start=669 + _globals['_MTYPE']._serialized_end=848 + _globals['_MACVERSION']._serialized_start=850 + _globals['_MACVERSION']._serialized_end=976 + _globals['_REGPARAMSREVISION']._serialized_start=978 + _globals['_REGPARAMSREVISION']._serialized_end=1079 + _globals['_LOCATIONSOURCE']._serialized_start=1082 + _globals['_LOCATIONSOURCE']._serialized_end=1224 + _globals['_AGGREGATION']._serialized_start=1226 + _globals['_AGGREGATION']._serialized_end=1269 + _globals['_METRICKIND']._serialized_start=1271 + _globals['_METRICKIND']._serialized_end=1321 + _globals['_DEVICECLASS']._serialized_start=1323 + _globals['_DEVICECLASS']._serialized_end=1375 + _globals['_LOCATION']._serialized_start=79 + _globals['_LOCATION']._serialized_end=202 + _globals['_KEYENVELOPE']._serialized_start=204 + _globals['_KEYENVELOPE']._serialized_end=253 + _globals['_METRIC']._serialized_start=256 + _globals['_METRIC']._serialized_end=401 + _globals['_METRICDATASET']._serialized_start=403 + _globals['_METRICDATASET']._serialized_end=447 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/common/common_pb2.pyi b/api/python/src/chirpstack_api/common/common_pb2.pyi index 61c9e2bc..d3a6b2ae 100644 --- a/api/python/src/chirpstack_api/common/common_pb2.pyi +++ b/api/python/src/chirpstack_api/common/common_pb2.pyi @@ -5,126 +5,179 @@ from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union -A: RegParamsRevision -ABSOLUTE: MetricKind +DESCRIPTOR: _descriptor.FileDescriptor + +class Modulation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + LORA: _ClassVar[Modulation] + FSK: _ClassVar[Modulation] + LR_FHSS: _ClassVar[Modulation] + +class Region(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + EU868: _ClassVar[Region] + US915: _ClassVar[Region] + CN779: _ClassVar[Region] + EU433: _ClassVar[Region] + AU915: _ClassVar[Region] + CN470: _ClassVar[Region] + AS923: _ClassVar[Region] + AS923_2: _ClassVar[Region] + AS923_3: _ClassVar[Region] + AS923_4: _ClassVar[Region] + KR920: _ClassVar[Region] + IN865: _ClassVar[Region] + RU864: _ClassVar[Region] + ISM2400: _ClassVar[Region] + +class MType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + JOIN_REQUEST: _ClassVar[MType] + JOIN_ACCEPT: _ClassVar[MType] + UNCONFIRMED_DATA_UP: _ClassVar[MType] + UNCONFIRMED_DATA_DOWN: _ClassVar[MType] + CONFIRMED_DATA_UP: _ClassVar[MType] + CONFIRMED_DATA_DOWN: _ClassVar[MType] + REJOIN_REQUEST: _ClassVar[MType] + PROPRIETARY: _ClassVar[MType] + +class MacVersion(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + LORAWAN_1_0_0: _ClassVar[MacVersion] + LORAWAN_1_0_1: _ClassVar[MacVersion] + LORAWAN_1_0_2: _ClassVar[MacVersion] + LORAWAN_1_0_3: _ClassVar[MacVersion] + LORAWAN_1_0_4: _ClassVar[MacVersion] + LORAWAN_1_1_0: _ClassVar[MacVersion] + +class RegParamsRevision(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + A: _ClassVar[RegParamsRevision] + B: _ClassVar[RegParamsRevision] + RP002_1_0_0: _ClassVar[RegParamsRevision] + RP002_1_0_1: _ClassVar[RegParamsRevision] + RP002_1_0_2: _ClassVar[RegParamsRevision] + RP002_1_0_3: _ClassVar[RegParamsRevision] + +class LocationSource(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + UNKNOWN: _ClassVar[LocationSource] + GPS: _ClassVar[LocationSource] + CONFIG: _ClassVar[LocationSource] + GEO_RESOLVER_TDOA: _ClassVar[LocationSource] + GEO_RESOLVER_RSSI: _ClassVar[LocationSource] + GEO_RESOLVER_GNSS: _ClassVar[LocationSource] + GEO_RESOLVER_WIFI: _ClassVar[LocationSource] + +class Aggregation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + HOUR: _ClassVar[Aggregation] + DAY: _ClassVar[Aggregation] + MONTH: _ClassVar[Aggregation] + +class MetricKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + COUNTER: _ClassVar[MetricKind] + ABSOLUTE: _ClassVar[MetricKind] + GAUGE: _ClassVar[MetricKind] + +class DeviceClass(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + CLASS_A: _ClassVar[DeviceClass] + CLASS_B: _ClassVar[DeviceClass] + CLASS_C: _ClassVar[DeviceClass] +LORA: Modulation +FSK: Modulation +LR_FHSS: Modulation +EU868: Region +US915: Region +CN779: Region +EU433: Region +AU915: Region +CN470: Region AS923: Region AS923_2: Region AS923_3: Region AS923_4: Region -AU915: Region -B: RegParamsRevision -CLASS_A: DeviceClass -CLASS_B: DeviceClass -CLASS_C: DeviceClass -CN470: Region -CN779: Region -CONFIG: LocationSource -CONFIRMED_DATA_DOWN: MType -CONFIRMED_DATA_UP: MType -COUNTER: MetricKind -DAY: Aggregation -DESCRIPTOR: _descriptor.FileDescriptor -EU433: Region -EU868: Region -FSK: Modulation -GAUGE: MetricKind -GEO_RESOLVER_GNSS: LocationSource -GEO_RESOLVER_RSSI: LocationSource -GEO_RESOLVER_TDOA: LocationSource -GEO_RESOLVER_WIFI: LocationSource -GPS: LocationSource -HOUR: Aggregation -IN865: Region -ISM2400: Region -JOIN_ACCEPT: MType -JOIN_REQUEST: MType KR920: Region -LORA: Modulation +IN865: Region +RU864: Region +ISM2400: Region +JOIN_REQUEST: MType +JOIN_ACCEPT: MType +UNCONFIRMED_DATA_UP: MType +UNCONFIRMED_DATA_DOWN: MType +CONFIRMED_DATA_UP: MType +CONFIRMED_DATA_DOWN: MType +REJOIN_REQUEST: MType +PROPRIETARY: MType LORAWAN_1_0_0: MacVersion LORAWAN_1_0_1: MacVersion LORAWAN_1_0_2: MacVersion LORAWAN_1_0_3: MacVersion LORAWAN_1_0_4: MacVersion LORAWAN_1_1_0: MacVersion -LR_FHSS: Modulation -MONTH: Aggregation -PROPRIETARY: MType -REJOIN_REQUEST: MType +A: RegParamsRevision +B: RegParamsRevision RP002_1_0_0: RegParamsRevision RP002_1_0_1: RegParamsRevision RP002_1_0_2: RegParamsRevision RP002_1_0_3: RegParamsRevision -RU864: Region -UNCONFIRMED_DATA_DOWN: MType -UNCONFIRMED_DATA_UP: MType UNKNOWN: LocationSource -US915: Region - -class KeyEnvelope(_message.Message): - __slots__ = ["aes_key", "kek_label"] - AES_KEY_FIELD_NUMBER: _ClassVar[int] - KEK_LABEL_FIELD_NUMBER: _ClassVar[int] - aes_key: bytes - kek_label: str - def __init__(self, kek_label: _Optional[str] = ..., aes_key: _Optional[bytes] = ...) -> None: ... +GPS: LocationSource +CONFIG: LocationSource +GEO_RESOLVER_TDOA: LocationSource +GEO_RESOLVER_RSSI: LocationSource +GEO_RESOLVER_GNSS: LocationSource +GEO_RESOLVER_WIFI: LocationSource +HOUR: Aggregation +DAY: Aggregation +MONTH: Aggregation +COUNTER: MetricKind +ABSOLUTE: MetricKind +GAUGE: MetricKind +CLASS_A: DeviceClass +CLASS_B: DeviceClass +CLASS_C: DeviceClass class Location(_message.Message): - __slots__ = ["accuracy", "altitude", "latitude", "longitude", "source"] - ACCURACY_FIELD_NUMBER: _ClassVar[int] - ALTITUDE_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["latitude", "longitude", "altitude", "source", "accuracy"] LATITUDE_FIELD_NUMBER: _ClassVar[int] LONGITUDE_FIELD_NUMBER: _ClassVar[int] + ALTITUDE_FIELD_NUMBER: _ClassVar[int] SOURCE_FIELD_NUMBER: _ClassVar[int] - accuracy: float - altitude: float + ACCURACY_FIELD_NUMBER: _ClassVar[int] latitude: float longitude: float + altitude: float source: LocationSource + accuracy: float def __init__(self, latitude: _Optional[float] = ..., longitude: _Optional[float] = ..., altitude: _Optional[float] = ..., source: _Optional[_Union[LocationSource, str]] = ..., accuracy: _Optional[float] = ...) -> None: ... +class KeyEnvelope(_message.Message): + __slots__ = ["kek_label", "aes_key"] + KEK_LABEL_FIELD_NUMBER: _ClassVar[int] + AES_KEY_FIELD_NUMBER: _ClassVar[int] + kek_label: str + aes_key: bytes + def __init__(self, kek_label: _Optional[str] = ..., aes_key: _Optional[bytes] = ...) -> None: ... + class Metric(_message.Message): - __slots__ = ["datasets", "kind", "name", "timestamps"] - DATASETS_FIELD_NUMBER: _ClassVar[int] - KIND_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["name", "timestamps", "datasets", "kind"] NAME_FIELD_NUMBER: _ClassVar[int] TIMESTAMPS_FIELD_NUMBER: _ClassVar[int] - datasets: _containers.RepeatedCompositeFieldContainer[MetricDataset] - kind: MetricKind + DATASETS_FIELD_NUMBER: _ClassVar[int] + KIND_FIELD_NUMBER: _ClassVar[int] name: str timestamps: _containers.RepeatedCompositeFieldContainer[_timestamp_pb2.Timestamp] + datasets: _containers.RepeatedCompositeFieldContainer[MetricDataset] + kind: MetricKind def __init__(self, name: _Optional[str] = ..., timestamps: _Optional[_Iterable[_Union[_timestamp_pb2.Timestamp, _Mapping]]] = ..., datasets: _Optional[_Iterable[_Union[MetricDataset, _Mapping]]] = ..., kind: _Optional[_Union[MetricKind, str]] = ...) -> None: ... class MetricDataset(_message.Message): - __slots__ = ["data", "label"] - DATA_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["label", "data"] LABEL_FIELD_NUMBER: _ClassVar[int] - data: _containers.RepeatedScalarFieldContainer[float] + DATA_FIELD_NUMBER: _ClassVar[int] label: str + data: _containers.RepeatedScalarFieldContainer[float] def __init__(self, label: _Optional[str] = ..., data: _Optional[_Iterable[float]] = ...) -> None: ... - -class Modulation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class Region(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class MType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class MacVersion(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class RegParamsRevision(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class LocationSource(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class Aggregation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class MetricKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class DeviceClass(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] diff --git a/api/python/src/chirpstack_api/gw/gw_pb2.py b/api/python/src/chirpstack_api/gw/gw_pb2.py index 9c111942..d5f47291 100644 --- a/api/python/src/chirpstack_api/gw/gw_pb2.py +++ b/api/python/src/chirpstack_api/gw/gw_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/gw/gw.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -19,8 +19,9 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x63hirpstack-api/gw/gw.proto\x12\x02gw\x1a\"chirpstack-api/common/common.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x95\x01\n\nModulation\x12&\n\x04lora\x18\x03 \x01(\x0b\x32\x16.gw.LoraModulationInfoH\x00\x12$\n\x03\x66sk\x18\x04 \x01(\x0b\x32\x15.gw.FskModulationInfoH\x00\x12+\n\x07lr_fhss\x18\x05 \x01(\x0b\x32\x18.gw.LrFhssModulationInfoH\x00\x42\x0c\n\nparameters\"\x8d\x02\n\x12UplinkTxInfoLegacy\x12\x11\n\tfrequency\x18\x01 \x01(\r\x12&\n\nmodulation\x18\x02 \x01(\x0e\x32\x12.common.Modulation\x12\x36\n\x14lora_modulation_info\x18\x03 \x01(\x0b\x32\x16.gw.LoraModulationInfoH\x00\x12\x34\n\x13\x66sk_modulation_info\x18\x04 \x01(\x0b\x32\x15.gw.FskModulationInfoH\x00\x12;\n\x17lr_fhss_modulation_info\x18\x05 \x01(\x0b\x32\x18.gw.LrFhssModulationInfoH\x00\x42\x11\n\x0fmodulation_info\"E\n\x0cUplinkTxInfo\x12\x11\n\tfrequency\x18\x01 \x01(\r\x12\"\n\nmodulation\x18\x02 \x01(\x0b\x32\x0e.gw.Modulation\"\x9c\x01\n\x12LoraModulationInfo\x12\x11\n\tbandwidth\x18\x01 \x01(\r\x12\x18\n\x10spreading_factor\x18\x02 \x01(\r\x12\x18\n\x10\x63ode_rate_legacy\x18\x03 \x01(\t\x12\x1f\n\tcode_rate\x18\x05 \x01(\x0e\x32\x0c.gw.CodeRate\x12\x1e\n\x16polarization_inversion\x18\x04 \x01(\x08\"B\n\x11\x46skModulationInfo\x12\x1b\n\x13\x66requency_deviation\x18\x01 \x01(\r\x12\x10\n\x08\x64\x61tarate\x18\x02 \x01(\r\"\x86\x01\n\x14LrFhssModulationInfo\x12\x1f\n\x17operating_channel_width\x18\x01 \x01(\r\x12\x18\n\x10\x63ode_rate_legacy\x18\x02 \x01(\t\x12\x1f\n\tcode_rate\x18\x04 \x01(\x0e\x32\x0c.gw.CodeRate\x12\x12\n\ngrid_steps\x18\x03 \x01(\r\"V\n\x16\x45ncryptedFineTimestamp\x12\x15\n\raes_key_index\x18\x01 \x01(\r\x12\x14\n\x0c\x65ncrypted_ns\x18\x02 \x01(\x0c\x12\x0f\n\x07\x66pga_id\x18\x03 \x01(\x0c\">\n\x12PlainFineTimestamp\x12(\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x90\x07\n\x0cGatewayStats\x12\x19\n\x11gateway_id_legacy\x18\x01 \x01(\x0c\x12\x12\n\ngateway_id\x18\x11 \x01(\t\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x08location\x18\x03 \x01(\x0b\x32\x10.common.Location\x12\x16\n\x0e\x63onfig_version\x18\x04 \x01(\t\x12\x1b\n\x13rx_packets_received\x18\x05 \x01(\r\x12\x1e\n\x16rx_packets_received_ok\x18\x06 \x01(\r\x12\x1b\n\x13tx_packets_received\x18\x07 \x01(\r\x12\x1a\n\x12tx_packets_emitted\x18\x08 \x01(\r\x12\x30\n\x08metadata\x18\n \x03(\x0b\x32\x1e.gw.GatewayStats.MetadataEntry\x12M\n\x18tx_packets_per_frequency\x18\x0c \x03(\x0b\x32+.gw.GatewayStats.TxPacketsPerFrequencyEntry\x12M\n\x18rx_packets_per_frequency\x18\r \x03(\x0b\x32+.gw.GatewayStats.RxPacketsPerFrequencyEntry\x12\x39\n\x19tx_packets_per_modulation\x18\x0e \x03(\x0b\x32\x16.gw.PerModulationCount\x12\x39\n\x19rx_packets_per_modulation\x18\x0f \x03(\x0b\x32\x16.gw.PerModulationCount\x12G\n\x15tx_packets_per_status\x18\x10 \x03(\x0b\x32(.gw.GatewayStats.TxPacketsPerStatusEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a<\n\x1aTxPacketsPerFrequencyEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a<\n\x1aRxPacketsPerFrequencyEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a\x39\n\x17TxPacketsPerStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"G\n\x12PerModulationCount\x12\"\n\nmodulation\x18\x01 \x01(\x0b\x32\x0e.gw.Modulation\x12\r\n\x05\x63ount\x18\x02 \x01(\r\"\x80\x05\n\x12UplinkRxInfoLegacy\x12\x12\n\ngateway_id\x18\x01 \x01(\x0c\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x14time_since_gps_epoch\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x0c\n\x04rssi\x18\x05 \x01(\x05\x12\x10\n\x08lora_snr\x18\x06 \x01(\x01\x12\x0f\n\x07\x63hannel\x18\x07 \x01(\r\x12\x10\n\x08rf_chain\x18\x08 \x01(\r\x12\r\n\x05\x62oard\x18\t \x01(\r\x12\x0f\n\x07\x61ntenna\x18\n \x01(\r\x12\"\n\x08location\x18\x0b \x01(\x0b\x32\x10.common.Location\x12\x32\n\x13\x66ine_timestamp_type\x18\x0c \x01(\x0e\x32\x15.gw.FineTimestampType\x12>\n\x18\x65ncrypted_fine_timestamp\x18\r \x01(\x0b\x32\x1a.gw.EncryptedFineTimestampH\x00\x12\x36\n\x14plain_fine_timestamp\x18\x0e \x01(\x0b\x32\x16.gw.PlainFineTimestampH\x00\x12\x0f\n\x07\x63ontext\x18\x0f \x01(\x0c\x12\x11\n\tuplink_id\x18\x10 \x01(\x0c\x12!\n\ncrc_status\x18\x11 \x01(\x0e\x32\r.gw.CRCStatus\x12\x36\n\x08metadata\x18\x12 \x03(\x0b\x32$.gw.UplinkRxInfoLegacy.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e\x66ine_timestamp\"\xef\x03\n\x0cUplinkRxInfo\x12\x12\n\ngateway_id\x18\x01 \x01(\t\x12\x11\n\tuplink_id\x18\x02 \x01(\r\x12(\n\x04time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x14time_since_gps_epoch\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19\x66ine_time_since_gps_epoch\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x0c\n\x04rssi\x18\x06 \x01(\x05\x12\x0b\n\x03snr\x18\x07 \x01(\x02\x12\x0f\n\x07\x63hannel\x18\x08 \x01(\r\x12\x10\n\x08rf_chain\x18\t \x01(\r\x12\r\n\x05\x62oard\x18\n \x01(\r\x12\x0f\n\x07\x61ntenna\x18\x0b \x01(\r\x12\"\n\x08location\x18\x0c \x01(\x0b\x32\x10.common.Location\x12\x0f\n\x07\x63ontext\x18\r \x01(\x0c\x12\x30\n\x08metadata\x18\x0f \x03(\x0b\x32\x1e.gw.UplinkRxInfo.MetadataEntry\x12!\n\ncrc_status\x18\x10 \x01(\x0e\x32\r.gw.CRCStatus\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x82\x04\n\x14\x44ownlinkTxInfoLegacy\x12\x12\n\ngateway_id\x18\x01 \x01(\x0c\x12\x11\n\tfrequency\x18\x05 \x01(\r\x12\r\n\x05power\x18\x06 \x01(\x05\x12&\n\nmodulation\x18\x07 \x01(\x0e\x32\x12.common.Modulation\x12\x36\n\x14lora_modulation_info\x18\x08 \x01(\x0b\x32\x16.gw.LoraModulationInfoH\x00\x12\x34\n\x13\x66sk_modulation_info\x18\t \x01(\x0b\x32\x15.gw.FskModulationInfoH\x00\x12\r\n\x05\x62oard\x18\n \x01(\r\x12\x0f\n\x07\x61ntenna\x18\x0b \x01(\r\x12\"\n\x06timing\x18\x0c \x01(\x0e\x32\x12.gw.DownlinkTiming\x12<\n\x17immediately_timing_info\x18\r \x01(\x0b\x32\x19.gw.ImmediatelyTimingInfoH\x01\x12\x30\n\x11\x64\x65lay_timing_info\x18\x0e \x01(\x0b\x32\x13.gw.DelayTimingInfoH\x01\x12\x37\n\x15gps_epoch_timing_info\x18\x0f \x01(\x0b\x32\x16.gw.GPSEpochTimingInfoH\x01\x12\x0f\n\x07\x63ontext\x18\x10 \x01(\x0c\x42\x11\n\x0fmodulation_infoB\r\n\x0btiming_info\"\xa3\x01\n\x0e\x44ownlinkTxInfo\x12\x11\n\tfrequency\x18\x01 \x01(\r\x12\r\n\x05power\x18\x02 \x01(\x05\x12\"\n\nmodulation\x18\x03 \x01(\x0b\x32\x0e.gw.Modulation\x12\r\n\x05\x62oard\x18\x04 \x01(\r\x12\x0f\n\x07\x61ntenna\x18\x05 \x01(\r\x12\x1a\n\x06timing\x18\x06 \x01(\x0b\x32\n.gw.Timing\x12\x0f\n\x07\x63ontext\x18\x07 \x01(\x0c\"\x9b\x01\n\x06Timing\x12\x30\n\x0bimmediately\x18\x01 \x01(\x0b\x32\x19.gw.ImmediatelyTimingInfoH\x00\x12$\n\x05\x64\x65lay\x18\x02 \x01(\x0b\x32\x13.gw.DelayTimingInfoH\x00\x12+\n\tgps_epoch\x18\x03 \x01(\x0b\x32\x16.gw.GPSEpochTimingInfoH\x00\x42\x0c\n\nparameters\"\x17\n\x15ImmediatelyTimingInfo\";\n\x0f\x44\x65layTimingInfo\x12(\n\x05\x64\x65lay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"M\n\x12GPSEpochTimingInfo\x12\x37\n\x14time_since_gps_epoch\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xc8\x01\n\x0bUplinkFrame\x12\x13\n\x0bphy_payload\x18\x01 \x01(\x0c\x12.\n\x0etx_info_legacy\x18\x02 \x01(\x0b\x32\x16.gw.UplinkTxInfoLegacy\x12.\n\x0erx_info_legacy\x18\x03 \x01(\x0b\x32\x16.gw.UplinkRxInfoLegacy\x12!\n\x07tx_info\x18\x04 \x01(\x0b\x32\x10.gw.UplinkTxInfo\x12!\n\x07rx_info\x18\x05 \x01(\x0b\x32\x10.gw.UplinkRxInfo\"k\n\x0eUplinkFrameSet\x12\x13\n\x0bphy_payload\x18\x01 \x01(\x0c\x12!\n\x07tx_info\x18\x02 \x01(\x0b\x32\x10.gw.UplinkTxInfo\x12!\n\x07rx_info\x18\x03 \x03(\x0b\x32\x10.gw.UplinkRxInfo\"\x95\x01\n\rDownlinkFrame\x12\x13\n\x0b\x64ownlink_id\x18\x03 \x01(\r\x12\x1a\n\x12\x64ownlink_id_legacy\x18\x04 \x01(\x0c\x12$\n\x05items\x18\x05 \x03(\x0b\x32\x15.gw.DownlinkFrameItem\x12\x19\n\x11gateway_id_legacy\x18\x06 \x01(\x0c\x12\x12\n\ngateway_id\x18\x07 \x01(\t\"\x7f\n\x11\x44ownlinkFrameItem\x12\x13\n\x0bphy_payload\x18\x01 \x01(\x0c\x12\x30\n\x0etx_info_legacy\x18\x02 \x01(\x0b\x32\x18.gw.DownlinkTxInfoLegacy\x12#\n\x07tx_info\x18\x03 \x01(\x0b\x32\x12.gw.DownlinkTxInfo\"\x95\x01\n\rDownlinkTxAck\x12\x19\n\x11gateway_id_legacy\x18\x01 \x01(\x0c\x12\x12\n\ngateway_id\x18\x06 \x01(\t\x12\x13\n\x0b\x64ownlink_id\x18\x02 \x01(\r\x12\x1a\n\x12\x64ownlink_id_legacy\x18\x04 \x01(\x0c\x12$\n\x05items\x18\x05 \x03(\x0b\x32\x15.gw.DownlinkTxAckItem\"4\n\x11\x44ownlinkTxAckItem\x12\x1f\n\x06status\x18\x01 \x01(\x0e\x32\x0f.gw.TxAckStatus\"\xb5\x01\n\x14GatewayConfiguration\x12\x19\n\x11gateway_id_legacy\x18\x01 \x01(\x0c\x12\x12\n\ngateway_id\x18\x05 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12*\n\x08\x63hannels\x18\x03 \x03(\x0b\x32\x18.gw.ChannelConfiguration\x12\x31\n\x0estats_interval\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x87\x02\n\x14\x43hannelConfiguration\x12\x11\n\tfrequency\x18\x01 \x01(\r\x12-\n\x11modulation_legacy\x18\x02 \x01(\x0e\x32\x12.common.Modulation\x12:\n\x16lora_modulation_config\x18\x03 \x01(\x0b\x32\x18.gw.LoraModulationConfigH\x00\x12\x38\n\x15\x66sk_modulation_config\x18\x04 \x01(\x0b\x32\x17.gw.FskModulationConfigH\x00\x12\r\n\x05\x62oard\x18\x05 \x01(\r\x12\x13\n\x0b\x64\x65modulator\x18\x06 \x01(\rB\x13\n\x11modulation_config\"^\n\x14LoraModulationConfig\x12\x18\n\x10\x62\x61ndwidth_legacy\x18\x01 \x01(\r\x12\x11\n\tbandwidth\x18\x03 \x01(\r\x12\x19\n\x11spreading_factors\x18\x02 \x03(\r\"S\n\x13\x46skModulationConfig\x12\x18\n\x10\x62\x61ndwidth_legacy\x18\x01 \x01(\r\x12\x11\n\tbandwidth\x18\x03 \x01(\r\x12\x0f\n\x07\x62itrate\x18\x02 \x01(\r\"\xf4\x01\n\x19GatewayCommandExecRequest\x12\x19\n\x11gateway_id_legacy\x18\x01 \x01(\x0c\x12\x12\n\ngateway_id\x18\x06 \x01(\t\x12\x0f\n\x07\x63ommand\x18\x02 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x07 \x01(\r\x12\r\n\x05stdin\x18\x04 \x01(\x0c\x12\x43\n\x0b\x65nvironment\x18\x05 \x03(\x0b\x32..gw.GatewayCommandExecRequest.EnvironmentEntry\x1a\x32\n\x10\x45nvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8b\x01\n\x1aGatewayCommandExecResponse\x12\x19\n\x11gateway_id_legacy\x18\x01 \x01(\x0c\x12\x12\n\ngateway_id\x18\x06 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x07 \x01(\r\x12\x0e\n\x06stdout\x18\x03 \x01(\x0c\x12\x0e\n\x06stderr\x18\x04 \x01(\x0c\x12\r\n\x05\x65rror\x18\x05 \x01(\t\"Y\n\x17RawPacketForwarderEvent\x12\x19\n\x11gateway_id_legacy\x18\x01 \x01(\x0c\x12\x12\n\ngateway_id\x18\x04 \x01(\t\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\"[\n\x19RawPacketForwarderCommand\x12\x19\n\x11gateway_id_legacy\x18\x01 \x01(\x0c\x12\x12\n\ngateway_id\x18\x04 \x01(\t\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\"\x80\x01\n\tConnState\x12\x19\n\x11gateway_id_legacy\x18\x01 \x01(\x0c\x12\x12\n\ngateway_id\x18\x03 \x01(\t\x12\"\n\x05state\x18\x02 \x01(\x0e\x32\x13.gw.ConnState.State\" \n\x05State\x12\x0b\n\x07OFFLINE\x10\x00\x12\n\n\x06ONLINE\x10\x01*\xb5\x01\n\x08\x43odeRate\x12\x10\n\x0c\x43R_UNDEFINED\x10\x00\x12\n\n\x06\x43R_4_5\x10\x01\x12\n\n\x06\x43R_4_6\x10\x02\x12\n\n\x06\x43R_4_7\x10\x03\x12\n\n\x06\x43R_4_8\x10\x04\x12\n\n\x06\x43R_3_8\x10\x05\x12\n\n\x06\x43R_2_6\x10\x06\x12\n\n\x06\x43R_1_4\x10\x07\x12\n\n\x06\x43R_1_6\x10\x08\x12\n\n\x06\x43R_5_6\x10\t\x12\r\n\tCR_LI_4_5\x10\n\x12\r\n\tCR_LI_4_6\x10\x0b\x12\r\n\tCR_LI_4_8\x10\x0c*;\n\x0e\x44ownlinkTiming\x12\x0f\n\x0bIMMEDIATELY\x10\x00\x12\t\n\x05\x44\x45LAY\x10\x01\x12\r\n\tGPS_EPOCH\x10\x02*7\n\x11\x46ineTimestampType\x12\x08\n\x04NONE\x10\x00\x12\r\n\tENCRYPTED\x10\x01\x12\t\n\x05PLAIN\x10\x02*0\n\tCRCStatus\x12\n\n\x06NO_CRC\x10\x00\x12\x0b\n\x07\x42\x41\x44_CRC\x10\x01\x12\n\n\x06\x43RC_OK\x10\x02*\xbc\x01\n\x0bTxAckStatus\x12\x0b\n\x07IGNORED\x10\x00\x12\x06\n\x02OK\x10\x01\x12\x0c\n\x08TOO_LATE\x10\x02\x12\r\n\tTOO_EARLY\x10\x03\x12\x14\n\x10\x43OLLISION_PACKET\x10\x04\x12\x14\n\x10\x43OLLISION_BEACON\x10\x05\x12\x0b\n\x07TX_FREQ\x10\x06\x12\x0c\n\x08TX_POWER\x10\x07\x12\x10\n\x0cGPS_UNLOCKED\x10\x08\x12\x0e\n\nQUEUE_FULL\x10\t\x12\x12\n\x0eINTERNAL_ERROR\x10\nBj\n\x14io.chirpstack.api.gwB\x0cGatewayProtoP\x01Z-github.com/chirpstack/chirpstack/api/go/v4/gw\xaa\x02\x12\x43hirpstack.Gatewayb\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.gw.gw_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.gw.gw_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -39,96 +40,96 @@ if _descriptor._USE_C_DESCRIPTORS == False: _UPLINKRXINFO_METADATAENTRY._serialized_options = b'8\001' _GATEWAYCOMMANDEXECREQUEST_ENVIRONMENTENTRY._options = None _GATEWAYCOMMANDEXECREQUEST_ENVIRONMENTENTRY._serialized_options = b'8\001' - _CODERATE._serialized_start=6446 - _CODERATE._serialized_end=6627 - _DOWNLINKTIMING._serialized_start=6629 - _DOWNLINKTIMING._serialized_end=6688 - _FINETIMESTAMPTYPE._serialized_start=6690 - _FINETIMESTAMPTYPE._serialized_end=6745 - _CRCSTATUS._serialized_start=6747 - _CRCSTATUS._serialized_end=6795 - _TXACKSTATUS._serialized_start=6798 - _TXACKSTATUS._serialized_end=6986 - _MODULATION._serialized_start=166 - _MODULATION._serialized_end=315 - _UPLINKTXINFOLEGACY._serialized_start=318 - _UPLINKTXINFOLEGACY._serialized_end=587 - _UPLINKTXINFO._serialized_start=589 - _UPLINKTXINFO._serialized_end=658 - _LORAMODULATIONINFO._serialized_start=661 - _LORAMODULATIONINFO._serialized_end=817 - _FSKMODULATIONINFO._serialized_start=819 - _FSKMODULATIONINFO._serialized_end=885 - _LRFHSSMODULATIONINFO._serialized_start=888 - _LRFHSSMODULATIONINFO._serialized_end=1022 - _ENCRYPTEDFINETIMESTAMP._serialized_start=1024 - _ENCRYPTEDFINETIMESTAMP._serialized_end=1110 - _PLAINFINETIMESTAMP._serialized_start=1112 - _PLAINFINETIMESTAMP._serialized_end=1174 - _GATEWAYSTATS._serialized_start=1177 - _GATEWAYSTATS._serialized_end=2089 - _GATEWAYSTATS_METADATAENTRY._serialized_start=1859 - _GATEWAYSTATS_METADATAENTRY._serialized_end=1906 - _GATEWAYSTATS_TXPACKETSPERFREQUENCYENTRY._serialized_start=1908 - _GATEWAYSTATS_TXPACKETSPERFREQUENCYENTRY._serialized_end=1968 - _GATEWAYSTATS_RXPACKETSPERFREQUENCYENTRY._serialized_start=1970 - _GATEWAYSTATS_RXPACKETSPERFREQUENCYENTRY._serialized_end=2030 - _GATEWAYSTATS_TXPACKETSPERSTATUSENTRY._serialized_start=2032 - _GATEWAYSTATS_TXPACKETSPERSTATUSENTRY._serialized_end=2089 - _PERMODULATIONCOUNT._serialized_start=2091 - _PERMODULATIONCOUNT._serialized_end=2162 - _UPLINKRXINFOLEGACY._serialized_start=2165 - _UPLINKRXINFOLEGACY._serialized_end=2805 - _UPLINKRXINFOLEGACY_METADATAENTRY._serialized_start=1859 - _UPLINKRXINFOLEGACY_METADATAENTRY._serialized_end=1906 - _UPLINKRXINFO._serialized_start=2808 - _UPLINKRXINFO._serialized_end=3303 - _UPLINKRXINFO_METADATAENTRY._serialized_start=1859 - _UPLINKRXINFO_METADATAENTRY._serialized_end=1906 - _DOWNLINKTXINFOLEGACY._serialized_start=3306 - _DOWNLINKTXINFOLEGACY._serialized_end=3820 - _DOWNLINKTXINFO._serialized_start=3823 - _DOWNLINKTXINFO._serialized_end=3986 - _TIMING._serialized_start=3989 - _TIMING._serialized_end=4144 - _IMMEDIATELYTIMINGINFO._serialized_start=4146 - _IMMEDIATELYTIMINGINFO._serialized_end=4169 - _DELAYTIMINGINFO._serialized_start=4171 - _DELAYTIMINGINFO._serialized_end=4230 - _GPSEPOCHTIMINGINFO._serialized_start=4232 - _GPSEPOCHTIMINGINFO._serialized_end=4309 - _UPLINKFRAME._serialized_start=4312 - _UPLINKFRAME._serialized_end=4512 - _UPLINKFRAMESET._serialized_start=4514 - _UPLINKFRAMESET._serialized_end=4621 - _DOWNLINKFRAME._serialized_start=4624 - _DOWNLINKFRAME._serialized_end=4773 - _DOWNLINKFRAMEITEM._serialized_start=4775 - _DOWNLINKFRAMEITEM._serialized_end=4902 - _DOWNLINKTXACK._serialized_start=4905 - _DOWNLINKTXACK._serialized_end=5054 - _DOWNLINKTXACKITEM._serialized_start=5056 - _DOWNLINKTXACKITEM._serialized_end=5108 - _GATEWAYCONFIGURATION._serialized_start=5111 - _GATEWAYCONFIGURATION._serialized_end=5292 - _CHANNELCONFIGURATION._serialized_start=5295 - _CHANNELCONFIGURATION._serialized_end=5558 - _LORAMODULATIONCONFIG._serialized_start=5560 - _LORAMODULATIONCONFIG._serialized_end=5654 - _FSKMODULATIONCONFIG._serialized_start=5656 - _FSKMODULATIONCONFIG._serialized_end=5739 - _GATEWAYCOMMANDEXECREQUEST._serialized_start=5742 - _GATEWAYCOMMANDEXECREQUEST._serialized_end=5986 - _GATEWAYCOMMANDEXECREQUEST_ENVIRONMENTENTRY._serialized_start=5936 - _GATEWAYCOMMANDEXECREQUEST_ENVIRONMENTENTRY._serialized_end=5986 - _GATEWAYCOMMANDEXECRESPONSE._serialized_start=5989 - _GATEWAYCOMMANDEXECRESPONSE._serialized_end=6128 - _RAWPACKETFORWARDEREVENT._serialized_start=6130 - _RAWPACKETFORWARDEREVENT._serialized_end=6219 - _RAWPACKETFORWARDERCOMMAND._serialized_start=6221 - _RAWPACKETFORWARDERCOMMAND._serialized_end=6312 - _CONNSTATE._serialized_start=6315 - _CONNSTATE._serialized_end=6443 - _CONNSTATE_STATE._serialized_start=6411 - _CONNSTATE_STATE._serialized_end=6443 + _globals['_CODERATE']._serialized_start=6446 + _globals['_CODERATE']._serialized_end=6627 + _globals['_DOWNLINKTIMING']._serialized_start=6629 + _globals['_DOWNLINKTIMING']._serialized_end=6688 + _globals['_FINETIMESTAMPTYPE']._serialized_start=6690 + _globals['_FINETIMESTAMPTYPE']._serialized_end=6745 + _globals['_CRCSTATUS']._serialized_start=6747 + _globals['_CRCSTATUS']._serialized_end=6795 + _globals['_TXACKSTATUS']._serialized_start=6798 + _globals['_TXACKSTATUS']._serialized_end=6986 + _globals['_MODULATION']._serialized_start=166 + _globals['_MODULATION']._serialized_end=315 + _globals['_UPLINKTXINFOLEGACY']._serialized_start=318 + _globals['_UPLINKTXINFOLEGACY']._serialized_end=587 + _globals['_UPLINKTXINFO']._serialized_start=589 + _globals['_UPLINKTXINFO']._serialized_end=658 + _globals['_LORAMODULATIONINFO']._serialized_start=661 + _globals['_LORAMODULATIONINFO']._serialized_end=817 + _globals['_FSKMODULATIONINFO']._serialized_start=819 + _globals['_FSKMODULATIONINFO']._serialized_end=885 + _globals['_LRFHSSMODULATIONINFO']._serialized_start=888 + _globals['_LRFHSSMODULATIONINFO']._serialized_end=1022 + _globals['_ENCRYPTEDFINETIMESTAMP']._serialized_start=1024 + _globals['_ENCRYPTEDFINETIMESTAMP']._serialized_end=1110 + _globals['_PLAINFINETIMESTAMP']._serialized_start=1112 + _globals['_PLAINFINETIMESTAMP']._serialized_end=1174 + _globals['_GATEWAYSTATS']._serialized_start=1177 + _globals['_GATEWAYSTATS']._serialized_end=2089 + _globals['_GATEWAYSTATS_METADATAENTRY']._serialized_start=1859 + _globals['_GATEWAYSTATS_METADATAENTRY']._serialized_end=1906 + _globals['_GATEWAYSTATS_TXPACKETSPERFREQUENCYENTRY']._serialized_start=1908 + _globals['_GATEWAYSTATS_TXPACKETSPERFREQUENCYENTRY']._serialized_end=1968 + _globals['_GATEWAYSTATS_RXPACKETSPERFREQUENCYENTRY']._serialized_start=1970 + _globals['_GATEWAYSTATS_RXPACKETSPERFREQUENCYENTRY']._serialized_end=2030 + _globals['_GATEWAYSTATS_TXPACKETSPERSTATUSENTRY']._serialized_start=2032 + _globals['_GATEWAYSTATS_TXPACKETSPERSTATUSENTRY']._serialized_end=2089 + _globals['_PERMODULATIONCOUNT']._serialized_start=2091 + _globals['_PERMODULATIONCOUNT']._serialized_end=2162 + _globals['_UPLINKRXINFOLEGACY']._serialized_start=2165 + _globals['_UPLINKRXINFOLEGACY']._serialized_end=2805 + _globals['_UPLINKRXINFOLEGACY_METADATAENTRY']._serialized_start=1859 + _globals['_UPLINKRXINFOLEGACY_METADATAENTRY']._serialized_end=1906 + _globals['_UPLINKRXINFO']._serialized_start=2808 + _globals['_UPLINKRXINFO']._serialized_end=3303 + _globals['_UPLINKRXINFO_METADATAENTRY']._serialized_start=1859 + _globals['_UPLINKRXINFO_METADATAENTRY']._serialized_end=1906 + _globals['_DOWNLINKTXINFOLEGACY']._serialized_start=3306 + _globals['_DOWNLINKTXINFOLEGACY']._serialized_end=3820 + _globals['_DOWNLINKTXINFO']._serialized_start=3823 + _globals['_DOWNLINKTXINFO']._serialized_end=3986 + _globals['_TIMING']._serialized_start=3989 + _globals['_TIMING']._serialized_end=4144 + _globals['_IMMEDIATELYTIMINGINFO']._serialized_start=4146 + _globals['_IMMEDIATELYTIMINGINFO']._serialized_end=4169 + _globals['_DELAYTIMINGINFO']._serialized_start=4171 + _globals['_DELAYTIMINGINFO']._serialized_end=4230 + _globals['_GPSEPOCHTIMINGINFO']._serialized_start=4232 + _globals['_GPSEPOCHTIMINGINFO']._serialized_end=4309 + _globals['_UPLINKFRAME']._serialized_start=4312 + _globals['_UPLINKFRAME']._serialized_end=4512 + _globals['_UPLINKFRAMESET']._serialized_start=4514 + _globals['_UPLINKFRAMESET']._serialized_end=4621 + _globals['_DOWNLINKFRAME']._serialized_start=4624 + _globals['_DOWNLINKFRAME']._serialized_end=4773 + _globals['_DOWNLINKFRAMEITEM']._serialized_start=4775 + _globals['_DOWNLINKFRAMEITEM']._serialized_end=4902 + _globals['_DOWNLINKTXACK']._serialized_start=4905 + _globals['_DOWNLINKTXACK']._serialized_end=5054 + _globals['_DOWNLINKTXACKITEM']._serialized_start=5056 + _globals['_DOWNLINKTXACKITEM']._serialized_end=5108 + _globals['_GATEWAYCONFIGURATION']._serialized_start=5111 + _globals['_GATEWAYCONFIGURATION']._serialized_end=5292 + _globals['_CHANNELCONFIGURATION']._serialized_start=5295 + _globals['_CHANNELCONFIGURATION']._serialized_end=5558 + _globals['_LORAMODULATIONCONFIG']._serialized_start=5560 + _globals['_LORAMODULATIONCONFIG']._serialized_end=5654 + _globals['_FSKMODULATIONCONFIG']._serialized_start=5656 + _globals['_FSKMODULATIONCONFIG']._serialized_end=5739 + _globals['_GATEWAYCOMMANDEXECREQUEST']._serialized_start=5742 + _globals['_GATEWAYCOMMANDEXECREQUEST']._serialized_end=5986 + _globals['_GATEWAYCOMMANDEXECREQUEST_ENVIRONMENTENTRY']._serialized_start=5936 + _globals['_GATEWAYCOMMANDEXECREQUEST_ENVIRONMENTENTRY']._serialized_end=5986 + _globals['_GATEWAYCOMMANDEXECRESPONSE']._serialized_start=5989 + _globals['_GATEWAYCOMMANDEXECRESPONSE']._serialized_end=6128 + _globals['_RAWPACKETFORWARDEREVENT']._serialized_start=6130 + _globals['_RAWPACKETFORWARDEREVENT']._serialized_end=6219 + _globals['_RAWPACKETFORWARDERCOMMAND']._serialized_start=6221 + _globals['_RAWPACKETFORWARDERCOMMAND']._serialized_end=6312 + _globals['_CONNSTATE']._serialized_start=6315 + _globals['_CONNSTATE']._serialized_end=6443 + _globals['_CONNSTATE_STATE']._serialized_start=6411 + _globals['_CONNSTATE_STATE']._serialized_end=6443 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/gw/gw_pb2.pyi b/api/python/src/chirpstack_api/gw/gw_pb2.pyi index f1bd9795..43779cf4 100644 --- a/api/python/src/chirpstack_api/gw/gw_pb2.pyi +++ b/api/python/src/chirpstack_api/gw/gw_pb2.pyi @@ -8,168 +8,154 @@ from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union -BAD_CRC: CRCStatus -COLLISION_BEACON: TxAckStatus -COLLISION_PACKET: TxAckStatus -CRC_OK: CRCStatus -CR_1_4: CodeRate -CR_1_6: CodeRate -CR_2_6: CodeRate -CR_3_8: CodeRate +DESCRIPTOR: _descriptor.FileDescriptor + +class CodeRate(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + CR_UNDEFINED: _ClassVar[CodeRate] + CR_4_5: _ClassVar[CodeRate] + CR_4_6: _ClassVar[CodeRate] + CR_4_7: _ClassVar[CodeRate] + CR_4_8: _ClassVar[CodeRate] + CR_3_8: _ClassVar[CodeRate] + CR_2_6: _ClassVar[CodeRate] + CR_1_4: _ClassVar[CodeRate] + CR_1_6: _ClassVar[CodeRate] + CR_5_6: _ClassVar[CodeRate] + CR_LI_4_5: _ClassVar[CodeRate] + CR_LI_4_6: _ClassVar[CodeRate] + CR_LI_4_8: _ClassVar[CodeRate] + +class DownlinkTiming(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + IMMEDIATELY: _ClassVar[DownlinkTiming] + DELAY: _ClassVar[DownlinkTiming] + GPS_EPOCH: _ClassVar[DownlinkTiming] + +class FineTimestampType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + NONE: _ClassVar[FineTimestampType] + ENCRYPTED: _ClassVar[FineTimestampType] + PLAIN: _ClassVar[FineTimestampType] + +class CRCStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + NO_CRC: _ClassVar[CRCStatus] + BAD_CRC: _ClassVar[CRCStatus] + CRC_OK: _ClassVar[CRCStatus] + +class TxAckStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + IGNORED: _ClassVar[TxAckStatus] + OK: _ClassVar[TxAckStatus] + TOO_LATE: _ClassVar[TxAckStatus] + TOO_EARLY: _ClassVar[TxAckStatus] + COLLISION_PACKET: _ClassVar[TxAckStatus] + COLLISION_BEACON: _ClassVar[TxAckStatus] + TX_FREQ: _ClassVar[TxAckStatus] + TX_POWER: _ClassVar[TxAckStatus] + GPS_UNLOCKED: _ClassVar[TxAckStatus] + QUEUE_FULL: _ClassVar[TxAckStatus] + INTERNAL_ERROR: _ClassVar[TxAckStatus] +CR_UNDEFINED: CodeRate CR_4_5: CodeRate CR_4_6: CodeRate CR_4_7: CodeRate CR_4_8: CodeRate +CR_3_8: CodeRate +CR_2_6: CodeRate +CR_1_4: CodeRate +CR_1_6: CodeRate CR_5_6: CodeRate CR_LI_4_5: CodeRate CR_LI_4_6: CodeRate CR_LI_4_8: CodeRate -CR_UNDEFINED: CodeRate -DELAY: DownlinkTiming -DESCRIPTOR: _descriptor.FileDescriptor -ENCRYPTED: FineTimestampType -GPS_EPOCH: DownlinkTiming -GPS_UNLOCKED: TxAckStatus -IGNORED: TxAckStatus IMMEDIATELY: DownlinkTiming -INTERNAL_ERROR: TxAckStatus +DELAY: DownlinkTiming +GPS_EPOCH: DownlinkTiming NONE: FineTimestampType -NO_CRC: CRCStatus -OK: TxAckStatus +ENCRYPTED: FineTimestampType PLAIN: FineTimestampType -QUEUE_FULL: TxAckStatus -TOO_EARLY: TxAckStatus +NO_CRC: CRCStatus +BAD_CRC: CRCStatus +CRC_OK: CRCStatus +IGNORED: TxAckStatus +OK: TxAckStatus TOO_LATE: TxAckStatus +TOO_EARLY: TxAckStatus +COLLISION_PACKET: TxAckStatus +COLLISION_BEACON: TxAckStatus TX_FREQ: TxAckStatus TX_POWER: TxAckStatus +GPS_UNLOCKED: TxAckStatus +QUEUE_FULL: TxAckStatus +INTERNAL_ERROR: TxAckStatus -class ChannelConfiguration(_message.Message): - __slots__ = ["board", "demodulator", "frequency", "fsk_modulation_config", "lora_modulation_config", "modulation_legacy"] - BOARD_FIELD_NUMBER: _ClassVar[int] - DEMODULATOR_FIELD_NUMBER: _ClassVar[int] - FREQUENCY_FIELD_NUMBER: _ClassVar[int] - FSK_MODULATION_CONFIG_FIELD_NUMBER: _ClassVar[int] - LORA_MODULATION_CONFIG_FIELD_NUMBER: _ClassVar[int] - MODULATION_LEGACY_FIELD_NUMBER: _ClassVar[int] - board: int - demodulator: int - frequency: int - fsk_modulation_config: FskModulationConfig - lora_modulation_config: LoraModulationConfig - modulation_legacy: _common_pb2.Modulation - def __init__(self, frequency: _Optional[int] = ..., modulation_legacy: _Optional[_Union[_common_pb2.Modulation, str]] = ..., lora_modulation_config: _Optional[_Union[LoraModulationConfig, _Mapping]] = ..., fsk_modulation_config: _Optional[_Union[FskModulationConfig, _Mapping]] = ..., board: _Optional[int] = ..., demodulator: _Optional[int] = ...) -> None: ... +class Modulation(_message.Message): + __slots__ = ["lora", "fsk", "lr_fhss"] + LORA_FIELD_NUMBER: _ClassVar[int] + FSK_FIELD_NUMBER: _ClassVar[int] + LR_FHSS_FIELD_NUMBER: _ClassVar[int] + lora: LoraModulationInfo + fsk: FskModulationInfo + lr_fhss: LrFhssModulationInfo + def __init__(self, lora: _Optional[_Union[LoraModulationInfo, _Mapping]] = ..., fsk: _Optional[_Union[FskModulationInfo, _Mapping]] = ..., lr_fhss: _Optional[_Union[LrFhssModulationInfo, _Mapping]] = ...) -> None: ... -class ConnState(_message.Message): - __slots__ = ["gateway_id", "gateway_id_legacy", "state"] - class State(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] - OFFLINE: ConnState.State - ONLINE: ConnState.State - STATE_FIELD_NUMBER: _ClassVar[int] - gateway_id: str - gateway_id_legacy: bytes - state: ConnState.State - def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., state: _Optional[_Union[ConnState.State, str]] = ...) -> None: ... - -class DelayTimingInfo(_message.Message): - __slots__ = ["delay"] - DELAY_FIELD_NUMBER: _ClassVar[int] - delay: _duration_pb2.Duration - def __init__(self, delay: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... - -class DownlinkFrame(_message.Message): - __slots__ = ["downlink_id", "downlink_id_legacy", "gateway_id", "gateway_id_legacy", "items"] - DOWNLINK_ID_FIELD_NUMBER: _ClassVar[int] - DOWNLINK_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] - ITEMS_FIELD_NUMBER: _ClassVar[int] - downlink_id: int - downlink_id_legacy: bytes - gateway_id: str - gateway_id_legacy: bytes - items: _containers.RepeatedCompositeFieldContainer[DownlinkFrameItem] - def __init__(self, downlink_id: _Optional[int] = ..., downlink_id_legacy: _Optional[bytes] = ..., items: _Optional[_Iterable[_Union[DownlinkFrameItem, _Mapping]]] = ..., gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ...) -> None: ... - -class DownlinkFrameItem(_message.Message): - __slots__ = ["phy_payload", "tx_info", "tx_info_legacy"] - PHY_PAYLOAD_FIELD_NUMBER: _ClassVar[int] - TX_INFO_FIELD_NUMBER: _ClassVar[int] - TX_INFO_LEGACY_FIELD_NUMBER: _ClassVar[int] - phy_payload: bytes - tx_info: DownlinkTxInfo - tx_info_legacy: DownlinkTxInfoLegacy - def __init__(self, phy_payload: _Optional[bytes] = ..., tx_info_legacy: _Optional[_Union[DownlinkTxInfoLegacy, _Mapping]] = ..., tx_info: _Optional[_Union[DownlinkTxInfo, _Mapping]] = ...) -> None: ... - -class DownlinkTxAck(_message.Message): - __slots__ = ["downlink_id", "downlink_id_legacy", "gateway_id", "gateway_id_legacy", "items"] - DOWNLINK_ID_FIELD_NUMBER: _ClassVar[int] - DOWNLINK_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] - ITEMS_FIELD_NUMBER: _ClassVar[int] - downlink_id: int - downlink_id_legacy: bytes - gateway_id: str - gateway_id_legacy: bytes - items: _containers.RepeatedCompositeFieldContainer[DownlinkTxAckItem] - def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., downlink_id: _Optional[int] = ..., downlink_id_legacy: _Optional[bytes] = ..., items: _Optional[_Iterable[_Union[DownlinkTxAckItem, _Mapping]]] = ...) -> None: ... - -class DownlinkTxAckItem(_message.Message): - __slots__ = ["status"] - STATUS_FIELD_NUMBER: _ClassVar[int] - status: TxAckStatus - def __init__(self, status: _Optional[_Union[TxAckStatus, str]] = ...) -> None: ... - -class DownlinkTxInfo(_message.Message): - __slots__ = ["antenna", "board", "context", "frequency", "modulation", "power", "timing"] - ANTENNA_FIELD_NUMBER: _ClassVar[int] - BOARD_FIELD_NUMBER: _ClassVar[int] - CONTEXT_FIELD_NUMBER: _ClassVar[int] +class UplinkTxInfoLegacy(_message.Message): + __slots__ = ["frequency", "modulation", "lora_modulation_info", "fsk_modulation_info", "lr_fhss_modulation_info"] + FREQUENCY_FIELD_NUMBER: _ClassVar[int] + MODULATION_FIELD_NUMBER: _ClassVar[int] + LORA_MODULATION_INFO_FIELD_NUMBER: _ClassVar[int] + FSK_MODULATION_INFO_FIELD_NUMBER: _ClassVar[int] + LR_FHSS_MODULATION_INFO_FIELD_NUMBER: _ClassVar[int] + frequency: int + modulation: _common_pb2.Modulation + lora_modulation_info: LoraModulationInfo + fsk_modulation_info: FskModulationInfo + lr_fhss_modulation_info: LrFhssModulationInfo + def __init__(self, frequency: _Optional[int] = ..., modulation: _Optional[_Union[_common_pb2.Modulation, str]] = ..., lora_modulation_info: _Optional[_Union[LoraModulationInfo, _Mapping]] = ..., fsk_modulation_info: _Optional[_Union[FskModulationInfo, _Mapping]] = ..., lr_fhss_modulation_info: _Optional[_Union[LrFhssModulationInfo, _Mapping]] = ...) -> None: ... + +class UplinkTxInfo(_message.Message): + __slots__ = ["frequency", "modulation"] FREQUENCY_FIELD_NUMBER: _ClassVar[int] MODULATION_FIELD_NUMBER: _ClassVar[int] - POWER_FIELD_NUMBER: _ClassVar[int] - TIMING_FIELD_NUMBER: _ClassVar[int] - antenna: int - board: int - context: bytes frequency: int modulation: Modulation - power: int - timing: Timing - def __init__(self, frequency: _Optional[int] = ..., power: _Optional[int] = ..., modulation: _Optional[_Union[Modulation, _Mapping]] = ..., board: _Optional[int] = ..., antenna: _Optional[int] = ..., timing: _Optional[_Union[Timing, _Mapping]] = ..., context: _Optional[bytes] = ...) -> None: ... + def __init__(self, frequency: _Optional[int] = ..., modulation: _Optional[_Union[Modulation, _Mapping]] = ...) -> None: ... -class DownlinkTxInfoLegacy(_message.Message): - __slots__ = ["antenna", "board", "context", "delay_timing_info", "frequency", "fsk_modulation_info", "gateway_id", "gps_epoch_timing_info", "immediately_timing_info", "lora_modulation_info", "modulation", "power", "timing"] - ANTENNA_FIELD_NUMBER: _ClassVar[int] - BOARD_FIELD_NUMBER: _ClassVar[int] - CONTEXT_FIELD_NUMBER: _ClassVar[int] - DELAY_TIMING_INFO_FIELD_NUMBER: _ClassVar[int] - FREQUENCY_FIELD_NUMBER: _ClassVar[int] - FSK_MODULATION_INFO_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - GPS_EPOCH_TIMING_INFO_FIELD_NUMBER: _ClassVar[int] - IMMEDIATELY_TIMING_INFO_FIELD_NUMBER: _ClassVar[int] - LORA_MODULATION_INFO_FIELD_NUMBER: _ClassVar[int] - MODULATION_FIELD_NUMBER: _ClassVar[int] - POWER_FIELD_NUMBER: _ClassVar[int] - TIMING_FIELD_NUMBER: _ClassVar[int] - antenna: int - board: int - context: bytes - delay_timing_info: DelayTimingInfo - frequency: int - fsk_modulation_info: FskModulationInfo - gateway_id: bytes - gps_epoch_timing_info: GPSEpochTimingInfo - immediately_timing_info: ImmediatelyTimingInfo - lora_modulation_info: LoraModulationInfo - modulation: _common_pb2.Modulation - power: int - timing: DownlinkTiming - def __init__(self, gateway_id: _Optional[bytes] = ..., frequency: _Optional[int] = ..., power: _Optional[int] = ..., modulation: _Optional[_Union[_common_pb2.Modulation, str]] = ..., lora_modulation_info: _Optional[_Union[LoraModulationInfo, _Mapping]] = ..., fsk_modulation_info: _Optional[_Union[FskModulationInfo, _Mapping]] = ..., board: _Optional[int] = ..., antenna: _Optional[int] = ..., timing: _Optional[_Union[DownlinkTiming, str]] = ..., immediately_timing_info: _Optional[_Union[ImmediatelyTimingInfo, _Mapping]] = ..., delay_timing_info: _Optional[_Union[DelayTimingInfo, _Mapping]] = ..., gps_epoch_timing_info: _Optional[_Union[GPSEpochTimingInfo, _Mapping]] = ..., context: _Optional[bytes] = ...) -> None: ... +class LoraModulationInfo(_message.Message): + __slots__ = ["bandwidth", "spreading_factor", "code_rate_legacy", "code_rate", "polarization_inversion"] + BANDWIDTH_FIELD_NUMBER: _ClassVar[int] + SPREADING_FACTOR_FIELD_NUMBER: _ClassVar[int] + CODE_RATE_LEGACY_FIELD_NUMBER: _ClassVar[int] + CODE_RATE_FIELD_NUMBER: _ClassVar[int] + POLARIZATION_INVERSION_FIELD_NUMBER: _ClassVar[int] + bandwidth: int + spreading_factor: int + code_rate_legacy: str + code_rate: CodeRate + polarization_inversion: bool + def __init__(self, bandwidth: _Optional[int] = ..., spreading_factor: _Optional[int] = ..., code_rate_legacy: _Optional[str] = ..., code_rate: _Optional[_Union[CodeRate, str]] = ..., polarization_inversion: bool = ...) -> None: ... + +class FskModulationInfo(_message.Message): + __slots__ = ["frequency_deviation", "datarate"] + FREQUENCY_DEVIATION_FIELD_NUMBER: _ClassVar[int] + DATARATE_FIELD_NUMBER: _ClassVar[int] + frequency_deviation: int + datarate: int + def __init__(self, frequency_deviation: _Optional[int] = ..., datarate: _Optional[int] = ...) -> None: ... + +class LrFhssModulationInfo(_message.Message): + __slots__ = ["operating_channel_width", "code_rate_legacy", "code_rate", "grid_steps"] + OPERATING_CHANNEL_WIDTH_FIELD_NUMBER: _ClassVar[int] + CODE_RATE_LEGACY_FIELD_NUMBER: _ClassVar[int] + CODE_RATE_FIELD_NUMBER: _ClassVar[int] + GRID_STEPS_FIELD_NUMBER: _ClassVar[int] + operating_channel_width: int + code_rate_legacy: str + code_rate: CodeRate + grid_steps: int + def __init__(self, operating_channel_width: _Optional[int] = ..., code_rate_legacy: _Optional[str] = ..., code_rate: _Optional[_Union[CodeRate, str]] = ..., grid_steps: _Optional[int] = ...) -> None: ... class EncryptedFineTimestamp(_message.Message): __slots__ = ["aes_key_index", "encrypted_ns", "fpga_id"] @@ -181,85 +167,14 @@ class EncryptedFineTimestamp(_message.Message): fpga_id: bytes def __init__(self, aes_key_index: _Optional[int] = ..., encrypted_ns: _Optional[bytes] = ..., fpga_id: _Optional[bytes] = ...) -> None: ... -class FskModulationConfig(_message.Message): - __slots__ = ["bandwidth", "bandwidth_legacy", "bitrate"] - BANDWIDTH_FIELD_NUMBER: _ClassVar[int] - BANDWIDTH_LEGACY_FIELD_NUMBER: _ClassVar[int] - BITRATE_FIELD_NUMBER: _ClassVar[int] - bandwidth: int - bandwidth_legacy: int - bitrate: int - def __init__(self, bandwidth_legacy: _Optional[int] = ..., bandwidth: _Optional[int] = ..., bitrate: _Optional[int] = ...) -> None: ... - -class FskModulationInfo(_message.Message): - __slots__ = ["datarate", "frequency_deviation"] - DATARATE_FIELD_NUMBER: _ClassVar[int] - FREQUENCY_DEVIATION_FIELD_NUMBER: _ClassVar[int] - datarate: int - frequency_deviation: int - def __init__(self, frequency_deviation: _Optional[int] = ..., datarate: _Optional[int] = ...) -> None: ... - -class GPSEpochTimingInfo(_message.Message): - __slots__ = ["time_since_gps_epoch"] - TIME_SINCE_GPS_EPOCH_FIELD_NUMBER: _ClassVar[int] - time_since_gps_epoch: _duration_pb2.Duration - def __init__(self, time_since_gps_epoch: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... - -class GatewayCommandExecRequest(_message.Message): - __slots__ = ["command", "environment", "exec_id", "gateway_id", "gateway_id_legacy", "stdin"] - class EnvironmentEntry(_message.Message): - __slots__ = ["key", "value"] - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: str - value: str - def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - COMMAND_FIELD_NUMBER: _ClassVar[int] - ENVIRONMENT_FIELD_NUMBER: _ClassVar[int] - EXEC_ID_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] - STDIN_FIELD_NUMBER: _ClassVar[int] - command: str - environment: _containers.ScalarMap[str, str] - exec_id: int - gateway_id: str - gateway_id_legacy: bytes - stdin: bytes - def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., command: _Optional[str] = ..., exec_id: _Optional[int] = ..., stdin: _Optional[bytes] = ..., environment: _Optional[_Mapping[str, str]] = ...) -> None: ... - -class GatewayCommandExecResponse(_message.Message): - __slots__ = ["error", "exec_id", "gateway_id", "gateway_id_legacy", "stderr", "stdout"] - ERROR_FIELD_NUMBER: _ClassVar[int] - EXEC_ID_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] - STDERR_FIELD_NUMBER: _ClassVar[int] - STDOUT_FIELD_NUMBER: _ClassVar[int] - error: str - exec_id: int - gateway_id: str - gateway_id_legacy: bytes - stderr: bytes - stdout: bytes - def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., exec_id: _Optional[int] = ..., stdout: _Optional[bytes] = ..., stderr: _Optional[bytes] = ..., error: _Optional[str] = ...) -> None: ... - -class GatewayConfiguration(_message.Message): - __slots__ = ["channels", "gateway_id", "gateway_id_legacy", "stats_interval", "version"] - CHANNELS_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] - STATS_INTERVAL_FIELD_NUMBER: _ClassVar[int] - VERSION_FIELD_NUMBER: _ClassVar[int] - channels: _containers.RepeatedCompositeFieldContainer[ChannelConfiguration] - gateway_id: str - gateway_id_legacy: bytes - stats_interval: _duration_pb2.Duration - version: str - def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., version: _Optional[str] = ..., channels: _Optional[_Iterable[_Union[ChannelConfiguration, _Mapping]]] = ..., stats_interval: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... +class PlainFineTimestamp(_message.Message): + __slots__ = ["time"] + TIME_FIELD_NUMBER: _ClassVar[int] + time: _timestamp_pb2.Timestamp + def __init__(self, time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class GatewayStats(_message.Message): - __slots__ = ["config_version", "gateway_id", "gateway_id_legacy", "location", "metadata", "rx_packets_per_frequency", "rx_packets_per_modulation", "rx_packets_received", "rx_packets_received_ok", "time", "tx_packets_emitted", "tx_packets_per_frequency", "tx_packets_per_modulation", "tx_packets_per_status", "tx_packets_received"] + __slots__ = ["gateway_id_legacy", "gateway_id", "time", "location", "config_version", "rx_packets_received", "rx_packets_received_ok", "tx_packets_received", "tx_packets_emitted", "metadata", "tx_packets_per_frequency", "rx_packets_per_frequency", "tx_packets_per_modulation", "rx_packets_per_modulation", "tx_packets_per_status"] class MetadataEntry(_message.Message): __slots__ = ["key", "value"] KEY_FIELD_NUMBER: _ClassVar[int] @@ -267,14 +182,14 @@ class GatewayStats(_message.Message): key: str value: str def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - class RxPacketsPerFrequencyEntry(_message.Message): + class TxPacketsPerFrequencyEntry(_message.Message): __slots__ = ["key", "value"] KEY_FIELD_NUMBER: _ClassVar[int] VALUE_FIELD_NUMBER: _ClassVar[int] key: int value: int def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ... - class TxPacketsPerFrequencyEntry(_message.Message): + class RxPacketsPerFrequencyEntry(_message.Message): __slots__ = ["key", "value"] KEY_FIELD_NUMBER: _ClassVar[int] VALUE_FIELD_NUMBER: _ClassVar[int] @@ -288,275 +203,395 @@ class GatewayStats(_message.Message): key: str value: int def __init__(self, key: _Optional[str] = ..., value: _Optional[int] = ...) -> None: ... - CONFIG_VERSION_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + TIME_FIELD_NUMBER: _ClassVar[int] LOCATION_FIELD_NUMBER: _ClassVar[int] - METADATA_FIELD_NUMBER: _ClassVar[int] - RX_PACKETS_PER_FREQUENCY_FIELD_NUMBER: _ClassVar[int] - RX_PACKETS_PER_MODULATION_FIELD_NUMBER: _ClassVar[int] + CONFIG_VERSION_FIELD_NUMBER: _ClassVar[int] RX_PACKETS_RECEIVED_FIELD_NUMBER: _ClassVar[int] RX_PACKETS_RECEIVED_OK_FIELD_NUMBER: _ClassVar[int] - TIME_FIELD_NUMBER: _ClassVar[int] - TX_PACKETS_EMITTED_FIELD_NUMBER: _ClassVar[int] - TX_PACKETS_PER_FREQUENCY_FIELD_NUMBER: _ClassVar[int] - TX_PACKETS_PER_MODULATION_FIELD_NUMBER: _ClassVar[int] - TX_PACKETS_PER_STATUS_FIELD_NUMBER: _ClassVar[int] TX_PACKETS_RECEIVED_FIELD_NUMBER: _ClassVar[int] - config_version: str - gateway_id: str + TX_PACKETS_EMITTED_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] + TX_PACKETS_PER_FREQUENCY_FIELD_NUMBER: _ClassVar[int] + RX_PACKETS_PER_FREQUENCY_FIELD_NUMBER: _ClassVar[int] + TX_PACKETS_PER_MODULATION_FIELD_NUMBER: _ClassVar[int] + RX_PACKETS_PER_MODULATION_FIELD_NUMBER: _ClassVar[int] + TX_PACKETS_PER_STATUS_FIELD_NUMBER: _ClassVar[int] gateway_id_legacy: bytes + gateway_id: str + time: _timestamp_pb2.Timestamp location: _common_pb2.Location - metadata: _containers.ScalarMap[str, str] - rx_packets_per_frequency: _containers.ScalarMap[int, int] - rx_packets_per_modulation: _containers.RepeatedCompositeFieldContainer[PerModulationCount] + config_version: str rx_packets_received: int rx_packets_received_ok: int - time: _timestamp_pb2.Timestamp - tx_packets_emitted: int - tx_packets_per_frequency: _containers.ScalarMap[int, int] - tx_packets_per_modulation: _containers.RepeatedCompositeFieldContainer[PerModulationCount] - tx_packets_per_status: _containers.ScalarMap[str, int] tx_packets_received: int + tx_packets_emitted: int + metadata: _containers.ScalarMap[str, str] + tx_packets_per_frequency: _containers.ScalarMap[int, int] + rx_packets_per_frequency: _containers.ScalarMap[int, int] + tx_packets_per_modulation: _containers.RepeatedCompositeFieldContainer[PerModulationCount] + rx_packets_per_modulation: _containers.RepeatedCompositeFieldContainer[PerModulationCount] + tx_packets_per_status: _containers.ScalarMap[str, int] def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ..., config_version: _Optional[str] = ..., rx_packets_received: _Optional[int] = ..., rx_packets_received_ok: _Optional[int] = ..., tx_packets_received: _Optional[int] = ..., tx_packets_emitted: _Optional[int] = ..., metadata: _Optional[_Mapping[str, str]] = ..., tx_packets_per_frequency: _Optional[_Mapping[int, int]] = ..., rx_packets_per_frequency: _Optional[_Mapping[int, int]] = ..., tx_packets_per_modulation: _Optional[_Iterable[_Union[PerModulationCount, _Mapping]]] = ..., rx_packets_per_modulation: _Optional[_Iterable[_Union[PerModulationCount, _Mapping]]] = ..., tx_packets_per_status: _Optional[_Mapping[str, int]] = ...) -> None: ... +class PerModulationCount(_message.Message): + __slots__ = ["modulation", "count"] + MODULATION_FIELD_NUMBER: _ClassVar[int] + COUNT_FIELD_NUMBER: _ClassVar[int] + modulation: Modulation + count: int + def __init__(self, modulation: _Optional[_Union[Modulation, _Mapping]] = ..., count: _Optional[int] = ...) -> None: ... + +class UplinkRxInfoLegacy(_message.Message): + __slots__ = ["gateway_id", "time", "time_since_gps_epoch", "rssi", "lora_snr", "channel", "rf_chain", "board", "antenna", "location", "fine_timestamp_type", "encrypted_fine_timestamp", "plain_fine_timestamp", "context", "uplink_id", "crc_status", "metadata"] + class MetadataEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + TIME_FIELD_NUMBER: _ClassVar[int] + TIME_SINCE_GPS_EPOCH_FIELD_NUMBER: _ClassVar[int] + RSSI_FIELD_NUMBER: _ClassVar[int] + LORA_SNR_FIELD_NUMBER: _ClassVar[int] + CHANNEL_FIELD_NUMBER: _ClassVar[int] + RF_CHAIN_FIELD_NUMBER: _ClassVar[int] + BOARD_FIELD_NUMBER: _ClassVar[int] + ANTENNA_FIELD_NUMBER: _ClassVar[int] + LOCATION_FIELD_NUMBER: _ClassVar[int] + FINE_TIMESTAMP_TYPE_FIELD_NUMBER: _ClassVar[int] + ENCRYPTED_FINE_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + PLAIN_FINE_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + CONTEXT_FIELD_NUMBER: _ClassVar[int] + UPLINK_ID_FIELD_NUMBER: _ClassVar[int] + CRC_STATUS_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] + gateway_id: bytes + time: _timestamp_pb2.Timestamp + time_since_gps_epoch: _duration_pb2.Duration + rssi: int + lora_snr: float + channel: int + rf_chain: int + board: int + antenna: int + location: _common_pb2.Location + fine_timestamp_type: FineTimestampType + encrypted_fine_timestamp: EncryptedFineTimestamp + plain_fine_timestamp: PlainFineTimestamp + context: bytes + uplink_id: bytes + crc_status: CRCStatus + metadata: _containers.ScalarMap[str, str] + def __init__(self, gateway_id: _Optional[bytes] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., time_since_gps_epoch: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., rssi: _Optional[int] = ..., lora_snr: _Optional[float] = ..., channel: _Optional[int] = ..., rf_chain: _Optional[int] = ..., board: _Optional[int] = ..., antenna: _Optional[int] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ..., fine_timestamp_type: _Optional[_Union[FineTimestampType, str]] = ..., encrypted_fine_timestamp: _Optional[_Union[EncryptedFineTimestamp, _Mapping]] = ..., plain_fine_timestamp: _Optional[_Union[PlainFineTimestamp, _Mapping]] = ..., context: _Optional[bytes] = ..., uplink_id: _Optional[bytes] = ..., crc_status: _Optional[_Union[CRCStatus, str]] = ..., metadata: _Optional[_Mapping[str, str]] = ...) -> None: ... + +class UplinkRxInfo(_message.Message): + __slots__ = ["gateway_id", "uplink_id", "time", "time_since_gps_epoch", "fine_time_since_gps_epoch", "rssi", "snr", "channel", "rf_chain", "board", "antenna", "location", "context", "metadata", "crc_status"] + class MetadataEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + UPLINK_ID_FIELD_NUMBER: _ClassVar[int] + TIME_FIELD_NUMBER: _ClassVar[int] + TIME_SINCE_GPS_EPOCH_FIELD_NUMBER: _ClassVar[int] + FINE_TIME_SINCE_GPS_EPOCH_FIELD_NUMBER: _ClassVar[int] + RSSI_FIELD_NUMBER: _ClassVar[int] + SNR_FIELD_NUMBER: _ClassVar[int] + CHANNEL_FIELD_NUMBER: _ClassVar[int] + RF_CHAIN_FIELD_NUMBER: _ClassVar[int] + BOARD_FIELD_NUMBER: _ClassVar[int] + ANTENNA_FIELD_NUMBER: _ClassVar[int] + LOCATION_FIELD_NUMBER: _ClassVar[int] + CONTEXT_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] + CRC_STATUS_FIELD_NUMBER: _ClassVar[int] + gateway_id: str + uplink_id: int + time: _timestamp_pb2.Timestamp + time_since_gps_epoch: _duration_pb2.Duration + fine_time_since_gps_epoch: _duration_pb2.Duration + rssi: int + snr: float + channel: int + rf_chain: int + board: int + antenna: int + location: _common_pb2.Location + context: bytes + metadata: _containers.ScalarMap[str, str] + crc_status: CRCStatus + def __init__(self, gateway_id: _Optional[str] = ..., uplink_id: _Optional[int] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., time_since_gps_epoch: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., fine_time_since_gps_epoch: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., rssi: _Optional[int] = ..., snr: _Optional[float] = ..., channel: _Optional[int] = ..., rf_chain: _Optional[int] = ..., board: _Optional[int] = ..., antenna: _Optional[int] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ..., context: _Optional[bytes] = ..., metadata: _Optional[_Mapping[str, str]] = ..., crc_status: _Optional[_Union[CRCStatus, str]] = ...) -> None: ... + +class DownlinkTxInfoLegacy(_message.Message): + __slots__ = ["gateway_id", "frequency", "power", "modulation", "lora_modulation_info", "fsk_modulation_info", "board", "antenna", "timing", "immediately_timing_info", "delay_timing_info", "gps_epoch_timing_info", "context"] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + FREQUENCY_FIELD_NUMBER: _ClassVar[int] + POWER_FIELD_NUMBER: _ClassVar[int] + MODULATION_FIELD_NUMBER: _ClassVar[int] + LORA_MODULATION_INFO_FIELD_NUMBER: _ClassVar[int] + FSK_MODULATION_INFO_FIELD_NUMBER: _ClassVar[int] + BOARD_FIELD_NUMBER: _ClassVar[int] + ANTENNA_FIELD_NUMBER: _ClassVar[int] + TIMING_FIELD_NUMBER: _ClassVar[int] + IMMEDIATELY_TIMING_INFO_FIELD_NUMBER: _ClassVar[int] + DELAY_TIMING_INFO_FIELD_NUMBER: _ClassVar[int] + GPS_EPOCH_TIMING_INFO_FIELD_NUMBER: _ClassVar[int] + CONTEXT_FIELD_NUMBER: _ClassVar[int] + gateway_id: bytes + frequency: int + power: int + modulation: _common_pb2.Modulation + lora_modulation_info: LoraModulationInfo + fsk_modulation_info: FskModulationInfo + board: int + antenna: int + timing: DownlinkTiming + immediately_timing_info: ImmediatelyTimingInfo + delay_timing_info: DelayTimingInfo + gps_epoch_timing_info: GPSEpochTimingInfo + context: bytes + def __init__(self, gateway_id: _Optional[bytes] = ..., frequency: _Optional[int] = ..., power: _Optional[int] = ..., modulation: _Optional[_Union[_common_pb2.Modulation, str]] = ..., lora_modulation_info: _Optional[_Union[LoraModulationInfo, _Mapping]] = ..., fsk_modulation_info: _Optional[_Union[FskModulationInfo, _Mapping]] = ..., board: _Optional[int] = ..., antenna: _Optional[int] = ..., timing: _Optional[_Union[DownlinkTiming, str]] = ..., immediately_timing_info: _Optional[_Union[ImmediatelyTimingInfo, _Mapping]] = ..., delay_timing_info: _Optional[_Union[DelayTimingInfo, _Mapping]] = ..., gps_epoch_timing_info: _Optional[_Union[GPSEpochTimingInfo, _Mapping]] = ..., context: _Optional[bytes] = ...) -> None: ... + +class DownlinkTxInfo(_message.Message): + __slots__ = ["frequency", "power", "modulation", "board", "antenna", "timing", "context"] + FREQUENCY_FIELD_NUMBER: _ClassVar[int] + POWER_FIELD_NUMBER: _ClassVar[int] + MODULATION_FIELD_NUMBER: _ClassVar[int] + BOARD_FIELD_NUMBER: _ClassVar[int] + ANTENNA_FIELD_NUMBER: _ClassVar[int] + TIMING_FIELD_NUMBER: _ClassVar[int] + CONTEXT_FIELD_NUMBER: _ClassVar[int] + frequency: int + power: int + modulation: Modulation + board: int + antenna: int + timing: Timing + context: bytes + def __init__(self, frequency: _Optional[int] = ..., power: _Optional[int] = ..., modulation: _Optional[_Union[Modulation, _Mapping]] = ..., board: _Optional[int] = ..., antenna: _Optional[int] = ..., timing: _Optional[_Union[Timing, _Mapping]] = ..., context: _Optional[bytes] = ...) -> None: ... + +class Timing(_message.Message): + __slots__ = ["immediately", "delay", "gps_epoch"] + IMMEDIATELY_FIELD_NUMBER: _ClassVar[int] + DELAY_FIELD_NUMBER: _ClassVar[int] + GPS_EPOCH_FIELD_NUMBER: _ClassVar[int] + immediately: ImmediatelyTimingInfo + delay: DelayTimingInfo + gps_epoch: GPSEpochTimingInfo + def __init__(self, immediately: _Optional[_Union[ImmediatelyTimingInfo, _Mapping]] = ..., delay: _Optional[_Union[DelayTimingInfo, _Mapping]] = ..., gps_epoch: _Optional[_Union[GPSEpochTimingInfo, _Mapping]] = ...) -> None: ... + class ImmediatelyTimingInfo(_message.Message): __slots__ = [] def __init__(self) -> None: ... -class LoraModulationConfig(_message.Message): - __slots__ = ["bandwidth", "bandwidth_legacy", "spreading_factors"] - BANDWIDTH_FIELD_NUMBER: _ClassVar[int] - BANDWIDTH_LEGACY_FIELD_NUMBER: _ClassVar[int] - SPREADING_FACTORS_FIELD_NUMBER: _ClassVar[int] - bandwidth: int - bandwidth_legacy: int - spreading_factors: _containers.RepeatedScalarFieldContainer[int] - def __init__(self, bandwidth_legacy: _Optional[int] = ..., bandwidth: _Optional[int] = ..., spreading_factors: _Optional[_Iterable[int]] = ...) -> None: ... - -class LoraModulationInfo(_message.Message): - __slots__ = ["bandwidth", "code_rate", "code_rate_legacy", "polarization_inversion", "spreading_factor"] - BANDWIDTH_FIELD_NUMBER: _ClassVar[int] - CODE_RATE_FIELD_NUMBER: _ClassVar[int] - CODE_RATE_LEGACY_FIELD_NUMBER: _ClassVar[int] - POLARIZATION_INVERSION_FIELD_NUMBER: _ClassVar[int] - SPREADING_FACTOR_FIELD_NUMBER: _ClassVar[int] - bandwidth: int - code_rate: CodeRate - code_rate_legacy: str - polarization_inversion: bool - spreading_factor: int - def __init__(self, bandwidth: _Optional[int] = ..., spreading_factor: _Optional[int] = ..., code_rate_legacy: _Optional[str] = ..., code_rate: _Optional[_Union[CodeRate, str]] = ..., polarization_inversion: bool = ...) -> None: ... - -class LrFhssModulationInfo(_message.Message): - __slots__ = ["code_rate", "code_rate_legacy", "grid_steps", "operating_channel_width"] - CODE_RATE_FIELD_NUMBER: _ClassVar[int] - CODE_RATE_LEGACY_FIELD_NUMBER: _ClassVar[int] - GRID_STEPS_FIELD_NUMBER: _ClassVar[int] - OPERATING_CHANNEL_WIDTH_FIELD_NUMBER: _ClassVar[int] - code_rate: CodeRate - code_rate_legacy: str - grid_steps: int - operating_channel_width: int - def __init__(self, operating_channel_width: _Optional[int] = ..., code_rate_legacy: _Optional[str] = ..., code_rate: _Optional[_Union[CodeRate, str]] = ..., grid_steps: _Optional[int] = ...) -> None: ... - -class Modulation(_message.Message): - __slots__ = ["fsk", "lora", "lr_fhss"] - FSK_FIELD_NUMBER: _ClassVar[int] - LORA_FIELD_NUMBER: _ClassVar[int] - LR_FHSS_FIELD_NUMBER: _ClassVar[int] - fsk: FskModulationInfo - lora: LoraModulationInfo - lr_fhss: LrFhssModulationInfo - def __init__(self, lora: _Optional[_Union[LoraModulationInfo, _Mapping]] = ..., fsk: _Optional[_Union[FskModulationInfo, _Mapping]] = ..., lr_fhss: _Optional[_Union[LrFhssModulationInfo, _Mapping]] = ...) -> None: ... - -class PerModulationCount(_message.Message): - __slots__ = ["count", "modulation"] - COUNT_FIELD_NUMBER: _ClassVar[int] - MODULATION_FIELD_NUMBER: _ClassVar[int] - count: int - modulation: Modulation - def __init__(self, modulation: _Optional[_Union[Modulation, _Mapping]] = ..., count: _Optional[int] = ...) -> None: ... - -class PlainFineTimestamp(_message.Message): - __slots__ = ["time"] - TIME_FIELD_NUMBER: _ClassVar[int] - time: _timestamp_pb2.Timestamp - def __init__(self, time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... - -class RawPacketForwarderCommand(_message.Message): - __slots__ = ["gateway_id", "gateway_id_legacy", "payload"] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] - PAYLOAD_FIELD_NUMBER: _ClassVar[int] - gateway_id: str - gateway_id_legacy: bytes - payload: bytes - def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., payload: _Optional[bytes] = ...) -> None: ... - -class RawPacketForwarderEvent(_message.Message): - __slots__ = ["gateway_id", "gateway_id_legacy", "payload"] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] - PAYLOAD_FIELD_NUMBER: _ClassVar[int] - gateway_id: str - gateway_id_legacy: bytes - payload: bytes - def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., payload: _Optional[bytes] = ...) -> None: ... - -class Timing(_message.Message): - __slots__ = ["delay", "gps_epoch", "immediately"] +class DelayTimingInfo(_message.Message): + __slots__ = ["delay"] DELAY_FIELD_NUMBER: _ClassVar[int] - GPS_EPOCH_FIELD_NUMBER: _ClassVar[int] - IMMEDIATELY_FIELD_NUMBER: _ClassVar[int] - delay: DelayTimingInfo - gps_epoch: GPSEpochTimingInfo - immediately: ImmediatelyTimingInfo - def __init__(self, immediately: _Optional[_Union[ImmediatelyTimingInfo, _Mapping]] = ..., delay: _Optional[_Union[DelayTimingInfo, _Mapping]] = ..., gps_epoch: _Optional[_Union[GPSEpochTimingInfo, _Mapping]] = ...) -> None: ... + delay: _duration_pb2.Duration + def __init__(self, delay: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... + +class GPSEpochTimingInfo(_message.Message): + __slots__ = ["time_since_gps_epoch"] + TIME_SINCE_GPS_EPOCH_FIELD_NUMBER: _ClassVar[int] + time_since_gps_epoch: _duration_pb2.Duration + def __init__(self, time_since_gps_epoch: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... class UplinkFrame(_message.Message): - __slots__ = ["phy_payload", "rx_info", "rx_info_legacy", "tx_info", "tx_info_legacy"] + __slots__ = ["phy_payload", "tx_info_legacy", "rx_info_legacy", "tx_info", "rx_info"] PHY_PAYLOAD_FIELD_NUMBER: _ClassVar[int] - RX_INFO_FIELD_NUMBER: _ClassVar[int] + TX_INFO_LEGACY_FIELD_NUMBER: _ClassVar[int] RX_INFO_LEGACY_FIELD_NUMBER: _ClassVar[int] TX_INFO_FIELD_NUMBER: _ClassVar[int] - TX_INFO_LEGACY_FIELD_NUMBER: _ClassVar[int] + RX_INFO_FIELD_NUMBER: _ClassVar[int] phy_payload: bytes - rx_info: UplinkRxInfo + tx_info_legacy: UplinkTxInfoLegacy rx_info_legacy: UplinkRxInfoLegacy tx_info: UplinkTxInfo - tx_info_legacy: UplinkTxInfoLegacy + rx_info: UplinkRxInfo def __init__(self, phy_payload: _Optional[bytes] = ..., tx_info_legacy: _Optional[_Union[UplinkTxInfoLegacy, _Mapping]] = ..., rx_info_legacy: _Optional[_Union[UplinkRxInfoLegacy, _Mapping]] = ..., tx_info: _Optional[_Union[UplinkTxInfo, _Mapping]] = ..., rx_info: _Optional[_Union[UplinkRxInfo, _Mapping]] = ...) -> None: ... class UplinkFrameSet(_message.Message): - __slots__ = ["phy_payload", "rx_info", "tx_info"] + __slots__ = ["phy_payload", "tx_info", "rx_info"] PHY_PAYLOAD_FIELD_NUMBER: _ClassVar[int] - RX_INFO_FIELD_NUMBER: _ClassVar[int] TX_INFO_FIELD_NUMBER: _ClassVar[int] + RX_INFO_FIELD_NUMBER: _ClassVar[int] phy_payload: bytes - rx_info: _containers.RepeatedCompositeFieldContainer[UplinkRxInfo] tx_info: UplinkTxInfo + rx_info: _containers.RepeatedCompositeFieldContainer[UplinkRxInfo] def __init__(self, phy_payload: _Optional[bytes] = ..., tx_info: _Optional[_Union[UplinkTxInfo, _Mapping]] = ..., rx_info: _Optional[_Iterable[_Union[UplinkRxInfo, _Mapping]]] = ...) -> None: ... -class UplinkRxInfo(_message.Message): - __slots__ = ["antenna", "board", "channel", "context", "crc_status", "fine_time_since_gps_epoch", "gateway_id", "location", "metadata", "rf_chain", "rssi", "snr", "time", "time_since_gps_epoch", "uplink_id"] - class MetadataEntry(_message.Message): - __slots__ = ["key", "value"] - KEY_FIELD_NUMBER: _ClassVar[int] - VALUE_FIELD_NUMBER: _ClassVar[int] - key: str - value: str - def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - ANTENNA_FIELD_NUMBER: _ClassVar[int] - BOARD_FIELD_NUMBER: _ClassVar[int] - CHANNEL_FIELD_NUMBER: _ClassVar[int] - CONTEXT_FIELD_NUMBER: _ClassVar[int] - CRC_STATUS_FIELD_NUMBER: _ClassVar[int] - FINE_TIME_SINCE_GPS_EPOCH_FIELD_NUMBER: _ClassVar[int] +class DownlinkFrame(_message.Message): + __slots__ = ["downlink_id", "downlink_id_legacy", "items", "gateway_id_legacy", "gateway_id"] + DOWNLINK_ID_FIELD_NUMBER: _ClassVar[int] + DOWNLINK_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] + ITEMS_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - LOCATION_FIELD_NUMBER: _ClassVar[int] - METADATA_FIELD_NUMBER: _ClassVar[int] - RF_CHAIN_FIELD_NUMBER: _ClassVar[int] - RSSI_FIELD_NUMBER: _ClassVar[int] - SNR_FIELD_NUMBER: _ClassVar[int] - TIME_FIELD_NUMBER: _ClassVar[int] - TIME_SINCE_GPS_EPOCH_FIELD_NUMBER: _ClassVar[int] - UPLINK_ID_FIELD_NUMBER: _ClassVar[int] - antenna: int - board: int - channel: int - context: bytes - crc_status: CRCStatus - fine_time_since_gps_epoch: _duration_pb2.Duration + downlink_id: int + downlink_id_legacy: bytes + items: _containers.RepeatedCompositeFieldContainer[DownlinkFrameItem] + gateway_id_legacy: bytes gateway_id: str - location: _common_pb2.Location - metadata: _containers.ScalarMap[str, str] - rf_chain: int - rssi: int - snr: float - time: _timestamp_pb2.Timestamp - time_since_gps_epoch: _duration_pb2.Duration - uplink_id: int - def __init__(self, gateway_id: _Optional[str] = ..., uplink_id: _Optional[int] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., time_since_gps_epoch: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., fine_time_since_gps_epoch: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., rssi: _Optional[int] = ..., snr: _Optional[float] = ..., channel: _Optional[int] = ..., rf_chain: _Optional[int] = ..., board: _Optional[int] = ..., antenna: _Optional[int] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ..., context: _Optional[bytes] = ..., metadata: _Optional[_Mapping[str, str]] = ..., crc_status: _Optional[_Union[CRCStatus, str]] = ...) -> None: ... + def __init__(self, downlink_id: _Optional[int] = ..., downlink_id_legacy: _Optional[bytes] = ..., items: _Optional[_Iterable[_Union[DownlinkFrameItem, _Mapping]]] = ..., gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ...) -> None: ... -class UplinkRxInfoLegacy(_message.Message): - __slots__ = ["antenna", "board", "channel", "context", "crc_status", "encrypted_fine_timestamp", "fine_timestamp_type", "gateway_id", "location", "lora_snr", "metadata", "plain_fine_timestamp", "rf_chain", "rssi", "time", "time_since_gps_epoch", "uplink_id"] - class MetadataEntry(_message.Message): +class DownlinkFrameItem(_message.Message): + __slots__ = ["phy_payload", "tx_info_legacy", "tx_info"] + PHY_PAYLOAD_FIELD_NUMBER: _ClassVar[int] + TX_INFO_LEGACY_FIELD_NUMBER: _ClassVar[int] + TX_INFO_FIELD_NUMBER: _ClassVar[int] + phy_payload: bytes + tx_info_legacy: DownlinkTxInfoLegacy + tx_info: DownlinkTxInfo + def __init__(self, phy_payload: _Optional[bytes] = ..., tx_info_legacy: _Optional[_Union[DownlinkTxInfoLegacy, _Mapping]] = ..., tx_info: _Optional[_Union[DownlinkTxInfo, _Mapping]] = ...) -> None: ... + +class DownlinkTxAck(_message.Message): + __slots__ = ["gateway_id_legacy", "gateway_id", "downlink_id", "downlink_id_legacy", "items"] + GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + DOWNLINK_ID_FIELD_NUMBER: _ClassVar[int] + DOWNLINK_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] + ITEMS_FIELD_NUMBER: _ClassVar[int] + gateway_id_legacy: bytes + gateway_id: str + downlink_id: int + downlink_id_legacy: bytes + items: _containers.RepeatedCompositeFieldContainer[DownlinkTxAckItem] + def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., downlink_id: _Optional[int] = ..., downlink_id_legacy: _Optional[bytes] = ..., items: _Optional[_Iterable[_Union[DownlinkTxAckItem, _Mapping]]] = ...) -> None: ... + +class DownlinkTxAckItem(_message.Message): + __slots__ = ["status"] + STATUS_FIELD_NUMBER: _ClassVar[int] + status: TxAckStatus + def __init__(self, status: _Optional[_Union[TxAckStatus, str]] = ...) -> None: ... + +class GatewayConfiguration(_message.Message): + __slots__ = ["gateway_id_legacy", "gateway_id", "version", "channels", "stats_interval"] + GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + VERSION_FIELD_NUMBER: _ClassVar[int] + CHANNELS_FIELD_NUMBER: _ClassVar[int] + STATS_INTERVAL_FIELD_NUMBER: _ClassVar[int] + gateway_id_legacy: bytes + gateway_id: str + version: str + channels: _containers.RepeatedCompositeFieldContainer[ChannelConfiguration] + stats_interval: _duration_pb2.Duration + def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., version: _Optional[str] = ..., channels: _Optional[_Iterable[_Union[ChannelConfiguration, _Mapping]]] = ..., stats_interval: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... + +class ChannelConfiguration(_message.Message): + __slots__ = ["frequency", "modulation_legacy", "lora_modulation_config", "fsk_modulation_config", "board", "demodulator"] + FREQUENCY_FIELD_NUMBER: _ClassVar[int] + MODULATION_LEGACY_FIELD_NUMBER: _ClassVar[int] + LORA_MODULATION_CONFIG_FIELD_NUMBER: _ClassVar[int] + FSK_MODULATION_CONFIG_FIELD_NUMBER: _ClassVar[int] + BOARD_FIELD_NUMBER: _ClassVar[int] + DEMODULATOR_FIELD_NUMBER: _ClassVar[int] + frequency: int + modulation_legacy: _common_pb2.Modulation + lora_modulation_config: LoraModulationConfig + fsk_modulation_config: FskModulationConfig + board: int + demodulator: int + def __init__(self, frequency: _Optional[int] = ..., modulation_legacy: _Optional[_Union[_common_pb2.Modulation, str]] = ..., lora_modulation_config: _Optional[_Union[LoraModulationConfig, _Mapping]] = ..., fsk_modulation_config: _Optional[_Union[FskModulationConfig, _Mapping]] = ..., board: _Optional[int] = ..., demodulator: _Optional[int] = ...) -> None: ... + +class LoraModulationConfig(_message.Message): + __slots__ = ["bandwidth_legacy", "bandwidth", "spreading_factors"] + BANDWIDTH_LEGACY_FIELD_NUMBER: _ClassVar[int] + BANDWIDTH_FIELD_NUMBER: _ClassVar[int] + SPREADING_FACTORS_FIELD_NUMBER: _ClassVar[int] + bandwidth_legacy: int + bandwidth: int + spreading_factors: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, bandwidth_legacy: _Optional[int] = ..., bandwidth: _Optional[int] = ..., spreading_factors: _Optional[_Iterable[int]] = ...) -> None: ... + +class FskModulationConfig(_message.Message): + __slots__ = ["bandwidth_legacy", "bandwidth", "bitrate"] + BANDWIDTH_LEGACY_FIELD_NUMBER: _ClassVar[int] + BANDWIDTH_FIELD_NUMBER: _ClassVar[int] + BITRATE_FIELD_NUMBER: _ClassVar[int] + bandwidth_legacy: int + bandwidth: int + bitrate: int + def __init__(self, bandwidth_legacy: _Optional[int] = ..., bandwidth: _Optional[int] = ..., bitrate: _Optional[int] = ...) -> None: ... + +class GatewayCommandExecRequest(_message.Message): + __slots__ = ["gateway_id_legacy", "gateway_id", "command", "exec_id", "stdin", "environment"] + class EnvironmentEntry(_message.Message): __slots__ = ["key", "value"] KEY_FIELD_NUMBER: _ClassVar[int] VALUE_FIELD_NUMBER: _ClassVar[int] key: str value: str def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - ANTENNA_FIELD_NUMBER: _ClassVar[int] - BOARD_FIELD_NUMBER: _ClassVar[int] - CHANNEL_FIELD_NUMBER: _ClassVar[int] - CONTEXT_FIELD_NUMBER: _ClassVar[int] - CRC_STATUS_FIELD_NUMBER: _ClassVar[int] - ENCRYPTED_FINE_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] - FINE_TIMESTAMP_TYPE_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - LOCATION_FIELD_NUMBER: _ClassVar[int] - LORA_SNR_FIELD_NUMBER: _ClassVar[int] - METADATA_FIELD_NUMBER: _ClassVar[int] - PLAIN_FINE_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] - RF_CHAIN_FIELD_NUMBER: _ClassVar[int] - RSSI_FIELD_NUMBER: _ClassVar[int] - TIME_FIELD_NUMBER: _ClassVar[int] - TIME_SINCE_GPS_EPOCH_FIELD_NUMBER: _ClassVar[int] - UPLINK_ID_FIELD_NUMBER: _ClassVar[int] - antenna: int - board: int - channel: int - context: bytes - crc_status: CRCStatus - encrypted_fine_timestamp: EncryptedFineTimestamp - fine_timestamp_type: FineTimestampType - gateway_id: bytes - location: _common_pb2.Location - lora_snr: float - metadata: _containers.ScalarMap[str, str] - plain_fine_timestamp: PlainFineTimestamp - rf_chain: int - rssi: int - time: _timestamp_pb2.Timestamp - time_since_gps_epoch: _duration_pb2.Duration - uplink_id: bytes - def __init__(self, gateway_id: _Optional[bytes] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., time_since_gps_epoch: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., rssi: _Optional[int] = ..., lora_snr: _Optional[float] = ..., channel: _Optional[int] = ..., rf_chain: _Optional[int] = ..., board: _Optional[int] = ..., antenna: _Optional[int] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ..., fine_timestamp_type: _Optional[_Union[FineTimestampType, str]] = ..., encrypted_fine_timestamp: _Optional[_Union[EncryptedFineTimestamp, _Mapping]] = ..., plain_fine_timestamp: _Optional[_Union[PlainFineTimestamp, _Mapping]] = ..., context: _Optional[bytes] = ..., uplink_id: _Optional[bytes] = ..., crc_status: _Optional[_Union[CRCStatus, str]] = ..., metadata: _Optional[_Mapping[str, str]] = ...) -> None: ... + COMMAND_FIELD_NUMBER: _ClassVar[int] + EXEC_ID_FIELD_NUMBER: _ClassVar[int] + STDIN_FIELD_NUMBER: _ClassVar[int] + ENVIRONMENT_FIELD_NUMBER: _ClassVar[int] + gateway_id_legacy: bytes + gateway_id: str + command: str + exec_id: int + stdin: bytes + environment: _containers.ScalarMap[str, str] + def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., command: _Optional[str] = ..., exec_id: _Optional[int] = ..., stdin: _Optional[bytes] = ..., environment: _Optional[_Mapping[str, str]] = ...) -> None: ... -class UplinkTxInfo(_message.Message): - __slots__ = ["frequency", "modulation"] - FREQUENCY_FIELD_NUMBER: _ClassVar[int] - MODULATION_FIELD_NUMBER: _ClassVar[int] - frequency: int - modulation: Modulation - def __init__(self, frequency: _Optional[int] = ..., modulation: _Optional[_Union[Modulation, _Mapping]] = ...) -> None: ... +class GatewayCommandExecResponse(_message.Message): + __slots__ = ["gateway_id_legacy", "gateway_id", "exec_id", "stdout", "stderr", "error"] + GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + EXEC_ID_FIELD_NUMBER: _ClassVar[int] + STDOUT_FIELD_NUMBER: _ClassVar[int] + STDERR_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + gateway_id_legacy: bytes + gateway_id: str + exec_id: int + stdout: bytes + stderr: bytes + error: str + def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., exec_id: _Optional[int] = ..., stdout: _Optional[bytes] = ..., stderr: _Optional[bytes] = ..., error: _Optional[str] = ...) -> None: ... -class UplinkTxInfoLegacy(_message.Message): - __slots__ = ["frequency", "fsk_modulation_info", "lora_modulation_info", "lr_fhss_modulation_info", "modulation"] - FREQUENCY_FIELD_NUMBER: _ClassVar[int] - FSK_MODULATION_INFO_FIELD_NUMBER: _ClassVar[int] - LORA_MODULATION_INFO_FIELD_NUMBER: _ClassVar[int] - LR_FHSS_MODULATION_INFO_FIELD_NUMBER: _ClassVar[int] - MODULATION_FIELD_NUMBER: _ClassVar[int] - frequency: int - fsk_modulation_info: FskModulationInfo - lora_modulation_info: LoraModulationInfo - lr_fhss_modulation_info: LrFhssModulationInfo - modulation: _common_pb2.Modulation - def __init__(self, frequency: _Optional[int] = ..., modulation: _Optional[_Union[_common_pb2.Modulation, str]] = ..., lora_modulation_info: _Optional[_Union[LoraModulationInfo, _Mapping]] = ..., fsk_modulation_info: _Optional[_Union[FskModulationInfo, _Mapping]] = ..., lr_fhss_modulation_info: _Optional[_Union[LrFhssModulationInfo, _Mapping]] = ...) -> None: ... +class RawPacketForwarderEvent(_message.Message): + __slots__ = ["gateway_id_legacy", "gateway_id", "payload"] + GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + PAYLOAD_FIELD_NUMBER: _ClassVar[int] + gateway_id_legacy: bytes + gateway_id: str + payload: bytes + def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., payload: _Optional[bytes] = ...) -> None: ... -class CodeRate(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] +class RawPacketForwarderCommand(_message.Message): + __slots__ = ["gateway_id_legacy", "gateway_id", "payload"] + GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + PAYLOAD_FIELD_NUMBER: _ClassVar[int] + gateway_id_legacy: bytes + gateway_id: str + payload: bytes + def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., payload: _Optional[bytes] = ...) -> None: ... -class DownlinkTiming(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class FineTimestampType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class CRCStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class TxAckStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] +class ConnState(_message.Message): + __slots__ = ["gateway_id_legacy", "gateway_id", "state"] + class State(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + OFFLINE: _ClassVar[ConnState.State] + ONLINE: _ClassVar[ConnState.State] + OFFLINE: ConnState.State + ONLINE: ConnState.State + GATEWAY_ID_LEGACY_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + gateway_id_legacy: bytes + gateway_id: str + state: ConnState.State + def __init__(self, gateway_id_legacy: _Optional[bytes] = ..., gateway_id: _Optional[str] = ..., state: _Optional[_Union[ConnState.State, str]] = ...) -> None: ... diff --git a/api/python/src/chirpstack_api/integration/integration_pb2.py b/api/python/src/chirpstack_api/integration/integration_pb2.py index b21f444b..0ce0b58d 100644 --- a/api/python/src/chirpstack_api/integration/integration_pb2.py +++ b/api/python/src/chirpstack_api/integration/integration_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/integration/integration.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -19,8 +19,9 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,chirpstack-api/integration/integration.proto\x12\x0bintegration\x1a\"chirpstack-api/common/common.proto\x1a\x1a\x63hirpstack-api/gw/gw.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xd5\x02\n\nDeviceInfo\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x13\n\x0btenant_name\x18\x02 \x01(\t\x12\x16\n\x0e\x61pplication_id\x18\x03 \x01(\t\x12\x18\n\x10\x61pplication_name\x18\x04 \x01(\t\x12\x19\n\x11\x64\x65vice_profile_id\x18\x05 \x01(\t\x12\x1b\n\x13\x64\x65vice_profile_name\x18\x06 \x01(\t\x12\x13\n\x0b\x64\x65vice_name\x18\x07 \x01(\t\x12\x0f\n\x07\x64\x65v_eui\x18\x08 \x01(\t\x12\x31\n\x14\x64\x65vice_class_enabled\x18\n \x01(\x0e\x32\x13.common.DeviceClass\x12/\n\x04tags\x18\t \x03(\x0b\x32!.integration.DeviceInfo.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"s\n\x11UplinkRelayRxInfo\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12\x11\n\tfrequency\x18\x02 \x01(\r\x12\n\n\x02\x64r\x18\x03 \x01(\r\x12\x0b\n\x03snr\x18\x04 \x01(\x05\x12\x0c\n\x04rssi\x18\x05 \x01(\x05\x12\x13\n\x0bwor_channel\x18\x06 \x01(\r\"\x90\x03\n\x0bUplinkEvent\x12\x18\n\x10\x64\x65\x64uplication_id\x18\x01 \x01(\t\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x0b\x64\x65vice_info\x18\x03 \x01(\x0b\x32\x17.integration.DeviceInfo\x12\x10\n\x08\x64\x65v_addr\x18\x04 \x01(\t\x12\x0b\n\x03\x61\x64r\x18\x05 \x01(\x08\x12\n\n\x02\x64r\x18\x06 \x01(\r\x12\r\n\x05\x66_cnt\x18\x07 \x01(\r\x12\x0e\n\x06\x66_port\x18\x08 \x01(\r\x12\x11\n\tconfirmed\x18\t \x01(\x08\x12\x0c\n\x04\x64\x61ta\x18\n \x01(\x0c\x12\'\n\x06object\x18\x0b \x01(\x0b\x32\x17.google.protobuf.Struct\x12!\n\x07rx_info\x18\x0c \x03(\x0b\x32\x10.gw.UplinkRxInfo\x12!\n\x07tx_info\x18\r \x01(\x0b\x32\x10.gw.UplinkTxInfo\x12\x35\n\rrelay_rx_info\x18\x0e \x01(\x0b\x32\x1e.integration.UplinkRelayRxInfo\"\xc6\x01\n\tJoinEvent\x12\x18\n\x10\x64\x65\x64uplication_id\x18\x01 \x01(\t\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x0b\x64\x65vice_info\x18\x03 \x01(\x0b\x32\x17.integration.DeviceInfo\x12\x10\n\x08\x64\x65v_addr\x18\x04 \x01(\t\x12\x35\n\rrelay_rx_info\x18\x05 \x01(\x0b\x32\x1e.integration.UplinkRelayRxInfo\"\xbd\x01\n\x08\x41\x63kEvent\x12\x18\n\x10\x64\x65\x64uplication_id\x18\x01 \x01(\t\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x0b\x64\x65vice_info\x18\x03 \x01(\x0b\x32\x17.integration.DeviceInfo\x12\x15\n\rqueue_item_id\x18\x04 \x01(\t\x12\x14\n\x0c\x61\x63knowledged\x18\x05 \x01(\x08\x12\x12\n\nf_cnt_down\x18\x06 \x01(\r\"\xdd\x01\n\nTxAckEvent\x12\x13\n\x0b\x64ownlink_id\x18\x01 \x01(\r\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x0b\x64\x65vice_info\x18\x03 \x01(\x0b\x32\x17.integration.DeviceInfo\x12\x15\n\rqueue_item_id\x18\x04 \x01(\t\x12\x12\n\nf_cnt_down\x18\x05 \x01(\r\x12\x12\n\ngateway_id\x18\x06 \x01(\t\x12#\n\x07tx_info\x18\x07 \x01(\x0b\x32\x12.gw.DownlinkTxInfo\"\xa6\x02\n\x08LogEvent\x12(\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x0b\x64\x65vice_info\x18\x02 \x01(\x0b\x32\x17.integration.DeviceInfo\x12$\n\x05level\x18\x03 \x01(\x0e\x32\x15.integration.LogLevel\x12\"\n\x04\x63ode\x18\x04 \x01(\x0e\x32\x14.integration.LogCode\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x33\n\x07\x63ontext\x18\x06 \x03(\x0b\x32\".integration.LogEvent.ContextEntry\x1a.\n\x0c\x43ontextEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe8\x01\n\x0bStatusEvent\x12\x18\n\x10\x64\x65\x64uplication_id\x18\x01 \x01(\t\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x0b\x64\x65vice_info\x18\x03 \x01(\x0b\x32\x17.integration.DeviceInfo\x12\x0e\n\x06margin\x18\x05 \x01(\x05\x12\x1d\n\x15\x65xternal_power_source\x18\x06 \x01(\x08\x12!\n\x19\x62\x61ttery_level_unavailable\x18\x07 \x01(\x08\x12\x15\n\rbattery_level\x18\x08 \x01(\x02\"\xa5\x01\n\rLocationEvent\x12\x18\n\x10\x64\x65\x64uplication_id\x18\x01 \x01(\t\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x0b\x64\x65vice_info\x18\x03 \x01(\x0b\x32\x17.integration.DeviceInfo\x12\"\n\x08location\x18\x04 \x01(\x0b\x32\x10.common.Location\"\xdb\x01\n\x10IntegrationEvent\x12\x18\n\x10\x64\x65\x64uplication_id\x18\x01 \x01(\t\x12(\n\x04time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x0b\x64\x65vice_info\x18\x03 \x01(\x0b\x32\x17.integration.DeviceInfo\x12\x18\n\x10integration_name\x18\x04 \x01(\t\x12\x12\n\nevent_type\x18\x05 \x01(\t\x12\'\n\x06object\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\"\x88\x01\n\x0f\x44ownlinkCommand\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07\x64\x65v_eui\x18\x02 \x01(\t\x12\x11\n\tconfirmed\x18\x03 \x01(\x08\x12\x0e\n\x06\x66_port\x18\x04 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\x12\'\n\x06object\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct*,\n\x08LogLevel\x12\x08\n\x04INFO\x10\x00\x12\x0b\n\x07WARNING\x10\x01\x12\t\n\x05\x45RROR\x10\x02*\xda\x01\n\x07LogCode\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x19\n\x15\x44OWNLINK_PAYLOAD_SIZE\x10\x01\x12\x10\n\x0cUPLINK_CODEC\x10\x02\x12\x12\n\x0e\x44OWNLINK_CODEC\x10\x03\x12\x08\n\x04OTAA\x10\x04\x12\x16\n\x12UPLINK_F_CNT_RESET\x10\x05\x12\x0e\n\nUPLINK_MIC\x10\x06\x12\x1f\n\x1bUPLINK_F_CNT_RETRANSMISSION\x10\x07\x12\x14\n\x10\x44OWNLINK_GATEWAY\x10\x08\x12\x18\n\x14RELAY_NEW_END_DEVICE\x10\tB\x81\x01\n\x1dio.chirpstack.api.integrationB\x10IntegrationProtoP\x01Z3github.com/brocaar/chirpstack/api/go/v4/integration\xaa\x02\x16\x43hirpstack.Integrationb\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.integration.integration_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.integration.integration_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -29,34 +30,34 @@ if _descriptor._USE_C_DESCRIPTORS == False: _DEVICEINFO_TAGSENTRY._serialized_options = b'8\001' _LOGEVENT_CONTEXTENTRY._options = None _LOGEVENT_CONTEXTENTRY._serialized_options = b'8\001' - _LOGLEVEL._serialized_start=2730 - _LOGLEVEL._serialized_end=2774 - _LOGCODE._serialized_start=2777 - _LOGCODE._serialized_end=2995 - _DEVICEINFO._serialized_start=189 - _DEVICEINFO._serialized_end=530 - _DEVICEINFO_TAGSENTRY._serialized_start=487 - _DEVICEINFO_TAGSENTRY._serialized_end=530 - _UPLINKRELAYRXINFO._serialized_start=532 - _UPLINKRELAYRXINFO._serialized_end=647 - _UPLINKEVENT._serialized_start=650 - _UPLINKEVENT._serialized_end=1050 - _JOINEVENT._serialized_start=1053 - _JOINEVENT._serialized_end=1251 - _ACKEVENT._serialized_start=1254 - _ACKEVENT._serialized_end=1443 - _TXACKEVENT._serialized_start=1446 - _TXACKEVENT._serialized_end=1667 - _LOGEVENT._serialized_start=1670 - _LOGEVENT._serialized_end=1964 - _LOGEVENT_CONTEXTENTRY._serialized_start=1918 - _LOGEVENT_CONTEXTENTRY._serialized_end=1964 - _STATUSEVENT._serialized_start=1967 - _STATUSEVENT._serialized_end=2199 - _LOCATIONEVENT._serialized_start=2202 - _LOCATIONEVENT._serialized_end=2367 - _INTEGRATIONEVENT._serialized_start=2370 - _INTEGRATIONEVENT._serialized_end=2589 - _DOWNLINKCOMMAND._serialized_start=2592 - _DOWNLINKCOMMAND._serialized_end=2728 + _globals['_LOGLEVEL']._serialized_start=2730 + _globals['_LOGLEVEL']._serialized_end=2774 + _globals['_LOGCODE']._serialized_start=2777 + _globals['_LOGCODE']._serialized_end=2995 + _globals['_DEVICEINFO']._serialized_start=189 + _globals['_DEVICEINFO']._serialized_end=530 + _globals['_DEVICEINFO_TAGSENTRY']._serialized_start=487 + _globals['_DEVICEINFO_TAGSENTRY']._serialized_end=530 + _globals['_UPLINKRELAYRXINFO']._serialized_start=532 + _globals['_UPLINKRELAYRXINFO']._serialized_end=647 + _globals['_UPLINKEVENT']._serialized_start=650 + _globals['_UPLINKEVENT']._serialized_end=1050 + _globals['_JOINEVENT']._serialized_start=1053 + _globals['_JOINEVENT']._serialized_end=1251 + _globals['_ACKEVENT']._serialized_start=1254 + _globals['_ACKEVENT']._serialized_end=1443 + _globals['_TXACKEVENT']._serialized_start=1446 + _globals['_TXACKEVENT']._serialized_end=1667 + _globals['_LOGEVENT']._serialized_start=1670 + _globals['_LOGEVENT']._serialized_end=1964 + _globals['_LOGEVENT_CONTEXTENTRY']._serialized_start=1918 + _globals['_LOGEVENT_CONTEXTENTRY']._serialized_end=1964 + _globals['_STATUSEVENT']._serialized_start=1967 + _globals['_STATUSEVENT']._serialized_end=2199 + _globals['_LOCATIONEVENT']._serialized_start=2202 + _globals['_LOCATIONEVENT']._serialized_end=2367 + _globals['_INTEGRATIONEVENT']._serialized_start=2370 + _globals['_INTEGRATIONEVENT']._serialized_end=2589 + _globals['_DOWNLINKCOMMAND']._serialized_start=2592 + _globals['_DOWNLINKCOMMAND']._serialized_end=2728 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/integration/integration_pb2.pyi b/api/python/src/chirpstack_api/integration/integration_pb2.pyi index 9a13a7f6..93e20468 100644 --- a/api/python/src/chirpstack_api/integration/integration_pb2.pyi +++ b/api/python/src/chirpstack_api/integration/integration_pb2.pyi @@ -9,38 +9,41 @@ from google.protobuf import message as _message from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor -DOWNLINK_CODEC: LogCode -DOWNLINK_GATEWAY: LogCode -DOWNLINK_PAYLOAD_SIZE: LogCode -ERROR: LogLevel -INFO: LogLevel -OTAA: LogCode -RELAY_NEW_END_DEVICE: LogCode -UNKNOWN: LogCode -UPLINK_CODEC: LogCode -UPLINK_F_CNT_RESET: LogCode -UPLINK_F_CNT_RETRANSMISSION: LogCode -UPLINK_MIC: LogCode -WARNING: LogLevel -class AckEvent(_message.Message): - __slots__ = ["acknowledged", "deduplication_id", "device_info", "f_cnt_down", "queue_item_id", "time"] - ACKNOWLEDGED_FIELD_NUMBER: _ClassVar[int] - DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] - F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int] - QUEUE_ITEM_ID_FIELD_NUMBER: _ClassVar[int] - TIME_FIELD_NUMBER: _ClassVar[int] - acknowledged: bool - deduplication_id: str - device_info: DeviceInfo - f_cnt_down: int - queue_item_id: str - time: _timestamp_pb2.Timestamp - def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., queue_item_id: _Optional[str] = ..., acknowledged: bool = ..., f_cnt_down: _Optional[int] = ...) -> None: ... +class LogLevel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + INFO: _ClassVar[LogLevel] + WARNING: _ClassVar[LogLevel] + ERROR: _ClassVar[LogLevel] + +class LogCode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + UNKNOWN: _ClassVar[LogCode] + DOWNLINK_PAYLOAD_SIZE: _ClassVar[LogCode] + UPLINK_CODEC: _ClassVar[LogCode] + DOWNLINK_CODEC: _ClassVar[LogCode] + OTAA: _ClassVar[LogCode] + UPLINK_F_CNT_RESET: _ClassVar[LogCode] + UPLINK_MIC: _ClassVar[LogCode] + UPLINK_F_CNT_RETRANSMISSION: _ClassVar[LogCode] + DOWNLINK_GATEWAY: _ClassVar[LogCode] + RELAY_NEW_END_DEVICE: _ClassVar[LogCode] +INFO: LogLevel +WARNING: LogLevel +ERROR: LogLevel +UNKNOWN: LogCode +DOWNLINK_PAYLOAD_SIZE: LogCode +UPLINK_CODEC: LogCode +DOWNLINK_CODEC: LogCode +OTAA: LogCode +UPLINK_F_CNT_RESET: LogCode +UPLINK_MIC: LogCode +UPLINK_F_CNT_RETRANSMISSION: LogCode +DOWNLINK_GATEWAY: LogCode +RELAY_NEW_END_DEVICE: LogCode class DeviceInfo(_message.Message): - __slots__ = ["application_id", "application_name", "dev_eui", "device_class_enabled", "device_name", "device_profile_id", "device_profile_name", "tags", "tenant_id", "tenant_name"] + __slots__ = ["tenant_id", "tenant_name", "application_id", "application_name", "device_profile_id", "device_profile_name", "device_name", "dev_eui", "device_class_enabled", "tags"] class TagsEntry(_message.Message): __slots__ = ["key", "value"] KEY_FIELD_NUMBER: _ClassVar[int] @@ -48,88 +51,126 @@ class DeviceInfo(_message.Message): key: str value: str def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - APPLICATION_NAME_FIELD_NUMBER: _ClassVar[int] - DEVICE_CLASS_ENABLED_FIELD_NUMBER: _ClassVar[int] - DEVICE_NAME_FIELD_NUMBER: _ClassVar[int] - DEVICE_PROFILE_ID_FIELD_NUMBER: _ClassVar[int] - DEVICE_PROFILE_NAME_FIELD_NUMBER: _ClassVar[int] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - TAGS_FIELD_NUMBER: _ClassVar[int] TENANT_ID_FIELD_NUMBER: _ClassVar[int] TENANT_NAME_FIELD_NUMBER: _ClassVar[int] - application_id: str - application_name: str - dev_eui: str - device_class_enabled: _common_pb2.DeviceClass - device_name: str - device_profile_id: str - device_profile_name: str - tags: _containers.ScalarMap[str, str] + APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + APPLICATION_NAME_FIELD_NUMBER: _ClassVar[int] + DEVICE_PROFILE_ID_FIELD_NUMBER: _ClassVar[int] + DEVICE_PROFILE_NAME_FIELD_NUMBER: _ClassVar[int] + DEVICE_NAME_FIELD_NUMBER: _ClassVar[int] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + DEVICE_CLASS_ENABLED_FIELD_NUMBER: _ClassVar[int] + TAGS_FIELD_NUMBER: _ClassVar[int] tenant_id: str tenant_name: str + application_id: str + application_name: str + device_profile_id: str + device_profile_name: str + device_name: str + dev_eui: str + device_class_enabled: _common_pb2.DeviceClass + tags: _containers.ScalarMap[str, str] def __init__(self, tenant_id: _Optional[str] = ..., tenant_name: _Optional[str] = ..., application_id: _Optional[str] = ..., application_name: _Optional[str] = ..., device_profile_id: _Optional[str] = ..., device_profile_name: _Optional[str] = ..., device_name: _Optional[str] = ..., dev_eui: _Optional[str] = ..., device_class_enabled: _Optional[_Union[_common_pb2.DeviceClass, str]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... -class DownlinkCommand(_message.Message): - __slots__ = ["confirmed", "data", "dev_eui", "f_port", "id", "object"] +class UplinkRelayRxInfo(_message.Message): + __slots__ = ["dev_eui", "frequency", "dr", "snr", "rssi", "wor_channel"] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + FREQUENCY_FIELD_NUMBER: _ClassVar[int] + DR_FIELD_NUMBER: _ClassVar[int] + SNR_FIELD_NUMBER: _ClassVar[int] + RSSI_FIELD_NUMBER: _ClassVar[int] + WOR_CHANNEL_FIELD_NUMBER: _ClassVar[int] + dev_eui: str + frequency: int + dr: int + snr: int + rssi: int + wor_channel: int + def __init__(self, dev_eui: _Optional[str] = ..., frequency: _Optional[int] = ..., dr: _Optional[int] = ..., snr: _Optional[int] = ..., rssi: _Optional[int] = ..., wor_channel: _Optional[int] = ...) -> None: ... + +class UplinkEvent(_message.Message): + __slots__ = ["deduplication_id", "time", "device_info", "dev_addr", "adr", "dr", "f_cnt", "f_port", "confirmed", "data", "object", "rx_info", "tx_info", "relay_rx_info"] + DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + TIME_FIELD_NUMBER: _ClassVar[int] + DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] + DEV_ADDR_FIELD_NUMBER: _ClassVar[int] + ADR_FIELD_NUMBER: _ClassVar[int] + DR_FIELD_NUMBER: _ClassVar[int] + F_CNT_FIELD_NUMBER: _ClassVar[int] + F_PORT_FIELD_NUMBER: _ClassVar[int] CONFIRMED_FIELD_NUMBER: _ClassVar[int] DATA_FIELD_NUMBER: _ClassVar[int] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - F_PORT_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] OBJECT_FIELD_NUMBER: _ClassVar[int] + RX_INFO_FIELD_NUMBER: _ClassVar[int] + TX_INFO_FIELD_NUMBER: _ClassVar[int] + RELAY_RX_INFO_FIELD_NUMBER: _ClassVar[int] + deduplication_id: str + time: _timestamp_pb2.Timestamp + device_info: DeviceInfo + dev_addr: str + adr: bool + dr: int + f_cnt: int + f_port: int confirmed: bool data: bytes - dev_eui: str - f_port: int - id: str object: _struct_pb2.Struct - def __init__(self, id: _Optional[str] = ..., dev_eui: _Optional[str] = ..., confirmed: bool = ..., f_port: _Optional[int] = ..., data: _Optional[bytes] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ... - -class IntegrationEvent(_message.Message): - __slots__ = ["deduplication_id", "device_info", "event_type", "integration_name", "object", "time"] - DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] - EVENT_TYPE_FIELD_NUMBER: _ClassVar[int] - INTEGRATION_NAME_FIELD_NUMBER: _ClassVar[int] - OBJECT_FIELD_NUMBER: _ClassVar[int] - TIME_FIELD_NUMBER: _ClassVar[int] - deduplication_id: str - device_info: DeviceInfo - event_type: str - integration_name: str - object: _struct_pb2.Struct - time: _timestamp_pb2.Timestamp - def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., integration_name: _Optional[str] = ..., event_type: _Optional[str] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ... + rx_info: _containers.RepeatedCompositeFieldContainer[_gw_pb2.UplinkRxInfo] + tx_info: _gw_pb2.UplinkTxInfo + relay_rx_info: UplinkRelayRxInfo + def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., dev_addr: _Optional[str] = ..., adr: bool = ..., dr: _Optional[int] = ..., f_cnt: _Optional[int] = ..., f_port: _Optional[int] = ..., confirmed: bool = ..., data: _Optional[bytes] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., rx_info: _Optional[_Iterable[_Union[_gw_pb2.UplinkRxInfo, _Mapping]]] = ..., tx_info: _Optional[_Union[_gw_pb2.UplinkTxInfo, _Mapping]] = ..., relay_rx_info: _Optional[_Union[UplinkRelayRxInfo, _Mapping]] = ...) -> None: ... class JoinEvent(_message.Message): - __slots__ = ["deduplication_id", "dev_addr", "device_info", "relay_rx_info", "time"] + __slots__ = ["deduplication_id", "time", "device_info", "dev_addr", "relay_rx_info"] DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + TIME_FIELD_NUMBER: _ClassVar[int] DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] DEV_ADDR_FIELD_NUMBER: _ClassVar[int] RELAY_RX_INFO_FIELD_NUMBER: _ClassVar[int] - TIME_FIELD_NUMBER: _ClassVar[int] deduplication_id: str - dev_addr: str - device_info: DeviceInfo - relay_rx_info: UplinkRelayRxInfo time: _timestamp_pb2.Timestamp + device_info: DeviceInfo + dev_addr: str + relay_rx_info: UplinkRelayRxInfo def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., dev_addr: _Optional[str] = ..., relay_rx_info: _Optional[_Union[UplinkRelayRxInfo, _Mapping]] = ...) -> None: ... -class LocationEvent(_message.Message): - __slots__ = ["deduplication_id", "device_info", "location", "time"] +class AckEvent(_message.Message): + __slots__ = ["deduplication_id", "time", "device_info", "queue_item_id", "acknowledged", "f_cnt_down"] DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] - LOCATION_FIELD_NUMBER: _ClassVar[int] TIME_FIELD_NUMBER: _ClassVar[int] + DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] + QUEUE_ITEM_ID_FIELD_NUMBER: _ClassVar[int] + ACKNOWLEDGED_FIELD_NUMBER: _ClassVar[int] + F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int] deduplication_id: str - device_info: DeviceInfo - location: _common_pb2.Location time: _timestamp_pb2.Timestamp - def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ...) -> None: ... + device_info: DeviceInfo + queue_item_id: str + acknowledged: bool + f_cnt_down: int + def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., queue_item_id: _Optional[str] = ..., acknowledged: bool = ..., f_cnt_down: _Optional[int] = ...) -> None: ... + +class TxAckEvent(_message.Message): + __slots__ = ["downlink_id", "time", "device_info", "queue_item_id", "f_cnt_down", "gateway_id", "tx_info"] + DOWNLINK_ID_FIELD_NUMBER: _ClassVar[int] + TIME_FIELD_NUMBER: _ClassVar[int] + DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] + QUEUE_ITEM_ID_FIELD_NUMBER: _ClassVar[int] + F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + TX_INFO_FIELD_NUMBER: _ClassVar[int] + downlink_id: int + time: _timestamp_pb2.Timestamp + device_info: DeviceInfo + queue_item_id: str + f_cnt_down: int + gateway_id: str + tx_info: _gw_pb2.DownlinkTxInfo + def __init__(self, downlink_id: _Optional[int] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., queue_item_id: _Optional[str] = ..., f_cnt_down: _Optional[int] = ..., gateway_id: _Optional[str] = ..., tx_info: _Optional[_Union[_gw_pb2.DownlinkTxInfo, _Mapping]] = ...) -> None: ... class LogEvent(_message.Message): - __slots__ = ["code", "context", "description", "device_info", "level", "time"] + __slots__ = ["time", "device_info", "level", "code", "description", "context"] class ContextEntry(_message.Message): __slots__ = ["key", "value"] KEY_FIELD_NUMBER: _ClassVar[int] @@ -137,106 +178,78 @@ class LogEvent(_message.Message): key: str value: str def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... - CODE_FIELD_NUMBER: _ClassVar[int] - CONTEXT_FIELD_NUMBER: _ClassVar[int] - DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + TIME_FIELD_NUMBER: _ClassVar[int] DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] LEVEL_FIELD_NUMBER: _ClassVar[int] - TIME_FIELD_NUMBER: _ClassVar[int] - code: LogCode - context: _containers.ScalarMap[str, str] - description: str + CODE_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CONTEXT_FIELD_NUMBER: _ClassVar[int] + time: _timestamp_pb2.Timestamp device_info: DeviceInfo level: LogLevel - time: _timestamp_pb2.Timestamp + code: LogCode + description: str + context: _containers.ScalarMap[str, str] def __init__(self, time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., level: _Optional[_Union[LogLevel, str]] = ..., code: _Optional[_Union[LogCode, str]] = ..., description: _Optional[str] = ..., context: _Optional[_Mapping[str, str]] = ...) -> None: ... class StatusEvent(_message.Message): - __slots__ = ["battery_level", "battery_level_unavailable", "deduplication_id", "device_info", "external_power_source", "margin", "time"] - BATTERY_LEVEL_FIELD_NUMBER: _ClassVar[int] - BATTERY_LEVEL_UNAVAILABLE_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["deduplication_id", "time", "device_info", "margin", "external_power_source", "battery_level_unavailable", "battery_level"] DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] - EXTERNAL_POWER_SOURCE_FIELD_NUMBER: _ClassVar[int] - MARGIN_FIELD_NUMBER: _ClassVar[int] TIME_FIELD_NUMBER: _ClassVar[int] - battery_level: float - battery_level_unavailable: bool + DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] + MARGIN_FIELD_NUMBER: _ClassVar[int] + EXTERNAL_POWER_SOURCE_FIELD_NUMBER: _ClassVar[int] + BATTERY_LEVEL_UNAVAILABLE_FIELD_NUMBER: _ClassVar[int] + BATTERY_LEVEL_FIELD_NUMBER: _ClassVar[int] deduplication_id: str - device_info: DeviceInfo - external_power_source: bool - margin: int time: _timestamp_pb2.Timestamp + device_info: DeviceInfo + margin: int + external_power_source: bool + battery_level_unavailable: bool + battery_level: float def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., margin: _Optional[int] = ..., external_power_source: bool = ..., battery_level_unavailable: bool = ..., battery_level: _Optional[float] = ...) -> None: ... -class TxAckEvent(_message.Message): - __slots__ = ["device_info", "downlink_id", "f_cnt_down", "gateway_id", "queue_item_id", "time", "tx_info"] - DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] - DOWNLINK_ID_FIELD_NUMBER: _ClassVar[int] - F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - QUEUE_ITEM_ID_FIELD_NUMBER: _ClassVar[int] - TIME_FIELD_NUMBER: _ClassVar[int] - TX_INFO_FIELD_NUMBER: _ClassVar[int] - device_info: DeviceInfo - downlink_id: int - f_cnt_down: int - gateway_id: str - queue_item_id: str - time: _timestamp_pb2.Timestamp - tx_info: _gw_pb2.DownlinkTxInfo - def __init__(self, downlink_id: _Optional[int] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., queue_item_id: _Optional[str] = ..., f_cnt_down: _Optional[int] = ..., gateway_id: _Optional[str] = ..., tx_info: _Optional[_Union[_gw_pb2.DownlinkTxInfo, _Mapping]] = ...) -> None: ... - -class UplinkEvent(_message.Message): - __slots__ = ["adr", "confirmed", "data", "deduplication_id", "dev_addr", "device_info", "dr", "f_cnt", "f_port", "object", "relay_rx_info", "rx_info", "time", "tx_info"] - ADR_FIELD_NUMBER: _ClassVar[int] - CONFIRMED_FIELD_NUMBER: _ClassVar[int] - DATA_FIELD_NUMBER: _ClassVar[int] +class LocationEvent(_message.Message): + __slots__ = ["deduplication_id", "time", "device_info", "location"] DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int] - DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] - DEV_ADDR_FIELD_NUMBER: _ClassVar[int] - DR_FIELD_NUMBER: _ClassVar[int] - F_CNT_FIELD_NUMBER: _ClassVar[int] - F_PORT_FIELD_NUMBER: _ClassVar[int] - OBJECT_FIELD_NUMBER: _ClassVar[int] - RELAY_RX_INFO_FIELD_NUMBER: _ClassVar[int] - RX_INFO_FIELD_NUMBER: _ClassVar[int] TIME_FIELD_NUMBER: _ClassVar[int] - TX_INFO_FIELD_NUMBER: _ClassVar[int] - adr: bool - confirmed: bool - data: bytes + DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] + LOCATION_FIELD_NUMBER: _ClassVar[int] deduplication_id: str - dev_addr: str - device_info: DeviceInfo - dr: int - f_cnt: int - f_port: int - object: _struct_pb2.Struct - relay_rx_info: UplinkRelayRxInfo - rx_info: _containers.RepeatedCompositeFieldContainer[_gw_pb2.UplinkRxInfo] time: _timestamp_pb2.Timestamp - tx_info: _gw_pb2.UplinkTxInfo - def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., dev_addr: _Optional[str] = ..., adr: bool = ..., dr: _Optional[int] = ..., f_cnt: _Optional[int] = ..., f_port: _Optional[int] = ..., confirmed: bool = ..., data: _Optional[bytes] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., rx_info: _Optional[_Iterable[_Union[_gw_pb2.UplinkRxInfo, _Mapping]]] = ..., tx_info: _Optional[_Union[_gw_pb2.UplinkTxInfo, _Mapping]] = ..., relay_rx_info: _Optional[_Union[UplinkRelayRxInfo, _Mapping]] = ...) -> None: ... + device_info: DeviceInfo + location: _common_pb2.Location + def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ...) -> None: ... -class UplinkRelayRxInfo(_message.Message): - __slots__ = ["dev_eui", "dr", "frequency", "rssi", "snr", "wor_channel"] +class IntegrationEvent(_message.Message): + __slots__ = ["deduplication_id", "time", "device_info", "integration_name", "event_type", "object"] + DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + TIME_FIELD_NUMBER: _ClassVar[int] + DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] + INTEGRATION_NAME_FIELD_NUMBER: _ClassVar[int] + EVENT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_FIELD_NUMBER: _ClassVar[int] + deduplication_id: str + time: _timestamp_pb2.Timestamp + device_info: DeviceInfo + integration_name: str + event_type: str + object: _struct_pb2.Struct + def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., integration_name: _Optional[str] = ..., event_type: _Optional[str] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ... + +class DownlinkCommand(_message.Message): + __slots__ = ["id", "dev_eui", "confirmed", "f_port", "data", "object"] + ID_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int] - DR_FIELD_NUMBER: _ClassVar[int] - FREQUENCY_FIELD_NUMBER: _ClassVar[int] - RSSI_FIELD_NUMBER: _ClassVar[int] - SNR_FIELD_NUMBER: _ClassVar[int] - WOR_CHANNEL_FIELD_NUMBER: _ClassVar[int] + CONFIRMED_FIELD_NUMBER: _ClassVar[int] + F_PORT_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] + OBJECT_FIELD_NUMBER: _ClassVar[int] + id: str dev_eui: str - dr: int - frequency: int - rssi: int - snr: int - wor_channel: int - def __init__(self, dev_eui: _Optional[str] = ..., frequency: _Optional[int] = ..., dr: _Optional[int] = ..., snr: _Optional[int] = ..., rssi: _Optional[int] = ..., wor_channel: _Optional[int] = ...) -> None: ... - -class LogLevel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] - -class LogCode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = [] + confirmed: bool + f_port: int + data: bytes + object: _struct_pb2.Struct + def __init__(self, id: _Optional[str] = ..., dev_eui: _Optional[str] = ..., confirmed: bool = ..., f_port: _Optional[int] = ..., data: _Optional[bytes] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ... diff --git a/api/python/src/chirpstack_api/meta/meta_pb2.py b/api/python/src/chirpstack_api/meta/meta_pb2.py index be7b003f..92f72180 100644 --- a/api/python/src/chirpstack_api/meta/meta_pb2.py +++ b/api/python/src/chirpstack_api/meta/meta_pb2.py @@ -2,10 +2,10 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: chirpstack-api/meta/meta.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,14 +17,15 @@ from chirpstack_api.gw import gw_pb2 as chirpstack__api_dot_gw_dot_gw__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x63hirpstack-api/meta/meta.proto\x12\x04meta\x1a\"chirpstack-api/common/common.proto\x1a\x1a\x63hirpstack-api/gw/gw.proto\"\xf0\x01\n\nUplinkMeta\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12!\n\x07tx_info\x18\x02 \x01(\x0b\x32\x10.gw.UplinkTxInfo\x12!\n\x07rx_info\x18\x03 \x03(\x0b\x32\x10.gw.UplinkRxInfo\x12\x1e\n\x16phy_payload_byte_count\x18\x04 \x01(\r\x12\x1e\n\x16mac_command_byte_count\x18\x05 \x01(\r\x12&\n\x1e\x61pplication_payload_byte_count\x18\x06 \x01(\r\x12#\n\x0cmessage_type\x18\x07 \x01(\x0e\x32\r.common.MType\"\x81\x02\n\x0c\x44ownlinkMeta\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12\x1a\n\x12multicast_group_id\x18\x02 \x01(\t\x12#\n\x07tx_info\x18\x03 \x01(\x0b\x32\x12.gw.DownlinkTxInfo\x12\x1e\n\x16phy_payload_byte_count\x18\x04 \x01(\r\x12\x1e\n\x16mac_command_byte_count\x18\x05 \x01(\r\x12&\n\x1e\x61pplication_payload_byte_count\x18\x06 \x01(\r\x12#\n\x0cmessage_type\x18\x07 \x01(\x0e\x32\r.common.MType\x12\x12\n\ngateway_id\x18\x08 \x01(\tBh\n\x16io.chirpstack.api.metaB\tMetaProtoP\x01Z/github.com/chirpstack/chirpstack/api/go/v4/meta\xaa\x02\x0f\x43hirpstack.Metab\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.meta.meta_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.meta.meta_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\026io.chirpstack.api.metaB\tMetaProtoP\001Z/github.com/chirpstack/chirpstack/api/go/v4/meta\252\002\017Chirpstack.Meta' - _UPLINKMETA._serialized_start=105 - _UPLINKMETA._serialized_end=345 - _DOWNLINKMETA._serialized_start=348 - _DOWNLINKMETA._serialized_end=605 + _globals['_UPLINKMETA']._serialized_start=105 + _globals['_UPLINKMETA']._serialized_end=345 + _globals['_DOWNLINKMETA']._serialized_start=348 + _globals['_DOWNLINKMETA']._serialized_end=605 # @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/meta/meta_pb2.pyi b/api/python/src/chirpstack_api/meta/meta_pb2.pyi index 58628c19..4e83c46d 100644 --- a/api/python/src/chirpstack_api/meta/meta_pb2.pyi +++ b/api/python/src/chirpstack_api/meta/meta_pb2.pyi @@ -7,40 +7,40 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map DESCRIPTOR: _descriptor.FileDescriptor -class DownlinkMeta(_message.Message): - __slots__ = ["application_payload_byte_count", "dev_eui", "gateway_id", "mac_command_byte_count", "message_type", "multicast_group_id", "phy_payload_byte_count", "tx_info"] - APPLICATION_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int] - DEV_EUI_FIELD_NUMBER: _ClassVar[int] - GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] - MAC_COMMAND_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int] - MESSAGE_TYPE_FIELD_NUMBER: _ClassVar[int] - MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] - PHY_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int] - TX_INFO_FIELD_NUMBER: _ClassVar[int] - application_payload_byte_count: int - dev_eui: str - gateway_id: str - mac_command_byte_count: int - message_type: _common_pb2.MType - multicast_group_id: str - phy_payload_byte_count: int - tx_info: _gw_pb2.DownlinkTxInfo - def __init__(self, dev_eui: _Optional[str] = ..., multicast_group_id: _Optional[str] = ..., tx_info: _Optional[_Union[_gw_pb2.DownlinkTxInfo, _Mapping]] = ..., phy_payload_byte_count: _Optional[int] = ..., mac_command_byte_count: _Optional[int] = ..., application_payload_byte_count: _Optional[int] = ..., message_type: _Optional[_Union[_common_pb2.MType, str]] = ..., gateway_id: _Optional[str] = ...) -> None: ... - class UplinkMeta(_message.Message): - __slots__ = ["application_payload_byte_count", "dev_eui", "mac_command_byte_count", "message_type", "phy_payload_byte_count", "rx_info", "tx_info"] - APPLICATION_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["dev_eui", "tx_info", "rx_info", "phy_payload_byte_count", "mac_command_byte_count", "application_payload_byte_count", "message_type"] DEV_EUI_FIELD_NUMBER: _ClassVar[int] - MAC_COMMAND_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int] - MESSAGE_TYPE_FIELD_NUMBER: _ClassVar[int] - PHY_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int] - RX_INFO_FIELD_NUMBER: _ClassVar[int] TX_INFO_FIELD_NUMBER: _ClassVar[int] - application_payload_byte_count: int + RX_INFO_FIELD_NUMBER: _ClassVar[int] + PHY_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int] + MAC_COMMAND_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int] + APPLICATION_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int] + MESSAGE_TYPE_FIELD_NUMBER: _ClassVar[int] dev_eui: str - mac_command_byte_count: int - message_type: _common_pb2.MType - phy_payload_byte_count: int - rx_info: _containers.RepeatedCompositeFieldContainer[_gw_pb2.UplinkRxInfo] tx_info: _gw_pb2.UplinkTxInfo + rx_info: _containers.RepeatedCompositeFieldContainer[_gw_pb2.UplinkRxInfo] + phy_payload_byte_count: int + mac_command_byte_count: int + application_payload_byte_count: int + message_type: _common_pb2.MType def __init__(self, dev_eui: _Optional[str] = ..., tx_info: _Optional[_Union[_gw_pb2.UplinkTxInfo, _Mapping]] = ..., rx_info: _Optional[_Iterable[_Union[_gw_pb2.UplinkRxInfo, _Mapping]]] = ..., phy_payload_byte_count: _Optional[int] = ..., mac_command_byte_count: _Optional[int] = ..., application_payload_byte_count: _Optional[int] = ..., message_type: _Optional[_Union[_common_pb2.MType, str]] = ...) -> None: ... + +class DownlinkMeta(_message.Message): + __slots__ = ["dev_eui", "multicast_group_id", "tx_info", "phy_payload_byte_count", "mac_command_byte_count", "application_payload_byte_count", "message_type", "gateway_id"] + DEV_EUI_FIELD_NUMBER: _ClassVar[int] + MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] + TX_INFO_FIELD_NUMBER: _ClassVar[int] + PHY_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int] + MAC_COMMAND_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int] + APPLICATION_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int] + MESSAGE_TYPE_FIELD_NUMBER: _ClassVar[int] + GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] + dev_eui: str + multicast_group_id: str + tx_info: _gw_pb2.DownlinkTxInfo + phy_payload_byte_count: int + mac_command_byte_count: int + application_payload_byte_count: int + message_type: _common_pb2.MType + gateway_id: str + def __init__(self, dev_eui: _Optional[str] = ..., multicast_group_id: _Optional[str] = ..., tx_info: _Optional[_Union[_gw_pb2.DownlinkTxInfo, _Mapping]] = ..., phy_payload_byte_count: _Optional[int] = ..., mac_command_byte_count: _Optional[int] = ..., application_payload_byte_count: _Optional[int] = ..., message_type: _Optional[_Union[_common_pb2.MType, str]] = ..., gateway_id: _Optional[str] = ...) -> None: ... diff --git a/api/python/src/setup.py b/api/python/src/setup.py index 3f8f63e3..1137432a 100644 --- a/api/python/src/setup.py +++ b/api/python/src/setup.py @@ -18,7 +18,7 @@ CLASSIFIERS = [ setup( name='chirpstack-api', - version = "4.4.3", + version = "4.5.0-test.1", url='https://github.com/brocaar/chirpstack-api', author='Orne Brocaar', author_email='info@brocaar.com', diff --git a/api/rust/Cargo.lock b/api/rust/Cargo.lock new file mode 100644 index 00000000..d890a0d1 --- /dev/null +++ b/api/rust/Cargo.lock @@ -0,0 +1,1245 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aho-corasick" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783" +dependencies = [ + "memchr", +] + +[[package]] +name = "anyhow" +version = "1.0.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" + +[[package]] +name = "async-trait" +version = "0.1.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.31", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "axum" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +dependencies = [ + "async-trait", + "axum-core", + "bitflags 1.3.2", + "bytes", + "futures-util", + "http", + "http-body", + "hyper", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "sync_wrapper", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "mime", + "rustversion", + "tower-layer", + "tower-service", +] + +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "414dcefbc63d77c526a76b3afcf6fbb9b5e2791c19c3aa2297733208750c6e53" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chirpstack_api" +version = "4.5.0-test.1" +dependencies = [ + "hex", + "pbjson", + "pbjson-build", + "pbjson-types", + "prost", + "prost-types", + "rand", + "serde", + "tokio", + "tonic", + "tonic-build", +] + +[[package]] +name = "chrono" +version = "0.4.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95ed24df0632f708f5f6d8082675bef2596f7084dee3dd55f632290bf35bfe0f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys", +] + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "fastrand" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "futures-channel" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +name = "futures-util" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-core", + "futures-task", + "pin-project-lite", + "pin-utils", +] + +[[package]] +name = "getrandom" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gimli" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" + +[[package]] +name = "h2" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 1.9.3", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.4.9", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-timeout" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +dependencies = [ + "hyper", + "pin-project-lite", + "tokio", + "tokio-io-timeout", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown 0.14.0", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.147" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" + +[[package]] +name = "linux-raw-sys" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "matchit" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed1202b2a6f884ae56f04cff409ab315c5ce26b5e58d7412e484f01fd52f52ef" + +[[package]] +name = "memchr" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +dependencies = [ + "libc", + "wasi", + "windows-sys", +] + +[[package]] +name = "multimap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" + +[[package]] +name = "num-traits" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +dependencies = [ + "autocfg", +] + +[[package]] +name = "object" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "pbjson" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "048f9ac93c1eab514f9470c4bc8d97ca2a0a236b84f45cc19d69a59fc11467f6" +dependencies = [ + "base64 0.13.1", + "serde", +] + +[[package]] +name = "pbjson-build" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdbb7b706f2afc610f3853550cdbbf6372fd324824a087806bd4480ea4996e24" +dependencies = [ + "heck", + "itertools", + "prost", + "prost-types", +] + +[[package]] +name = "pbjson-types" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a88c8d87f99a4ac14325e7a4c24af190fca261956e3b82dd7ed67e77e6c7043" +dependencies = [ + "bytes", + "chrono", + "pbjson", + "pbjson-build", + "prost", + "prost-build", + "serde", +] + +[[package]] +name = "percent-encoding" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "petgraph" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +dependencies = [ + "fixedbitset", + "indexmap 2.0.0", +] + +[[package]] +name = "pin-project" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.31", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "prettyplease" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +dependencies = [ + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "proc-macro2" +version = "1.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "prost" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-build" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" +dependencies = [ + "bytes", + "heck", + "itertools", + "lazy_static", + "log", + "multimap", + "petgraph", + "prettyplease", + "prost", + "prost-types", + "regex", + "syn 1.0.109", + "tempfile", + "which", +] + +[[package]] +name = "prost-derive" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "prost-types" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +dependencies = [ + "prost", +] + +[[package]] +name = "quote" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_users" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +dependencies = [ + "getrandom", + "redox_syscall 0.2.16", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustix" +version = "0.38.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0c3dde1fc030af041adc40e79c0e7fbcf431dd24870053d187d7c66e4b87453" +dependencies = [ + "bitflags 2.4.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys", +] + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "serde" +version = "1.0.188" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.188" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.31", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "socket2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "718fa2415bcb8d8bd775917a1bf12a7931b6dfa890753378538118181e0cb398" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "tempfile" +version = "3.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +dependencies = [ + "cfg-if", + "fastrand", + "redox_syscall 0.3.5", + "rustix", + "windows-sys", +] + +[[package]] +name = "thiserror" +version = "1.0.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.31", +] + +[[package]] +name = "tokio" +version = "1.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2 0.5.3", + "tokio-macros", + "windows-sys", +] + +[[package]] +name = "tokio-io-timeout" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" +dependencies = [ + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-macros" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.31", +] + +[[package]] +name = "tokio-stream" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "tonic" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" +dependencies = [ + "async-trait", + "axum", + "base64 0.21.3", + "bytes", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-timeout", + "percent-encoding", + "pin-project", + "prost", + "tokio", + "tokio-stream", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tonic-build" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6fdaae4c2c638bb70fe42803a26fbd6fc6ac8c72f5c59f67ecc2a2dcabf4b07" +dependencies = [ + "prettyplease", + "proc-macro2", + "prost-build", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "indexmap 1.9.3", + "pin-project", + "pin-project-lite", + "rand", + "slab", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.31", +] + +[[package]] +name = "tracing-core" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "unicode-ident" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "which" +version = "4.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ad25fe5717e59ada8ea33511bbbf7420b11031730a24c65e82428766c307006" +dependencies = [ + "dirs", + "either", + "once_cell", + "rustix", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" diff --git a/api/rust/Cargo.toml b/api/rust/Cargo.toml index 15a1b4ce..8a65f043 100644 --- a/api/rust/Cargo.toml +++ b/api/rust/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "chirpstack_api" description = "ChirpStack Protobuf / gRPC API definitions." -version = "4.4.3" +version = "4.5.0-test.1" authors = ["Orne Brocaar "] license = "MIT" homepage = "https://www.chirpstack.io" diff --git a/backend/Cargo.toml b/backend/Cargo.toml index 7c338605..1fa43d2f 100644 --- a/backend/Cargo.toml +++ b/backend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "backend" -version = "4.4.3" +version = "4.5.0-test.1" authors = ["Orne Brocaar "] edition = "2018" publish = false diff --git a/chirpstack/Cargo.toml b/chirpstack/Cargo.toml index 90c2a0b2..dd4504a2 100644 --- a/chirpstack/Cargo.toml +++ b/chirpstack/Cargo.toml @@ -3,7 +3,7 @@ name = "chirpstack" description = "ChirpStack is an open-source LoRaWAN(TM) Network Server" repository = "https://github.com/chirpstack/chirpstack" homepage = "https://www.chirpstack.io/" -version = "4.4.3" +version = "4.5.0-test.1" authors = ["Orne Brocaar "] edition = "2021" publish = false diff --git a/lrwn-filters/Cargo.toml b/lrwn-filters/Cargo.toml index af16f7cc..86ed8f2b 100644 --- a/lrwn-filters/Cargo.toml +++ b/lrwn-filters/Cargo.toml @@ -3,7 +3,7 @@ name = "lrwn_filters" description = "Library for filtering LoRaWAN payloads on DevAddr and JoinEUIs prefixes" homepage = "https://www.chirpstack.io/" license = "MIT" -version = "4.4.3" +version = "4.5.0-test.1" authors = ["Orne Brocaar "] edition = "2021" repository = "https://github.com/chirpstack/chirpstack" diff --git a/lrwn/Cargo.toml b/lrwn/Cargo.toml index 1c7ebf8b..cefc51ef 100644 --- a/lrwn/Cargo.toml +++ b/lrwn/Cargo.toml @@ -3,7 +3,7 @@ name = "lrwn" description = "Library for encoding / decoding LoRaWAN frames." homepage = "https://www.chirpstack.io" license = "MIT" -version = "4.4.3" +version = "4.5.0-test.1" authors = ["Orne Brocaar "] edition = "2018" repository = "https://github.com/chirpstack/chirpstack" diff --git a/ui/package.json b/ui/package.json index eb05955d..cd45749e 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,6 +1,6 @@ { "name": "chirpstack-ui", - "version": "4.4.3", + "version": "4.5.0-test.1", "private": true, "dependencies": { "@ant-design/colors": "^7.0.0",