mirror of
https://github.com/chirpstack/chirpstack.git
synced 2025-06-12 20:48:09 +00:00
Initial commit.
This commit is contained in:
47
api/python/Makefile
Normal file
47
api/python/Makefile
Normal file
@ -0,0 +1,47 @@
|
||||
.PHONY: requirements common gw api integration meta
|
||||
|
||||
PROTOC := python -m grpc_tools.protoc
|
||||
PROTOC_ARGS := -I=/googleapis -I=proto --python_out=src --grpc_python_out=src
|
||||
PACKAGE_NAME := import \"chirpstack-api/
|
||||
|
||||
all: requirements pre-build version common gw api integration meta
|
||||
|
||||
requirements:
|
||||
pip install grpcio-tools
|
||||
|
||||
version:
|
||||
sed -i 's/version.*/version = "$(VERSION)",/g' ./src/setup.py
|
||||
|
||||
# See: https://github.com/protocolbuffers/protobuf/issues/7061
|
||||
pre-build:
|
||||
rm -rf proto
|
||||
mkdir -p proto/chirpstack-api
|
||||
cp -r ../proto/* proto/chirpstack-api/
|
||||
sed -i 's@^import "common/@$(PACKAGE_NAME)common/@g' `find proto/chirpstack-api -type f -name "*.proto*"`
|
||||
sed -i 's@^import "gw/@$(PACKAGE_NAME)gw/@g' `find proto/chirpstack-api -type f -name "*.proto*"`
|
||||
sed -i 's@^import "api/@$(PACKAGE_NAME)api/@g' `find proto/chirpstack-api -type f -name "*.proto*"`
|
||||
mkdir -p src
|
||||
|
||||
common:
|
||||
$(PROTOC) $(PROTOC_ARGS) chirpstack-api/common/common.proto
|
||||
|
||||
gw:
|
||||
$(PROTOC) $(PROTOC_ARGS) chirpstack-api/gw/gw.proto
|
||||
|
||||
|
||||
api:
|
||||
$(PROTOC) ${PROTOC_ARGS} chirpstack-api/api/internal.proto
|
||||
$(PROTOC) ${PROTOC_ARGS} chirpstack-api/api/user.proto
|
||||
$(PROTOC) ${PROTOC_ARGS} chirpstack-api/api/tenant.proto
|
||||
$(PROTOC) ${PROTOC_ARGS} chirpstack-api/api/application.proto
|
||||
$(PROTOC) ${PROTOC_ARGS} chirpstack-api/api/device_profile.proto
|
||||
$(PROTOC) ${PROTOC_ARGS} chirpstack-api/api/device.proto
|
||||
$(PROTOC) ${PROTOC_ARGS} chirpstack-api/api/gateway.proto
|
||||
$(PROTOC) ${PROTOC_ARGS} chirpstack-api/api/frame_log.proto
|
||||
$(PROTOC) ${PROTOC_ARGS} chirpstack-api/api/multicast_group.proto
|
||||
|
||||
integration:
|
||||
$(PROTOC) ${PROTOC_ARGS} chirpstack-api/integration/integration.proto
|
||||
|
||||
meta:
|
||||
$(PROTOC) ${PROTOC_ARGS} chirpstack-api/meta/meta.proto
|
738
api/python/proto/chirpstack-api/api/application.proto
Normal file
738
api/python/proto/chirpstack-api/api/application.proto
Normal file
@ -0,0 +1,738 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package api;
|
||||
|
||||
option go_package = "github.com/chirpstack/chirpstack/api/go/v4";
|
||||
option java_package = "io.chirpstack.api";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "ApplicationProto";
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
|
||||
// ApplicationService is the service providing API methods for managing applications.
|
||||
service ApplicationService {
|
||||
// Create creates the given application.
|
||||
rpc Create(CreateApplicationRequest) returns (CreateApplicationResponse) {}
|
||||
|
||||
// Get the application for the given ID.
|
||||
rpc Get(GetApplicationRequest) returns (GetApplicationResponse) {}
|
||||
|
||||
// Update updates the given application.
|
||||
rpc Update(UpdateApplicationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete the application for the given ID.
|
||||
rpc Delete(DeleteApplicationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get the list of applications.
|
||||
rpc List(ListApplicationsRequest) returns (ListApplicationsResponse) {}
|
||||
|
||||
// List all configured integrations.
|
||||
rpc ListIntegrations(ListIntegrationsRequest) returns (ListIntegrationsResponse) {}
|
||||
|
||||
// Create HTTP integration.
|
||||
rpc CreateHttpIntegration(CreateHttpIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get the configured HTTP integration.
|
||||
rpc GetHttpIntegration(GetHttpIntegrationRequest) returns (GetHttpIntegrationResponse) {}
|
||||
|
||||
// Update the HTTP integration.
|
||||
rpc UpdateHttpIntegration(UpdateHttpIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete the HTTP integration.
|
||||
rpc DeleteHttpIntegration(DeleteHttpIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Create InfluxDb integration.
|
||||
rpc CreateInfluxDbIntegration(CreateInfluxDbIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get InfluxDb integration.
|
||||
rpc GetInfluxDbIntegration(GetInfluxDbIntegrationRequest) returns (GetInfluxDbIntegrationResponse) {}
|
||||
|
||||
// Update InfluxDb integration.
|
||||
rpc UpdateInfluxDbIntegration(UpdateInfluxDbIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete InfluxDb integration.
|
||||
rpc DeleteInfluxDbIntegration(DeleteInfluxDbIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Create ThingsBoard integration.
|
||||
rpc CreateThingsBoardIntegration(CreateThingsBoardIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get ThingsBoard integration.
|
||||
rpc GetThingsBoardIntegration(GetThingsBoardIntegrationRequest) returns (GetThingsBoardIntegrationResponse) {}
|
||||
|
||||
// Update ThingsBoard integration.
|
||||
rpc UpdateThingsBoardIntegration(UpdateThingsBoardIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete ThingsBoard integration.
|
||||
rpc DeleteThingsBoardIntegration(DeleteThingsBoardIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Create myDevices integration.
|
||||
rpc CreateMyDevicesIntegration(CreateMyDevicesIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get myDevices integration.
|
||||
rpc GetMyDevicesIntegration(GetMyDevicesIntegrationRequest) returns (GetMyDevicesIntegrationResponse) {}
|
||||
|
||||
// Update myDevices integration.
|
||||
rpc UpdateMyDevicesIntegration(UpdateMyDevicesIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete myDevices integration.
|
||||
rpc DeleteMyDevicesIntegration(DeleteMyDevicesIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Create LoRaCloud integration.
|
||||
rpc CreateLoraCloudIntegration(CreateLoraCloudIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get LoRaCloud integration.
|
||||
rpc GetLoraCloudIntegration(GetLoraCloudIntegrationRequest) returns (GetLoraCloudIntegrationResponse) {}
|
||||
|
||||
// Update LoRaCloud integration.
|
||||
rpc UpdateLoraCloudIntegration(UpdateLoraCloudIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete LoRaCloud integration.
|
||||
rpc DeleteLoraCloudIntegration(DeleteLoraCloudIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Create GCP Pub/Sub integration.
|
||||
rpc CreateGcpPubSubIntegration(CreateGcpPubSubIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get GCP Pub/Sub integration.
|
||||
rpc GetGcpPubSubIntegration(GetGcpPubSubIntegrationRequest) returns (GetGcpPubSubIntegrationResponse) {}
|
||||
|
||||
// Update GCP Pub/Sub integration.
|
||||
rpc UpdateGcpPubSubIntegration(UpdateGcpPubSubIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete GCP Pub/Sub integration.
|
||||
rpc DeleteGcpPubSubIntegration(DeleteGcpPubSubIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Create AWS SNS integration.
|
||||
rpc CreateAwsSnsIntegration(CreateAwsSnsIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get AWS SNS integration.
|
||||
rpc GetAwsSnsIntegration(GetAwsSnsIntegrationRequest) returns (GetAwsSnsIntegrationResponse) {}
|
||||
|
||||
// Update AWS SNS integration.
|
||||
rpc UpdateAwsSnsIntegration(UpdateAwsSnsIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete AWS SNS integration.
|
||||
rpc DeleteAwsSnsIntegration(DeleteAwsSnsIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Create Azure Service-Bus integration.
|
||||
rpc CreateAzureServiceBusIntegration(CreateAzureServiceBusIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get Azure Service-Bus integration.
|
||||
rpc GetAzureServiceBusIntegration(GetAzureServiceBusIntegrationRequest) returns (GetAzureServiceBusIntegrationResponse) {}
|
||||
|
||||
// Update Azure Service-Bus integration.
|
||||
rpc UpdateAzureServiceBusIntegration(UpdateAzureServiceBusIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete Azure Service-Bus integration.
|
||||
rpc DeleteAzureServiceBusIntegration(DeleteAzureServiceBusIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Create Pilot Things integration.
|
||||
rpc CreatePilotThingsIntegration(CreatePilotThingsIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get Pilot Things integration.
|
||||
rpc GetPilotThingsIntegration(GetPilotThingsIntegrationRequest) returns (GetPilotThingsIntegrationResponse) {}
|
||||
|
||||
// Update Pilot Things integration.
|
||||
rpc UpdatePilotThingsIntegration(UpdatePilotThingsIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete Pilot Things integration.
|
||||
rpc DeletePilotThingsIntegration(DeletePilotThingsIntegrationRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Generates application ID specific client-certificate.
|
||||
rpc GenerateMqttIntegrationClientCertificate(GenerateMqttIntegrationClientCertificateRequest) returns (GenerateMqttIntegrationClientCertificateResponse) {}
|
||||
}
|
||||
|
||||
enum Encoding {
|
||||
JSON = 0;
|
||||
PROTOBUF = 1;
|
||||
}
|
||||
|
||||
enum IntegrationKind {
|
||||
HTTP = 0;
|
||||
INFLUX_DB = 1;
|
||||
THINGS_BOARD = 2;
|
||||
MY_DEVICES = 3;
|
||||
LORA_CLOUD = 4;
|
||||
GCP_PUB_SUB = 5;
|
||||
AWS_SNS = 6;
|
||||
AZURE_SERVICE_BUS = 7;
|
||||
PILOT_THINGS = 8;
|
||||
MQTT_GLOBAL = 9;
|
||||
}
|
||||
|
||||
message Application {
|
||||
// Application ID (UUID).
|
||||
// Note: on create this will be automatically generated.
|
||||
string id = 1;
|
||||
|
||||
// Application name.
|
||||
string name = 2;
|
||||
|
||||
// Application description.
|
||||
string description = 3;
|
||||
|
||||
// Tenant ID (UUID).
|
||||
string tenant_id = 4;
|
||||
}
|
||||
|
||||
message ApplicationListItem {
|
||||
// Application ID (UUID).
|
||||
string id = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
|
||||
// Application name.
|
||||
string name = 4;
|
||||
|
||||
// Application description.
|
||||
string description = 5;
|
||||
}
|
||||
|
||||
message CreateApplicationRequest {
|
||||
// Application object to create.
|
||||
Application application = 1;
|
||||
}
|
||||
|
||||
message CreateApplicationResponse {
|
||||
// Application ID (UUID).
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message GetApplicationRequest {
|
||||
// Application ID (UUID).
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message GetApplicationResponse {
|
||||
// Application object.
|
||||
Application application = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
}
|
||||
|
||||
message UpdateApplicationRequest {
|
||||
// Application object.
|
||||
Application application = 1;
|
||||
}
|
||||
|
||||
message DeleteApplicationRequest {
|
||||
// Application ID (UUID).
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message ListApplicationsRequest {
|
||||
// Max number of applications to return in the result-set.
|
||||
uint32 limit = 1;
|
||||
|
||||
// Offset in the result-set (for pagination).
|
||||
uint32 offset = 2;
|
||||
|
||||
// If set, the given string will be used to search on name (optional).
|
||||
string search = 3;
|
||||
|
||||
// Tenant ID to list the applications for.
|
||||
string tenant_id = 4;
|
||||
}
|
||||
|
||||
message ListApplicationsResponse {
|
||||
// Total number of applications.
|
||||
uint32 total_count = 1;
|
||||
|
||||
// Result-set.
|
||||
repeated ApplicationListItem result = 2;
|
||||
}
|
||||
|
||||
message ListIntegrationsRequest {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message IntegrationListItem {
|
||||
// Integration kind.
|
||||
IntegrationKind kind = 1;
|
||||
}
|
||||
|
||||
message ListIntegrationsResponse {
|
||||
// Total number of integrations available within the result-set.
|
||||
uint32 total_count = 1;
|
||||
|
||||
// Integrations within result-set.
|
||||
repeated IntegrationListItem result = 2;
|
||||
}
|
||||
|
||||
message HttpIntegration {
|
||||
// Application ID (UUIO).
|
||||
string application_id = 1;
|
||||
|
||||
// HTTP headers to set when making requests.
|
||||
map<string, string> headers = 2;
|
||||
|
||||
// Payload encoding.
|
||||
Encoding encoding = 3;
|
||||
|
||||
// Event endpoint URL.
|
||||
// The HTTP integration will POST all events to this enpoint. The request
|
||||
// will contain a query parameters "event" containing the type of the
|
||||
// event.
|
||||
string event_endpoint_url = 4;
|
||||
}
|
||||
|
||||
message CreateHttpIntegrationRequest {
|
||||
// Integration object to create.
|
||||
HttpIntegration integration = 1;
|
||||
}
|
||||
|
||||
message GetHttpIntegrationRequest {
|
||||
// Application ID (UUIO).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message GetHttpIntegrationResponse {
|
||||
// Integration object.
|
||||
HttpIntegration integration = 1;
|
||||
}
|
||||
|
||||
message UpdateHttpIntegrationRequest {
|
||||
// Integration object to update.
|
||||
HttpIntegration integration = 1;
|
||||
}
|
||||
|
||||
message DeleteHttpIntegrationRequest {
|
||||
// Application ID (UUIO).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
enum InfluxDbPrecision {
|
||||
NS = 0;
|
||||
U = 1;
|
||||
MS = 2;
|
||||
S = 3;
|
||||
M = 4;
|
||||
H = 5;
|
||||
}
|
||||
|
||||
enum InfluxDbVersion {
|
||||
INFLUXDB_1 = 0;
|
||||
INFLUXDB_2 = 1;
|
||||
}
|
||||
|
||||
message InfluxDbIntegration {
|
||||
// Application ID (UUIO).
|
||||
string application_id = 1;
|
||||
|
||||
// InfluxDb API write endpoint (e.g. http://localhost:8086/write).
|
||||
string endpoint = 2;
|
||||
|
||||
// InfluxDb database name. (InfluxDb v1)
|
||||
string db = 3;
|
||||
|
||||
// InfluxDb username. (InfluxDb v1)
|
||||
string username = 4;
|
||||
|
||||
// InfluxDb password. (InfluxDb v1)
|
||||
string password = 5;
|
||||
|
||||
// InfluxDb retention policy name. (InfluxDb v1)
|
||||
string retention_policy_name = 6;
|
||||
|
||||
// InfluxDb timestamp precision (InfluxDb v1).
|
||||
InfluxDbPrecision precision = 7;
|
||||
|
||||
// InfluxDb version.
|
||||
InfluxDbVersion version = 8;
|
||||
|
||||
// Token. (InfluxDb v2)
|
||||
string token = 9;
|
||||
|
||||
// Organization. (InfluxDb v2)
|
||||
string organization = 10;
|
||||
|
||||
// Bucket. (InfluxDb v2)
|
||||
string bucket = 11;
|
||||
}
|
||||
|
||||
message CreateInfluxDbIntegrationRequest {
|
||||
// Integration object to create.
|
||||
InfluxDbIntegration integration = 1;
|
||||
}
|
||||
|
||||
message GetInfluxDbIntegrationRequest {
|
||||
// Application ID (UUIO).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message GetInfluxDbIntegrationResponse {
|
||||
// Integration object.
|
||||
InfluxDbIntegration integration = 1;
|
||||
}
|
||||
|
||||
message UpdateInfluxDbIntegrationRequest {
|
||||
// Integration object to update.
|
||||
InfluxDbIntegration integration = 1;
|
||||
}
|
||||
|
||||
message DeleteInfluxDbIntegrationRequest {
|
||||
// Application ID (UUIO).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message ThingsBoardIntegration {
|
||||
// Application ID (UUIO).
|
||||
string application_id = 1;
|
||||
|
||||
// ThingsBoard server endpoint, e.g. https://example.com
|
||||
string server = 2;
|
||||
}
|
||||
|
||||
message CreateThingsBoardIntegrationRequest {
|
||||
// Integration object to create.
|
||||
ThingsBoardIntegration integration = 1;
|
||||
}
|
||||
|
||||
message GetThingsBoardIntegrationRequest {
|
||||
// Application ID (UUIO).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message GetThingsBoardIntegrationResponse {
|
||||
// Integration object.
|
||||
ThingsBoardIntegration integration = 1;
|
||||
}
|
||||
|
||||
message UpdateThingsBoardIntegrationRequest {
|
||||
// Integration object to update.
|
||||
ThingsBoardIntegration integration = 1;
|
||||
}
|
||||
|
||||
message DeleteThingsBoardIntegrationRequest {
|
||||
// Application ID (UUIO).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message MyDevicesIntegration {
|
||||
// Application ID (UUIO).
|
||||
string application_id = 1;
|
||||
|
||||
// myDevices API endpoint.
|
||||
string endpoint = 2;
|
||||
}
|
||||
|
||||
message CreateMyDevicesIntegrationRequest {
|
||||
// Integration object to create.
|
||||
MyDevicesIntegration integration = 1;
|
||||
}
|
||||
|
||||
message GetMyDevicesIntegrationRequest {
|
||||
// Application ID (UUIO).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message GetMyDevicesIntegrationResponse {
|
||||
// Integration object.
|
||||
MyDevicesIntegration integration = 1;
|
||||
}
|
||||
|
||||
message UpdateMyDevicesIntegrationRequest {
|
||||
// Integration object to update.
|
||||
MyDevicesIntegration integration = 1;
|
||||
}
|
||||
|
||||
message DeleteMyDevicesIntegrationRequest {
|
||||
// Application ID (UUIO).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message LoraCloudIntegration {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
|
||||
// Modem & Geolocation Services configuration.
|
||||
LoraCloudModemGeolocationServices modem_geolocation_services = 2;
|
||||
}
|
||||
|
||||
message LoraCloudModemGeolocationServices {
|
||||
// API token.
|
||||
string token = 1;
|
||||
|
||||
// Device implements Modem / Modem-E stack.
|
||||
bool modem_enabled = 2;
|
||||
|
||||
// Modem port (fPort).
|
||||
// ChirpStack will only forward the FrmPayload to the MGS if the port
|
||||
// is equal to the configured value.
|
||||
uint32 modem_port = 3;
|
||||
|
||||
// GNSS port (fPort).
|
||||
// ChirpStack will forward the FrmPayload to MGS as GNSS payload if the
|
||||
// port is equal to the configured value.
|
||||
uint32 gnss_port = 4;
|
||||
|
||||
// Use rx time for GNSS resolving.
|
||||
// In case this is set to true, the MGS resolver will use the RX time of the
|
||||
// network instead of the timestamp included in the LR1110 payload.
|
||||
bool gnss_use_rx_time = 5;
|
||||
|
||||
// Parse TLV records.
|
||||
// If enabled, stream records (expected in TLV format) are scanned for GNSS
|
||||
// data (0x06 or 0x07). If found, ChirpStack will make an additional
|
||||
// geolocation call to the MGS API for resolving the location of the detected
|
||||
// payload.
|
||||
bool parse_tlv = 6;
|
||||
|
||||
// Geolocation buffer TTL (in seconds).
|
||||
// If > 0, uplink RX meta-data will be stored in a buffer so that
|
||||
// the meta-data of multiple uplinks can be used for geolocation.
|
||||
uint32 geolocation_buffer_ttl = 7;
|
||||
|
||||
// Geolocation minimum buffer size.
|
||||
// If > 0, geolocation will only be performed when the buffer has
|
||||
// at least the given size.
|
||||
uint32 geolocation_min_buffer_size = 8;
|
||||
|
||||
// TDOA based geolocation is enabled.
|
||||
bool geolocation_tdoa = 9;
|
||||
|
||||
// RSSI based geolocation is enabled.
|
||||
bool geolocation_rssi = 10;
|
||||
|
||||
// GNSS based geolocation is enabled (LR1110).
|
||||
bool geolocation_gnss = 11;
|
||||
|
||||
// GNSS payload field.
|
||||
// This holds the name of the field in the decoded payload object which
|
||||
// contains the GNSS payload bytes (as HEX string).
|
||||
string geolocation_gnss_payload_field = 12;
|
||||
|
||||
// GNSS use RX time.
|
||||
// In case this is set to true, the resolver will use the RX time of the
|
||||
// network instead of the timestamp included in the LR1110 payload.
|
||||
bool geolocation_gnss_use_rx_time = 13;
|
||||
|
||||
// Wifi based geolocation is enabled.
|
||||
bool geolocation_wifi = 14;
|
||||
|
||||
// Wifi payload field.
|
||||
// This holds the name of the field in the decoded payload object which
|
||||
// contains an array of objects with the following fields:
|
||||
// * macAddress - e.g. 01:23:45:67:89:ab
|
||||
// * signalStrength - e.g. -51 (optional)
|
||||
string geolocation_wifi_payload_field = 15;
|
||||
}
|
||||
|
||||
message CreateLoraCloudIntegrationRequest {
|
||||
// Integration object to create.
|
||||
LoraCloudIntegration integration = 1;
|
||||
}
|
||||
|
||||
message GetLoraCloudIntegrationRequest {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message GetLoraCloudIntegrationResponse {
|
||||
// Integration object.
|
||||
LoraCloudIntegration integration = 1;
|
||||
}
|
||||
|
||||
message UpdateLoraCloudIntegrationRequest {
|
||||
// Integration object to update.
|
||||
LoraCloudIntegration integration = 1;
|
||||
}
|
||||
|
||||
message DeleteLoraCloudIntegrationRequest {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message GcpPubSubIntegration {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
|
||||
// Encoding.
|
||||
Encoding encoding = 2;
|
||||
|
||||
// Credentials file.
|
||||
// This IAM service-account credentials file (JSON) must have the following Pub/Sub roles:
|
||||
// * Pub/Sub Publisher
|
||||
string credentials_file = 3;
|
||||
|
||||
// Project ID.
|
||||
string project_id = 4;
|
||||
|
||||
// Topic name.
|
||||
// This is the name of the Pub/Sub topic.
|
||||
string topic_name = 5;
|
||||
}
|
||||
|
||||
message CreateGcpPubSubIntegrationRequest {
|
||||
// Integration object to create.
|
||||
GcpPubSubIntegration integration = 1;
|
||||
}
|
||||
|
||||
message GetGcpPubSubIntegrationRequest {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message GetGcpPubSubIntegrationResponse {
|
||||
// Integration object.
|
||||
GcpPubSubIntegration integration = 1;
|
||||
}
|
||||
|
||||
message UpdateGcpPubSubIntegrationRequest {
|
||||
// Integration object to update.
|
||||
GcpPubSubIntegration integration = 1;
|
||||
}
|
||||
|
||||
message DeleteGcpPubSubIntegrationRequest {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message AwsSnsIntegration {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
|
||||
// Encoding.
|
||||
Encoding encoding = 2;
|
||||
|
||||
// AWS region.
|
||||
string region = 3;
|
||||
|
||||
// AWS Access Key ID.
|
||||
string access_key_id = 4;
|
||||
|
||||
// AWS Secret Access Key.
|
||||
string secret_access_key = 5;
|
||||
|
||||
// Topic ARN.
|
||||
string topic_arn = 6;
|
||||
}
|
||||
|
||||
message CreateAwsSnsIntegrationRequest {
|
||||
// Integration object to create.
|
||||
AwsSnsIntegration integration = 1;
|
||||
}
|
||||
|
||||
message GetAwsSnsIntegrationRequest {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message GetAwsSnsIntegrationResponse {
|
||||
// Integration object.
|
||||
AwsSnsIntegration integration = 1;
|
||||
}
|
||||
|
||||
message UpdateAwsSnsIntegrationRequest {
|
||||
// Integration object to update.
|
||||
AwsSnsIntegration integration = 1;
|
||||
}
|
||||
|
||||
message DeleteAwsSnsIntegrationRequest {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message AzureServiceBusIntegration {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
|
||||
// Encoding.
|
||||
Encoding encoding = 2;
|
||||
|
||||
// Connection string.
|
||||
string connection_string = 3;
|
||||
|
||||
// Publish name.
|
||||
// This is the name of the topic or queue.
|
||||
string publish_name = 4;
|
||||
}
|
||||
|
||||
message CreateAzureServiceBusIntegrationRequest {
|
||||
// Integration object to create.
|
||||
AzureServiceBusIntegration integration = 1;
|
||||
}
|
||||
|
||||
message GetAzureServiceBusIntegrationRequest {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message GetAzureServiceBusIntegrationResponse {
|
||||
// Integration object.
|
||||
AzureServiceBusIntegration integration = 1;
|
||||
}
|
||||
|
||||
message UpdateAzureServiceBusIntegrationRequest {
|
||||
// Integration object to create.
|
||||
AzureServiceBusIntegration integration = 1;
|
||||
}
|
||||
|
||||
message DeleteAzureServiceBusIntegrationRequest {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message PilotThingsIntegration {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
|
||||
// Server URL.
|
||||
string server = 2;
|
||||
|
||||
// Authentication token.
|
||||
string token = 3;
|
||||
}
|
||||
|
||||
message CreatePilotThingsIntegrationRequest {
|
||||
// Integration object to create.
|
||||
PilotThingsIntegration integration = 1;
|
||||
}
|
||||
|
||||
message GetPilotThingsIntegrationRequest {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message GetPilotThingsIntegrationResponse {
|
||||
// Integration object.
|
||||
PilotThingsIntegration integration = 1;
|
||||
}
|
||||
|
||||
message UpdatePilotThingsIntegrationRequest {
|
||||
// Integration object to update.
|
||||
PilotThingsIntegration integration = 1;
|
||||
}
|
||||
|
||||
message DeletePilotThingsIntegrationRequest {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message GenerateMqttIntegrationClientCertificateRequest {
|
||||
// Application ID (UUID).
|
||||
string application_id = 1;
|
||||
}
|
||||
|
||||
message GenerateMqttIntegrationClientCertificateResponse {
|
||||
// TLS certificate.
|
||||
string tls_cert = 1;
|
||||
|
||||
// TLS key.
|
||||
string tls_key = 2;
|
||||
|
||||
// CA certificate.
|
||||
string ca_cert = 3;
|
||||
|
||||
// Expires at defines the expiration date of the certificate.
|
||||
google.protobuf.Timestamp expires_at = 4;
|
||||
}
|
414
api/python/proto/chirpstack-api/api/device.proto
Normal file
414
api/python/proto/chirpstack-api/api/device.proto
Normal file
@ -0,0 +1,414 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package api;
|
||||
|
||||
option go_package = "github.com/chirpstack/chirpstack/api/go/v4";
|
||||
option java_package = "io.chirpstack.api";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "DeviceProto";
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/protobuf/struct.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
|
||||
// DeviceService is the service providing API methods for managing devices.
|
||||
service DeviceService {
|
||||
// Create the given device.
|
||||
rpc Create(CreateDeviceRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get returns the device for the given DevEUI.
|
||||
rpc Get(GetDeviceRequest) returns (GetDeviceResponse) {}
|
||||
|
||||
// Update the given device.
|
||||
rpc Update(UpdateDeviceRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete the device with the given DevEUI.
|
||||
rpc Delete(DeleteDeviceRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get the list of devices.
|
||||
rpc List(ListDevicesRequest) returns (ListDevicesResponse) {}
|
||||
|
||||
// Create the given device-keys.
|
||||
rpc CreateKeys(CreateDeviceKeysRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get the device-keys for the given DevEUI.
|
||||
rpc GetKeys(GetDeviceKeysRequest) returns (GetDeviceKeysResponse) {}
|
||||
|
||||
// Update the given device-keys.
|
||||
rpc UpdateKeys(UpdateDeviceKeysRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete the device-keys for the given DevEUI.
|
||||
rpc DeleteKeys(DeleteDeviceKeysRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// FlushDevNonces flushes the OTAA device nonces.
|
||||
rpc FlushDevNonces(FlushDevNoncesRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Activate (re)activates the device with the given parameters (for ABP or for importing OTAA activations).
|
||||
rpc Activate(ActivateDeviceRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Deactivate de-activates the device.
|
||||
rpc Deactivate(DeactivateDeviceRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// GetActivation returns the current activation details of the device (OTAA or ABP).
|
||||
rpc GetActivation(GetDeviceActivationRequest) returns (GetDeviceActivationResponse) {}
|
||||
|
||||
// GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into account.
|
||||
rpc GetRandomDevAddr(GetRandomDevAddrRequest) returns (GetRandomDevAddrResponse) {}
|
||||
|
||||
// GetStats returns the device stats.
|
||||
rpc GetStats(GetDeviceStatsRequest) returns (GetDeviceStatsResponse) {}
|
||||
|
||||
// Enqueue adds the given item to the downlink queue.
|
||||
rpc Enqueue(EnqueueDeviceQueueItemRequest) returns (EnqueueDeviceQueueItemResponse) {}
|
||||
|
||||
// FlushQueue flushes the downlink device-queue.
|
||||
rpc FlushQueue(FlushDeviceQueueRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// GetQueue returns the downlink device-queue.
|
||||
rpc GetQueue(GetDeviceQueueItemsRequest) returns (GetDeviceQueueItemsResponse) {}
|
||||
}
|
||||
|
||||
message Device {
|
||||
// DevEUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
|
||||
// Name.
|
||||
string name = 2;
|
||||
|
||||
// Description.
|
||||
string description = 3;
|
||||
|
||||
// Application ID (UUID).
|
||||
string application_id = 4;
|
||||
|
||||
// Device-profile ID (UUID).
|
||||
string device_profile_id = 5;
|
||||
|
||||
// Skip frame-counter checks (this is insecure, but could be helpful for debugging).
|
||||
bool skip_fcnt_check = 6;
|
||||
|
||||
// Device is disabled.
|
||||
bool is_disabled = 7;
|
||||
|
||||
// Variables (user defined).
|
||||
// These variables can be used together with integrations to store tokens /
|
||||
// secrets that must be configured per device. These variables are not
|
||||
// exposed in the event payloads.
|
||||
map<string, string> variables = 8;
|
||||
|
||||
// Tags (user defined).
|
||||
// These tags are exposed in the event payloads or to integration. Tags are
|
||||
// intended for aggregation and filtering.
|
||||
map<string, string> tags = 9;
|
||||
}
|
||||
|
||||
message DeviceStatus {
|
||||
// The device margin status
|
||||
// -32..32: The demodulation SNR ration in dB
|
||||
int32 margin = 1;
|
||||
|
||||
// Device is connected to an external power source.
|
||||
bool external_power_source = 2;
|
||||
|
||||
// Device battery level as a percentage.
|
||||
// -1 when the battery level is not available.
|
||||
float battery_level = 3;
|
||||
}
|
||||
|
||||
message DeviceListItem {
|
||||
// DevEUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
|
||||
// Last seen at timestamp.
|
||||
google.protobuf.Timestamp last_seen_at = 4;
|
||||
|
||||
// Name.
|
||||
string name = 5;
|
||||
|
||||
// Description.
|
||||
string description = 6;
|
||||
|
||||
// Device-profile ID (UUID).
|
||||
string device_profile_id = 7;
|
||||
|
||||
// Device-profile name.
|
||||
string device_profile_name = 8;
|
||||
|
||||
// Device status.
|
||||
DeviceStatus device_status = 9;
|
||||
}
|
||||
|
||||
message DeviceKeys {
|
||||
// DevEUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
|
||||
// Network root key (128 bit).
|
||||
// Note: For LoRaWAN 1.0.x, use this field for the LoRaWAN 1.0.x 'AppKey`!
|
||||
string nwk_key = 2;
|
||||
|
||||
// Application root key (128 bit).
|
||||
// Note: This field only needs to be set for LoRaWAN 1.1.x devices!
|
||||
string app_key = 3;
|
||||
}
|
||||
|
||||
message CreateDeviceRequest {
|
||||
// Device object.
|
||||
Device device = 1;
|
||||
}
|
||||
|
||||
message GetDeviceRequest {
|
||||
// DevEUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
}
|
||||
|
||||
message GetDeviceResponse {
|
||||
// Device object.
|
||||
Device device = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
|
||||
// Last seen at timestamp.
|
||||
google.protobuf.Timestamp last_seen_at = 4;
|
||||
|
||||
// Device status.
|
||||
DeviceStatus device_status = 5;
|
||||
}
|
||||
|
||||
message UpdateDeviceRequest {
|
||||
// Device object.
|
||||
Device device = 1;
|
||||
}
|
||||
|
||||
message DeleteDeviceRequest {
|
||||
// DevEUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
}
|
||||
|
||||
message ListDevicesRequest {
|
||||
// Max number of devices to return in the result-set.
|
||||
uint32 limit = 1;
|
||||
|
||||
// Offset in the result-set (for pagination).
|
||||
uint32 offset = 2;
|
||||
|
||||
// If set, the given string will be used to search on name (optional).
|
||||
string search = 3;
|
||||
|
||||
// Application ID (UUID) to filter devices on.
|
||||
string application_id = 4;
|
||||
|
||||
// Multicst-group ID (UUID) to filter devices on.
|
||||
string multicast_group_id = 5;
|
||||
}
|
||||
|
||||
message ListDevicesResponse {
|
||||
// Total number of devices.
|
||||
uint32 total_count = 1;
|
||||
|
||||
// Result-set.
|
||||
repeated DeviceListItem result = 2;
|
||||
}
|
||||
|
||||
message CreateDeviceKeysRequest {
|
||||
// Device-keys object.
|
||||
DeviceKeys device_keys = 1;
|
||||
}
|
||||
|
||||
message GetDeviceKeysRequest {
|
||||
// DevEUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
}
|
||||
|
||||
message GetDeviceKeysResponse {
|
||||
// Device-keys object.
|
||||
DeviceKeys device_keys = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
}
|
||||
|
||||
message UpdateDeviceKeysRequest {
|
||||
// Device-keys object.
|
||||
DeviceKeys device_keys = 1;
|
||||
}
|
||||
|
||||
message DeleteDeviceKeysRequest {
|
||||
// DevEUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
}
|
||||
|
||||
message DeviceActivation {
|
||||
// Device EUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
|
||||
// Device address (HEX encoded).
|
||||
string dev_addr = 2;
|
||||
|
||||
// Application session key (HEX encoded).
|
||||
string app_s_key = 3;
|
||||
|
||||
// Network session encryption key (HEX encoded).
|
||||
string nwk_s_enc_key = 4;
|
||||
|
||||
// Serving network session integrity key (HEX encoded).
|
||||
string s_nwk_s_int_key = 8;
|
||||
|
||||
// Forwarding network session integrity key (HEX encoded).
|
||||
string f_nwk_s_int_key = 9;
|
||||
|
||||
// Uplink frame-counter.
|
||||
uint32 f_cnt_up = 5;
|
||||
|
||||
// Downlink network frame-counter.
|
||||
uint32 n_f_cnt_down = 6;
|
||||
|
||||
// Downlink application frame-counter.
|
||||
uint32 a_f_cnt_down = 10;
|
||||
}
|
||||
|
||||
message ActivateDeviceRequest {
|
||||
// Device activation object.
|
||||
DeviceActivation device_activation = 1;
|
||||
}
|
||||
|
||||
message DeactivateDeviceRequest {
|
||||
// DevEUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
}
|
||||
|
||||
message GetDeviceActivationRequest {
|
||||
// DevEUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
}
|
||||
|
||||
message GetDeviceActivationResponse {
|
||||
// Device activation object.
|
||||
DeviceActivation device_activation = 1;
|
||||
}
|
||||
|
||||
message GetRandomDevAddrRequest {
|
||||
// DevEUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
}
|
||||
|
||||
message GetRandomDevAddrResponse {
|
||||
// DevAddr.
|
||||
string dev_addr = 1;
|
||||
}
|
||||
|
||||
message GetDeviceStatsRequest {
|
||||
// DevEUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
|
||||
// Interval start timestamp.
|
||||
google.protobuf.Timestamp start = 2;
|
||||
|
||||
// Interval end timestamp.
|
||||
google.protobuf.Timestamp end = 3;
|
||||
}
|
||||
|
||||
message GetDeviceStatsResponse {
|
||||
repeated DeviceStats result = 1;
|
||||
}
|
||||
|
||||
message DeviceStats {
|
||||
// Timestamp of the (aggregated) measurement.
|
||||
google.protobuf.Timestamp time = 1;
|
||||
|
||||
// Packets received from the device.
|
||||
uint32 rx_packets = 2;
|
||||
|
||||
// Average RSSI (as reported by the gateway(s)).
|
||||
float gw_rssi = 3;
|
||||
|
||||
// Average SNR (as reported by the gateway(s)).
|
||||
float gw_snr = 4;
|
||||
|
||||
// Packets received by frequency.
|
||||
map<uint32, uint32> rx_packets_per_frequency = 5;
|
||||
|
||||
// Packets received by DR.
|
||||
map<uint32, uint32> rx_packets_per_dr = 6;
|
||||
|
||||
// Error count.
|
||||
map<string, uint32> errors = 7;
|
||||
}
|
||||
|
||||
message DeviceQueueItem {
|
||||
// ID (UUID).
|
||||
// This is automatically generated on enqueue.
|
||||
string id = 1;
|
||||
|
||||
// Device EUI (EUI64).
|
||||
string dev_eui = 2;
|
||||
|
||||
// Confirmed.
|
||||
bool confirmed = 3;
|
||||
|
||||
// FPort (must be > 0).
|
||||
uint32 f_port = 4;
|
||||
|
||||
// Data.
|
||||
// Or use the json_object field when a codec has been configured.
|
||||
bytes data = 5;
|
||||
|
||||
// Only use this when a codec has been configured that can encode this
|
||||
// object to bytes.
|
||||
google.protobuf.Struct object = 6;
|
||||
|
||||
// Is pending.
|
||||
// This is set to true when the downlink is pending.
|
||||
bool is_pending = 7;
|
||||
|
||||
// Downlink frame-counter.
|
||||
// This is set when the payload has been sent as downlink.
|
||||
uint32 f_cnt_down = 8;
|
||||
}
|
||||
|
||||
message EnqueueDeviceQueueItemRequest {
|
||||
DeviceQueueItem item = 1;
|
||||
}
|
||||
|
||||
message EnqueueDeviceQueueItemResponse {
|
||||
// ID (UUID).
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message FlushDeviceQueueRequest {
|
||||
// Device EUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
}
|
||||
|
||||
message GetDeviceQueueItemsRequest {
|
||||
// Device EUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
|
||||
// Return only the count, not the result-set.
|
||||
bool count_only = 2;
|
||||
}
|
||||
|
||||
message GetDeviceQueueItemsResponse {
|
||||
// Total number of queue items.
|
||||
uint32 total_count = 1;
|
||||
|
||||
// Result-set.
|
||||
repeated DeviceQueueItem result = 2;
|
||||
}
|
||||
|
||||
message FlushDevNoncesRequest {
|
||||
// Device EUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
}
|
235
api/python/proto/chirpstack-api/api/device_profile.proto
Normal file
235
api/python/proto/chirpstack-api/api/device_profile.proto
Normal file
@ -0,0 +1,235 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package api;
|
||||
|
||||
option go_package = "github.com/chirpstack/chirpstack/api/go/v4";
|
||||
option java_package = "io.chirpstack.api";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "DeviceProfileProto";
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
import "chirpstack-api/common/common.proto";
|
||||
|
||||
enum CodecRuntime {
|
||||
// None.
|
||||
NONE = 0;
|
||||
|
||||
// Cayenne LPP.
|
||||
CAYENNE_LPP = 1;
|
||||
|
||||
// JavaScript.
|
||||
JS = 2;
|
||||
}
|
||||
|
||||
// DeviceProfileService is the service providing API methods for managing device-profiles.
|
||||
service DeviceProfileService {
|
||||
// Create the given device-profile.
|
||||
rpc Create(CreateDeviceProfileRequest) returns (CreateDeviceProfileResponse) {}
|
||||
|
||||
// Get the device-profile for the given ID.
|
||||
rpc Get(GetDeviceProfileRequest) returns (GetDeviceProfileResponse) {}
|
||||
|
||||
// Update the given device-profile.
|
||||
rpc Update(UpdateDeviceProfileRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete the device-profile with the given ID.
|
||||
rpc Delete(DeleteDeviceProfileRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// List the available device-profiles.
|
||||
rpc List(ListDeviceProfilesRequest) returns (ListDeviceProfilesResponse) {}
|
||||
|
||||
// List available ADR algorithms.
|
||||
rpc ListAdrAlgorithms(google.protobuf.Empty) returns (ListDeviceProfileAdrAlgorithmsResponse) {}
|
||||
}
|
||||
|
||||
message DeviceProfile {
|
||||
// Device-profile ID (UUID).
|
||||
// Note: on create this will be automatically generated.
|
||||
string id = 1;
|
||||
|
||||
// Tenant ID (UUID).
|
||||
string tenant_id = 2;
|
||||
|
||||
// Name.
|
||||
string name = 3;
|
||||
|
||||
// Region.
|
||||
common.Region region = 4;
|
||||
|
||||
// LoRaWAN mac-version.
|
||||
common.MacVersion mac_version = 5;
|
||||
|
||||
// Regional parameters revision.
|
||||
common.RegParamsRevision reg_params_revision = 6;
|
||||
|
||||
// ADR algorithm ID.
|
||||
string adr_algorithm_id = 7;
|
||||
|
||||
// Payload codec runtime.
|
||||
CodecRuntime payload_codec_runtime = 8;
|
||||
|
||||
// Payload codec encoder config.
|
||||
string payload_encoder_config = 9;
|
||||
|
||||
// Payload codec decoder config.
|
||||
string payload_decoder_config = 10;
|
||||
|
||||
// Uplink interval (seconds).
|
||||
// This defines the expected uplink interval which the device uses for
|
||||
// communication. When the uplink interval has expired and no uplink has
|
||||
// been received, the device is considered inactive.
|
||||
uint32 uplink_interval = 11;
|
||||
|
||||
// Device-status request interval (times / day).
|
||||
// This defines the times per day that ChirpStack will request the device-status
|
||||
// from the device.
|
||||
uint32 device_status_req_interval = 12;
|
||||
|
||||
// Supports OTAA.
|
||||
bool supports_otaa = 13;
|
||||
|
||||
// Supports Class B.
|
||||
bool supports_class_b = 14;
|
||||
|
||||
// Supports Class-C.
|
||||
bool supports_class_c = 15;
|
||||
|
||||
// Class-B timeout (seconds).
|
||||
// This is the maximum time ChirpStack will wait to receive an acknowledgement from the device (if requested).
|
||||
uint32 class_b_timeout = 16;
|
||||
|
||||
// Class-B ping-slot periodicity.
|
||||
uint32 class_b_ping_slot_period = 17;
|
||||
|
||||
// Class-B ping-slot DR.
|
||||
uint32 class_b_ping_slot_dr = 18;
|
||||
|
||||
// Class-B ping-slot freq (Hz).
|
||||
uint32 class_b_ping_slot_freq = 19;
|
||||
|
||||
// Class-C timeout (seconds).
|
||||
// This is the maximum time ChirpStack will wait to receive an acknowledgement from the device (if requested).
|
||||
uint32 class_c_timeout = 20;
|
||||
|
||||
// RX1 delay (for ABP).
|
||||
uint32 abp_rx1_delay = 21;
|
||||
|
||||
// RX1 DR offset (for ABP).
|
||||
uint32 abp_rx1_dr_offset = 22;
|
||||
|
||||
// RX2 DR (for ABP).
|
||||
uint32 abp_rx2_dr = 23;
|
||||
|
||||
// RX2 frequency (for ABP, Hz).
|
||||
uint32 abp_rx2_freq = 24;
|
||||
|
||||
// User defined tags.
|
||||
map<string, string> tags = 25;
|
||||
}
|
||||
|
||||
message DeviceProfileListItem {
|
||||
// Device-profile ID (UUID).
|
||||
string id = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
|
||||
// Name.
|
||||
string name = 4;
|
||||
|
||||
// Region.
|
||||
common.Region region = 5;
|
||||
|
||||
// LoRaWAN mac-version.
|
||||
common.MacVersion mac_version = 6;
|
||||
|
||||
// Regional parameters revision.
|
||||
common.RegParamsRevision reg_params_revision = 7;
|
||||
|
||||
// Supports OTAA.
|
||||
bool supports_otaa = 8;
|
||||
|
||||
// Supports Class-B.
|
||||
bool supports_class_b = 9;
|
||||
|
||||
// Supports Class-C.
|
||||
bool supports_class_c = 10;
|
||||
}
|
||||
|
||||
message CreateDeviceProfileRequest {
|
||||
// Object to create.
|
||||
DeviceProfile device_profile = 1;
|
||||
}
|
||||
|
||||
message CreateDeviceProfileResponse {
|
||||
// ID (UUID).
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message GetDeviceProfileRequest {
|
||||
// ID (UUID).
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message GetDeviceProfileResponse {
|
||||
// Device-profile object.
|
||||
DeviceProfile device_profile = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
}
|
||||
|
||||
message UpdateDeviceProfileRequest {
|
||||
// Device-profile object.
|
||||
DeviceProfile device_profile = 1;
|
||||
}
|
||||
|
||||
message DeleteDeviceProfileRequest {
|
||||
// ID (UUID).
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message ListDeviceProfilesRequest {
|
||||
// Max number of device-profiles to return in the result-set.
|
||||
uint32 limit = 1;
|
||||
|
||||
// Offset in the result-set (for pagination).
|
||||
uint32 offset = 2;
|
||||
|
||||
// If set, the given string will be used to search on name.
|
||||
string search = 3;
|
||||
|
||||
// Tenant ID to list the device-profiles for.
|
||||
string tenant_id = 4;
|
||||
}
|
||||
|
||||
message ListDeviceProfilesResponse {
|
||||
// Total number of device-profiles.
|
||||
uint32 total_count = 1;
|
||||
|
||||
// Result-set.
|
||||
repeated DeviceProfileListItem result = 2;
|
||||
}
|
||||
|
||||
message ListDeviceProfileAdrAlgorithmsResponse {
|
||||
// Total number of algorithms.
|
||||
uint32 total_count = 1;
|
||||
|
||||
// Result-set.
|
||||
repeated AdrAlgorithmListItem result = 2;
|
||||
}
|
||||
|
||||
message AdrAlgorithmListItem {
|
||||
// Algorithm ID.
|
||||
string id = 1;
|
||||
|
||||
// Algorithm name.
|
||||
string name = 2;
|
||||
}
|
61
api/python/proto/chirpstack-api/api/frame_log.proto
Normal file
61
api/python/proto/chirpstack-api/api/frame_log.proto
Normal file
@ -0,0 +1,61 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package api;
|
||||
|
||||
option go_package = "github.com/chirpstack/chirpstack/api/go/v4";
|
||||
option java_package = "io.chirpstack.api";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "FrameLogProto";
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "chirpstack-api/common/common.proto";
|
||||
import "chirpstack-api/gw/gw.proto";
|
||||
|
||||
message UplinkFrameLog {
|
||||
// PHYPayload.
|
||||
bytes phy_payload = 1;
|
||||
|
||||
// TX meta-data.
|
||||
gw.UplinkTXInfo tx_info = 2;
|
||||
|
||||
// RX meta-data.
|
||||
repeated gw.UplinkRXInfo rx_info = 3;
|
||||
|
||||
// Message type.
|
||||
common.MType m_type = 4;
|
||||
|
||||
// Device address (optional).
|
||||
string dev_addr = 5;
|
||||
|
||||
// Device EUI (optional).
|
||||
string dev_eui = 6;
|
||||
|
||||
// Time.
|
||||
google.protobuf.Timestamp time = 7;
|
||||
}
|
||||
|
||||
message DownlinkFrameLog {
|
||||
// Time.
|
||||
google.protobuf.Timestamp time = 1;
|
||||
|
||||
// PHYPayload.
|
||||
bytes phy_payload = 2;
|
||||
|
||||
// TX meta-data.
|
||||
gw.DownlinkTXInfo tx_info = 3;
|
||||
|
||||
// Downlink ID (UUID).
|
||||
string downlink_id = 4;
|
||||
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 5;
|
||||
|
||||
// Message type.
|
||||
common.MType m_type = 6;
|
||||
|
||||
// Device address (optional).
|
||||
string dev_addr = 7;
|
||||
|
||||
// Device EUI (optional).
|
||||
string dev_eui = 8;
|
||||
}
|
205
api/python/proto/chirpstack-api/api/gateway.proto
Normal file
205
api/python/proto/chirpstack-api/api/gateway.proto
Normal file
@ -0,0 +1,205 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package api;
|
||||
|
||||
option go_package = "github.com/chirpstack/chirpstack/api/go/v4";
|
||||
option java_package = "io.chirpstack.api";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "GatewayProto";
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
import "chirpstack-api/common/common.proto";
|
||||
|
||||
// GatewayService is the service providing API methods for managing gateways.
|
||||
service GatewayService {
|
||||
// Create creates the given gateway.
|
||||
rpc Create(CreateGatewayRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get returns the gateway for the given Gateway ID.
|
||||
rpc Get(GetGatewayRequest) returns (GetGatewayResponse) {}
|
||||
|
||||
// Update updates the given gateway.
|
||||
rpc Update(UpdateGatewayRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete deletes the gateway matching the given Gateway ID.
|
||||
rpc Delete(DeleteGatewayRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get the list of gateways.
|
||||
rpc List(ListGatewaysRequest) returns (ListGatewaysResponse) {}
|
||||
|
||||
// Generate client-certificate for the gateway.
|
||||
rpc GenerateClientCertificate(GenerateGatewayClientCertificateRequest) returns (GenerateGatewayClientCertificateResponse) {}
|
||||
|
||||
// GetStats returns the gateway stats.
|
||||
rpc GetStats(GetGatewayStatsRequest) returns (GetGatewayStatsResponse) {}
|
||||
}
|
||||
|
||||
message Gateway {
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 1;
|
||||
|
||||
// Name.
|
||||
string name = 2;
|
||||
|
||||
// Description.
|
||||
string description = 3;
|
||||
|
||||
// Gateway location.
|
||||
common.Location location = 4;
|
||||
|
||||
// Tenant ID (UUID).
|
||||
string tenant_id = 5;
|
||||
|
||||
// Tags.
|
||||
map<string, string> tags = 6;
|
||||
|
||||
// Properties (provided by the gateway).
|
||||
map<string, string> properties = 7;
|
||||
}
|
||||
|
||||
message GatewayListItem {
|
||||
// Tenant ID.
|
||||
string tenant_id = 1;
|
||||
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 2;
|
||||
|
||||
// Name.
|
||||
string name = 3;
|
||||
|
||||
// Description.
|
||||
string description = 4;
|
||||
|
||||
// Location.
|
||||
common.Location location = 5;
|
||||
|
||||
// Gateway properties.
|
||||
map<string, string> properties = 6;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 7;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 8;
|
||||
|
||||
// Last seen at timestamp.
|
||||
google.protobuf.Timestamp last_seen_at = 9;
|
||||
}
|
||||
|
||||
message CreateGatewayRequest {
|
||||
// Gateway object.
|
||||
Gateway gateway = 1;
|
||||
}
|
||||
|
||||
message GetGatewayRequest {
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 1;
|
||||
}
|
||||
|
||||
message GetGatewayResponse {
|
||||
// Gateway object.
|
||||
Gateway gateway = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
|
||||
// Last seen at timestamp.
|
||||
google.protobuf.Timestamp last_seen_at = 4;
|
||||
}
|
||||
|
||||
message UpdateGatewayRequest {
|
||||
// Gateway object.
|
||||
Gateway gateway = 1;
|
||||
}
|
||||
|
||||
message DeleteGatewayRequest {
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 1;
|
||||
}
|
||||
|
||||
message ListGatewaysRequest {
|
||||
// Max number of gateways to return in the result-set.
|
||||
uint32 limit = 1;
|
||||
|
||||
// Offset in the result-set (for pagination).
|
||||
uint32 offset = 2;
|
||||
|
||||
// If set, the given string will be used to search on name (optional).
|
||||
string search = 3;
|
||||
|
||||
// Tenant ID (UUID) to filter gateways on.
|
||||
// To list all gateways as a global admin user, this field can be left blank.
|
||||
string tenant_id = 4;
|
||||
}
|
||||
|
||||
message ListGatewaysResponse {
|
||||
// Total number of gateways.
|
||||
uint32 total_count = 1;
|
||||
|
||||
// Result-set.
|
||||
repeated GatewayListItem result = 2;
|
||||
}
|
||||
|
||||
message GenerateGatewayClientCertificateRequest {
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 1;
|
||||
}
|
||||
|
||||
message GenerateGatewayClientCertificateResponse {
|
||||
// TLS certificate.
|
||||
string tls_cert = 1;
|
||||
|
||||
// TLS key.
|
||||
string tls_key = 2;
|
||||
|
||||
// CA certificate.
|
||||
string ca_cert = 3;
|
||||
|
||||
// Expires at defines the expiration date of the certificate.
|
||||
google.protobuf.Timestamp expires_at = 4;
|
||||
}
|
||||
|
||||
message GetGatewayStatsRequest {
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 1;
|
||||
|
||||
// Interval start timestamp.
|
||||
google.protobuf.Timestamp start = 2;
|
||||
|
||||
// Interval end timestamp.
|
||||
google.protobuf.Timestamp end = 3;
|
||||
}
|
||||
|
||||
message GetGatewayStatsResponse {
|
||||
repeated GatewayStats result = 1;
|
||||
}
|
||||
|
||||
message GatewayStats {
|
||||
// Timestamp of the (aggregated) measurement.
|
||||
google.protobuf.Timestamp time = 1;
|
||||
|
||||
// Packets received.
|
||||
uint32 rx_packets = 2;
|
||||
|
||||
// Packets emitted.
|
||||
uint32 tx_packets = 3;
|
||||
|
||||
// Tx packets per frequency.
|
||||
map<uint32, uint32> tx_packets_per_frequency = 4;
|
||||
|
||||
// Rx packets per frequency.
|
||||
map<uint32, uint32> rx_packets_per_frequency = 5;
|
||||
|
||||
// Tx packets per DR.
|
||||
map<uint32, uint32> tx_packets_per_dr = 6;
|
||||
|
||||
// Rx packets per DR.
|
||||
map<uint32, uint32> rx_packets_per_dr = 7;
|
||||
|
||||
// Tx packets per status.
|
||||
map<string, uint32> tx_packets_per_status = 8;
|
||||
}
|
300
api/python/proto/chirpstack-api/api/internal.proto
Normal file
300
api/python/proto/chirpstack-api/api/internal.proto
Normal file
@ -0,0 +1,300 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package api;
|
||||
|
||||
option go_package = "github.com/chirpstack/chirpstack/api/go/v4";
|
||||
option java_package = "io.chirpstack.api";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "InternalProto";
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
import "chirpstack-api/api/user.proto";
|
||||
|
||||
// InternalService is the service providing API endpoints for internal usage.
|
||||
service InternalService {
|
||||
// Log in a user
|
||||
rpc Login(LoginRequest) returns (LoginResponse) {}
|
||||
|
||||
// Get the current user's profile
|
||||
rpc Profile(google.protobuf.Empty) returns (ProfileResponse) {}
|
||||
|
||||
// Perform a global search.
|
||||
rpc GlobalSearch(GlobalSearchRequest) returns (GlobalSearchResponse) {}
|
||||
|
||||
// CreateApiKey creates the given API key.
|
||||
rpc CreateApiKey(CreateApiKeyRequest) returns (CreateApiKeyResponse) {}
|
||||
|
||||
// DeleteApiKey deletes the API key.
|
||||
rpc DeleteApiKey(DeleteApiKeyRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// ListApiKeys lists the available API keys.
|
||||
rpc ListApiKeys(ListApiKeysRequest) returns (ListApiKeysResponse) {}
|
||||
|
||||
// Get the global settings.
|
||||
rpc Settings(google.protobuf.Empty) returns (SettingsResponse) {}
|
||||
|
||||
// OpenId Connect login.
|
||||
rpc OpenIdConnectLogin(OpenIdConnectLoginRequest) returns (OpenIdConnectLoginResponse) {}
|
||||
|
||||
// GetDevicesSummary returns an aggregated summary of the devices.
|
||||
rpc GetDevicesSummary(GetDevicesSummaryRequest) returns (GetDevicesSummaryResponse) {}
|
||||
|
||||
// GetGatewaysSummary returns an aggregated summary of the gateways.
|
||||
rpc GetGatewaysSummary(GetGatewaysSummaryRequest) returns (GetGatewaysSummaryResponse) {}
|
||||
|
||||
// Stream frame for the given Gateway ID.
|
||||
rpc StreamGatewayFrames(StreamGatewayFramesRequest) returns (stream LogItem) {}
|
||||
|
||||
// Stream frames for the given Device EUI.
|
||||
rpc StreamDeviceFrames(StreamDeviceFramesRequest) returns (stream LogItem) {}
|
||||
|
||||
// Stream events for the given Device EUI.
|
||||
rpc StreamDeviceEvents(StreamDeviceEventsRequest) returns (stream LogItem) {}
|
||||
}
|
||||
|
||||
message ApiKey {
|
||||
// API key ID.
|
||||
// This value will be automatically generated on create.
|
||||
string id = 1;
|
||||
|
||||
// Name.
|
||||
string name = 2;
|
||||
|
||||
// Is global admin key.
|
||||
bool is_admin = 3;
|
||||
|
||||
// Tenant ID.
|
||||
// In case the API key is intended to manage resources under a single tenant.
|
||||
string tenant_id = 4;
|
||||
}
|
||||
|
||||
message CreateApiKeyRequest {
|
||||
// The API key to create.
|
||||
ApiKey api_key = 1;
|
||||
}
|
||||
|
||||
message CreateApiKeyResponse {
|
||||
// API key ID.
|
||||
string id = 1;
|
||||
|
||||
// API token for authentication API requests.
|
||||
string token = 2;
|
||||
}
|
||||
|
||||
message DeleteApiKeyRequest {
|
||||
// API key ID.
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message ListApiKeysRequest {
|
||||
// Max number of items to return.
|
||||
uint32 limit = 1;
|
||||
|
||||
// Offset in the result-set (for pagination).
|
||||
uint32 offset = 2;
|
||||
|
||||
// Return only admin keys.
|
||||
bool is_admin = 3;
|
||||
|
||||
// Filter on tenant ID.
|
||||
string tenant_id = 4;
|
||||
}
|
||||
|
||||
message ListApiKeysResponse {
|
||||
// Total number of API keys.
|
||||
uint32 total_count = 1;
|
||||
|
||||
repeated ApiKey result = 2;
|
||||
}
|
||||
|
||||
// Defines a tenant to which the user is associated.
|
||||
message UserTenantLink {
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 1;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 2;
|
||||
|
||||
// Tenant ID.
|
||||
string tenant_id = 3;
|
||||
|
||||
// User is admin within the context of this tenant.
|
||||
// There is no need to set the is_device_admin and is_gateway_admin flags.
|
||||
bool is_admin = 4;
|
||||
|
||||
// User is able to modify device related resources (applications,
|
||||
// device-profiles, devices, multicast-groups).
|
||||
bool is_device_admin = 5;
|
||||
|
||||
// User is able to modify gateways.
|
||||
bool is_gateway_admin = 6;
|
||||
}
|
||||
|
||||
message LoginRequest {
|
||||
// Email of the user.
|
||||
string email = 1;
|
||||
|
||||
// Password of the user.
|
||||
string password = 2;
|
||||
}
|
||||
|
||||
message LoginResponse {
|
||||
// The JWT tag to be used to access chirpstack-application-server interfaces.
|
||||
string jwt = 1;
|
||||
}
|
||||
|
||||
message ProfileResponse {
|
||||
// User object.
|
||||
User user = 1;
|
||||
|
||||
// Tenants to which the user is associated.
|
||||
repeated UserTenantLink tenants = 3;
|
||||
}
|
||||
|
||||
message GlobalSearchRequest {
|
||||
// Search query.
|
||||
string search = 1;
|
||||
|
||||
// Max number of results to return.
|
||||
int64 limit = 2;
|
||||
|
||||
// Offset offset of the result-set (for pagination).
|
||||
int64 offset = 3;
|
||||
}
|
||||
|
||||
message GlobalSearchResponse {
|
||||
repeated GlobalSearchResult result = 1;
|
||||
}
|
||||
|
||||
message GlobalSearchResult {
|
||||
// Record kind.
|
||||
string kind = 1;
|
||||
|
||||
// Search score.
|
||||
float score = 2;
|
||||
|
||||
// Organization id.
|
||||
string tenant_id = 3;
|
||||
|
||||
// Organization name.
|
||||
string tenant_name = 4;
|
||||
|
||||
// Application id.
|
||||
string application_id = 5;
|
||||
|
||||
// Application name.
|
||||
string application_name = 6;
|
||||
|
||||
// Device DevEUI (hex encoded).
|
||||
string device_dev_eui = 7;
|
||||
|
||||
// Device name.
|
||||
string device_name = 8;
|
||||
|
||||
// Gateway MAC (hex encoded).
|
||||
string gateway_id = 9;
|
||||
|
||||
// Gateway name.
|
||||
string gateway_name = 10;
|
||||
}
|
||||
|
||||
message SettingsResponse {
|
||||
// OpenId Connect settings.
|
||||
OpenIdConnect openid_connect = 1;
|
||||
}
|
||||
|
||||
message OpenIdConnect {
|
||||
// Enable OpenId Connect authentication.
|
||||
bool enabled = 1;
|
||||
|
||||
// Login url.
|
||||
string login_url = 2 [json_name = "loginURL"];
|
||||
|
||||
// Login label.
|
||||
string login_label = 3;
|
||||
|
||||
// Logout url.
|
||||
string logout_url = 4 [json_name = "logoutURL"];
|
||||
}
|
||||
|
||||
message OpenIdConnectLoginRequest {
|
||||
// OpenId Connect callback code.
|
||||
string code = 1;
|
||||
|
||||
// OpenId Connect callback state.
|
||||
string state = 2;
|
||||
}
|
||||
|
||||
message OpenIdConnectLoginResponse {
|
||||
// Token to use for authentication.
|
||||
string token = 1;
|
||||
}
|
||||
|
||||
message GetDevicesSummaryRequest {
|
||||
// Tenant ID (UUID).
|
||||
string tenant_id = 1;
|
||||
}
|
||||
|
||||
message GetDevicesSummaryResponse {
|
||||
// Active count.
|
||||
uint32 active_count = 1;
|
||||
|
||||
// Inactive count.
|
||||
uint32 inactive_count = 2;
|
||||
|
||||
// per data-rate count.
|
||||
// Devices that have never been seen are excluded.
|
||||
map<uint32, uint32> dr_count = 3;
|
||||
|
||||
// Never seen count.
|
||||
uint32 never_seen_count = 4;
|
||||
}
|
||||
|
||||
message GetGatewaysSummaryRequest {
|
||||
// Tenant ID (UUID).
|
||||
string tenant_id = 1;
|
||||
}
|
||||
|
||||
message GetGatewaysSummaryResponse {
|
||||
// Active count.
|
||||
uint32 active_count = 1;
|
||||
|
||||
// Inactive count.
|
||||
uint32 inactive_count = 2;
|
||||
|
||||
// Never seen count.
|
||||
uint32 never_seen_count = 3;
|
||||
}
|
||||
|
||||
message LogItem {
|
||||
// ID.
|
||||
string id = 1;
|
||||
|
||||
// Timestamp.
|
||||
google.protobuf.Timestamp time = 2;
|
||||
|
||||
// Message.
|
||||
string description = 3;
|
||||
|
||||
// Body.
|
||||
string body = 4;
|
||||
|
||||
// Properties.
|
||||
map<string, string> properties = 5;
|
||||
}
|
||||
|
||||
message StreamGatewayFramesRequest {
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 1;
|
||||
}
|
||||
|
||||
message StreamDeviceFramesRequest {
|
||||
// Device EUI.
|
||||
string dev_eui = 1;
|
||||
}
|
||||
|
||||
message StreamDeviceEventsRequest {
|
||||
// Device EUI.
|
||||
string dev_eui = 1;
|
||||
}
|
228
api/python/proto/chirpstack-api/api/multicast_group.proto
Normal file
228
api/python/proto/chirpstack-api/api/multicast_group.proto
Normal file
@ -0,0 +1,228 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package api;
|
||||
|
||||
option go_package = "github.com/chirpstack/chirpstack/api/go/v4";
|
||||
option java_package = "io.chirpstack.api";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "MulticastGroupProto";
|
||||
|
||||
import "google/api/annotations.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
import "chirpstack-api/common/common.proto";
|
||||
|
||||
|
||||
// MulticastGroupService is the service managing multicast-groups.
|
||||
service MulticastGroupService {
|
||||
// Create the given multicast group.
|
||||
rpc Create(CreateMulticastGroupRequest) returns (CreateMulticastGroupResponse) {}
|
||||
|
||||
// Get returns the multicast group for the given ID.
|
||||
rpc Get(GetMulticastGroupRequest) returns (GetMulticastGroupResponse) {}
|
||||
|
||||
// Update the given multicast group.
|
||||
rpc Update(UpdateMulticastGroupRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete the multicast-group with the given ID.
|
||||
rpc Delete(DeleteMulticastGroupRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// List the available multicast groups.
|
||||
rpc List(ListMulticastGroupsRequest) returns (ListMulticastGroupsResponse) {}
|
||||
|
||||
// Add a device to the multicast group.
|
||||
rpc AddDevice(AddDeviceToMulticastGroupRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Remove a device from the multicast group.
|
||||
rpc RemoveDevice(RemoveDeviceFromMulticastGroupRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Add the given item to the multcast group queue.
|
||||
rpc Enqueue(EnqueueMulticastGroupQueueItemRequest) returns (EnqueueMulticastGroupQueueItemResponse) {}
|
||||
|
||||
// Flush the queue for the given multicast group.
|
||||
rpc FlushQueue(FlushMulticastGroupQueueRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// List the items in the multicast group queue.
|
||||
rpc ListQueue(ListMulticastGroupQueueRequest) returns (ListMulticastGroupQueueResponse) {}
|
||||
}
|
||||
|
||||
enum MulticastGroupType {
|
||||
// Class C.
|
||||
CLASS_C = 0;
|
||||
|
||||
// Class-B.
|
||||
CLASS_B = 1;
|
||||
}
|
||||
|
||||
message MulticastGroup {
|
||||
// ID (UUID).
|
||||
// This will be generated automatically on create.
|
||||
string id = 1;
|
||||
|
||||
// Name.
|
||||
string name = 2;
|
||||
|
||||
// Application ID.
|
||||
// After creation, this can not be updated.
|
||||
string application_id = 3;
|
||||
|
||||
// Region.
|
||||
common.Region region = 4;
|
||||
|
||||
// Multicast address (HEX encoded DevAddr).
|
||||
string mc_addr = 5;
|
||||
|
||||
// Multicast network session key (HEX encoded AES128 key).
|
||||
string mc_nwk_s_key = 6;
|
||||
|
||||
// Multicast application session key (HEX encoded AES128 key).
|
||||
string mc_app_s_key = 7;
|
||||
|
||||
// Frame-counter.
|
||||
uint32 f_cnt = 8;
|
||||
|
||||
// Multicast group type.
|
||||
MulticastGroupType group_type = 9;
|
||||
|
||||
// Data-rate.
|
||||
uint32 dr = 10;
|
||||
|
||||
// Frequency (Hz).
|
||||
uint32 frequency = 11;
|
||||
|
||||
// Ping-slot period (only for Class-B).
|
||||
uint32 class_b_ping_slot_period = 12;
|
||||
}
|
||||
|
||||
message MulticastGroupListItem {
|
||||
// ID.
|
||||
string id = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
|
||||
// Name.
|
||||
string name = 4;
|
||||
|
||||
// Region.
|
||||
common.Region region = 5;
|
||||
|
||||
// Multicast group type.
|
||||
MulticastGroupType group_type = 6;
|
||||
}
|
||||
|
||||
message CreateMulticastGroupRequest {
|
||||
// Multicast group to create.
|
||||
MulticastGroup multicast_group = 1;
|
||||
}
|
||||
|
||||
message CreateMulticastGroupResponse {
|
||||
// ID of created multicast group (UUID).
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message GetMulticastGroupRequest {
|
||||
// Multicast group ID.
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message GetMulticastGroupResponse {
|
||||
// Multicast group object.
|
||||
MulticastGroup multicast_group = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
}
|
||||
|
||||
message UpdateMulticastGroupRequest {
|
||||
// Multicast group object to update.
|
||||
MulticastGroup multicast_group = 1;
|
||||
}
|
||||
|
||||
message DeleteMulticastGroupRequest {
|
||||
// Multicast group iD.
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message ListMulticastGroupsRequest {
|
||||
// Max number of multicast groups to return in the result-set.
|
||||
uint32 limit = 1;
|
||||
|
||||
// Offset in the result-set (for pagination).
|
||||
uint32 offset = 2;
|
||||
|
||||
// If set, the given string will be used to search on name.
|
||||
string search = 3;
|
||||
|
||||
// Application ID to list the multicast groups for.
|
||||
string application_id = 4;
|
||||
}
|
||||
|
||||
message ListMulticastGroupsResponse {
|
||||
// Total number of multicast groups.
|
||||
uint32 total_count = 1;
|
||||
|
||||
// Result-test.
|
||||
repeated MulticastGroupListItem result = 2;
|
||||
}
|
||||
|
||||
message AddDeviceToMulticastGroupRequest {
|
||||
// Multicast group ID.
|
||||
string multicast_group_id = 1;
|
||||
|
||||
// Device EUI (HEX encoded).
|
||||
string dev_eui = 2;
|
||||
}
|
||||
|
||||
message RemoveDeviceFromMulticastGroupRequest {
|
||||
// Multicast group ID.
|
||||
string multicast_group_id = 1;
|
||||
|
||||
// Device EUI (HEX encoded).
|
||||
string dev_eui = 2;
|
||||
}
|
||||
|
||||
message MulticastGroupQueueItem {
|
||||
// Multicast group ID.
|
||||
string multicast_group_id = 1;
|
||||
|
||||
// Downlink frame-counter.
|
||||
// This will be automatically set on enqueue.
|
||||
uint32 f_cnt = 2;
|
||||
|
||||
// FPort (must be > 0).
|
||||
uint32 f_port = 3;
|
||||
|
||||
// Payload.
|
||||
bytes data = 4;
|
||||
}
|
||||
|
||||
message EnqueueMulticastGroupQueueItemRequest {
|
||||
// Multicast queue-item to enqueue.
|
||||
MulticastGroupQueueItem multicast_group_queue_item = 1;
|
||||
}
|
||||
|
||||
message EnqueueMulticastGroupQueueItemResponse {
|
||||
// Frame-counter of the enqueued payload.
|
||||
uint32 f_cnt = 1;
|
||||
}
|
||||
|
||||
message FlushMulticastGroupQueueRequest {
|
||||
// Multicast group ID.
|
||||
string multicast_group_id = 1;
|
||||
}
|
||||
|
||||
message ListMulticastGroupQueueRequest {
|
||||
// Multicast group ID.
|
||||
string multicast_group_id = 1;
|
||||
}
|
||||
|
||||
message ListMulticastGroupQueueResponse {
|
||||
repeated MulticastGroupQueueItem items = 1;
|
||||
}
|
261
api/python/proto/chirpstack-api/api/tenant.proto
Normal file
261
api/python/proto/chirpstack-api/api/tenant.proto
Normal file
@ -0,0 +1,261 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package api;
|
||||
|
||||
option go_package = "github.com/chirpstack/chirpstack/api/go/v4";
|
||||
option java_package = "io.chirpstack.api";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "InternalProto";
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
|
||||
// TenantService is the service providing API methods for managing tenants.
|
||||
service TenantService {
|
||||
// Create a new tenant.
|
||||
rpc Create(CreateTenantRequest) returns (CreateTenantResponse) {}
|
||||
|
||||
// Get the tenant for the given ID.
|
||||
rpc Get(GetTenantRequest) returns (GetTenantResponse) {}
|
||||
|
||||
// Update the given tenant.
|
||||
rpc Update(UpdateTenantRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete the tenant with the given ID.
|
||||
rpc Delete(DeleteTenantRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get the list of tenants.
|
||||
rpc List(ListTenantsRequest) returns (ListTenantsResponse) {}
|
||||
|
||||
// Add an user to the tenant.
|
||||
// Note: the user must already exist.
|
||||
rpc AddUser(AddTenantUserRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get the the tenant user for the given tenant and user IDs.
|
||||
rpc GetUser(GetTenantUserRequest) returns (GetTenantUserResponse) {}
|
||||
|
||||
// Update the given tenant user.
|
||||
rpc UpdateUser(UpdateTenantUserRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete the given tenant user.
|
||||
rpc DeleteUser(DeleteTenantUserRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get the list of tenant users.
|
||||
rpc ListUsers(ListTenantUsersRequest) returns (ListTenantUsersResponse) {}
|
||||
}
|
||||
|
||||
message Tenant {
|
||||
// Tenant ID (UUID).
|
||||
// Note: this value will be automatically generated on create.
|
||||
string id = 1;
|
||||
|
||||
// Tenant name,
|
||||
string name = 2;
|
||||
|
||||
// Tenant description.
|
||||
string description = 3;
|
||||
|
||||
// Can the tenant create and "own" Gateways?
|
||||
bool can_have_gateways = 4;
|
||||
|
||||
// Max. gateway count for tenant.
|
||||
// When set to 0, the tenant can have unlimited gateways.
|
||||
uint32 max_gateway_count = 5;
|
||||
|
||||
// Max. device count for tenant.
|
||||
// When set to 0, the tenant can have unlimited devices.
|
||||
uint32 max_device_count = 6;
|
||||
|
||||
// Private gateways.
|
||||
// Gateways under this tenant are private.
|
||||
bool private_gateways = 7;
|
||||
}
|
||||
|
||||
message TenantListItem {
|
||||
// Tenant ID (UUID).
|
||||
string id = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
|
||||
// Tenant name.
|
||||
string name = 4;
|
||||
|
||||
// Can the tenant create and "own" Gateways?
|
||||
bool can_have_gateways = 5;
|
||||
|
||||
// Gateways are private to tenant.
|
||||
bool private_gateways = 6;
|
||||
|
||||
// Max gateway count.
|
||||
// 0 = unlimited.
|
||||
uint32 max_gateway_count = 7;
|
||||
|
||||
// Max device count.
|
||||
// 0 = unlimited.
|
||||
uint32 max_device_count = 8;
|
||||
}
|
||||
|
||||
message CreateTenantRequest {
|
||||
// Tenant object to create.
|
||||
Tenant tenant = 1;
|
||||
}
|
||||
|
||||
message CreateTenantResponse {
|
||||
// Tenant ID.
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message GetTenantRequest {
|
||||
// Tenant ID.
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message GetTenantResponse {
|
||||
// Tenant object.
|
||||
Tenant tenant = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
}
|
||||
|
||||
message UpdateTenantRequest {
|
||||
// Tenant object.
|
||||
Tenant tenant = 1;
|
||||
}
|
||||
|
||||
message DeleteTenantRequest {
|
||||
// Tenant ID.
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message ListTenantsRequest {
|
||||
// Max number of tenants to return in the result-set.
|
||||
uint32 limit = 1;
|
||||
|
||||
// Offset in the result-set (for pagination).
|
||||
uint32 offset = 2;
|
||||
|
||||
// If set, the given string will be used to search on name.
|
||||
string search = 3;
|
||||
}
|
||||
|
||||
message ListTenantsResponse {
|
||||
// Total number of tenants.
|
||||
uint32 total_count = 1;
|
||||
|
||||
// Result-set.
|
||||
repeated TenantListItem result = 2;
|
||||
}
|
||||
|
||||
message TenantUser {
|
||||
// Tenant ID (UUID).
|
||||
string tenant_id = 1;
|
||||
|
||||
// User ID (UUID).
|
||||
string user_id = 2;
|
||||
|
||||
// User is admin within the context of the tenant.
|
||||
// There is no need to set the is_device_admin and is_gateway_admin flags.
|
||||
bool is_admin = 3;
|
||||
|
||||
// User is able to modify device related resources (applications,
|
||||
// device-profiles, devices, multicast-groups).
|
||||
bool is_device_admin = 4;
|
||||
|
||||
// User is able to modify gateways.
|
||||
bool is_gateway_admin = 5;
|
||||
|
||||
// Email (only used on get and when adding a user to a tenant).
|
||||
string email = 6;
|
||||
}
|
||||
|
||||
message TenantUserListItem {
|
||||
// Tenant ID (UUID).
|
||||
string tenant_id = 1;
|
||||
|
||||
// User ID (UUID).
|
||||
string user_id = 2;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 3;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 4;
|
||||
|
||||
// Email.
|
||||
string email = 5;
|
||||
|
||||
// User is admin within the context of the tenant.
|
||||
// There is no need to set the is_device_admin and is_gateway_admin flags.
|
||||
bool is_admin = 6;
|
||||
|
||||
// User is able to modify device related resources (applications,
|
||||
// device-profiles, devices, multicast-groups).
|
||||
bool is_device_admin = 7;
|
||||
|
||||
// User is able to modify gateways.
|
||||
bool is_gateway_admin = 8;
|
||||
}
|
||||
|
||||
message AddTenantUserRequest {
|
||||
// Tenant user object.
|
||||
TenantUser tenant_user = 1;
|
||||
}
|
||||
|
||||
message GetTenantUserRequest {
|
||||
// Tenant ID (UUID).
|
||||
string tenant_id = 1;
|
||||
|
||||
// User ID (UUID).
|
||||
string user_id = 2;
|
||||
}
|
||||
|
||||
message GetTenantUserResponse {
|
||||
// Tenant user object.
|
||||
TenantUser tenant_user = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
}
|
||||
|
||||
message UpdateTenantUserRequest {
|
||||
// Tenant user object.
|
||||
TenantUser tenant_user = 1;
|
||||
}
|
||||
|
||||
message DeleteTenantUserRequest {
|
||||
// Tenant ID (UUID).
|
||||
string tenant_id = 1;
|
||||
|
||||
// User ID (UUID).
|
||||
string user_id = 2;
|
||||
}
|
||||
|
||||
message ListTenantUsersRequest {
|
||||
// Tenant ID (UUID).
|
||||
string tenant_id = 1;
|
||||
|
||||
// Max number of tenants to return in the result-set.
|
||||
uint32 limit = 2;
|
||||
|
||||
// Offset in the result-set (for pagination).
|
||||
uint32 offset = 3;
|
||||
}
|
||||
|
||||
message ListTenantUsersResponse {
|
||||
// Total number of tenants.
|
||||
uint32 total_count = 1;
|
||||
|
||||
// Result-set.
|
||||
repeated TenantUserListItem result = 2;
|
||||
}
|
153
api/python/proto/chirpstack-api/api/user.proto
Normal file
153
api/python/proto/chirpstack-api/api/user.proto
Normal file
@ -0,0 +1,153 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package api;
|
||||
|
||||
option go_package = "github.com/chirpstack/chirpstack/api/go/v4";
|
||||
option java_package = "io.chirpstack.api";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "UserProto";
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
|
||||
|
||||
// UserService is the service providing API methods for managing users.
|
||||
service UserService {
|
||||
// Create a new user.
|
||||
rpc Create(CreateUserRequest) returns (CreateUserResponse) {}
|
||||
|
||||
// Get the user for the given ID.
|
||||
rpc Get(GetUserRequest) returns (GetUserResponse) {}
|
||||
|
||||
// Update the given user.
|
||||
rpc Update(UpdateUserRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Delete the user with the given ID.
|
||||
rpc Delete(DeleteUserRequest) returns (google.protobuf.Empty) {}
|
||||
|
||||
// Get the list of users.
|
||||
rpc List(ListUsersRequest) returns (ListUsersResponse) {}
|
||||
|
||||
// Update the password for the given user.
|
||||
rpc UpdatePassword(UpdateUserPasswordRequest) returns (google.protobuf.Empty) {}
|
||||
}
|
||||
|
||||
message User {
|
||||
// User ID (UUID).
|
||||
// Will be set automatically on create.
|
||||
string id = 1;
|
||||
|
||||
// Set to true to make the user a global administrator.
|
||||
bool is_admin = 4;
|
||||
|
||||
// Set to false to disable the user.
|
||||
bool is_active = 5;
|
||||
|
||||
// E-mail of the user.
|
||||
string email = 6;
|
||||
|
||||
// Optional note to store with the user.
|
||||
string note = 7;
|
||||
}
|
||||
|
||||
message UserListItem {
|
||||
// User ID (UUID).
|
||||
string id = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
|
||||
// Email of the user.
|
||||
string email = 4;
|
||||
|
||||
// Set to true to make the user a global administrator.
|
||||
bool is_admin = 5;
|
||||
|
||||
// Set to false to disable the user.
|
||||
bool is_active = 6;
|
||||
}
|
||||
|
||||
message UserTenant {
|
||||
// Tenant ID.
|
||||
string tenant_id = 1;
|
||||
|
||||
// User is admin within the context of the tenant.
|
||||
// There is no need to set the is_device_admin and is_gateway_admin flags.
|
||||
bool is_admin = 2;
|
||||
|
||||
// User is able to modify device related resources (applications,
|
||||
// device-profiles, devices, multicast-groups).
|
||||
bool is_device_admin = 3;
|
||||
|
||||
// User is able to modify gateways.
|
||||
bool is_gateway_admin = 4;
|
||||
}
|
||||
|
||||
message CreateUserRequest {
|
||||
// User object to create.
|
||||
User user = 1;
|
||||
|
||||
// Password to set for the user.
|
||||
string password = 2;
|
||||
|
||||
// Add the user to the following tenants.
|
||||
repeated UserTenant tenants = 3;
|
||||
}
|
||||
|
||||
message CreateUserResponse {
|
||||
// User ID.
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message GetUserRequest {
|
||||
// User ID.
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message GetUserResponse {
|
||||
// User object.
|
||||
User user = 1;
|
||||
|
||||
// Created at timestamp.
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
|
||||
// Last update timestamp.
|
||||
google.protobuf.Timestamp updated_at = 3;
|
||||
}
|
||||
|
||||
message UpdateUserRequest {
|
||||
// User object.
|
||||
User user = 1;
|
||||
}
|
||||
|
||||
message DeleteUserRequest {
|
||||
// User ID.
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message ListUsersRequest {
|
||||
// Max number of tenants to return in the result-set.
|
||||
uint32 limit = 1;
|
||||
|
||||
// Offset in the result-set (for pagination).
|
||||
uint32 offset = 2;
|
||||
}
|
||||
|
||||
message ListUsersResponse {
|
||||
// Total number of users.
|
||||
uint32 total_count = 1;
|
||||
|
||||
// Result-set.
|
||||
repeated UserListItem result = 2;
|
||||
}
|
||||
|
||||
message UpdateUserPasswordRequest {
|
||||
// User ID.
|
||||
string user_id = 1;
|
||||
|
||||
// Password to set.
|
||||
string password = 2;
|
||||
}
|
155
api/python/proto/chirpstack-api/common/common.proto
Normal file
155
api/python/proto/chirpstack-api/common/common.proto
Normal file
@ -0,0 +1,155 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package common;
|
||||
|
||||
option go_package = "github.com/chirpstack/chirpstack/api/go/v4/common";
|
||||
option java_package = "io.chirpstack.api";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "CommonProto";
|
||||
|
||||
enum Modulation {
|
||||
// LoRa
|
||||
LORA = 0;
|
||||
|
||||
// FSK
|
||||
FSK = 1;
|
||||
|
||||
// LR-FHSS
|
||||
LR_FHSS = 2;
|
||||
}
|
||||
|
||||
enum Region {
|
||||
// EU868
|
||||
EU868 = 0;
|
||||
|
||||
// US915
|
||||
US915 = 2;
|
||||
|
||||
// CN779
|
||||
CN779 = 3;
|
||||
|
||||
// EU433
|
||||
EU433 = 4;
|
||||
|
||||
// AU915
|
||||
AU915 = 5;
|
||||
|
||||
// CN470
|
||||
CN470 = 6;
|
||||
|
||||
// AS923
|
||||
AS923 = 7;
|
||||
|
||||
// AS923 with -1.80 MHz frequency offset
|
||||
AS923_2 = 12;
|
||||
|
||||
// AS923 with -6.60 MHz frequency offset
|
||||
AS923_3 = 13;
|
||||
|
||||
// (AS923 with -5.90 MHz frequency offset).
|
||||
AS923_4 = 14;
|
||||
|
||||
// KR920
|
||||
KR920 = 8;
|
||||
|
||||
// IN865
|
||||
IN865 = 9;
|
||||
|
||||
// RU864
|
||||
RU864 = 10;
|
||||
|
||||
// ISM2400 (LoRaWAN 2.4 GHz)
|
||||
ISM2400 = 11;
|
||||
}
|
||||
|
||||
enum MType {
|
||||
// JoinRequest.
|
||||
JOIN_REQUEST = 0;
|
||||
|
||||
// JoinAccept.
|
||||
JOIN_ACCEPT = 1;
|
||||
|
||||
// UnconfirmedDataUp.
|
||||
UNCONFIRMED_DATA_UP = 2;
|
||||
|
||||
// UnconfirmedDataDown.
|
||||
UNCONFIRMED_DATA_DOWN = 3;
|
||||
|
||||
// ConfirmedDataUp.
|
||||
CONFIRMED_DATA_UP = 4;
|
||||
|
||||
// ConfirmedDataDown.
|
||||
CONFIRMED_DATA_DOWN = 5;
|
||||
|
||||
// RejoinRequest.
|
||||
REJOIN_REQUEST = 6;
|
||||
|
||||
// Proprietary.
|
||||
PROPRIETARY = 7;
|
||||
}
|
||||
|
||||
enum MacVersion {
|
||||
LORAWAN_1_0_0 = 0;
|
||||
LORAWAN_1_0_1 = 1;
|
||||
LORAWAN_1_0_2 = 2;
|
||||
LORAWAN_1_0_3 = 3;
|
||||
LORAWAN_1_0_4 = 4;
|
||||
LORAWAN_1_1_0 = 5;
|
||||
}
|
||||
|
||||
enum RegParamsRevision {
|
||||
A = 0;
|
||||
B = 1;
|
||||
RP002_1_0_0 = 2;
|
||||
RP002_1_0_1 = 3;
|
||||
RP002_1_0_2 = 4;
|
||||
RP002_1_0_3 = 5;
|
||||
}
|
||||
|
||||
enum LocationSource {
|
||||
// Unknown.
|
||||
UNKNOWN = 0;
|
||||
|
||||
// GPS.
|
||||
GPS = 1;
|
||||
|
||||
// Manually configured.
|
||||
CONFIG = 2;
|
||||
|
||||
// Geo resolver (TDOA).
|
||||
GEO_RESOLVER_TDOA = 3;
|
||||
|
||||
// Geo resolver (RSSI).
|
||||
GEO_RESOLVER_RSSI = 4;
|
||||
|
||||
// Geo resolver (GNSS).
|
||||
GEO_RESOLVER_GNSS = 5;
|
||||
|
||||
// Geo resolver (WIFI).
|
||||
GEO_RESOLVER_WIFI = 6;
|
||||
}
|
||||
|
||||
message Location {
|
||||
// Latitude.
|
||||
double latitude = 1;
|
||||
|
||||
// Longitude.
|
||||
double longitude = 2;
|
||||
|
||||
// Altitude.
|
||||
double altitude = 3;
|
||||
|
||||
// Location source.
|
||||
LocationSource source = 4;
|
||||
|
||||
// Accuracy.
|
||||
float accuracy = 5;
|
||||
}
|
||||
|
||||
message KeyEnvelope {
|
||||
// KEK label.
|
||||
string kek_label = 1;
|
||||
|
||||
// AES key (when the kek_label is set, this value must first be decrypted).
|
||||
bytes aes_key = 2;
|
||||
}
|
557
api/python/proto/chirpstack-api/gw/gw.proto
Normal file
557
api/python/proto/chirpstack-api/gw/gw.proto
Normal file
@ -0,0 +1,557 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package gw;
|
||||
|
||||
option go_package = "github.com/chirpstack/chirpstack-api/go/v4/gw";
|
||||
option java_package = "io.chirpstack.api.gw";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "GatewayProto";
|
||||
|
||||
import "chirpstack-api/common/common.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/protobuf/duration.proto";
|
||||
|
||||
|
||||
enum DownlinkTiming {
|
||||
// Send the downlink immediately.
|
||||
IMMEDIATELY = 0;
|
||||
|
||||
// Send downlink at the given delay (based on provided context).
|
||||
DELAY = 1;
|
||||
|
||||
// Send at given GPS epoch value.
|
||||
GPS_EPOCH = 2;
|
||||
}
|
||||
|
||||
|
||||
enum FineTimestampType {
|
||||
// No fine-timestamp available.
|
||||
NONE = 0;
|
||||
|
||||
// Encrypted fine-timestamp.
|
||||
ENCRYPTED = 1;
|
||||
|
||||
// Plain fine-timestamp.
|
||||
PLAIN = 2;
|
||||
}
|
||||
|
||||
enum CRCStatus {
|
||||
// No CRC.
|
||||
NO_CRC = 0;
|
||||
|
||||
// Bad CRC.
|
||||
BAD_CRC = 1;
|
||||
|
||||
// CRC OK.
|
||||
CRC_OK = 2;
|
||||
}
|
||||
|
||||
enum TxAckStatus {
|
||||
// Ignored (when a previous item was already emitted).
|
||||
IGNORED = 0;
|
||||
|
||||
// Packet has been programmed for downlink.
|
||||
OK = 1;
|
||||
|
||||
// Rejected because it was already too late to program this packet for downlink.
|
||||
TOO_LATE = 2;
|
||||
|
||||
// Rejected because downlink packet timestamp is too much in advance.
|
||||
TOO_EARLY = 3;
|
||||
|
||||
// Rejected because there was already a packet programmed in requested timeframe.
|
||||
COLLISION_PACKET = 4;
|
||||
|
||||
// Rejected because there was already a beacon planned in requested timeframe.
|
||||
COLLISION_BEACON = 5;
|
||||
|
||||
// Rejected because requested frequency is not supported by TX RF chain.
|
||||
TX_FREQ = 6;
|
||||
|
||||
// Rejected because requested power is not supported by gateway.
|
||||
TX_POWER = 7;
|
||||
|
||||
// Rejected because GPS is unlocked, so GPS timestamp cannot be used.
|
||||
GPS_UNLOCKED = 8;
|
||||
|
||||
// Downlink queue is full.
|
||||
QUEUE_FULL = 9;
|
||||
|
||||
// Internal error.
|
||||
INTERNAL_ERROR = 10;
|
||||
}
|
||||
|
||||
message Modulation {
|
||||
oneof parameters {
|
||||
// LoRa modulation information.
|
||||
LoRaModulationInfo lora = 3 [json_name = "loRa"];
|
||||
|
||||
// FSK modulation information.
|
||||
FSKModulationInfo fsk = 4;
|
||||
|
||||
// LR-FHSS modulation information.
|
||||
LRFHSSModulationInfo lr_fhss = 5 [json_name = "lrFHSS"];
|
||||
}
|
||||
}
|
||||
|
||||
message UplinkTXInfo {
|
||||
// Frequency (Hz).
|
||||
uint32 frequency = 1;
|
||||
|
||||
// Modulation.
|
||||
common.Modulation modulation = 2;
|
||||
|
||||
oneof modulation_info {
|
||||
// LoRa modulation information.
|
||||
LoRaModulationInfo lora_modulation_info = 3 [json_name = "loRaModulationInfo"];
|
||||
|
||||
// FSK modulation information.
|
||||
FSKModulationInfo fsk_modulation_info = 4;
|
||||
|
||||
// LR-FHSS modulation information.
|
||||
LRFHSSModulationInfo lr_fhss_modulation_info = 5 [json_name = "lrFHSSModulationInfo"];
|
||||
}
|
||||
}
|
||||
|
||||
message LoRaModulationInfo {
|
||||
// Bandwidth.
|
||||
uint32 bandwidth = 1;
|
||||
|
||||
// Speading-factor.
|
||||
uint32 spreading_factor = 2;
|
||||
|
||||
// Code-rate.
|
||||
string code_rate = 3;
|
||||
|
||||
// Polarization inversion.
|
||||
bool polarization_inversion = 4;
|
||||
}
|
||||
|
||||
message FSKModulationInfo {
|
||||
// Frequency deviation.
|
||||
uint32 frequency_deviation = 1;
|
||||
|
||||
// FSK datarate (bits / sec).
|
||||
uint32 datarate = 2;
|
||||
}
|
||||
|
||||
message LRFHSSModulationInfo {
|
||||
// Operating channel width (OCW) in Hz.
|
||||
uint32 operating_channel_width = 1;
|
||||
|
||||
// Code-rate.
|
||||
string code_rate = 2;
|
||||
|
||||
// Hopping grid number of steps.
|
||||
uint32 grid_steps = 3;
|
||||
}
|
||||
|
||||
message EncryptedFineTimestamp {
|
||||
// AES key index used for encrypting the fine timestamp.
|
||||
uint32 aes_key_index = 1;
|
||||
|
||||
// Encrypted 'main' fine-timestamp (ns precision part of the timestamp).
|
||||
bytes encrypted_ns = 2 [json_name = "encryptedNS"];
|
||||
|
||||
// FPGA ID.
|
||||
bytes fpga_id = 3 [json_name = "fpgaID"];
|
||||
}
|
||||
|
||||
message PlainFineTimestamp {
|
||||
// Full timestamp.
|
||||
google.protobuf.Timestamp time = 1;
|
||||
}
|
||||
|
||||
message GatewayStats {
|
||||
// Gateway ID.
|
||||
bytes gateway_id = 1 [json_name = "gatewayID"];
|
||||
|
||||
// Gateway IP.
|
||||
string ip = 9;
|
||||
|
||||
// Gateway time.
|
||||
google.protobuf.Timestamp time = 2;
|
||||
|
||||
// Gateway location.
|
||||
common.Location location = 3;
|
||||
|
||||
// Gateway configuration version (this maps to the config_version sent
|
||||
// by LoRa Server to the gateway).
|
||||
string config_version = 4;
|
||||
|
||||
// Number of radio packets received.
|
||||
uint32 rx_packets_received = 5;
|
||||
|
||||
// Number of radio packets received with valid PHY CRC.
|
||||
uint32 rx_packets_received_ok = 6 [json_name = "rxPacketsReceivedOK"];
|
||||
|
||||
// Number of downlink packets received for transmission.
|
||||
uint32 tx_packets_received = 7;
|
||||
|
||||
// Number of downlink packets emitted.
|
||||
uint32 tx_packets_emitted = 8;
|
||||
|
||||
// Additional gateway meta-data.
|
||||
map<string, string> meta_data = 10;
|
||||
|
||||
// Stats ID (UUID).
|
||||
// Unique identifier for the gateway stats.
|
||||
bytes stats_id = 11 [json_name = "statsID"];
|
||||
|
||||
// Tx packets per frequency.
|
||||
map<uint32, uint32> tx_packets_per_frequency = 12;
|
||||
|
||||
// Rx packets per frequency.
|
||||
map<uint32, uint32> rx_packets_per_frequency = 13;
|
||||
|
||||
// Tx packets per modulation parameters.
|
||||
repeated PerModulationCount tx_packets_per_modulation = 14;
|
||||
|
||||
// Rx packets per modulation parameters.
|
||||
repeated PerModulationCount rx_packets_per_modulation = 15;
|
||||
|
||||
// Tx packets per status.
|
||||
map<string, uint32> tx_packets_per_status = 16;
|
||||
}
|
||||
|
||||
message PerModulationCount {
|
||||
// Modulation.
|
||||
Modulation modulation = 1;
|
||||
|
||||
// Count.
|
||||
uint32 count = 2;
|
||||
}
|
||||
|
||||
message UplinkRXInfo {
|
||||
// Gateway ID.
|
||||
bytes gateway_id = 1 [json_name = "gatewayID"];
|
||||
|
||||
// RX time (only set when the gateway has a GPS module).
|
||||
google.protobuf.Timestamp time = 2;
|
||||
|
||||
// RX time since GPS epoch (only set when the gateway has a GPS module).
|
||||
google.protobuf.Duration time_since_gps_epoch = 3 [json_name = "timeSinceGPSEpoch"];
|
||||
|
||||
// RSSI.
|
||||
int32 rssi = 5;
|
||||
|
||||
// LoRa SNR.
|
||||
double lora_snr = 6 [json_name = "loRaSNR"];
|
||||
|
||||
// Channel.
|
||||
uint32 channel = 7;
|
||||
|
||||
// RF Chain.
|
||||
uint32 rf_chain = 8;
|
||||
|
||||
// Board.
|
||||
uint32 board = 9;
|
||||
|
||||
// Antenna.
|
||||
uint32 antenna = 10;
|
||||
|
||||
// Location.
|
||||
common.Location location = 11;
|
||||
|
||||
// Fine-timestamp type.
|
||||
FineTimestampType fine_timestamp_type = 12;
|
||||
|
||||
// Fine-timestamp data.
|
||||
oneof fine_timestamp {
|
||||
// Encrypted fine-timestamp data.
|
||||
EncryptedFineTimestamp encrypted_fine_timestamp = 13;
|
||||
|
||||
// Plain fine-timestamp data.
|
||||
PlainFineTimestamp plain_fine_timestamp = 14;
|
||||
}
|
||||
|
||||
// Gateway specific context.
|
||||
bytes context = 15;
|
||||
|
||||
// Uplink ID (UUID bytes).
|
||||
// Unique and random ID which can be used to correlate the uplink across multiple logs.
|
||||
bytes uplink_id = 16 [json_name = "uplinkID"];
|
||||
|
||||
// CRC status.
|
||||
CRCStatus crc_status = 17 [json_name = "crcStatus"];
|
||||
|
||||
// Optional meta-data map.
|
||||
map<string, string> metadata = 18;
|
||||
}
|
||||
|
||||
message DownlinkTXInfo {
|
||||
// Gateway ID.
|
||||
// Deprecated: replaced by gateway_id in DownlinkFrame.
|
||||
bytes gateway_id = 1 [json_name = "gatewayID"];
|
||||
|
||||
// TX frequency (in Hz).
|
||||
uint32 frequency = 5;
|
||||
|
||||
// TX power (in dBm).
|
||||
int32 power = 6;
|
||||
|
||||
// Modulation.
|
||||
common.Modulation modulation = 7;
|
||||
|
||||
oneof modulation_info {
|
||||
// LoRa modulation information.
|
||||
LoRaModulationInfo lora_modulation_info = 8 [json_name = "loRaModulationInfo"];
|
||||
|
||||
// FSK modulation information.
|
||||
FSKModulationInfo fsk_modulation_info = 9;
|
||||
}
|
||||
|
||||
// The board identifier for emitting the frame.
|
||||
uint32 board = 10;
|
||||
|
||||
// The antenna identifier for emitting the frame.
|
||||
uint32 antenna = 11;
|
||||
|
||||
// Timing defines the downlink timing to use.
|
||||
DownlinkTiming timing = 12;
|
||||
|
||||
oneof timing_info {
|
||||
// Immediately timing information.
|
||||
ImmediatelyTimingInfo immediately_timing_info = 13;
|
||||
|
||||
// Context based delay timing information.
|
||||
DelayTimingInfo delay_timing_info = 14;
|
||||
|
||||
// GPS Epoch timing information.
|
||||
GPSEpochTimingInfo gps_epoch_timing_info = 15;
|
||||
}
|
||||
|
||||
// Gateway specific context.
|
||||
// In case of a Class-A downlink, this contains a copy of the uplink context.
|
||||
bytes context = 16;
|
||||
}
|
||||
|
||||
message ImmediatelyTimingInfo {
|
||||
// Not implemented yet.
|
||||
}
|
||||
|
||||
|
||||
message DelayTimingInfo {
|
||||
// Delay (duration).
|
||||
// The delay will be added to the gateway internal timing, provided by the context object.
|
||||
google.protobuf.Duration delay = 1;
|
||||
}
|
||||
|
||||
message GPSEpochTimingInfo {
|
||||
// Duration since GPS Epoch.
|
||||
google.protobuf.Duration time_since_gps_epoch = 1 [json_name = "timeSinceGPSEpoch"];
|
||||
}
|
||||
|
||||
message UplinkFrame {
|
||||
// PHYPayload.
|
||||
bytes phy_payload = 1;
|
||||
|
||||
// TX meta-data.
|
||||
UplinkTXInfo tx_info = 2;
|
||||
|
||||
// RX meta-data.
|
||||
UplinkRXInfo rx_info = 3;
|
||||
}
|
||||
|
||||
message UplinkFrameSet {
|
||||
// PHYPayload.
|
||||
bytes phy_payload = 1;
|
||||
|
||||
// TX meta-data.
|
||||
UplinkTXInfo tx_info = 2;
|
||||
|
||||
// RX meta-data set.
|
||||
repeated UplinkRXInfo rx_info = 3;
|
||||
}
|
||||
|
||||
message DownlinkFrame {
|
||||
// PHYPayload.
|
||||
// Deprecated: replaced by items.
|
||||
bytes phy_payload = 1;
|
||||
|
||||
// TX meta-data.
|
||||
// Deprecated: replaced by items.
|
||||
DownlinkTXInfo tx_info = 2;
|
||||
|
||||
// Token (uint16 value).
|
||||
// Deprecated: replaced by downlink_id.
|
||||
uint32 token = 3;
|
||||
|
||||
// Downlink ID (UUID).
|
||||
bytes downlink_id = 4 [json_name = "downlinkID"];
|
||||
|
||||
// Downlink frame items.
|
||||
// This makes it possible to send multiple downlink opportunities to the
|
||||
// gateway at once (e.g. RX1 and RX2 in LoRaWAN). The first item has the
|
||||
// highest priority, the last the lowest. The gateway will emit at most
|
||||
// one item.
|
||||
repeated DownlinkFrameItem items = 5;
|
||||
|
||||
// Gateway ID.
|
||||
bytes gateway_id = 6 [json_name = "gatewayID"];
|
||||
}
|
||||
|
||||
message DownlinkFrameItem {
|
||||
// PHYPayload.
|
||||
bytes phy_payload = 1;
|
||||
|
||||
// TX meta-data.
|
||||
DownlinkTXInfo tx_info = 2;
|
||||
}
|
||||
|
||||
message DownlinkTXAck {
|
||||
// Gateway ID.
|
||||
bytes gateway_id = 1 [json_name = "gatewayID"];
|
||||
|
||||
// Token (uint16 value).
|
||||
// Deprecated: replaced by downlink_id.
|
||||
uint32 token = 2;
|
||||
|
||||
// Error.
|
||||
// Deprecated: replaced by items.
|
||||
string error = 3;
|
||||
|
||||
// Downlink ID (UUID).
|
||||
bytes downlink_id = 4 [json_name = "downlinkID"];
|
||||
|
||||
// Downlink frame items.
|
||||
// This list has the same length as the request and indicates which
|
||||
// downlink frame has been emitted of the requested list (or why it failed).
|
||||
// Note that at most one item has a positive acknowledgement.
|
||||
repeated DownlinkTXAckItem items = 5;
|
||||
}
|
||||
|
||||
message DownlinkTXAckItem {
|
||||
// The Ack status of this item.
|
||||
TxAckStatus status = 1;
|
||||
}
|
||||
|
||||
message GatewayConfiguration {
|
||||
// Gateway ID.
|
||||
bytes gateway_id = 1 [json_name = "gatewayID"];
|
||||
|
||||
// Configuration version.
|
||||
string version = 2;
|
||||
|
||||
// Channels.
|
||||
repeated ChannelConfiguration channels = 3;
|
||||
|
||||
// Stats interval.
|
||||
google.protobuf.Duration stats_interval = 4;
|
||||
}
|
||||
|
||||
message ChannelConfiguration {
|
||||
// Frequency (Hz).
|
||||
uint32 frequency = 1;
|
||||
|
||||
// Channel modulation.
|
||||
common.Modulation modulation = 2;
|
||||
|
||||
oneof modulation_config {
|
||||
// LoRa modulation config.
|
||||
LoRaModulationConfig lora_modulation_config = 3 [json_name = "loRaModulationConfig"];
|
||||
|
||||
// FSK modulation config.
|
||||
FSKModulationConfig fsk_modulation_config = 4;
|
||||
}
|
||||
|
||||
// Board index.
|
||||
uint32 board = 5;
|
||||
|
||||
// Demodulator index (of the given board).
|
||||
uint32 demodulator = 6;
|
||||
}
|
||||
|
||||
message LoRaModulationConfig {
|
||||
// Bandwidth.
|
||||
uint32 bandwidth = 1;
|
||||
|
||||
// Spreading-factors.
|
||||
repeated uint32 spreading_factors = 2;
|
||||
}
|
||||
|
||||
message FSKModulationConfig {
|
||||
// Bandwidth.
|
||||
uint32 bandwidth = 1;
|
||||
|
||||
// Bitrate.
|
||||
uint32 bitrate = 2;
|
||||
}
|
||||
|
||||
message GatewayCommandExecRequest {
|
||||
// Gateway ID.
|
||||
bytes gateway_id = 1 [json_name = "gatewayID"];
|
||||
|
||||
// Command to execute.
|
||||
// This command must be pre-configured in the LoRa Gateway Bridge configuration.
|
||||
string command = 2;
|
||||
|
||||
// Execution request ID (UUID).
|
||||
// The same token will be returned when the execution of the command has
|
||||
// completed.
|
||||
bytes ExecId = 3 [json_name = "execID"];
|
||||
|
||||
// Standard input.
|
||||
bytes stdin = 4;
|
||||
|
||||
// Environment variables.
|
||||
map<string, string> environment = 5;
|
||||
}
|
||||
|
||||
message GatewayCommandExecResponse {
|
||||
// Gateway ID.
|
||||
bytes gateway_id = 1 [json_name = "gatewayID"];
|
||||
|
||||
// Execution request ID (UUID).
|
||||
bytes exec_id = 2 [json_name = "execID"];
|
||||
|
||||
// Standard output.
|
||||
bytes stdout = 3;
|
||||
|
||||
// Standard error.
|
||||
bytes stderr = 4;
|
||||
|
||||
// Error message.
|
||||
string error = 5;
|
||||
}
|
||||
|
||||
// RawPacketForwarderEvent contains a raw packet-forwarder event.
|
||||
// It can be used to access packet-forwarder features that are not (fully)
|
||||
// integrated with the ChirpStack Gateway Bridge.
|
||||
message RawPacketForwarderEvent {
|
||||
// Gateway ID.
|
||||
bytes gateway_id = 1 [json_name = "gatewayID"];
|
||||
|
||||
// Raw ID (UUID).
|
||||
bytes raw_id = 2 [json_name = "rawID"];
|
||||
|
||||
// Payload contains the raw payload.
|
||||
bytes payload = 3;
|
||||
}
|
||||
|
||||
// RawPacketForwarderEvent contains a raw packet-forwarder command.
|
||||
// It can be used to access packet-forwarder features that are not (fully)
|
||||
// integrated with the ChirpStack Gateway Bridge.
|
||||
message RawPacketForwarderCommand {
|
||||
// Gateway ID.
|
||||
bytes gateway_id = 1 [json_name = "gatewayID"];
|
||||
|
||||
// Raw ID (UUID).
|
||||
bytes raw_id = 2 [json_name = "rawID"];
|
||||
|
||||
// Payload contains the raw payload.
|
||||
bytes payload = 3;
|
||||
}
|
||||
|
||||
// ConnState contains the connection state of a gateway.
|
||||
message ConnState {
|
||||
// Gateway ID.
|
||||
bytes gateway_id = 1 [json_name = "gatewayID"];
|
||||
|
||||
enum State {
|
||||
OFFLINE = 0;
|
||||
ONLINE = 1;
|
||||
}
|
||||
|
||||
State state = 2;
|
||||
}
|
202
api/python/proto/chirpstack-api/gw/gw_new.proto
Normal file
202
api/python/proto/chirpstack-api/gw/gw_new.proto
Normal file
@ -0,0 +1,202 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package gw;
|
||||
|
||||
option go_package = "github.com/chirpstack/chirpstack/api/go/v4/gw";
|
||||
option java_package = "io.chirpstack.api.gw";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "GatewayProto";
|
||||
|
||||
import "chirpstack-api/common/common.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/protobuf/duration.proto";
|
||||
import "google/protobuf/struct.proto";
|
||||
|
||||
|
||||
enum CodeRate {
|
||||
CR_UNDEFINED = 0;
|
||||
CR_4_5 = 1;
|
||||
CR_4_6 = 2;
|
||||
CR_4_7 = 3;
|
||||
CR_4_8 = 4;
|
||||
}
|
||||
|
||||
message UplinkFrame {
|
||||
// PHYPayload.
|
||||
bytes phy_payload = 1;
|
||||
|
||||
// TX meta-data.
|
||||
UplinkTxParams tx_params = 2;
|
||||
|
||||
// RX meta-data.
|
||||
UplinkRxParams rx_params = 3;
|
||||
}
|
||||
|
||||
message DownlinkFrame {
|
||||
// Gateway ID.
|
||||
string gateway_id = 1;
|
||||
|
||||
// Downlink ID.
|
||||
uint32 downlink_id = 2;
|
||||
|
||||
// Downlink frame items.
|
||||
// This makes it possible to send multiple downlink opportunities to the
|
||||
// gateway at once (e.g. RX1 and RX2 in LoRaWAN). The first item has the
|
||||
// highest priority, the last the lowest. The gateway will emit at most
|
||||
// one item.
|
||||
repeated DownlinkFrameItem items = 3;
|
||||
}
|
||||
|
||||
message UplinkTxParams {
|
||||
// Frequency (Hz).
|
||||
uint32 frequency = 1;
|
||||
|
||||
// Modulation.
|
||||
Modulation modulation = 2;
|
||||
}
|
||||
|
||||
message Modulation {
|
||||
oneof parameters {
|
||||
// LoRa.
|
||||
LoraModulationParams lora = 1;
|
||||
|
||||
// FSK.
|
||||
FskModulationParams fsk = 2;
|
||||
|
||||
// LR-FHSS.
|
||||
LrFhssModulationParams lr_fhss = 3;
|
||||
}
|
||||
}
|
||||
|
||||
message LoraModulationParams {
|
||||
// Bandwidth (Hz).
|
||||
uint32 bandwidth = 1;
|
||||
|
||||
// Spreading-factor.
|
||||
uint32 spreading_factor = 2;
|
||||
|
||||
// Polarization inversion.
|
||||
bool polarization_inversion = 3;
|
||||
|
||||
// Code-rate.
|
||||
CodeRate code_rate = 4;
|
||||
}
|
||||
|
||||
message FskModulationParams {
|
||||
// Frequency deviation.
|
||||
uint32 frequency_deviation = 1;
|
||||
|
||||
// FSK datarate (bits / sec).
|
||||
uint32 datarate = 2;
|
||||
}
|
||||
|
||||
message LrFhssModulationParams {
|
||||
// Operating channel width (OCW) in Hz.
|
||||
uint32 operating_channel_width = 1;
|
||||
|
||||
// Code-rate.
|
||||
CodeRate code_rate = 2;
|
||||
|
||||
// Hopping grid number of steps.
|
||||
uint32 grid_steps = 3;
|
||||
}
|
||||
|
||||
message UplinkRxParams {
|
||||
// Gateway ID (EUI).
|
||||
string gateway_id = 1;
|
||||
|
||||
// Uplink ID (UUID).
|
||||
uint32 uplink_id = 2;
|
||||
|
||||
// Rx time.
|
||||
google.protobuf.Timestamp time = 3;
|
||||
|
||||
// RX time since GPS epoch (only set when the gateway has a GPS module).
|
||||
google.protobuf.Duration time_since_gps_epoch = 4;
|
||||
|
||||
// Fine-timestamp.
|
||||
// This timestamp can be used for TDOA based geolocation.
|
||||
google.protobuf.Duration fine_time_since_gps_epoch = 5;
|
||||
|
||||
// RSSI.
|
||||
int32 rssi = 6;
|
||||
|
||||
// SNR.
|
||||
// Note: only available for LoRa modulation.
|
||||
float snr = 7;
|
||||
|
||||
// Board.
|
||||
uint32 board = 8;
|
||||
|
||||
// Antenna.
|
||||
uint32 antenna = 9;
|
||||
|
||||
// Location.
|
||||
common.Location location = 10;
|
||||
|
||||
// Gateway specific context.
|
||||
// This value must be returned to the gateway on (Class-A) downlink.
|
||||
bytes context = 11;
|
||||
|
||||
// Properties.
|
||||
google.protobuf.Struct properties = 12;
|
||||
}
|
||||
|
||||
message DownlinkFrameItem {
|
||||
// PHYPayload.
|
||||
bytes phy_payload = 1;
|
||||
|
||||
// Tx parameters.
|
||||
DownlinkTxParams tx_params = 2;
|
||||
}
|
||||
|
||||
message DownlinkTxParams {
|
||||
// Tx frequency (Hz).
|
||||
uint32 frequency = 1;
|
||||
|
||||
// Tx power (dBm).
|
||||
int32 power = 2;
|
||||
|
||||
// Modulation.
|
||||
Modulation modulation = 3;
|
||||
|
||||
// The board identifier for emitting the frame.
|
||||
uint32 board = 4;
|
||||
|
||||
// The antenna identifier for emitting the frame.
|
||||
uint32 antenna = 5;
|
||||
|
||||
// Downlink timing.
|
||||
DownlinkTiming timing = 6;
|
||||
|
||||
// Gateway specific context.
|
||||
// In case of a Class-A downlink, this must contain a copy of the uplink context.
|
||||
bytes context = 7;
|
||||
}
|
||||
|
||||
message DownlinkTiming {
|
||||
oneof parameters {
|
||||
// Immediately timing information.
|
||||
DownlinkTimingImmediately immediately = 1;
|
||||
|
||||
// Delay timing information.
|
||||
DownlinkTimingDelay delay = 2;
|
||||
|
||||
// GPS epoch timing information.
|
||||
DownlinkTimingGpsEpoch gps_epoch = 3;
|
||||
}
|
||||
}
|
||||
|
||||
message DownlinkTimingImmediately {
|
||||
// No fields implemented yet.
|
||||
}
|
||||
|
||||
message DownlinkTimingDelay {
|
||||
// Delay relative to provided context.
|
||||
google.protobuf.Duration delay = 1;
|
||||
}
|
||||
|
||||
message DownlinkTimingGpsEpoch {
|
||||
// Duration since GPS epoch.
|
||||
google.protobuf.Duration time_since_gps_epoch = 1;
|
||||
}
|
278
api/python/proto/chirpstack-api/integration/integration.proto
Normal file
278
api/python/proto/chirpstack-api/integration/integration.proto
Normal file
@ -0,0 +1,278 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package integration;
|
||||
|
||||
option go_package = "github.com/brocaar/chirpstack/api/go/v4/integration";
|
||||
option java_package = "io.chirpstack.api.as.integration";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "IntegrationProto";
|
||||
|
||||
import "chirpstack-api/common/common.proto";
|
||||
import "chirpstack-api/gw/gw.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/protobuf/struct.proto";
|
||||
|
||||
enum LogLevel {
|
||||
// Info.
|
||||
INFO = 0;
|
||||
|
||||
// Warning.
|
||||
WARNING = 1;
|
||||
|
||||
// Error.
|
||||
ERROR = 2;
|
||||
}
|
||||
|
||||
enum LogCode {
|
||||
// Unknown type.
|
||||
UNKNOWN = 0;
|
||||
|
||||
// Error related to the downlink payload size.
|
||||
// Usually seen when the payload exceeded the maximum allowed payload size.
|
||||
DOWNLINK_PAYLOAD_SIZE = 1;
|
||||
|
||||
// Uplink codec error.
|
||||
UPLINK_CODEC = 2;
|
||||
|
||||
// Downlink codec error.
|
||||
DOWNLINK_CODEC = 3;
|
||||
|
||||
// OTAA error.
|
||||
OTAA = 4;
|
||||
|
||||
// Uplink frame-counter was reset.
|
||||
UPLINK_F_CNT_RESET = 5;
|
||||
|
||||
// Uplink MIC error.
|
||||
UPLINK_MIC = 6;
|
||||
|
||||
// Uplink frame-counter retransmission.
|
||||
UPLINK_F_CNT_RETRANSMISSION = 7;
|
||||
|
||||
// Downlink gateway error.
|
||||
DOWNLINK_GATEWAY = 8;
|
||||
}
|
||||
|
||||
// Device information.
|
||||
message DeviceInfo {
|
||||
// Tenant ID (UUID).
|
||||
string tenant_id = 1;
|
||||
|
||||
// Tenant name.
|
||||
string tenant_name = 2;
|
||||
|
||||
// Application ID (UUID).
|
||||
string application_id = 3;
|
||||
|
||||
// Application name.
|
||||
string application_name = 4;
|
||||
|
||||
// Device-profile ID (UUID).
|
||||
string device_profile_id = 5;
|
||||
|
||||
// Device-profile name.
|
||||
string device_profile_name = 6;
|
||||
|
||||
// Device name.
|
||||
string device_name = 7;
|
||||
|
||||
// Device EUI.
|
||||
string dev_eui = 8;
|
||||
|
||||
// Device-profile and device tags.
|
||||
map<string, string> tags = 9;
|
||||
}
|
||||
|
||||
// UplinkEvent is the message sent when an uplink payload has been received.
|
||||
message UplinkEvent {
|
||||
// Deduplication ID (UUID).
|
||||
string deduplication_id = 1;
|
||||
|
||||
// Timestamp.
|
||||
google.protobuf.Timestamp time = 2;
|
||||
|
||||
// Device information.
|
||||
DeviceInfo device_info = 3;
|
||||
|
||||
// Device address.
|
||||
string dev_addr = 4;
|
||||
|
||||
// Device has ADR bit set.
|
||||
bool adr = 5;
|
||||
|
||||
// Data-rate.
|
||||
uint32 dr = 6;
|
||||
|
||||
// Frame counter.
|
||||
uint32 f_cnt_up = 7;
|
||||
|
||||
// Frame port.
|
||||
uint32 f_port = 8;
|
||||
|
||||
// Uplink was of type confirmed.
|
||||
bool confirmed = 9;
|
||||
|
||||
// FRMPayload data.
|
||||
bytes data = 10;
|
||||
|
||||
// Note that this is only set when a codec is configured in the Device Profile.
|
||||
google.protobuf.Struct object = 11;
|
||||
|
||||
// Receiving gateway RX info.
|
||||
repeated gw.UplinkRXInfo rx_info = 12;
|
||||
|
||||
// TX info.
|
||||
gw.UplinkTXInfo tx_info = 13;
|
||||
}
|
||||
|
||||
// JoinEvent is the message sent when a device joined the network.
|
||||
// Note: this event is sent at the first uplink after OTAA.
|
||||
message JoinEvent {
|
||||
// Deduplication ID (UUID).
|
||||
string deduplication_id = 1;
|
||||
|
||||
// Timestamp.
|
||||
google.protobuf.Timestamp time = 2;
|
||||
|
||||
// Device info.
|
||||
DeviceInfo device_info = 3;
|
||||
|
||||
// Device address.
|
||||
string dev_addr = 4;
|
||||
}
|
||||
|
||||
// AckEvent is the message sent when a confirmation on a confirmed downlink
|
||||
// has been received -or- when the downlink timed out.
|
||||
message AckEvent {
|
||||
// Deduplication ID (UUID).
|
||||
string deduplication_id = 1;
|
||||
|
||||
// Timestamp.
|
||||
google.protobuf.Timestamp time = 2;
|
||||
|
||||
// Device info.
|
||||
DeviceInfo device_info = 3;
|
||||
|
||||
// Downlink queue item ID (UUID).
|
||||
string queue_item_id = 4;
|
||||
|
||||
// Frame was acknowledged.
|
||||
bool acknowledged = 5;
|
||||
|
||||
// Downlink frame counter to which the acknowledgement relates.
|
||||
uint32 f_cnt_down = 6;
|
||||
}
|
||||
|
||||
// TxAckEvent is the message sent when a downlink was acknowledged by the gateway
|
||||
// for transmission. As a downlink can be scheduled in the future, this event
|
||||
// does not confirm that the message has already been transmitted.
|
||||
message TxAckEvent {
|
||||
// Downlink ID (UUID).
|
||||
string downlink_id = 1;
|
||||
|
||||
// Timestamp.
|
||||
google.protobuf.Timestamp time = 2;
|
||||
|
||||
// Device info.
|
||||
DeviceInfo device_info = 3;
|
||||
|
||||
// Downlink queue item ID (UUID).
|
||||
string queue_item_id = 4;
|
||||
|
||||
// Downlink frame-counter.
|
||||
uint32 f_cnt_down = 5;
|
||||
|
||||
// Gateway ID.
|
||||
string gateway_id = 6;
|
||||
|
||||
// TX info.
|
||||
gw.DownlinkTXInfo tx_info = 7;
|
||||
}
|
||||
|
||||
// LogEvent is the message sent when a device-related log was sent.
|
||||
message LogEvent {
|
||||
// Deduplication ID (UUID).
|
||||
string deduplication_id = 1;
|
||||
|
||||
// Timestamp.
|
||||
google.protobuf.Timestamp time = 2;
|
||||
|
||||
// Device info.
|
||||
DeviceInfo device_info = 3;
|
||||
|
||||
// Log level.
|
||||
LogLevel level = 4;
|
||||
|
||||
// Log code.
|
||||
LogCode code = 5;
|
||||
|
||||
// Description message.
|
||||
string description = 6;
|
||||
|
||||
// Context map.
|
||||
map<string, string> context = 7;
|
||||
}
|
||||
|
||||
// StatusEvent is the message sent when a device-status mac-command was sent
|
||||
// by the device.
|
||||
message StatusEvent {
|
||||
// Deduplication ID (UUID).
|
||||
string deduplication_id = 1;
|
||||
|
||||
// Timestamp.
|
||||
google.protobuf.Timestamp time = 2;
|
||||
|
||||
// Device info.
|
||||
DeviceInfo device_info = 3;
|
||||
|
||||
// The demodulation signal-to-noise ratio in dB for the last successfully
|
||||
// received device-status request by the Network Server.
|
||||
int32 margin = 5;
|
||||
|
||||
// Device is connected to an external power source.
|
||||
bool external_power_source = 6;
|
||||
|
||||
// Battery level is not available.
|
||||
bool battery_level_unavailable = 7;
|
||||
|
||||
// Battery level.
|
||||
float battery_level = 8;
|
||||
}
|
||||
|
||||
// LocationEvent is the message sent when a geolocation resolve was returned.
|
||||
message LocationEvent {
|
||||
// Deduplication ID (UUID).
|
||||
string deduplication_id = 1;
|
||||
|
||||
// Timestamp.
|
||||
google.protobuf.Timestamp time = 2;
|
||||
|
||||
// Device info.
|
||||
DeviceInfo device_info = 3;
|
||||
|
||||
// Location.
|
||||
common.Location location = 4;
|
||||
}
|
||||
|
||||
// IntegrationEvent is the message that can be sent by an integration.
|
||||
// It allows for sending events which are provided by an external integration
|
||||
// which are "not native" to ChirpStack.
|
||||
message IntegrationEvent {
|
||||
// Deduplication ID (UUID).
|
||||
string deduplication_id = 1;
|
||||
|
||||
// Timestamp.
|
||||
google.protobuf.Timestamp time = 2;
|
||||
|
||||
// Device info.
|
||||
DeviceInfo device_info = 3;
|
||||
|
||||
// Integration name.
|
||||
string integration_name = 4;
|
||||
|
||||
// Event type.
|
||||
string event_type = 5;
|
||||
|
||||
// Struct containing the event object.
|
||||
google.protobuf.Struct object = 6;
|
||||
}
|
235
api/python/proto/chirpstack-api/internal/internal.proto
Normal file
235
api/python/proto/chirpstack-api/internal/internal.proto
Normal file
@ -0,0 +1,235 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package internal;
|
||||
|
||||
import "chirpstack-api/common/common.proto";
|
||||
import "chirpstack-api/gw/gw.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
message DeviceSession {
|
||||
// Device EUI.
|
||||
bytes dev_eui = 1;
|
||||
|
||||
// Device address.
|
||||
bytes dev_addr = 2;
|
||||
|
||||
// Join EUI.
|
||||
bytes join_eui = 3;
|
||||
|
||||
// LoRaWAN mac-version.
|
||||
common.MacVersion mac_version = 4;
|
||||
|
||||
// FNwkSIntKey.
|
||||
bytes f_nwk_s_int_key = 5;
|
||||
|
||||
// SNwkSIntKey.
|
||||
bytes s_nwk_s_int_key = 6;
|
||||
|
||||
// NwkSEncKey.
|
||||
bytes nwk_s_enc_key = 7;
|
||||
|
||||
// AppSKey envelope.
|
||||
common.KeyEnvelope app_s_key = 8;
|
||||
|
||||
// Uplink frame-counter.
|
||||
uint32 f_cnt_up = 9;
|
||||
|
||||
// Downlink frame-counter (ns).
|
||||
uint32 n_f_cnt_down = 10;
|
||||
|
||||
// Downlink frame-counter (as).
|
||||
uint32 a_f_cnt_down = 11;
|
||||
|
||||
// Frame-counter holding the last confirmed downlink frame (n_f_cnt_down or a_f_cnt_down).
|
||||
uint32 conf_f_cnt = 12;
|
||||
|
||||
// Skip uplink frame-counter validation.
|
||||
bool skip_f_cnt_check = 13;
|
||||
|
||||
// RX1 delay.
|
||||
uint32 rx1_delay = 14;
|
||||
|
||||
// RX1 data-rate offset.
|
||||
uint32 rx1_dr_offset = 15;
|
||||
|
||||
// RX2 data-rate.
|
||||
uint32 rx2_dr = 16;
|
||||
|
||||
// RX2 frequency.
|
||||
uint32 rx2_frequency = 17;
|
||||
|
||||
// Enabled uplink channels.
|
||||
repeated uint32 enabled_uplink_channel_indices = 18;
|
||||
|
||||
// Extra user-defined uplink channels.
|
||||
map<uint32, DeviceSessionChannel> extra_uplink_channels = 19;
|
||||
|
||||
// Class-B ping-slot data-rate.
|
||||
uint32 class_b_ping_slot_dr = 20;
|
||||
|
||||
// Class-B ping-slot frequency.
|
||||
uint32 class_b_ping_slot_freq = 21;
|
||||
|
||||
// Class-B ping-slot nb.
|
||||
uint32 class_b_ping_slot_nb = 22;
|
||||
|
||||
// Nb. transmissions.
|
||||
uint32 nb_trans = 23;
|
||||
|
||||
// TXPowerIndex which the node is using. The possible values are defined
|
||||
// by the lorawan/band package and are region specific. By default it is
|
||||
// assumed that the node is using TXPower 0. This value is controlled by
|
||||
// the ADR engine.
|
||||
uint32 tx_power_index = 24;
|
||||
|
||||
// DR defines the (last known) data-rate at which the node is operating.
|
||||
// This value is controlled by the ADR engine.
|
||||
uint32 dr = 25;
|
||||
|
||||
// ADR defines if the device has ADR enabled.
|
||||
bool adr = 26;
|
||||
|
||||
// MaxSupportedTXPowerIndex defines the maximum supported tx-power index
|
||||
// by the node, or 0 when not set.
|
||||
uint32 max_supported_tx_power_index = 27;
|
||||
|
||||
// MinSupportedTXPowerIndex defines the minimum supported tx-power index
|
||||
// by the node (default 0).
|
||||
uint32 min_supported_tx_power_index = 28;
|
||||
|
||||
// Pending rejoin device-session contains a device-session which has not
|
||||
// yet been activated by the device (by sending a first uplink).
|
||||
DeviceSession pending_rejoin_device_session = 29;
|
||||
|
||||
// Uplink history for ADR (last 20 uplink transmissions).
|
||||
repeated UplinkAdrHistory uplink_adr_history = 30;
|
||||
|
||||
// Mac-command error count.
|
||||
map<uint32, uint32> mac_command_error_count = 31;
|
||||
|
||||
// Last device-status request.
|
||||
google.protobuf.Timestamp last_device_status_request = 32;
|
||||
|
||||
// RejoinRequestEnabled defines if the rejoin-request is enabled on the
|
||||
// device.
|
||||
bool rejoin_request_enabled = 33;
|
||||
|
||||
// RejoinRequestMaxCountN defines the 2^(C+4) uplink message interval for
|
||||
// the rejoin-request.
|
||||
uint32 rejoin_request_max_count_n = 34;
|
||||
|
||||
// RejoinRequestMaxTimeN defines the 2^(T+10) time interval (seconds)
|
||||
// for the rejoin-request.
|
||||
uint32 rejoin_request_max_time_n = 35;
|
||||
|
||||
// Rejoin counter (RJCount0).
|
||||
// This counter is reset to 0 after each successful join-accept.
|
||||
uint32 rejoin_count_0 = 36;
|
||||
|
||||
// Uplink dwell time.
|
||||
bool uplink_dwell_time_400ms = 37;
|
||||
|
||||
// Downlink dwell time.
|
||||
bool downlink_dwell_time_400ms = 38;
|
||||
|
||||
// Uplink max. EIRP index.
|
||||
uint32 uplink_max_eirp_index = 39;
|
||||
|
||||
// Region name.
|
||||
string region_name = 40;
|
||||
}
|
||||
|
||||
message UplinkAdrHistory {
|
||||
// Uplink frame-counter.
|
||||
uint32 f_cnt = 1;
|
||||
|
||||
// Max SNR (of deduplicated frames received by one or multiple gateways).
|
||||
float max_snr = 2;
|
||||
|
||||
// Max RSSI.
|
||||
int32 max_rssi = 5;
|
||||
|
||||
// TX Power (as known by the network-server).
|
||||
uint32 tx_power_index = 3;
|
||||
|
||||
// Number of receiving gateways.
|
||||
uint32 gateway_count = 4;
|
||||
}
|
||||
|
||||
message DeviceSessionChannel {
|
||||
// Frequency Hz.
|
||||
uint32 frequency = 1;
|
||||
|
||||
// Min. data-rate.
|
||||
uint32 min_dr = 2;
|
||||
|
||||
// Max. data-rate.
|
||||
uint32 max_dr = 3;
|
||||
}
|
||||
|
||||
message DeviceGatewayRxInfo {
|
||||
// DevEUI (EUI64).
|
||||
bytes dev_eui = 1;
|
||||
|
||||
// Data-rate.
|
||||
uint32 dr = 2;
|
||||
|
||||
// Gateway RxInfo elements.
|
||||
repeated DeviceGatewayRxInfoItem items = 3;
|
||||
}
|
||||
|
||||
message DeviceGatewayRxInfoItem {
|
||||
// Gateway ID (EUI64).
|
||||
bytes gateway_id = 1;
|
||||
|
||||
// RSSI.
|
||||
int32 rssi = 2;
|
||||
|
||||
// LoRa SNR.
|
||||
float lora_snr = 3;
|
||||
|
||||
// Antenna.
|
||||
uint32 antenna = 4;
|
||||
|
||||
// Board.
|
||||
uint32 board = 5;
|
||||
|
||||
// Context blob.
|
||||
bytes context = 6;
|
||||
}
|
||||
|
||||
message DownlinkFrame {
|
||||
// Downlink ID (UUID).
|
||||
bytes downlink_id = 1;
|
||||
|
||||
// DevEUI.
|
||||
bytes dev_eui = 2;
|
||||
|
||||
// Device queue item ID.
|
||||
bytes device_queue_item_id = 3;
|
||||
|
||||
// Multicast Group ID.
|
||||
bytes multicast_group_id = 4;
|
||||
|
||||
// Multicast queue item ID.
|
||||
bytes multicast_group_queue_item_id = 5;
|
||||
|
||||
// Downlink frames.
|
||||
gw.DownlinkFrame downlink_frame = 6;
|
||||
|
||||
// Encrypted FOpts (LoRaWAN 1.1).
|
||||
bool encrypted_fopts = 8;
|
||||
|
||||
// Network session encryption key (for FOpts).
|
||||
bytes nwk_s_enc_key = 9;
|
||||
}
|
||||
|
||||
message LoraCloudGeolocBuffer {
|
||||
// Uplinks in buffer.
|
||||
repeated LoraCloudGeolocBufferUplink uplinks = 1;
|
||||
}
|
||||
|
||||
message LoraCloudGeolocBufferUplink {
|
||||
// RxInfo set for a single uplink.
|
||||
repeated gw.UplinkRXInfo rx_info = 1;
|
||||
}
|
61
api/python/proto/chirpstack-api/meta/meta.proto
Normal file
61
api/python/proto/chirpstack-api/meta/meta.proto
Normal file
@ -0,0 +1,61 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package meta;
|
||||
|
||||
option go_package = "github.com/chirpstack/chirpstack-api/go/v4/meta";
|
||||
option java_package = "io.chirpstack.api.meta";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "MetaProto";
|
||||
|
||||
import "chirpstack-api/common/common.proto";
|
||||
import "chirpstack-api/gw/gw.proto";
|
||||
|
||||
|
||||
message UplinkMeta {
|
||||
// Device EUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
|
||||
// TX meta-data.
|
||||
gw.UplinkTXInfo tx_info = 2;
|
||||
|
||||
// RX meta-data.
|
||||
repeated gw.UplinkRXInfo rx_info = 3;
|
||||
|
||||
// PHYPayload byte count.
|
||||
uint32 phy_payload_byte_count = 4;
|
||||
|
||||
// MAC-Command byte count.
|
||||
uint32 mac_command_byte_count = 5;
|
||||
|
||||
// Application payload byte count.
|
||||
uint32 application_payload_byte_count = 6;
|
||||
|
||||
// Message type.
|
||||
common.MType message_type = 7;
|
||||
}
|
||||
|
||||
message DownlinkMeta {
|
||||
// Device EUI (EUI64).
|
||||
string dev_eui = 1;
|
||||
|
||||
// Multicast Group ID (UUID).
|
||||
string multicast_group_id = 2;
|
||||
|
||||
// TX meta-data.
|
||||
gw.DownlinkTXInfo tx_info = 3;
|
||||
|
||||
// PHYPayload byte count.
|
||||
uint32 phy_payload_byte_count = 4;
|
||||
|
||||
// MAC-Command byte count.
|
||||
uint32 mac_command_byte_count = 5;
|
||||
|
||||
// Application payload byte count.
|
||||
uint32 application_payload_byte_count = 6;
|
||||
|
||||
// Message type.
|
||||
common.MType message_type = 7;
|
||||
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 8;
|
||||
}
|
22
api/python/src/README.md
Normal file
22
api/python/src/README.md
Normal file
@ -0,0 +1,22 @@
|
||||
# chirpstack-api
|
||||
|
||||
ChirpStack gRPC API message and service wrappers for Python.
|
||||
|
||||
## Install
|
||||
|
||||
```sh
|
||||
pip install chirpstack-api
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
All messages, services, constants, etc. are auto-generated from the ChirpStack protobuf definitions. The result is that
|
||||
this package structure matches that of the protobuf definitions.
|
||||
|
||||
The protobuf definitions can be found here: https://github.com/brocaar/chirpstack-api/tree/master/protobuf
|
||||
|
||||
## Links
|
||||
|
||||
* [`chirpstack-api` Python package page](https://pypi.org/project/chirpstack-api/)
|
||||
* [ChirpStack documentation](https://www.chirpstack.io/)
|
||||
* [ChirpStack Application Server API examples](https://www.chirpstack.io/application-server/api/python-examples/)
|
780
api/python/src/chirpstack_api/api/application_pb2.py
Normal file
780
api/python/src/chirpstack_api/api/application_pb2.py
Normal file
File diff suppressed because one or more lines are too long
1499
api/python/src/chirpstack_api/api/application_pb2_grpc.py
Normal file
1499
api/python/src/chirpstack_api/api/application_pb2_grpc.py
Normal file
File diff suppressed because it is too large
Load Diff
426
api/python/src/chirpstack_api/api/device_pb2.py
Normal file
426
api/python/src/chirpstack_api/api/device_pb2.py
Normal file
File diff suppressed because one or more lines are too long
649
api/python/src/chirpstack_api/api/device_pb2_grpc.py
Normal file
649
api/python/src/chirpstack_api/api/device_pb2_grpc.py
Normal file
@ -0,0 +1,649 @@
|
||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||
"""Client and server classes corresponding to protobuf-defined services."""
|
||||
import grpc
|
||||
|
||||
from chirpstack_api.api import device_pb2 as chirpstack__api_dot_api_dot_device__pb2
|
||||
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
||||
|
||||
|
||||
class DeviceServiceStub(object):
|
||||
"""DeviceService is the service providing API methods for managing devices.
|
||||
"""
|
||||
|
||||
def __init__(self, channel):
|
||||
"""Constructor.
|
||||
|
||||
Args:
|
||||
channel: A grpc.Channel.
|
||||
"""
|
||||
self.Create = channel.unary_unary(
|
||||
'/api.DeviceService/Create',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.CreateDeviceRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.Get = channel.unary_unary(
|
||||
'/api.DeviceService/Get',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceResponse.FromString,
|
||||
)
|
||||
self.Update = channel.unary_unary(
|
||||
'/api.DeviceService/Update',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.UpdateDeviceRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.Delete = channel.unary_unary(
|
||||
'/api.DeviceService/Delete',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.DeleteDeviceRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.List = channel.unary_unary(
|
||||
'/api.DeviceService/List',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.ListDevicesRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_device__pb2.ListDevicesResponse.FromString,
|
||||
)
|
||||
self.CreateKeys = channel.unary_unary(
|
||||
'/api.DeviceService/CreateKeys',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.CreateDeviceKeysRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.GetKeys = channel.unary_unary(
|
||||
'/api.DeviceService/GetKeys',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceKeysRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceKeysResponse.FromString,
|
||||
)
|
||||
self.UpdateKeys = channel.unary_unary(
|
||||
'/api.DeviceService/UpdateKeys',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.UpdateDeviceKeysRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.DeleteKeys = channel.unary_unary(
|
||||
'/api.DeviceService/DeleteKeys',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.DeleteDeviceKeysRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.FlushDevNonces = channel.unary_unary(
|
||||
'/api.DeviceService/FlushDevNonces',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.FlushDevNoncesRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.Activate = channel.unary_unary(
|
||||
'/api.DeviceService/Activate',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.ActivateDeviceRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.Deactivate = channel.unary_unary(
|
||||
'/api.DeviceService/Deactivate',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.DeactivateDeviceRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.GetActivation = channel.unary_unary(
|
||||
'/api.DeviceService/GetActivation',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceActivationRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceActivationResponse.FromString,
|
||||
)
|
||||
self.GetRandomDevAddr = channel.unary_unary(
|
||||
'/api.DeviceService/GetRandomDevAddr',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.GetRandomDevAddrRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_device__pb2.GetRandomDevAddrResponse.FromString,
|
||||
)
|
||||
self.GetStats = channel.unary_unary(
|
||||
'/api.DeviceService/GetStats',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceStatsRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceStatsResponse.FromString,
|
||||
)
|
||||
self.Enqueue = channel.unary_unary(
|
||||
'/api.DeviceService/Enqueue',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.EnqueueDeviceQueueItemRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_device__pb2.EnqueueDeviceQueueItemResponse.FromString,
|
||||
)
|
||||
self.FlushQueue = channel.unary_unary(
|
||||
'/api.DeviceService/FlushQueue',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.FlushDeviceQueueRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.GetQueue = channel.unary_unary(
|
||||
'/api.DeviceService/GetQueue',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceQueueItemsRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceQueueItemsResponse.FromString,
|
||||
)
|
||||
|
||||
|
||||
class DeviceServiceServicer(object):
|
||||
"""DeviceService is the service providing API methods for managing devices.
|
||||
"""
|
||||
|
||||
def Create(self, request, context):
|
||||
"""Create the given device.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Get(self, request, context):
|
||||
"""Get returns the device for the given DevEUI.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Update(self, request, context):
|
||||
"""Update the given device.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Delete(self, request, context):
|
||||
"""Delete the device with the given DevEUI.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def List(self, request, context):
|
||||
"""Get the list of devices.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def CreateKeys(self, request, context):
|
||||
"""Create the given device-keys.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def GetKeys(self, request, context):
|
||||
"""Get the device-keys for the given DevEUI.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def UpdateKeys(self, request, context):
|
||||
"""Update the given device-keys.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def DeleteKeys(self, request, context):
|
||||
"""Delete the device-keys for the given DevEUI.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def FlushDevNonces(self, request, context):
|
||||
"""FlushDevNonces flushes the OTAA device nonces.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Activate(self, request, context):
|
||||
"""Activate (re)activates the device with the given parameters (for ABP or for importing OTAA activations).
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Deactivate(self, request, context):
|
||||
"""Deactivate de-activates the device.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def GetActivation(self, request, context):
|
||||
"""GetActivation returns the current activation details of the device (OTAA or ABP).
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def GetRandomDevAddr(self, request, context):
|
||||
"""GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into account.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def GetStats(self, request, context):
|
||||
"""GetStats returns the device stats.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Enqueue(self, request, context):
|
||||
"""Enqueue adds the given item to the downlink queue.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def FlushQueue(self, request, context):
|
||||
"""FlushQueue flushes the downlink device-queue.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def GetQueue(self, request, context):
|
||||
"""GetQueue returns the downlink device-queue.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
|
||||
def add_DeviceServiceServicer_to_server(servicer, server):
|
||||
rpc_method_handlers = {
|
||||
'Create': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Create,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.CreateDeviceRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'Get': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Get,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceResponse.SerializeToString,
|
||||
),
|
||||
'Update': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Update,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.UpdateDeviceRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'Delete': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Delete,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.DeleteDeviceRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'List': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.List,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.ListDevicesRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_device__pb2.ListDevicesResponse.SerializeToString,
|
||||
),
|
||||
'CreateKeys': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.CreateKeys,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.CreateDeviceKeysRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'GetKeys': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.GetKeys,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceKeysRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceKeysResponse.SerializeToString,
|
||||
),
|
||||
'UpdateKeys': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.UpdateKeys,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.UpdateDeviceKeysRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'DeleteKeys': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.DeleteKeys,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.DeleteDeviceKeysRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'FlushDevNonces': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.FlushDevNonces,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.FlushDevNoncesRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'Activate': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Activate,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.ActivateDeviceRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'Deactivate': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Deactivate,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.DeactivateDeviceRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'GetActivation': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.GetActivation,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceActivationRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceActivationResponse.SerializeToString,
|
||||
),
|
||||
'GetRandomDevAddr': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.GetRandomDevAddr,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.GetRandomDevAddrRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_device__pb2.GetRandomDevAddrResponse.SerializeToString,
|
||||
),
|
||||
'GetStats': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.GetStats,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceStatsRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceStatsResponse.SerializeToString,
|
||||
),
|
||||
'Enqueue': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Enqueue,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.EnqueueDeviceQueueItemRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_device__pb2.EnqueueDeviceQueueItemResponse.SerializeToString,
|
||||
),
|
||||
'FlushQueue': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.FlushQueue,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.FlushDeviceQueueRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'GetQueue': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.GetQueue,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceQueueItemsRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_device__pb2.GetDeviceQueueItemsResponse.SerializeToString,
|
||||
),
|
||||
}
|
||||
generic_handler = grpc.method_handlers_generic_handler(
|
||||
'api.DeviceService', rpc_method_handlers)
|
||||
server.add_generic_rpc_handlers((generic_handler,))
|
||||
|
||||
|
||||
# This class is part of an EXPERIMENTAL API.
|
||||
class DeviceService(object):
|
||||
"""DeviceService is the service providing API methods for managing devices.
|
||||
"""
|
||||
|
||||
@staticmethod
|
||||
def Create(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/Create',
|
||||
chirpstack__api_dot_api_dot_device__pb2.CreateDeviceRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Get(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/Get',
|
||||
chirpstack__api_dot_api_dot_device__pb2.GetDeviceRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_device__pb2.GetDeviceResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Update(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/Update',
|
||||
chirpstack__api_dot_api_dot_device__pb2.UpdateDeviceRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Delete(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/Delete',
|
||||
chirpstack__api_dot_api_dot_device__pb2.DeleteDeviceRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def List(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/List',
|
||||
chirpstack__api_dot_api_dot_device__pb2.ListDevicesRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_device__pb2.ListDevicesResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def CreateKeys(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/CreateKeys',
|
||||
chirpstack__api_dot_api_dot_device__pb2.CreateDeviceKeysRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def GetKeys(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/GetKeys',
|
||||
chirpstack__api_dot_api_dot_device__pb2.GetDeviceKeysRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_device__pb2.GetDeviceKeysResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def UpdateKeys(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/UpdateKeys',
|
||||
chirpstack__api_dot_api_dot_device__pb2.UpdateDeviceKeysRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def DeleteKeys(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/DeleteKeys',
|
||||
chirpstack__api_dot_api_dot_device__pb2.DeleteDeviceKeysRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def FlushDevNonces(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/FlushDevNonces',
|
||||
chirpstack__api_dot_api_dot_device__pb2.FlushDevNoncesRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Activate(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/Activate',
|
||||
chirpstack__api_dot_api_dot_device__pb2.ActivateDeviceRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Deactivate(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/Deactivate',
|
||||
chirpstack__api_dot_api_dot_device__pb2.DeactivateDeviceRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def GetActivation(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/GetActivation',
|
||||
chirpstack__api_dot_api_dot_device__pb2.GetDeviceActivationRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_device__pb2.GetDeviceActivationResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def GetRandomDevAddr(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/GetRandomDevAddr',
|
||||
chirpstack__api_dot_api_dot_device__pb2.GetRandomDevAddrRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_device__pb2.GetRandomDevAddrResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def GetStats(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/GetStats',
|
||||
chirpstack__api_dot_api_dot_device__pb2.GetDeviceStatsRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_device__pb2.GetDeviceStatsResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Enqueue(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/Enqueue',
|
||||
chirpstack__api_dot_api_dot_device__pb2.EnqueueDeviceQueueItemRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_device__pb2.EnqueueDeviceQueueItemResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def FlushQueue(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/FlushQueue',
|
||||
chirpstack__api_dot_api_dot_device__pb2.FlushDeviceQueueRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def GetQueue(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceService/GetQueue',
|
||||
chirpstack__api_dot_api_dot_device__pb2.GetDeviceQueueItemsRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_device__pb2.GetDeviceQueueItemsResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
172
api/python/src/chirpstack_api/api/device_profile_pb2.py
Normal file
172
api/python/src/chirpstack_api/api/device_profile_pb2.py
Normal file
@ -0,0 +1,172 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# 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 enum_type_wrapper
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
||||
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
||||
from chirpstack_api.common import common_pb2 as chirpstack__api_dot_common_dot_common__pb2
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'chirpstack-api/api/device_profile.proto\x12\x03\x61pi\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"chirpstack-api/common/common.proto\"\x98\x06\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\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\x1e\n\x16payload_encoder_config\x18\t \x01(\t\x12\x1e\n\x16payload_decoder_config\x18\n \x01(\t\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 \n\x18\x63lass_b_ping_slot_period\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\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\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\x32\xdc\x03\n\x14\x44\x65viceProfileService\x12M\n\x06\x43reate\x12\x1f.api.CreateDeviceProfileRequest\x1a .api.CreateDeviceProfileResponse\"\x00\x12\x44\n\x03Get\x12\x1c.api.GetDeviceProfileRequest\x1a\x1d.api.GetDeviceProfileResponse\"\x00\x12\x43\n\x06Update\x12\x1f.api.UpdateDeviceProfileRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x43\n\x06\x44\x65lete\x12\x1f.api.DeleteDeviceProfileRequest\x1a\x16.google.protobuf.Empty\"\x00\x12I\n\x04List\x12\x1e.api.ListDeviceProfilesRequest\x1a\x1f.api.ListDeviceProfilesResponse\"\x00\x12Z\n\x11ListAdrAlgorithms\x12\x16.google.protobuf.Empty\x1a+.api.ListDeviceProfileAdrAlgorithmsResponse\"\x00\x42U\n\x11io.chirpstack.apiB\x12\x44\x65viceProfileProtoP\x01Z*github.com/chirpstack/chirpstack/api/go/v4b\x06proto3')
|
||||
|
||||
_CODECRUNTIME = DESCRIPTOR.enum_types_by_name['CodecRuntime']
|
||||
CodecRuntime = enum_type_wrapper.EnumTypeWrapper(_CODECRUNTIME)
|
||||
NONE = 0
|
||||
CAYENNE_LPP = 1
|
||||
JS = 2
|
||||
|
||||
|
||||
_DEVICEPROFILE = DESCRIPTOR.message_types_by_name['DeviceProfile']
|
||||
_DEVICEPROFILE_TAGSENTRY = _DEVICEPROFILE.nested_types_by_name['TagsEntry']
|
||||
_DEVICEPROFILELISTITEM = DESCRIPTOR.message_types_by_name['DeviceProfileListItem']
|
||||
_CREATEDEVICEPROFILEREQUEST = DESCRIPTOR.message_types_by_name['CreateDeviceProfileRequest']
|
||||
_CREATEDEVICEPROFILERESPONSE = DESCRIPTOR.message_types_by_name['CreateDeviceProfileResponse']
|
||||
_GETDEVICEPROFILEREQUEST = DESCRIPTOR.message_types_by_name['GetDeviceProfileRequest']
|
||||
_GETDEVICEPROFILERESPONSE = DESCRIPTOR.message_types_by_name['GetDeviceProfileResponse']
|
||||
_UPDATEDEVICEPROFILEREQUEST = DESCRIPTOR.message_types_by_name['UpdateDeviceProfileRequest']
|
||||
_DELETEDEVICEPROFILEREQUEST = DESCRIPTOR.message_types_by_name['DeleteDeviceProfileRequest']
|
||||
_LISTDEVICEPROFILESREQUEST = DESCRIPTOR.message_types_by_name['ListDeviceProfilesRequest']
|
||||
_LISTDEVICEPROFILESRESPONSE = DESCRIPTOR.message_types_by_name['ListDeviceProfilesResponse']
|
||||
_LISTDEVICEPROFILEADRALGORITHMSRESPONSE = DESCRIPTOR.message_types_by_name['ListDeviceProfileAdrAlgorithmsResponse']
|
||||
_ADRALGORITHMLISTITEM = DESCRIPTOR.message_types_by_name['AdrAlgorithmListItem']
|
||||
DeviceProfile = _reflection.GeneratedProtocolMessageType('DeviceProfile', (_message.Message,), {
|
||||
|
||||
'TagsEntry' : _reflection.GeneratedProtocolMessageType('TagsEntry', (_message.Message,), {
|
||||
'DESCRIPTOR' : _DEVICEPROFILE_TAGSENTRY,
|
||||
'__module__' : 'chirpstack_api.api.device_profile_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.DeviceProfile.TagsEntry)
|
||||
})
|
||||
,
|
||||
'DESCRIPTOR' : _DEVICEPROFILE,
|
||||
'__module__' : 'chirpstack_api.api.device_profile_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.DeviceProfile)
|
||||
})
|
||||
_sym_db.RegisterMessage(DeviceProfile)
|
||||
_sym_db.RegisterMessage(DeviceProfile.TagsEntry)
|
||||
|
||||
DeviceProfileListItem = _reflection.GeneratedProtocolMessageType('DeviceProfileListItem', (_message.Message,), {
|
||||
'DESCRIPTOR' : _DEVICEPROFILELISTITEM,
|
||||
'__module__' : 'chirpstack_api.api.device_profile_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.DeviceProfileListItem)
|
||||
})
|
||||
_sym_db.RegisterMessage(DeviceProfileListItem)
|
||||
|
||||
CreateDeviceProfileRequest = _reflection.GeneratedProtocolMessageType('CreateDeviceProfileRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _CREATEDEVICEPROFILEREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.device_profile_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.CreateDeviceProfileRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(CreateDeviceProfileRequest)
|
||||
|
||||
CreateDeviceProfileResponse = _reflection.GeneratedProtocolMessageType('CreateDeviceProfileResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _CREATEDEVICEPROFILERESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.device_profile_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.CreateDeviceProfileResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(CreateDeviceProfileResponse)
|
||||
|
||||
GetDeviceProfileRequest = _reflection.GeneratedProtocolMessageType('GetDeviceProfileRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _GETDEVICEPROFILEREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.device_profile_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.GetDeviceProfileRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(GetDeviceProfileRequest)
|
||||
|
||||
GetDeviceProfileResponse = _reflection.GeneratedProtocolMessageType('GetDeviceProfileResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _GETDEVICEPROFILERESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.device_profile_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.GetDeviceProfileResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(GetDeviceProfileResponse)
|
||||
|
||||
UpdateDeviceProfileRequest = _reflection.GeneratedProtocolMessageType('UpdateDeviceProfileRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _UPDATEDEVICEPROFILEREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.device_profile_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.UpdateDeviceProfileRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(UpdateDeviceProfileRequest)
|
||||
|
||||
DeleteDeviceProfileRequest = _reflection.GeneratedProtocolMessageType('DeleteDeviceProfileRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _DELETEDEVICEPROFILEREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.device_profile_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.DeleteDeviceProfileRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(DeleteDeviceProfileRequest)
|
||||
|
||||
ListDeviceProfilesRequest = _reflection.GeneratedProtocolMessageType('ListDeviceProfilesRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LISTDEVICEPROFILESREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.device_profile_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.ListDeviceProfilesRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(ListDeviceProfilesRequest)
|
||||
|
||||
ListDeviceProfilesResponse = _reflection.GeneratedProtocolMessageType('ListDeviceProfilesResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LISTDEVICEPROFILESRESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.device_profile_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.ListDeviceProfilesResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(ListDeviceProfilesResponse)
|
||||
|
||||
ListDeviceProfileAdrAlgorithmsResponse = _reflection.GeneratedProtocolMessageType('ListDeviceProfileAdrAlgorithmsResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LISTDEVICEPROFILEADRALGORITHMSRESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.device_profile_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.ListDeviceProfileAdrAlgorithmsResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(ListDeviceProfileAdrAlgorithmsResponse)
|
||||
|
||||
AdrAlgorithmListItem = _reflection.GeneratedProtocolMessageType('AdrAlgorithmListItem', (_message.Message,), {
|
||||
'DESCRIPTOR' : _ADRALGORITHMLISTITEM,
|
||||
'__module__' : 'chirpstack_api.api.device_profile_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.AdrAlgorithmListItem)
|
||||
})
|
||||
_sym_db.RegisterMessage(AdrAlgorithmListItem)
|
||||
|
||||
_DEVICEPROFILESERVICE = DESCRIPTOR.services_by_name['DeviceProfileService']
|
||||
if _descriptor._USE_C_DESCRIPTORS == False:
|
||||
|
||||
DESCRIPTOR._options = None
|
||||
DESCRIPTOR._serialized_options = b'\n\021io.chirpstack.apiB\022DeviceProfileProtoP\001Z*github.com/chirpstack/chirpstack/api/go/v4'
|
||||
_DEVICEPROFILE_TAGSENTRY._options = None
|
||||
_DEVICEPROFILE_TAGSENTRY._serialized_options = b'8\001'
|
||||
_CODECRUNTIME._serialized_start=2080
|
||||
_CODECRUNTIME._serialized_end=2129
|
||||
_DEVICEPROFILE._serialized_start=147
|
||||
_DEVICEPROFILE._serialized_end=939
|
||||
_DEVICEPROFILE_TAGSENTRY._serialized_start=896
|
||||
_DEVICEPROFILE_TAGSENTRY._serialized_end=939
|
||||
_DEVICEPROFILELISTITEM._serialized_start=942
|
||||
_DEVICEPROFILELISTITEM._serialized_end=1291
|
||||
_CREATEDEVICEPROFILEREQUEST._serialized_start=1293
|
||||
_CREATEDEVICEPROFILEREQUEST._serialized_end=1365
|
||||
_CREATEDEVICEPROFILERESPONSE._serialized_start=1367
|
||||
_CREATEDEVICEPROFILERESPONSE._serialized_end=1408
|
||||
_GETDEVICEPROFILEREQUEST._serialized_start=1410
|
||||
_GETDEVICEPROFILEREQUEST._serialized_end=1447
|
||||
_GETDEVICEPROFILERESPONSE._serialized_start=1450
|
||||
_GETDEVICEPROFILERESPONSE._serialized_end=1616
|
||||
_UPDATEDEVICEPROFILEREQUEST._serialized_start=1618
|
||||
_UPDATEDEVICEPROFILEREQUEST._serialized_end=1690
|
||||
_DELETEDEVICEPROFILEREQUEST._serialized_start=1692
|
||||
_DELETEDEVICEPROFILEREQUEST._serialized_end=1732
|
||||
_LISTDEVICEPROFILESREQUEST._serialized_start=1734
|
||||
_LISTDEVICEPROFILESREQUEST._serialized_end=1827
|
||||
_LISTDEVICEPROFILESRESPONSE._serialized_start=1829
|
||||
_LISTDEVICEPROFILESRESPONSE._serialized_end=1922
|
||||
_LISTDEVICEPROFILEADRALGORITHMSRESPONSE._serialized_start=1924
|
||||
_LISTDEVICEPROFILEADRALGORITHMSRESPONSE._serialized_end=2028
|
||||
_ADRALGORITHMLISTITEM._serialized_start=2030
|
||||
_ADRALGORITHMLISTITEM._serialized_end=2078
|
||||
_DEVICEPROFILESERVICE._serialized_start=2132
|
||||
_DEVICEPROFILESERVICE._serialized_end=2608
|
||||
# @@protoc_insertion_point(module_scope)
|
241
api/python/src/chirpstack_api/api/device_profile_pb2_grpc.py
Normal file
241
api/python/src/chirpstack_api/api/device_profile_pb2_grpc.py
Normal file
@ -0,0 +1,241 @@
|
||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||
"""Client and server classes corresponding to protobuf-defined services."""
|
||||
import grpc
|
||||
|
||||
from chirpstack_api.api import device_profile_pb2 as chirpstack__api_dot_api_dot_device__profile__pb2
|
||||
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
||||
|
||||
|
||||
class DeviceProfileServiceStub(object):
|
||||
"""DeviceProfileService is the service providing API methods for managing device-profiles.
|
||||
"""
|
||||
|
||||
def __init__(self, channel):
|
||||
"""Constructor.
|
||||
|
||||
Args:
|
||||
channel: A grpc.Channel.
|
||||
"""
|
||||
self.Create = channel.unary_unary(
|
||||
'/api.DeviceProfileService/Create',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__profile__pb2.CreateDeviceProfileRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_device__profile__pb2.CreateDeviceProfileResponse.FromString,
|
||||
)
|
||||
self.Get = channel.unary_unary(
|
||||
'/api.DeviceProfileService/Get',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__profile__pb2.GetDeviceProfileRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_device__profile__pb2.GetDeviceProfileResponse.FromString,
|
||||
)
|
||||
self.Update = channel.unary_unary(
|
||||
'/api.DeviceProfileService/Update',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__profile__pb2.UpdateDeviceProfileRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.Delete = channel.unary_unary(
|
||||
'/api.DeviceProfileService/Delete',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__profile__pb2.DeleteDeviceProfileRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.List = channel.unary_unary(
|
||||
'/api.DeviceProfileService/List',
|
||||
request_serializer=chirpstack__api_dot_api_dot_device__profile__pb2.ListDeviceProfilesRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_device__profile__pb2.ListDeviceProfilesResponse.FromString,
|
||||
)
|
||||
self.ListAdrAlgorithms = channel.unary_unary(
|
||||
'/api.DeviceProfileService/ListAdrAlgorithms',
|
||||
request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_device__profile__pb2.ListDeviceProfileAdrAlgorithmsResponse.FromString,
|
||||
)
|
||||
|
||||
|
||||
class DeviceProfileServiceServicer(object):
|
||||
"""DeviceProfileService is the service providing API methods for managing device-profiles.
|
||||
"""
|
||||
|
||||
def Create(self, request, context):
|
||||
"""Create the given device-profile.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Get(self, request, context):
|
||||
"""Get the device-profile for the given ID.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Update(self, request, context):
|
||||
"""Update the given device-profile.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Delete(self, request, context):
|
||||
"""Delete the device-profile with the given ID.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def List(self, request, context):
|
||||
"""List the available device-profiles.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def ListAdrAlgorithms(self, request, context):
|
||||
"""List available ADR algorithms.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
|
||||
def add_DeviceProfileServiceServicer_to_server(servicer, server):
|
||||
rpc_method_handlers = {
|
||||
'Create': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Create,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__profile__pb2.CreateDeviceProfileRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_device__profile__pb2.CreateDeviceProfileResponse.SerializeToString,
|
||||
),
|
||||
'Get': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Get,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__profile__pb2.GetDeviceProfileRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_device__profile__pb2.GetDeviceProfileResponse.SerializeToString,
|
||||
),
|
||||
'Update': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Update,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__profile__pb2.UpdateDeviceProfileRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'Delete': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Delete,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__profile__pb2.DeleteDeviceProfileRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'List': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.List,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_device__profile__pb2.ListDeviceProfilesRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_device__profile__pb2.ListDeviceProfilesResponse.SerializeToString,
|
||||
),
|
||||
'ListAdrAlgorithms': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.ListAdrAlgorithms,
|
||||
request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_device__profile__pb2.ListDeviceProfileAdrAlgorithmsResponse.SerializeToString,
|
||||
),
|
||||
}
|
||||
generic_handler = grpc.method_handlers_generic_handler(
|
||||
'api.DeviceProfileService', rpc_method_handlers)
|
||||
server.add_generic_rpc_handlers((generic_handler,))
|
||||
|
||||
|
||||
# This class is part of an EXPERIMENTAL API.
|
||||
class DeviceProfileService(object):
|
||||
"""DeviceProfileService is the service providing API methods for managing device-profiles.
|
||||
"""
|
||||
|
||||
@staticmethod
|
||||
def Create(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceProfileService/Create',
|
||||
chirpstack__api_dot_api_dot_device__profile__pb2.CreateDeviceProfileRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_device__profile__pb2.CreateDeviceProfileResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Get(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceProfileService/Get',
|
||||
chirpstack__api_dot_api_dot_device__profile__pb2.GetDeviceProfileRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_device__profile__pb2.GetDeviceProfileResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Update(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceProfileService/Update',
|
||||
chirpstack__api_dot_api_dot_device__profile__pb2.UpdateDeviceProfileRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Delete(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceProfileService/Delete',
|
||||
chirpstack__api_dot_api_dot_device__profile__pb2.DeleteDeviceProfileRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def List(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceProfileService/List',
|
||||
chirpstack__api_dot_api_dot_device__profile__pb2.ListDeviceProfilesRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_device__profile__pb2.ListDeviceProfilesResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def ListAdrAlgorithms(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.DeviceProfileService/ListAdrAlgorithms',
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_device__profile__pb2.ListDeviceProfileAdrAlgorithmsResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
48
api/python/src/chirpstack_api/api/frame_log_pb2.py
Normal file
48
api/python/src/chirpstack_api/api/frame_log_pb2.py
Normal file
@ -0,0 +1,48 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: chirpstack-api/api/frame_log.proto
|
||||
"""Generated protocol buffer code."""
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
||||
from chirpstack_api.common import common_pb2 as chirpstack__api_dot_common_dot_common__pb2
|
||||
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\"\xd7\x01\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\"\xe1\x01\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(\t\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(\tBP\n\x11io.chirpstack.apiB\rFrameLogProtoP\x01Z*github.com/chirpstack/chirpstack/api/go/v4b\x06proto3')
|
||||
|
||||
|
||||
|
||||
_UPLINKFRAMELOG = DESCRIPTOR.message_types_by_name['UplinkFrameLog']
|
||||
_DOWNLINKFRAMELOG = DESCRIPTOR.message_types_by_name['DownlinkFrameLog']
|
||||
UplinkFrameLog = _reflection.GeneratedProtocolMessageType('UplinkFrameLog', (_message.Message,), {
|
||||
'DESCRIPTOR' : _UPLINKFRAMELOG,
|
||||
'__module__' : 'chirpstack_api.api.frame_log_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.UplinkFrameLog)
|
||||
})
|
||||
_sym_db.RegisterMessage(UplinkFrameLog)
|
||||
|
||||
DownlinkFrameLog = _reflection.GeneratedProtocolMessageType('DownlinkFrameLog', (_message.Message,), {
|
||||
'DESCRIPTOR' : _DOWNLINKFRAMELOG,
|
||||
'__module__' : 'chirpstack_api.api.frame_log_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.DownlinkFrameLog)
|
||||
})
|
||||
_sym_db.RegisterMessage(DownlinkFrameLog)
|
||||
|
||||
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'
|
||||
_UPLINKFRAMELOG._serialized_start=141
|
||||
_UPLINKFRAMELOG._serialized_end=356
|
||||
_DOWNLINKFRAMELOG._serialized_start=359
|
||||
_DOWNLINKFRAMELOG._serialized_end=584
|
||||
# @@protoc_insertion_point(module_scope)
|
4
api/python/src/chirpstack_api/api/frame_log_pb2_grpc.py
Normal file
4
api/python/src/chirpstack_api/api/frame_log_pb2_grpc.py
Normal file
@ -0,0 +1,4 @@
|
||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||
"""Client and server classes corresponding to protobuf-defined services."""
|
||||
import grpc
|
||||
|
275
api/python/src/chirpstack_api/api/gateway_pb2.py
Normal file
275
api/python/src/chirpstack_api/api/gateway_pb2.py
Normal file
File diff suppressed because one or more lines are too long
275
api/python/src/chirpstack_api/api/gateway_pb2_grpc.py
Normal file
275
api/python/src/chirpstack_api/api/gateway_pb2_grpc.py
Normal file
@ -0,0 +1,275 @@
|
||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||
"""Client and server classes corresponding to protobuf-defined services."""
|
||||
import grpc
|
||||
|
||||
from chirpstack_api.api import gateway_pb2 as chirpstack__api_dot_api_dot_gateway__pb2
|
||||
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
||||
|
||||
|
||||
class GatewayServiceStub(object):
|
||||
"""GatewayService is the service providing API methods for managing gateways.
|
||||
"""
|
||||
|
||||
def __init__(self, channel):
|
||||
"""Constructor.
|
||||
|
||||
Args:
|
||||
channel: A grpc.Channel.
|
||||
"""
|
||||
self.Create = channel.unary_unary(
|
||||
'/api.GatewayService/Create',
|
||||
request_serializer=chirpstack__api_dot_api_dot_gateway__pb2.CreateGatewayRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.Get = channel.unary_unary(
|
||||
'/api.GatewayService/Get',
|
||||
request_serializer=chirpstack__api_dot_api_dot_gateway__pb2.GetGatewayRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_gateway__pb2.GetGatewayResponse.FromString,
|
||||
)
|
||||
self.Update = channel.unary_unary(
|
||||
'/api.GatewayService/Update',
|
||||
request_serializer=chirpstack__api_dot_api_dot_gateway__pb2.UpdateGatewayRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.Delete = channel.unary_unary(
|
||||
'/api.GatewayService/Delete',
|
||||
request_serializer=chirpstack__api_dot_api_dot_gateway__pb2.DeleteGatewayRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.List = channel.unary_unary(
|
||||
'/api.GatewayService/List',
|
||||
request_serializer=chirpstack__api_dot_api_dot_gateway__pb2.ListGatewaysRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_gateway__pb2.ListGatewaysResponse.FromString,
|
||||
)
|
||||
self.GenerateClientCertificate = channel.unary_unary(
|
||||
'/api.GatewayService/GenerateClientCertificate',
|
||||
request_serializer=chirpstack__api_dot_api_dot_gateway__pb2.GenerateGatewayClientCertificateRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_gateway__pb2.GenerateGatewayClientCertificateResponse.FromString,
|
||||
)
|
||||
self.GetStats = channel.unary_unary(
|
||||
'/api.GatewayService/GetStats',
|
||||
request_serializer=chirpstack__api_dot_api_dot_gateway__pb2.GetGatewayStatsRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_gateway__pb2.GetGatewayStatsResponse.FromString,
|
||||
)
|
||||
|
||||
|
||||
class GatewayServiceServicer(object):
|
||||
"""GatewayService is the service providing API methods for managing gateways.
|
||||
"""
|
||||
|
||||
def Create(self, request, context):
|
||||
"""Create creates the given gateway.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Get(self, request, context):
|
||||
"""Get returns the gateway for the given Gateway ID.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Update(self, request, context):
|
||||
"""Update updates the given gateway.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Delete(self, request, context):
|
||||
"""Delete deletes the gateway matching the given Gateway ID.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def List(self, request, context):
|
||||
"""Get the list of gateways.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def GenerateClientCertificate(self, request, context):
|
||||
"""Generate client-certificate for the gateway.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def GetStats(self, request, context):
|
||||
"""GetStats returns the gateway stats.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
|
||||
def add_GatewayServiceServicer_to_server(servicer, server):
|
||||
rpc_method_handlers = {
|
||||
'Create': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Create,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_gateway__pb2.CreateGatewayRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'Get': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Get,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_gateway__pb2.GetGatewayRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_gateway__pb2.GetGatewayResponse.SerializeToString,
|
||||
),
|
||||
'Update': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Update,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_gateway__pb2.UpdateGatewayRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'Delete': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Delete,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_gateway__pb2.DeleteGatewayRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'List': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.List,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_gateway__pb2.ListGatewaysRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_gateway__pb2.ListGatewaysResponse.SerializeToString,
|
||||
),
|
||||
'GenerateClientCertificate': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.GenerateClientCertificate,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_gateway__pb2.GenerateGatewayClientCertificateRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_gateway__pb2.GenerateGatewayClientCertificateResponse.SerializeToString,
|
||||
),
|
||||
'GetStats': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.GetStats,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_gateway__pb2.GetGatewayStatsRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_gateway__pb2.GetGatewayStatsResponse.SerializeToString,
|
||||
),
|
||||
}
|
||||
generic_handler = grpc.method_handlers_generic_handler(
|
||||
'api.GatewayService', rpc_method_handlers)
|
||||
server.add_generic_rpc_handlers((generic_handler,))
|
||||
|
||||
|
||||
# This class is part of an EXPERIMENTAL API.
|
||||
class GatewayService(object):
|
||||
"""GatewayService is the service providing API methods for managing gateways.
|
||||
"""
|
||||
|
||||
@staticmethod
|
||||
def Create(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.GatewayService/Create',
|
||||
chirpstack__api_dot_api_dot_gateway__pb2.CreateGatewayRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Get(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.GatewayService/Get',
|
||||
chirpstack__api_dot_api_dot_gateway__pb2.GetGatewayRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_gateway__pb2.GetGatewayResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Update(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.GatewayService/Update',
|
||||
chirpstack__api_dot_api_dot_gateway__pb2.UpdateGatewayRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Delete(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.GatewayService/Delete',
|
||||
chirpstack__api_dot_api_dot_gateway__pb2.DeleteGatewayRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def List(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.GatewayService/List',
|
||||
chirpstack__api_dot_api_dot_gateway__pb2.ListGatewaysRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_gateway__pb2.ListGatewaysResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def GenerateClientCertificate(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.GatewayService/GenerateClientCertificate',
|
||||
chirpstack__api_dot_api_dot_gateway__pb2.GenerateGatewayClientCertificateRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_gateway__pb2.GenerateGatewayClientCertificateResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def GetStats(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.GatewayService/GetStats',
|
||||
chirpstack__api_dot_api_dot_gateway__pb2.GetGatewayStatsRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_gateway__pb2.GetGatewayStatsResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
307
api/python/src/chirpstack_api/api/internal_pb2.py
Normal file
307
api/python/src/chirpstack_api/api/internal_pb2.py
Normal file
File diff suppressed because one or more lines are too long
479
api/python/src/chirpstack_api/api/internal_pb2_grpc.py
Normal file
479
api/python/src/chirpstack_api/api/internal_pb2_grpc.py
Normal file
@ -0,0 +1,479 @@
|
||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||
"""Client and server classes corresponding to protobuf-defined services."""
|
||||
import grpc
|
||||
|
||||
from chirpstack_api.api import internal_pb2 as chirpstack__api_dot_api_dot_internal__pb2
|
||||
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
||||
|
||||
|
||||
class InternalServiceStub(object):
|
||||
"""InternalService is the service providing API endpoints for internal usage.
|
||||
"""
|
||||
|
||||
def __init__(self, channel):
|
||||
"""Constructor.
|
||||
|
||||
Args:
|
||||
channel: A grpc.Channel.
|
||||
"""
|
||||
self.Login = channel.unary_unary(
|
||||
'/api.InternalService/Login',
|
||||
request_serializer=chirpstack__api_dot_api_dot_internal__pb2.LoginRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_internal__pb2.LoginResponse.FromString,
|
||||
)
|
||||
self.Profile = channel.unary_unary(
|
||||
'/api.InternalService/Profile',
|
||||
request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_internal__pb2.ProfileResponse.FromString,
|
||||
)
|
||||
self.GlobalSearch = channel.unary_unary(
|
||||
'/api.InternalService/GlobalSearch',
|
||||
request_serializer=chirpstack__api_dot_api_dot_internal__pb2.GlobalSearchRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_internal__pb2.GlobalSearchResponse.FromString,
|
||||
)
|
||||
self.CreateApiKey = channel.unary_unary(
|
||||
'/api.InternalService/CreateApiKey',
|
||||
request_serializer=chirpstack__api_dot_api_dot_internal__pb2.CreateApiKeyRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_internal__pb2.CreateApiKeyResponse.FromString,
|
||||
)
|
||||
self.DeleteApiKey = channel.unary_unary(
|
||||
'/api.InternalService/DeleteApiKey',
|
||||
request_serializer=chirpstack__api_dot_api_dot_internal__pb2.DeleteApiKeyRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.ListApiKeys = channel.unary_unary(
|
||||
'/api.InternalService/ListApiKeys',
|
||||
request_serializer=chirpstack__api_dot_api_dot_internal__pb2.ListApiKeysRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_internal__pb2.ListApiKeysResponse.FromString,
|
||||
)
|
||||
self.Settings = channel.unary_unary(
|
||||
'/api.InternalService/Settings',
|
||||
request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_internal__pb2.SettingsResponse.FromString,
|
||||
)
|
||||
self.OpenIdConnectLogin = channel.unary_unary(
|
||||
'/api.InternalService/OpenIdConnectLogin',
|
||||
request_serializer=chirpstack__api_dot_api_dot_internal__pb2.OpenIdConnectLoginRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_internal__pb2.OpenIdConnectLoginResponse.FromString,
|
||||
)
|
||||
self.GetDevicesSummary = channel.unary_unary(
|
||||
'/api.InternalService/GetDevicesSummary',
|
||||
request_serializer=chirpstack__api_dot_api_dot_internal__pb2.GetDevicesSummaryRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_internal__pb2.GetDevicesSummaryResponse.FromString,
|
||||
)
|
||||
self.GetGatewaysSummary = channel.unary_unary(
|
||||
'/api.InternalService/GetGatewaysSummary',
|
||||
request_serializer=chirpstack__api_dot_api_dot_internal__pb2.GetGatewaysSummaryRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_internal__pb2.GetGatewaysSummaryResponse.FromString,
|
||||
)
|
||||
self.StreamGatewayFrames = channel.unary_stream(
|
||||
'/api.InternalService/StreamGatewayFrames',
|
||||
request_serializer=chirpstack__api_dot_api_dot_internal__pb2.StreamGatewayFramesRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_internal__pb2.LogItem.FromString,
|
||||
)
|
||||
self.StreamDeviceFrames = channel.unary_stream(
|
||||
'/api.InternalService/StreamDeviceFrames',
|
||||
request_serializer=chirpstack__api_dot_api_dot_internal__pb2.StreamDeviceFramesRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_internal__pb2.LogItem.FromString,
|
||||
)
|
||||
self.StreamDeviceEvents = channel.unary_stream(
|
||||
'/api.InternalService/StreamDeviceEvents',
|
||||
request_serializer=chirpstack__api_dot_api_dot_internal__pb2.StreamDeviceEventsRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_internal__pb2.LogItem.FromString,
|
||||
)
|
||||
|
||||
|
||||
class InternalServiceServicer(object):
|
||||
"""InternalService is the service providing API endpoints for internal usage.
|
||||
"""
|
||||
|
||||
def Login(self, request, context):
|
||||
"""Log in a user
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Profile(self, request, context):
|
||||
"""Get the current user's profile
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def GlobalSearch(self, request, context):
|
||||
"""Perform a global search.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def CreateApiKey(self, request, context):
|
||||
"""CreateApiKey creates the given API key.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def DeleteApiKey(self, request, context):
|
||||
"""DeleteApiKey deletes the API key.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def ListApiKeys(self, request, context):
|
||||
"""ListApiKeys lists the available API keys.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Settings(self, request, context):
|
||||
"""Get the global settings.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def OpenIdConnectLogin(self, request, context):
|
||||
"""OpenId Connect login.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def GetDevicesSummary(self, request, context):
|
||||
"""GetDevicesSummary returns an aggregated summary of the devices.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def GetGatewaysSummary(self, request, context):
|
||||
"""GetGatewaysSummary returns an aggregated summary of the gateways.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def StreamGatewayFrames(self, request, context):
|
||||
"""Stream frame for the given Gateway ID.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def StreamDeviceFrames(self, request, context):
|
||||
"""Stream frames for the given Device EUI.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def StreamDeviceEvents(self, request, context):
|
||||
"""Stream events for the given Device EUI.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
|
||||
def add_InternalServiceServicer_to_server(servicer, server):
|
||||
rpc_method_handlers = {
|
||||
'Login': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Login,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_internal__pb2.LoginRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_internal__pb2.LoginResponse.SerializeToString,
|
||||
),
|
||||
'Profile': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Profile,
|
||||
request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_internal__pb2.ProfileResponse.SerializeToString,
|
||||
),
|
||||
'GlobalSearch': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.GlobalSearch,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_internal__pb2.GlobalSearchRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_internal__pb2.GlobalSearchResponse.SerializeToString,
|
||||
),
|
||||
'CreateApiKey': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.CreateApiKey,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_internal__pb2.CreateApiKeyRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_internal__pb2.CreateApiKeyResponse.SerializeToString,
|
||||
),
|
||||
'DeleteApiKey': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.DeleteApiKey,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_internal__pb2.DeleteApiKeyRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'ListApiKeys': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.ListApiKeys,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_internal__pb2.ListApiKeysRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_internal__pb2.ListApiKeysResponse.SerializeToString,
|
||||
),
|
||||
'Settings': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Settings,
|
||||
request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_internal__pb2.SettingsResponse.SerializeToString,
|
||||
),
|
||||
'OpenIdConnectLogin': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.OpenIdConnectLogin,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_internal__pb2.OpenIdConnectLoginRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_internal__pb2.OpenIdConnectLoginResponse.SerializeToString,
|
||||
),
|
||||
'GetDevicesSummary': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.GetDevicesSummary,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_internal__pb2.GetDevicesSummaryRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_internal__pb2.GetDevicesSummaryResponse.SerializeToString,
|
||||
),
|
||||
'GetGatewaysSummary': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.GetGatewaysSummary,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_internal__pb2.GetGatewaysSummaryRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_internal__pb2.GetGatewaysSummaryResponse.SerializeToString,
|
||||
),
|
||||
'StreamGatewayFrames': grpc.unary_stream_rpc_method_handler(
|
||||
servicer.StreamGatewayFrames,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_internal__pb2.StreamGatewayFramesRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_internal__pb2.LogItem.SerializeToString,
|
||||
),
|
||||
'StreamDeviceFrames': grpc.unary_stream_rpc_method_handler(
|
||||
servicer.StreamDeviceFrames,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_internal__pb2.StreamDeviceFramesRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_internal__pb2.LogItem.SerializeToString,
|
||||
),
|
||||
'StreamDeviceEvents': grpc.unary_stream_rpc_method_handler(
|
||||
servicer.StreamDeviceEvents,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_internal__pb2.StreamDeviceEventsRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_internal__pb2.LogItem.SerializeToString,
|
||||
),
|
||||
}
|
||||
generic_handler = grpc.method_handlers_generic_handler(
|
||||
'api.InternalService', rpc_method_handlers)
|
||||
server.add_generic_rpc_handlers((generic_handler,))
|
||||
|
||||
|
||||
# This class is part of an EXPERIMENTAL API.
|
||||
class InternalService(object):
|
||||
"""InternalService is the service providing API endpoints for internal usage.
|
||||
"""
|
||||
|
||||
@staticmethod
|
||||
def Login(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.InternalService/Login',
|
||||
chirpstack__api_dot_api_dot_internal__pb2.LoginRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_internal__pb2.LoginResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Profile(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.InternalService/Profile',
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_internal__pb2.ProfileResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def GlobalSearch(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.InternalService/GlobalSearch',
|
||||
chirpstack__api_dot_api_dot_internal__pb2.GlobalSearchRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_internal__pb2.GlobalSearchResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def CreateApiKey(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.InternalService/CreateApiKey',
|
||||
chirpstack__api_dot_api_dot_internal__pb2.CreateApiKeyRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_internal__pb2.CreateApiKeyResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def DeleteApiKey(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.InternalService/DeleteApiKey',
|
||||
chirpstack__api_dot_api_dot_internal__pb2.DeleteApiKeyRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def ListApiKeys(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.InternalService/ListApiKeys',
|
||||
chirpstack__api_dot_api_dot_internal__pb2.ListApiKeysRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_internal__pb2.ListApiKeysResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Settings(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.InternalService/Settings',
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_internal__pb2.SettingsResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def OpenIdConnectLogin(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.InternalService/OpenIdConnectLogin',
|
||||
chirpstack__api_dot_api_dot_internal__pb2.OpenIdConnectLoginRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_internal__pb2.OpenIdConnectLoginResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def GetDevicesSummary(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.InternalService/GetDevicesSummary',
|
||||
chirpstack__api_dot_api_dot_internal__pb2.GetDevicesSummaryRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_internal__pb2.GetDevicesSummaryResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def GetGatewaysSummary(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.InternalService/GetGatewaysSummary',
|
||||
chirpstack__api_dot_api_dot_internal__pb2.GetGatewaysSummaryRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_internal__pb2.GetGatewaysSummaryResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def StreamGatewayFrames(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_stream(request, target, '/api.InternalService/StreamGatewayFrames',
|
||||
chirpstack__api_dot_api_dot_internal__pb2.StreamGatewayFramesRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_internal__pb2.LogItem.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def StreamDeviceFrames(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_stream(request, target, '/api.InternalService/StreamDeviceFrames',
|
||||
chirpstack__api_dot_api_dot_internal__pb2.StreamDeviceFramesRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_internal__pb2.LogItem.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def StreamDeviceEvents(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_stream(request, target, '/api.InternalService/StreamDeviceEvents',
|
||||
chirpstack__api_dot_api_dot_internal__pb2.StreamDeviceEventsRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_internal__pb2.LogItem.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
219
api/python/src/chirpstack_api/api/multicast_group_pb2.py
Normal file
219
api/python/src/chirpstack_api/api/multicast_group_pb2.py
Normal file
@ -0,0 +1,219 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# 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 enum_type_wrapper
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
|
||||
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
||||
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
||||
from chirpstack_api.common import common_pb2 as chirpstack__api_dot_common_dot_common__pb2
|
||||
|
||||
|
||||
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\"\x9c\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\"\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\"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\"i\n%EnqueueMulticastGroupQueueItemRequest\x12@\n\x1amulticast_group_queue_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\x32\xbb\x06\n\x15MulticastGroupService\x12O\n\x06\x43reate\x12 .api.CreateMulticastGroupRequest\x1a!.api.CreateMulticastGroupResponse\"\x00\x12\x46\n\x03Get\x12\x1d.api.GetMulticastGroupRequest\x1a\x1e.api.GetMulticastGroupResponse\"\x00\x12\x44\n\x06Update\x12 .api.UpdateMulticastGroupRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x44\n\x06\x44\x65lete\x12 .api.DeleteMulticastGroupRequest\x1a\x16.google.protobuf.Empty\"\x00\x12K\n\x04List\x12\x1f.api.ListMulticastGroupsRequest\x1a .api.ListMulticastGroupsResponse\"\x00\x12L\n\tAddDevice\x12%.api.AddDeviceToMulticastGroupRequest\x1a\x16.google.protobuf.Empty\"\x00\x12T\n\x0cRemoveDevice\x12*.api.RemoveDeviceFromMulticastGroupRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x64\n\x07\x45nqueue\x12*.api.EnqueueMulticastGroupQueueItemRequest\x1a+.api.EnqueueMulticastGroupQueueItemResponse\"\x00\x12L\n\nFlushQueue\x12$.api.FlushMulticastGroupQueueRequest\x1a\x16.google.protobuf.Empty\"\x00\x12X\n\tListQueue\x12#.api.ListMulticastGroupQueueRequest\x1a$.api.ListMulticastGroupQueueResponse\"\x00\x42V\n\x11io.chirpstack.apiB\x13MulticastGroupProtoP\x01Z*github.com/chirpstack/chirpstack/api/go/v4b\x06proto3')
|
||||
|
||||
_MULTICASTGROUPTYPE = DESCRIPTOR.enum_types_by_name['MulticastGroupType']
|
||||
MulticastGroupType = enum_type_wrapper.EnumTypeWrapper(_MULTICASTGROUPTYPE)
|
||||
CLASS_C = 0
|
||||
CLASS_B = 1
|
||||
|
||||
|
||||
_MULTICASTGROUP = DESCRIPTOR.message_types_by_name['MulticastGroup']
|
||||
_MULTICASTGROUPLISTITEM = DESCRIPTOR.message_types_by_name['MulticastGroupListItem']
|
||||
_CREATEMULTICASTGROUPREQUEST = DESCRIPTOR.message_types_by_name['CreateMulticastGroupRequest']
|
||||
_CREATEMULTICASTGROUPRESPONSE = DESCRIPTOR.message_types_by_name['CreateMulticastGroupResponse']
|
||||
_GETMULTICASTGROUPREQUEST = DESCRIPTOR.message_types_by_name['GetMulticastGroupRequest']
|
||||
_GETMULTICASTGROUPRESPONSE = DESCRIPTOR.message_types_by_name['GetMulticastGroupResponse']
|
||||
_UPDATEMULTICASTGROUPREQUEST = DESCRIPTOR.message_types_by_name['UpdateMulticastGroupRequest']
|
||||
_DELETEMULTICASTGROUPREQUEST = DESCRIPTOR.message_types_by_name['DeleteMulticastGroupRequest']
|
||||
_LISTMULTICASTGROUPSREQUEST = DESCRIPTOR.message_types_by_name['ListMulticastGroupsRequest']
|
||||
_LISTMULTICASTGROUPSRESPONSE = DESCRIPTOR.message_types_by_name['ListMulticastGroupsResponse']
|
||||
_ADDDEVICETOMULTICASTGROUPREQUEST = DESCRIPTOR.message_types_by_name['AddDeviceToMulticastGroupRequest']
|
||||
_REMOVEDEVICEFROMMULTICASTGROUPREQUEST = DESCRIPTOR.message_types_by_name['RemoveDeviceFromMulticastGroupRequest']
|
||||
_MULTICASTGROUPQUEUEITEM = DESCRIPTOR.message_types_by_name['MulticastGroupQueueItem']
|
||||
_ENQUEUEMULTICASTGROUPQUEUEITEMREQUEST = DESCRIPTOR.message_types_by_name['EnqueueMulticastGroupQueueItemRequest']
|
||||
_ENQUEUEMULTICASTGROUPQUEUEITEMRESPONSE = DESCRIPTOR.message_types_by_name['EnqueueMulticastGroupQueueItemResponse']
|
||||
_FLUSHMULTICASTGROUPQUEUEREQUEST = DESCRIPTOR.message_types_by_name['FlushMulticastGroupQueueRequest']
|
||||
_LISTMULTICASTGROUPQUEUEREQUEST = DESCRIPTOR.message_types_by_name['ListMulticastGroupQueueRequest']
|
||||
_LISTMULTICASTGROUPQUEUERESPONSE = DESCRIPTOR.message_types_by_name['ListMulticastGroupQueueResponse']
|
||||
MulticastGroup = _reflection.GeneratedProtocolMessageType('MulticastGroup', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MULTICASTGROUP,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.MulticastGroup)
|
||||
})
|
||||
_sym_db.RegisterMessage(MulticastGroup)
|
||||
|
||||
MulticastGroupListItem = _reflection.GeneratedProtocolMessageType('MulticastGroupListItem', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MULTICASTGROUPLISTITEM,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.MulticastGroupListItem)
|
||||
})
|
||||
_sym_db.RegisterMessage(MulticastGroupListItem)
|
||||
|
||||
CreateMulticastGroupRequest = _reflection.GeneratedProtocolMessageType('CreateMulticastGroupRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _CREATEMULTICASTGROUPREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.CreateMulticastGroupRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(CreateMulticastGroupRequest)
|
||||
|
||||
CreateMulticastGroupResponse = _reflection.GeneratedProtocolMessageType('CreateMulticastGroupResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _CREATEMULTICASTGROUPRESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.CreateMulticastGroupResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(CreateMulticastGroupResponse)
|
||||
|
||||
GetMulticastGroupRequest = _reflection.GeneratedProtocolMessageType('GetMulticastGroupRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _GETMULTICASTGROUPREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.GetMulticastGroupRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(GetMulticastGroupRequest)
|
||||
|
||||
GetMulticastGroupResponse = _reflection.GeneratedProtocolMessageType('GetMulticastGroupResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _GETMULTICASTGROUPRESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.GetMulticastGroupResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(GetMulticastGroupResponse)
|
||||
|
||||
UpdateMulticastGroupRequest = _reflection.GeneratedProtocolMessageType('UpdateMulticastGroupRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _UPDATEMULTICASTGROUPREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.UpdateMulticastGroupRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(UpdateMulticastGroupRequest)
|
||||
|
||||
DeleteMulticastGroupRequest = _reflection.GeneratedProtocolMessageType('DeleteMulticastGroupRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _DELETEMULTICASTGROUPREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.DeleteMulticastGroupRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(DeleteMulticastGroupRequest)
|
||||
|
||||
ListMulticastGroupsRequest = _reflection.GeneratedProtocolMessageType('ListMulticastGroupsRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LISTMULTICASTGROUPSREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.ListMulticastGroupsRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(ListMulticastGroupsRequest)
|
||||
|
||||
ListMulticastGroupsResponse = _reflection.GeneratedProtocolMessageType('ListMulticastGroupsResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LISTMULTICASTGROUPSRESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.ListMulticastGroupsResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(ListMulticastGroupsResponse)
|
||||
|
||||
AddDeviceToMulticastGroupRequest = _reflection.GeneratedProtocolMessageType('AddDeviceToMulticastGroupRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _ADDDEVICETOMULTICASTGROUPREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.AddDeviceToMulticastGroupRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(AddDeviceToMulticastGroupRequest)
|
||||
|
||||
RemoveDeviceFromMulticastGroupRequest = _reflection.GeneratedProtocolMessageType('RemoveDeviceFromMulticastGroupRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _REMOVEDEVICEFROMMULTICASTGROUPREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.RemoveDeviceFromMulticastGroupRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(RemoveDeviceFromMulticastGroupRequest)
|
||||
|
||||
MulticastGroupQueueItem = _reflection.GeneratedProtocolMessageType('MulticastGroupQueueItem', (_message.Message,), {
|
||||
'DESCRIPTOR' : _MULTICASTGROUPQUEUEITEM,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.MulticastGroupQueueItem)
|
||||
})
|
||||
_sym_db.RegisterMessage(MulticastGroupQueueItem)
|
||||
|
||||
EnqueueMulticastGroupQueueItemRequest = _reflection.GeneratedProtocolMessageType('EnqueueMulticastGroupQueueItemRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _ENQUEUEMULTICASTGROUPQUEUEITEMREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.EnqueueMulticastGroupQueueItemRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(EnqueueMulticastGroupQueueItemRequest)
|
||||
|
||||
EnqueueMulticastGroupQueueItemResponse = _reflection.GeneratedProtocolMessageType('EnqueueMulticastGroupQueueItemResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _ENQUEUEMULTICASTGROUPQUEUEITEMRESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.EnqueueMulticastGroupQueueItemResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(EnqueueMulticastGroupQueueItemResponse)
|
||||
|
||||
FlushMulticastGroupQueueRequest = _reflection.GeneratedProtocolMessageType('FlushMulticastGroupQueueRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _FLUSHMULTICASTGROUPQUEUEREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.FlushMulticastGroupQueueRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(FlushMulticastGroupQueueRequest)
|
||||
|
||||
ListMulticastGroupQueueRequest = _reflection.GeneratedProtocolMessageType('ListMulticastGroupQueueRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LISTMULTICASTGROUPQUEUEREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.ListMulticastGroupQueueRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(ListMulticastGroupQueueRequest)
|
||||
|
||||
ListMulticastGroupQueueResponse = _reflection.GeneratedProtocolMessageType('ListMulticastGroupQueueResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LISTMULTICASTGROUPQUEUERESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.multicast_group_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.ListMulticastGroupQueueResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(ListMulticastGroupQueueResponse)
|
||||
|
||||
_MULTICASTGROUPSERVICE = DESCRIPTOR.services_by_name['MulticastGroupService']
|
||||
if _descriptor._USE_C_DESCRIPTORS == False:
|
||||
|
||||
DESCRIPTOR._options = None
|
||||
DESCRIPTOR._serialized_options = b'\n\021io.chirpstack.apiB\023MulticastGroupProtoP\001Z*github.com/chirpstack/chirpstack/api/go/v4'
|
||||
_MULTICASTGROUPTYPE._serialized_start=1977
|
||||
_MULTICASTGROUPTYPE._serialized_end=2023
|
||||
_MULTICASTGROUP._serialized_start=178
|
||||
_MULTICASTGROUP._serialized_end=462
|
||||
_MULTICASTGROUPLISTITEM._serialized_start=465
|
||||
_MULTICASTGROUPLISTITEM._serialized_end=688
|
||||
_CREATEMULTICASTGROUPREQUEST._serialized_start=690
|
||||
_CREATEMULTICASTGROUPREQUEST._serialized_end=765
|
||||
_CREATEMULTICASTGROUPRESPONSE._serialized_start=767
|
||||
_CREATEMULTICASTGROUPRESPONSE._serialized_end=809
|
||||
_GETMULTICASTGROUPREQUEST._serialized_start=811
|
||||
_GETMULTICASTGROUPREQUEST._serialized_end=849
|
||||
_GETMULTICASTGROUPRESPONSE._serialized_start=852
|
||||
_GETMULTICASTGROUPRESPONSE._serialized_end=1021
|
||||
_UPDATEMULTICASTGROUPREQUEST._serialized_start=1023
|
||||
_UPDATEMULTICASTGROUPREQUEST._serialized_end=1098
|
||||
_DELETEMULTICASTGROUPREQUEST._serialized_start=1100
|
||||
_DELETEMULTICASTGROUPREQUEST._serialized_end=1141
|
||||
_LISTMULTICASTGROUPSREQUEST._serialized_start=1143
|
||||
_LISTMULTICASTGROUPSREQUEST._serialized_end=1242
|
||||
_LISTMULTICASTGROUPSRESPONSE._serialized_start=1244
|
||||
_LISTMULTICASTGROUPSRESPONSE._serialized_end=1339
|
||||
_ADDDEVICETOMULTICASTGROUPREQUEST._serialized_start=1341
|
||||
_ADDDEVICETOMULTICASTGROUPREQUEST._serialized_end=1420
|
||||
_REMOVEDEVICEFROMMULTICASTGROUPREQUEST._serialized_start=1422
|
||||
_REMOVEDEVICEFROMMULTICASTGROUPREQUEST._serialized_end=1506
|
||||
_MULTICASTGROUPQUEUEITEM._serialized_start=1508
|
||||
_MULTICASTGROUPQUEUEITEM._serialized_end=1606
|
||||
_ENQUEUEMULTICASTGROUPQUEUEITEMREQUEST._serialized_start=1608
|
||||
_ENQUEUEMULTICASTGROUPQUEUEITEMREQUEST._serialized_end=1713
|
||||
_ENQUEUEMULTICASTGROUPQUEUEITEMRESPONSE._serialized_start=1715
|
||||
_ENQUEUEMULTICASTGROUPQUEUEITEMRESPONSE._serialized_end=1770
|
||||
_FLUSHMULTICASTGROUPQUEUEREQUEST._serialized_start=1772
|
||||
_FLUSHMULTICASTGROUPQUEUEREQUEST._serialized_end=1833
|
||||
_LISTMULTICASTGROUPQUEUEREQUEST._serialized_start=1835
|
||||
_LISTMULTICASTGROUPQUEUEREQUEST._serialized_end=1895
|
||||
_LISTMULTICASTGROUPQUEUERESPONSE._serialized_start=1897
|
||||
_LISTMULTICASTGROUPQUEUERESPONSE._serialized_end=1975
|
||||
_MULTICASTGROUPSERVICE._serialized_start=2026
|
||||
_MULTICASTGROUPSERVICE._serialized_end=2853
|
||||
# @@protoc_insertion_point(module_scope)
|
377
api/python/src/chirpstack_api/api/multicast_group_pb2_grpc.py
Normal file
377
api/python/src/chirpstack_api/api/multicast_group_pb2_grpc.py
Normal file
@ -0,0 +1,377 @@
|
||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||
"""Client and server classes corresponding to protobuf-defined services."""
|
||||
import grpc
|
||||
|
||||
from chirpstack_api.api import multicast_group_pb2 as chirpstack__api_dot_api_dot_multicast__group__pb2
|
||||
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
||||
|
||||
|
||||
class MulticastGroupServiceStub(object):
|
||||
"""MulticastGroupService is the service managing multicast-groups.
|
||||
"""
|
||||
|
||||
def __init__(self, channel):
|
||||
"""Constructor.
|
||||
|
||||
Args:
|
||||
channel: A grpc.Channel.
|
||||
"""
|
||||
self.Create = channel.unary_unary(
|
||||
'/api.MulticastGroupService/Create',
|
||||
request_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.CreateMulticastGroupRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.CreateMulticastGroupResponse.FromString,
|
||||
)
|
||||
self.Get = channel.unary_unary(
|
||||
'/api.MulticastGroupService/Get',
|
||||
request_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.GetMulticastGroupRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.GetMulticastGroupResponse.FromString,
|
||||
)
|
||||
self.Update = channel.unary_unary(
|
||||
'/api.MulticastGroupService/Update',
|
||||
request_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.UpdateMulticastGroupRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.Delete = channel.unary_unary(
|
||||
'/api.MulticastGroupService/Delete',
|
||||
request_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.DeleteMulticastGroupRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.List = channel.unary_unary(
|
||||
'/api.MulticastGroupService/List',
|
||||
request_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.ListMulticastGroupsRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.ListMulticastGroupsResponse.FromString,
|
||||
)
|
||||
self.AddDevice = channel.unary_unary(
|
||||
'/api.MulticastGroupService/AddDevice',
|
||||
request_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.AddDeviceToMulticastGroupRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.RemoveDevice = channel.unary_unary(
|
||||
'/api.MulticastGroupService/RemoveDevice',
|
||||
request_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.RemoveDeviceFromMulticastGroupRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.Enqueue = channel.unary_unary(
|
||||
'/api.MulticastGroupService/Enqueue',
|
||||
request_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.EnqueueMulticastGroupQueueItemRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.EnqueueMulticastGroupQueueItemResponse.FromString,
|
||||
)
|
||||
self.FlushQueue = channel.unary_unary(
|
||||
'/api.MulticastGroupService/FlushQueue',
|
||||
request_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.FlushMulticastGroupQueueRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.ListQueue = channel.unary_unary(
|
||||
'/api.MulticastGroupService/ListQueue',
|
||||
request_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.ListMulticastGroupQueueRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.ListMulticastGroupQueueResponse.FromString,
|
||||
)
|
||||
|
||||
|
||||
class MulticastGroupServiceServicer(object):
|
||||
"""MulticastGroupService is the service managing multicast-groups.
|
||||
"""
|
||||
|
||||
def Create(self, request, context):
|
||||
"""Create the given multicast group.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Get(self, request, context):
|
||||
"""Get returns the multicast group for the given ID.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Update(self, request, context):
|
||||
"""Update the given multicast group.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Delete(self, request, context):
|
||||
"""Delete the multicast-group with the given ID.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def List(self, request, context):
|
||||
"""List the available multicast groups.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def AddDevice(self, request, context):
|
||||
"""Add a device to the multicast group.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def RemoveDevice(self, request, context):
|
||||
"""Remove a device from the multicast group.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Enqueue(self, request, context):
|
||||
"""Add the given item to the multcast group queue.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def FlushQueue(self, request, context):
|
||||
"""Flush the queue for the given multicast group.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def ListQueue(self, request, context):
|
||||
"""List the items in the multicast group queue.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
|
||||
def add_MulticastGroupServiceServicer_to_server(servicer, server):
|
||||
rpc_method_handlers = {
|
||||
'Create': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Create,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.CreateMulticastGroupRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.CreateMulticastGroupResponse.SerializeToString,
|
||||
),
|
||||
'Get': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Get,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.GetMulticastGroupRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.GetMulticastGroupResponse.SerializeToString,
|
||||
),
|
||||
'Update': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Update,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.UpdateMulticastGroupRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'Delete': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Delete,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.DeleteMulticastGroupRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'List': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.List,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.ListMulticastGroupsRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.ListMulticastGroupsResponse.SerializeToString,
|
||||
),
|
||||
'AddDevice': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.AddDevice,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.AddDeviceToMulticastGroupRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'RemoveDevice': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.RemoveDevice,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.RemoveDeviceFromMulticastGroupRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'Enqueue': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Enqueue,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.EnqueueMulticastGroupQueueItemRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.EnqueueMulticastGroupQueueItemResponse.SerializeToString,
|
||||
),
|
||||
'FlushQueue': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.FlushQueue,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.FlushMulticastGroupQueueRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'ListQueue': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.ListQueue,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_multicast__group__pb2.ListMulticastGroupQueueRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_multicast__group__pb2.ListMulticastGroupQueueResponse.SerializeToString,
|
||||
),
|
||||
}
|
||||
generic_handler = grpc.method_handlers_generic_handler(
|
||||
'api.MulticastGroupService', rpc_method_handlers)
|
||||
server.add_generic_rpc_handlers((generic_handler,))
|
||||
|
||||
|
||||
# This class is part of an EXPERIMENTAL API.
|
||||
class MulticastGroupService(object):
|
||||
"""MulticastGroupService is the service managing multicast-groups.
|
||||
"""
|
||||
|
||||
@staticmethod
|
||||
def Create(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.MulticastGroupService/Create',
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.CreateMulticastGroupRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.CreateMulticastGroupResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Get(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.MulticastGroupService/Get',
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.GetMulticastGroupRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.GetMulticastGroupResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Update(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.MulticastGroupService/Update',
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.UpdateMulticastGroupRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Delete(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.MulticastGroupService/Delete',
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.DeleteMulticastGroupRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def List(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.MulticastGroupService/List',
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.ListMulticastGroupsRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.ListMulticastGroupsResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def AddDevice(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.MulticastGroupService/AddDevice',
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.AddDeviceToMulticastGroupRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def RemoveDevice(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.MulticastGroupService/RemoveDevice',
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.RemoveDeviceFromMulticastGroupRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Enqueue(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.MulticastGroupService/Enqueue',
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.EnqueueMulticastGroupQueueItemRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.EnqueueMulticastGroupQueueItemResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def FlushQueue(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.MulticastGroupService/FlushQueue',
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.FlushMulticastGroupQueueRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def ListQueue(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.MulticastGroupService/ListQueue',
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.ListMulticastGroupQueueRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_multicast__group__pb2.ListMulticastGroupQueueResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
220
api/python/src/chirpstack_api/api/tenant_pb2.py
Normal file
220
api/python/src/chirpstack_api/api/tenant_pb2.py
Normal file
@ -0,0 +1,220 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: chirpstack-api/api/tenant.proto
|
||||
"""Generated protocol buffer code."""
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
||||
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\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\"\xa1\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\x18\n\x10private_gateways\x18\x07 \x01(\x08\"\xf4\x01\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\x18\n\x10private_gateways\x18\x06 \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\"C\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\"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\x9b\x05\n\rTenantService\x12?\n\x06\x43reate\x12\x18.api.CreateTenantRequest\x1a\x19.api.CreateTenantResponse\"\x00\x12\x36\n\x03Get\x12\x15.api.GetTenantRequest\x1a\x16.api.GetTenantResponse\"\x00\x12<\n\x06Update\x12\x18.api.UpdateTenantRequest\x1a\x16.google.protobuf.Empty\"\x00\x12<\n\x06\x44\x65lete\x12\x18.api.DeleteTenantRequest\x1a\x16.google.protobuf.Empty\"\x00\x12;\n\x04List\x12\x17.api.ListTenantsRequest\x1a\x18.api.ListTenantsResponse\"\x00\x12>\n\x07\x41\x64\x64User\x12\x19.api.AddTenantUserRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x42\n\x07GetUser\x12\x19.api.GetTenantUserRequest\x1a\x1a.api.GetTenantUserResponse\"\x00\x12\x44\n\nUpdateUser\x12\x1c.api.UpdateTenantUserRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x44\n\nDeleteUser\x12\x1c.api.DeleteTenantUserRequest\x1a\x16.google.protobuf.Empty\"\x00\x12H\n\tListUsers\x12\x1b.api.ListTenantUsersRequest\x1a\x1c.api.ListTenantUsersResponse\"\x00\x42P\n\x11io.chirpstack.apiB\rInternalProtoP\x01Z*github.com/chirpstack/chirpstack/api/go/v4b\x06proto3')
|
||||
|
||||
|
||||
|
||||
_TENANT = DESCRIPTOR.message_types_by_name['Tenant']
|
||||
_TENANTLISTITEM = DESCRIPTOR.message_types_by_name['TenantListItem']
|
||||
_CREATETENANTREQUEST = DESCRIPTOR.message_types_by_name['CreateTenantRequest']
|
||||
_CREATETENANTRESPONSE = DESCRIPTOR.message_types_by_name['CreateTenantResponse']
|
||||
_GETTENANTREQUEST = DESCRIPTOR.message_types_by_name['GetTenantRequest']
|
||||
_GETTENANTRESPONSE = DESCRIPTOR.message_types_by_name['GetTenantResponse']
|
||||
_UPDATETENANTREQUEST = DESCRIPTOR.message_types_by_name['UpdateTenantRequest']
|
||||
_DELETETENANTREQUEST = DESCRIPTOR.message_types_by_name['DeleteTenantRequest']
|
||||
_LISTTENANTSREQUEST = DESCRIPTOR.message_types_by_name['ListTenantsRequest']
|
||||
_LISTTENANTSRESPONSE = DESCRIPTOR.message_types_by_name['ListTenantsResponse']
|
||||
_TENANTUSER = DESCRIPTOR.message_types_by_name['TenantUser']
|
||||
_TENANTUSERLISTITEM = DESCRIPTOR.message_types_by_name['TenantUserListItem']
|
||||
_ADDTENANTUSERREQUEST = DESCRIPTOR.message_types_by_name['AddTenantUserRequest']
|
||||
_GETTENANTUSERREQUEST = DESCRIPTOR.message_types_by_name['GetTenantUserRequest']
|
||||
_GETTENANTUSERRESPONSE = DESCRIPTOR.message_types_by_name['GetTenantUserResponse']
|
||||
_UPDATETENANTUSERREQUEST = DESCRIPTOR.message_types_by_name['UpdateTenantUserRequest']
|
||||
_DELETETENANTUSERREQUEST = DESCRIPTOR.message_types_by_name['DeleteTenantUserRequest']
|
||||
_LISTTENANTUSERSREQUEST = DESCRIPTOR.message_types_by_name['ListTenantUsersRequest']
|
||||
_LISTTENANTUSERSRESPONSE = DESCRIPTOR.message_types_by_name['ListTenantUsersResponse']
|
||||
Tenant = _reflection.GeneratedProtocolMessageType('Tenant', (_message.Message,), {
|
||||
'DESCRIPTOR' : _TENANT,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.Tenant)
|
||||
})
|
||||
_sym_db.RegisterMessage(Tenant)
|
||||
|
||||
TenantListItem = _reflection.GeneratedProtocolMessageType('TenantListItem', (_message.Message,), {
|
||||
'DESCRIPTOR' : _TENANTLISTITEM,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.TenantListItem)
|
||||
})
|
||||
_sym_db.RegisterMessage(TenantListItem)
|
||||
|
||||
CreateTenantRequest = _reflection.GeneratedProtocolMessageType('CreateTenantRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _CREATETENANTREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.CreateTenantRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(CreateTenantRequest)
|
||||
|
||||
CreateTenantResponse = _reflection.GeneratedProtocolMessageType('CreateTenantResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _CREATETENANTRESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.CreateTenantResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(CreateTenantResponse)
|
||||
|
||||
GetTenantRequest = _reflection.GeneratedProtocolMessageType('GetTenantRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _GETTENANTREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.GetTenantRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(GetTenantRequest)
|
||||
|
||||
GetTenantResponse = _reflection.GeneratedProtocolMessageType('GetTenantResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _GETTENANTRESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.GetTenantResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(GetTenantResponse)
|
||||
|
||||
UpdateTenantRequest = _reflection.GeneratedProtocolMessageType('UpdateTenantRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _UPDATETENANTREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.UpdateTenantRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(UpdateTenantRequest)
|
||||
|
||||
DeleteTenantRequest = _reflection.GeneratedProtocolMessageType('DeleteTenantRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _DELETETENANTREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.DeleteTenantRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(DeleteTenantRequest)
|
||||
|
||||
ListTenantsRequest = _reflection.GeneratedProtocolMessageType('ListTenantsRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LISTTENANTSREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.ListTenantsRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(ListTenantsRequest)
|
||||
|
||||
ListTenantsResponse = _reflection.GeneratedProtocolMessageType('ListTenantsResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LISTTENANTSRESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.ListTenantsResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(ListTenantsResponse)
|
||||
|
||||
TenantUser = _reflection.GeneratedProtocolMessageType('TenantUser', (_message.Message,), {
|
||||
'DESCRIPTOR' : _TENANTUSER,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.TenantUser)
|
||||
})
|
||||
_sym_db.RegisterMessage(TenantUser)
|
||||
|
||||
TenantUserListItem = _reflection.GeneratedProtocolMessageType('TenantUserListItem', (_message.Message,), {
|
||||
'DESCRIPTOR' : _TENANTUSERLISTITEM,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.TenantUserListItem)
|
||||
})
|
||||
_sym_db.RegisterMessage(TenantUserListItem)
|
||||
|
||||
AddTenantUserRequest = _reflection.GeneratedProtocolMessageType('AddTenantUserRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _ADDTENANTUSERREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.AddTenantUserRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(AddTenantUserRequest)
|
||||
|
||||
GetTenantUserRequest = _reflection.GeneratedProtocolMessageType('GetTenantUserRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _GETTENANTUSERREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.GetTenantUserRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(GetTenantUserRequest)
|
||||
|
||||
GetTenantUserResponse = _reflection.GeneratedProtocolMessageType('GetTenantUserResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _GETTENANTUSERRESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.GetTenantUserResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(GetTenantUserResponse)
|
||||
|
||||
UpdateTenantUserRequest = _reflection.GeneratedProtocolMessageType('UpdateTenantUserRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _UPDATETENANTUSERREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.UpdateTenantUserRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(UpdateTenantUserRequest)
|
||||
|
||||
DeleteTenantUserRequest = _reflection.GeneratedProtocolMessageType('DeleteTenantUserRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _DELETETENANTUSERREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.DeleteTenantUserRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(DeleteTenantUserRequest)
|
||||
|
||||
ListTenantUsersRequest = _reflection.GeneratedProtocolMessageType('ListTenantUsersRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LISTTENANTUSERSREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.ListTenantUsersRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(ListTenantUsersRequest)
|
||||
|
||||
ListTenantUsersResponse = _reflection.GeneratedProtocolMessageType('ListTenantUsersResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LISTTENANTUSERSRESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.tenant_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.ListTenantUsersResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(ListTenantUsersResponse)
|
||||
|
||||
_TENANTSERVICE = DESCRIPTOR.services_by_name['TenantService']
|
||||
if _descriptor._USE_C_DESCRIPTORS == False:
|
||||
|
||||
DESCRIPTOR._options = None
|
||||
DESCRIPTOR._serialized_options = b'\n\021io.chirpstack.apiB\rInternalProtoP\001Z*github.com/chirpstack/chirpstack/api/go/v4'
|
||||
_TENANT._serialized_start=103
|
||||
_TENANT._serialized_end=264
|
||||
_TENANTLISTITEM._serialized_start=267
|
||||
_TENANTLISTITEM._serialized_end=511
|
||||
_CREATETENANTREQUEST._serialized_start=513
|
||||
_CREATETENANTREQUEST._serialized_end=563
|
||||
_CREATETENANTRESPONSE._serialized_start=565
|
||||
_CREATETENANTRESPONSE._serialized_end=599
|
||||
_GETTENANTREQUEST._serialized_start=601
|
||||
_GETTENANTREQUEST._serialized_end=631
|
||||
_GETTENANTRESPONSE._serialized_start=634
|
||||
_GETTENANTRESPONSE._serialized_end=778
|
||||
_UPDATETENANTREQUEST._serialized_start=780
|
||||
_UPDATETENANTREQUEST._serialized_end=830
|
||||
_DELETETENANTREQUEST._serialized_start=832
|
||||
_DELETETENANTREQUEST._serialized_end=865
|
||||
_LISTTENANTSREQUEST._serialized_start=867
|
||||
_LISTTENANTSREQUEST._serialized_end=934
|
||||
_LISTTENANTSRESPONSE._serialized_start=936
|
||||
_LISTTENANTSRESPONSE._serialized_end=1015
|
||||
_TENANTUSER._serialized_start=1018
|
||||
_TENANTUSER._serialized_end=1150
|
||||
_TENANTUSERLISTITEM._serialized_start=1153
|
||||
_TENANTUSERLISTITEM._serialized_end=1389
|
||||
_ADDTENANTUSERREQUEST._serialized_start=1391
|
||||
_ADDTENANTUSERREQUEST._serialized_end=1451
|
||||
_GETTENANTUSERREQUEST._serialized_start=1453
|
||||
_GETTENANTUSERREQUEST._serialized_end=1511
|
||||
_GETTENANTUSERRESPONSE._serialized_start=1514
|
||||
_GETTENANTUSERRESPONSE._serialized_end=1671
|
||||
_UPDATETENANTUSERREQUEST._serialized_start=1673
|
||||
_UPDATETENANTUSERREQUEST._serialized_end=1736
|
||||
_DELETETENANTUSERREQUEST._serialized_start=1738
|
||||
_DELETETENANTUSERREQUEST._serialized_end=1799
|
||||
_LISTTENANTUSERSREQUEST._serialized_start=1801
|
||||
_LISTTENANTUSERSREQUEST._serialized_end=1875
|
||||
_LISTTENANTUSERSRESPONSE._serialized_start=1877
|
||||
_LISTTENANTUSERSRESPONSE._serialized_end=1964
|
||||
_TENANTSERVICE._serialized_start=1967
|
||||
_TENANTSERVICE._serialized_end=2634
|
||||
# @@protoc_insertion_point(module_scope)
|
378
api/python/src/chirpstack_api/api/tenant_pb2_grpc.py
Normal file
378
api/python/src/chirpstack_api/api/tenant_pb2_grpc.py
Normal file
@ -0,0 +1,378 @@
|
||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||
"""Client and server classes corresponding to protobuf-defined services."""
|
||||
import grpc
|
||||
|
||||
from chirpstack_api.api import tenant_pb2 as chirpstack__api_dot_api_dot_tenant__pb2
|
||||
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
||||
|
||||
|
||||
class TenantServiceStub(object):
|
||||
"""TenantService is the service providing API methods for managing tenants.
|
||||
"""
|
||||
|
||||
def __init__(self, channel):
|
||||
"""Constructor.
|
||||
|
||||
Args:
|
||||
channel: A grpc.Channel.
|
||||
"""
|
||||
self.Create = channel.unary_unary(
|
||||
'/api.TenantService/Create',
|
||||
request_serializer=chirpstack__api_dot_api_dot_tenant__pb2.CreateTenantRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.CreateTenantResponse.FromString,
|
||||
)
|
||||
self.Get = channel.unary_unary(
|
||||
'/api.TenantService/Get',
|
||||
request_serializer=chirpstack__api_dot_api_dot_tenant__pb2.GetTenantRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.GetTenantResponse.FromString,
|
||||
)
|
||||
self.Update = channel.unary_unary(
|
||||
'/api.TenantService/Update',
|
||||
request_serializer=chirpstack__api_dot_api_dot_tenant__pb2.UpdateTenantRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.Delete = channel.unary_unary(
|
||||
'/api.TenantService/Delete',
|
||||
request_serializer=chirpstack__api_dot_api_dot_tenant__pb2.DeleteTenantRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.List = channel.unary_unary(
|
||||
'/api.TenantService/List',
|
||||
request_serializer=chirpstack__api_dot_api_dot_tenant__pb2.ListTenantsRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.ListTenantsResponse.FromString,
|
||||
)
|
||||
self.AddUser = channel.unary_unary(
|
||||
'/api.TenantService/AddUser',
|
||||
request_serializer=chirpstack__api_dot_api_dot_tenant__pb2.AddTenantUserRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.GetUser = channel.unary_unary(
|
||||
'/api.TenantService/GetUser',
|
||||
request_serializer=chirpstack__api_dot_api_dot_tenant__pb2.GetTenantUserRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.GetTenantUserResponse.FromString,
|
||||
)
|
||||
self.UpdateUser = channel.unary_unary(
|
||||
'/api.TenantService/UpdateUser',
|
||||
request_serializer=chirpstack__api_dot_api_dot_tenant__pb2.UpdateTenantUserRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.DeleteUser = channel.unary_unary(
|
||||
'/api.TenantService/DeleteUser',
|
||||
request_serializer=chirpstack__api_dot_api_dot_tenant__pb2.DeleteTenantUserRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.ListUsers = channel.unary_unary(
|
||||
'/api.TenantService/ListUsers',
|
||||
request_serializer=chirpstack__api_dot_api_dot_tenant__pb2.ListTenantUsersRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.ListTenantUsersResponse.FromString,
|
||||
)
|
||||
|
||||
|
||||
class TenantServiceServicer(object):
|
||||
"""TenantService is the service providing API methods for managing tenants.
|
||||
"""
|
||||
|
||||
def Create(self, request, context):
|
||||
"""Create a new tenant.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Get(self, request, context):
|
||||
"""Get the tenant for the given ID.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Update(self, request, context):
|
||||
"""Update the given tenant.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Delete(self, request, context):
|
||||
"""Delete the tenant with the given ID.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def List(self, request, context):
|
||||
"""Get the list of tenants.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def AddUser(self, request, context):
|
||||
"""Add an user to the tenant.
|
||||
Note: the user must already exist.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def GetUser(self, request, context):
|
||||
"""Get the the tenant user for the given tenant and user IDs.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def UpdateUser(self, request, context):
|
||||
"""Update the given tenant user.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def DeleteUser(self, request, context):
|
||||
"""Delete the given tenant user.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def ListUsers(self, request, context):
|
||||
"""Get the list of tenant users.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
|
||||
def add_TenantServiceServicer_to_server(servicer, server):
|
||||
rpc_method_handlers = {
|
||||
'Create': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Create,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.CreateTenantRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_tenant__pb2.CreateTenantResponse.SerializeToString,
|
||||
),
|
||||
'Get': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Get,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.GetTenantRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_tenant__pb2.GetTenantResponse.SerializeToString,
|
||||
),
|
||||
'Update': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Update,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.UpdateTenantRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'Delete': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Delete,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.DeleteTenantRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'List': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.List,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.ListTenantsRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_tenant__pb2.ListTenantsResponse.SerializeToString,
|
||||
),
|
||||
'AddUser': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.AddUser,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.AddTenantUserRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'GetUser': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.GetUser,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.GetTenantUserRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_tenant__pb2.GetTenantUserResponse.SerializeToString,
|
||||
),
|
||||
'UpdateUser': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.UpdateUser,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.UpdateTenantUserRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'DeleteUser': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.DeleteUser,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.DeleteTenantUserRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'ListUsers': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.ListUsers,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_tenant__pb2.ListTenantUsersRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_tenant__pb2.ListTenantUsersResponse.SerializeToString,
|
||||
),
|
||||
}
|
||||
generic_handler = grpc.method_handlers_generic_handler(
|
||||
'api.TenantService', rpc_method_handlers)
|
||||
server.add_generic_rpc_handlers((generic_handler,))
|
||||
|
||||
|
||||
# This class is part of an EXPERIMENTAL API.
|
||||
class TenantService(object):
|
||||
"""TenantService is the service providing API methods for managing tenants.
|
||||
"""
|
||||
|
||||
@staticmethod
|
||||
def Create(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.TenantService/Create',
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.CreateTenantRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.CreateTenantResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Get(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.TenantService/Get',
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.GetTenantRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.GetTenantResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Update(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.TenantService/Update',
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.UpdateTenantRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Delete(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.TenantService/Delete',
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.DeleteTenantRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def List(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.TenantService/List',
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.ListTenantsRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.ListTenantsResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def AddUser(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.TenantService/AddUser',
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.AddTenantUserRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def GetUser(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.TenantService/GetUser',
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.GetTenantUserRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.GetTenantUserResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def UpdateUser(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.TenantService/UpdateUser',
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.UpdateTenantUserRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def DeleteUser(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.TenantService/DeleteUser',
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.DeleteTenantUserRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def ListUsers(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.TenantService/ListUsers',
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.ListTenantUsersRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_tenant__pb2.ListTenantUsersResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
150
api/python/src/chirpstack_api/api/user_pb2.py
Normal file
150
api/python/src/chirpstack_api/api/user_pb2.py
Normal file
@ -0,0 +1,150 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: chirpstack-api/api/user.proto
|
||||
"""Generated protocol buffer code."""
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
||||
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\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\xfb\x02\n\x0bUserService\x12;\n\x06\x43reate\x12\x16.api.CreateUserRequest\x1a\x17.api.CreateUserResponse\"\x00\x12\x32\n\x03Get\x12\x13.api.GetUserRequest\x1a\x14.api.GetUserResponse\"\x00\x12:\n\x06Update\x12\x16.api.UpdateUserRequest\x1a\x16.google.protobuf.Empty\"\x00\x12:\n\x06\x44\x65lete\x12\x16.api.DeleteUserRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x37\n\x04List\x12\x15.api.ListUsersRequest\x1a\x16.api.ListUsersResponse\"\x00\x12J\n\x0eUpdatePassword\x12\x1e.api.UpdateUserPasswordRequest\x1a\x16.google.protobuf.Empty\"\x00\x42L\n\x11io.chirpstack.apiB\tUserProtoP\x01Z*github.com/chirpstack/chirpstack/api/go/v4b\x06proto3')
|
||||
|
||||
|
||||
|
||||
_USER = DESCRIPTOR.message_types_by_name['User']
|
||||
_USERLISTITEM = DESCRIPTOR.message_types_by_name['UserListItem']
|
||||
_USERTENANT = DESCRIPTOR.message_types_by_name['UserTenant']
|
||||
_CREATEUSERREQUEST = DESCRIPTOR.message_types_by_name['CreateUserRequest']
|
||||
_CREATEUSERRESPONSE = DESCRIPTOR.message_types_by_name['CreateUserResponse']
|
||||
_GETUSERREQUEST = DESCRIPTOR.message_types_by_name['GetUserRequest']
|
||||
_GETUSERRESPONSE = DESCRIPTOR.message_types_by_name['GetUserResponse']
|
||||
_UPDATEUSERREQUEST = DESCRIPTOR.message_types_by_name['UpdateUserRequest']
|
||||
_DELETEUSERREQUEST = DESCRIPTOR.message_types_by_name['DeleteUserRequest']
|
||||
_LISTUSERSREQUEST = DESCRIPTOR.message_types_by_name['ListUsersRequest']
|
||||
_LISTUSERSRESPONSE = DESCRIPTOR.message_types_by_name['ListUsersResponse']
|
||||
_UPDATEUSERPASSWORDREQUEST = DESCRIPTOR.message_types_by_name['UpdateUserPasswordRequest']
|
||||
User = _reflection.GeneratedProtocolMessageType('User', (_message.Message,), {
|
||||
'DESCRIPTOR' : _USER,
|
||||
'__module__' : 'chirpstack_api.api.user_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.User)
|
||||
})
|
||||
_sym_db.RegisterMessage(User)
|
||||
|
||||
UserListItem = _reflection.GeneratedProtocolMessageType('UserListItem', (_message.Message,), {
|
||||
'DESCRIPTOR' : _USERLISTITEM,
|
||||
'__module__' : 'chirpstack_api.api.user_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.UserListItem)
|
||||
})
|
||||
_sym_db.RegisterMessage(UserListItem)
|
||||
|
||||
UserTenant = _reflection.GeneratedProtocolMessageType('UserTenant', (_message.Message,), {
|
||||
'DESCRIPTOR' : _USERTENANT,
|
||||
'__module__' : 'chirpstack_api.api.user_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.UserTenant)
|
||||
})
|
||||
_sym_db.RegisterMessage(UserTenant)
|
||||
|
||||
CreateUserRequest = _reflection.GeneratedProtocolMessageType('CreateUserRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _CREATEUSERREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.user_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.CreateUserRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(CreateUserRequest)
|
||||
|
||||
CreateUserResponse = _reflection.GeneratedProtocolMessageType('CreateUserResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _CREATEUSERRESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.user_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.CreateUserResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(CreateUserResponse)
|
||||
|
||||
GetUserRequest = _reflection.GeneratedProtocolMessageType('GetUserRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _GETUSERREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.user_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.GetUserRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(GetUserRequest)
|
||||
|
||||
GetUserResponse = _reflection.GeneratedProtocolMessageType('GetUserResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _GETUSERRESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.user_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.GetUserResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(GetUserResponse)
|
||||
|
||||
UpdateUserRequest = _reflection.GeneratedProtocolMessageType('UpdateUserRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _UPDATEUSERREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.user_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.UpdateUserRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(UpdateUserRequest)
|
||||
|
||||
DeleteUserRequest = _reflection.GeneratedProtocolMessageType('DeleteUserRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _DELETEUSERREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.user_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.DeleteUserRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(DeleteUserRequest)
|
||||
|
||||
ListUsersRequest = _reflection.GeneratedProtocolMessageType('ListUsersRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LISTUSERSREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.user_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.ListUsersRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(ListUsersRequest)
|
||||
|
||||
ListUsersResponse = _reflection.GeneratedProtocolMessageType('ListUsersResponse', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LISTUSERSRESPONSE,
|
||||
'__module__' : 'chirpstack_api.api.user_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.ListUsersResponse)
|
||||
})
|
||||
_sym_db.RegisterMessage(ListUsersResponse)
|
||||
|
||||
UpdateUserPasswordRequest = _reflection.GeneratedProtocolMessageType('UpdateUserPasswordRequest', (_message.Message,), {
|
||||
'DESCRIPTOR' : _UPDATEUSERPASSWORDREQUEST,
|
||||
'__module__' : 'chirpstack_api.api.user_pb2'
|
||||
# @@protoc_insertion_point(class_scope:api.UpdateUserPasswordRequest)
|
||||
})
|
||||
_sym_db.RegisterMessage(UpdateUserPasswordRequest)
|
||||
|
||||
_USERSERVICE = DESCRIPTOR.services_by_name['UserService']
|
||||
if _descriptor._USE_C_DESCRIPTORS == False:
|
||||
|
||||
DESCRIPTOR._options = None
|
||||
DESCRIPTOR._serialized_options = b'\n\021io.chirpstack.apiB\tUserProtoP\001Z*github.com/chirpstack/chirpstack/api/go/v4'
|
||||
_USER._serialized_start=100
|
||||
_USER._serialized_end=184
|
||||
_USERLISTITEM._serialized_start=187
|
||||
_USERLISTITEM._serialized_end=361
|
||||
_USERTENANT._serialized_start=363
|
||||
_USERTENANT._serialized_end=463
|
||||
_CREATEUSERREQUEST._serialized_start=465
|
||||
_CREATEUSERREQUEST._serialized_end=561
|
||||
_CREATEUSERRESPONSE._serialized_start=563
|
||||
_CREATEUSERRESPONSE._serialized_end=595
|
||||
_GETUSERREQUEST._serialized_start=597
|
||||
_GETUSERREQUEST._serialized_end=625
|
||||
_GETUSERRESPONSE._serialized_start=628
|
||||
_GETUSERRESPONSE._serialized_end=766
|
||||
_UPDATEUSERREQUEST._serialized_start=768
|
||||
_UPDATEUSERREQUEST._serialized_end=812
|
||||
_DELETEUSERREQUEST._serialized_start=814
|
||||
_DELETEUSERREQUEST._serialized_end=845
|
||||
_LISTUSERSREQUEST._serialized_start=847
|
||||
_LISTUSERSREQUEST._serialized_end=896
|
||||
_LISTUSERSRESPONSE._serialized_start=898
|
||||
_LISTUSERSRESPONSE._serialized_end=973
|
||||
_UPDATEUSERPASSWORDREQUEST._serialized_start=975
|
||||
_UPDATEUSERPASSWORDREQUEST._serialized_end=1037
|
||||
_USERSERVICE._serialized_start=1040
|
||||
_USERSERVICE._serialized_end=1419
|
||||
# @@protoc_insertion_point(module_scope)
|
241
api/python/src/chirpstack_api/api/user_pb2_grpc.py
Normal file
241
api/python/src/chirpstack_api/api/user_pb2_grpc.py
Normal file
@ -0,0 +1,241 @@
|
||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||
"""Client and server classes corresponding to protobuf-defined services."""
|
||||
import grpc
|
||||
|
||||
from chirpstack_api.api import user_pb2 as chirpstack__api_dot_api_dot_user__pb2
|
||||
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
||||
|
||||
|
||||
class UserServiceStub(object):
|
||||
"""UserService is the service providing API methods for managing users.
|
||||
"""
|
||||
|
||||
def __init__(self, channel):
|
||||
"""Constructor.
|
||||
|
||||
Args:
|
||||
channel: A grpc.Channel.
|
||||
"""
|
||||
self.Create = channel.unary_unary(
|
||||
'/api.UserService/Create',
|
||||
request_serializer=chirpstack__api_dot_api_dot_user__pb2.CreateUserRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_user__pb2.CreateUserResponse.FromString,
|
||||
)
|
||||
self.Get = channel.unary_unary(
|
||||
'/api.UserService/Get',
|
||||
request_serializer=chirpstack__api_dot_api_dot_user__pb2.GetUserRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_user__pb2.GetUserResponse.FromString,
|
||||
)
|
||||
self.Update = channel.unary_unary(
|
||||
'/api.UserService/Update',
|
||||
request_serializer=chirpstack__api_dot_api_dot_user__pb2.UpdateUserRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.Delete = channel.unary_unary(
|
||||
'/api.UserService/Delete',
|
||||
request_serializer=chirpstack__api_dot_api_dot_user__pb2.DeleteUserRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
self.List = channel.unary_unary(
|
||||
'/api.UserService/List',
|
||||
request_serializer=chirpstack__api_dot_api_dot_user__pb2.ListUsersRequest.SerializeToString,
|
||||
response_deserializer=chirpstack__api_dot_api_dot_user__pb2.ListUsersResponse.FromString,
|
||||
)
|
||||
self.UpdatePassword = channel.unary_unary(
|
||||
'/api.UserService/UpdatePassword',
|
||||
request_serializer=chirpstack__api_dot_api_dot_user__pb2.UpdateUserPasswordRequest.SerializeToString,
|
||||
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
)
|
||||
|
||||
|
||||
class UserServiceServicer(object):
|
||||
"""UserService is the service providing API methods for managing users.
|
||||
"""
|
||||
|
||||
def Create(self, request, context):
|
||||
"""Create a new user.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Get(self, request, context):
|
||||
"""Get the user for the given ID.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Update(self, request, context):
|
||||
"""Update the given user.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def Delete(self, request, context):
|
||||
"""Delete the user with the given ID.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def List(self, request, context):
|
||||
"""Get the list of users.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
def UpdatePassword(self, request, context):
|
||||
"""Update the password for the given user.
|
||||
"""
|
||||
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||
context.set_details('Method not implemented!')
|
||||
raise NotImplementedError('Method not implemented!')
|
||||
|
||||
|
||||
def add_UserServiceServicer_to_server(servicer, server):
|
||||
rpc_method_handlers = {
|
||||
'Create': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Create,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_user__pb2.CreateUserRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_user__pb2.CreateUserResponse.SerializeToString,
|
||||
),
|
||||
'Get': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Get,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_user__pb2.GetUserRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_user__pb2.GetUserResponse.SerializeToString,
|
||||
),
|
||||
'Update': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Update,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_user__pb2.UpdateUserRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'Delete': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.Delete,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_user__pb2.DeleteUserRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
'List': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.List,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_user__pb2.ListUsersRequest.FromString,
|
||||
response_serializer=chirpstack__api_dot_api_dot_user__pb2.ListUsersResponse.SerializeToString,
|
||||
),
|
||||
'UpdatePassword': grpc.unary_unary_rpc_method_handler(
|
||||
servicer.UpdatePassword,
|
||||
request_deserializer=chirpstack__api_dot_api_dot_user__pb2.UpdateUserPasswordRequest.FromString,
|
||||
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
||||
),
|
||||
}
|
||||
generic_handler = grpc.method_handlers_generic_handler(
|
||||
'api.UserService', rpc_method_handlers)
|
||||
server.add_generic_rpc_handlers((generic_handler,))
|
||||
|
||||
|
||||
# This class is part of an EXPERIMENTAL API.
|
||||
class UserService(object):
|
||||
"""UserService is the service providing API methods for managing users.
|
||||
"""
|
||||
|
||||
@staticmethod
|
||||
def Create(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.UserService/Create',
|
||||
chirpstack__api_dot_api_dot_user__pb2.CreateUserRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_user__pb2.CreateUserResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Get(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.UserService/Get',
|
||||
chirpstack__api_dot_api_dot_user__pb2.GetUserRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_user__pb2.GetUserResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Update(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.UserService/Update',
|
||||
chirpstack__api_dot_api_dot_user__pb2.UpdateUserRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def Delete(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.UserService/Delete',
|
||||
chirpstack__api_dot_api_dot_user__pb2.DeleteUserRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def List(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.UserService/List',
|
||||
chirpstack__api_dot_api_dot_user__pb2.ListUsersRequest.SerializeToString,
|
||||
chirpstack__api_dot_api_dot_user__pb2.ListUsersResponse.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
||||
|
||||
@staticmethod
|
||||
def UpdatePassword(request,
|
||||
target,
|
||||
options=(),
|
||||
channel_credentials=None,
|
||||
call_credentials=None,
|
||||
insecure=False,
|
||||
compression=None,
|
||||
wait_for_ready=None,
|
||||
timeout=None,
|
||||
metadata=None):
|
||||
return grpc.experimental.unary_unary(request, target, '/api.UserService/UpdatePassword',
|
||||
chirpstack__api_dot_api_dot_user__pb2.UpdateUserPasswordRequest.SerializeToString,
|
||||
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
||||
options, channel_credentials,
|
||||
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
114
api/python/src/chirpstack_api/common/common_pb2.py
Normal file
114
api/python/src/chirpstack_api/common/common_pb2.py
Normal file
@ -0,0 +1,114 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: chirpstack-api/common/common.proto
|
||||
"""Generated protocol buffer code."""
|
||||
from google.protobuf.internal import enum_type_wrapper
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"chirpstack-api/common/common.proto\x12\x06\x63ommon\"{\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*,\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\x42U\n\x11io.chirpstack.apiB\x0b\x43ommonProtoP\x01Z1github.com/chirpstack/chirpstack/api/go/v4/commonb\x06proto3')
|
||||
|
||||
_MODULATION = DESCRIPTOR.enum_types_by_name['Modulation']
|
||||
Modulation = enum_type_wrapper.EnumTypeWrapper(_MODULATION)
|
||||
_REGION = DESCRIPTOR.enum_types_by_name['Region']
|
||||
Region = enum_type_wrapper.EnumTypeWrapper(_REGION)
|
||||
_MTYPE = DESCRIPTOR.enum_types_by_name['MType']
|
||||
MType = enum_type_wrapper.EnumTypeWrapper(_MTYPE)
|
||||
_MACVERSION = DESCRIPTOR.enum_types_by_name['MacVersion']
|
||||
MacVersion = enum_type_wrapper.EnumTypeWrapper(_MACVERSION)
|
||||
_REGPARAMSREVISION = DESCRIPTOR.enum_types_by_name['RegParamsRevision']
|
||||
RegParamsRevision = enum_type_wrapper.EnumTypeWrapper(_REGPARAMSREVISION)
|
||||
_LOCATIONSOURCE = DESCRIPTOR.enum_types_by_name['LocationSource']
|
||||
LocationSource = enum_type_wrapper.EnumTypeWrapper(_LOCATIONSOURCE)
|
||||
LORA = 0
|
||||
FSK = 1
|
||||
LR_FHSS = 2
|
||||
EU868 = 0
|
||||
US915 = 2
|
||||
CN779 = 3
|
||||
EU433 = 4
|
||||
AU915 = 5
|
||||
CN470 = 6
|
||||
AS923 = 7
|
||||
AS923_2 = 12
|
||||
AS923_3 = 13
|
||||
AS923_4 = 14
|
||||
KR920 = 8
|
||||
IN865 = 9
|
||||
RU864 = 10
|
||||
ISM2400 = 11
|
||||
JOIN_REQUEST = 0
|
||||
JOIN_ACCEPT = 1
|
||||
UNCONFIRMED_DATA_UP = 2
|
||||
UNCONFIRMED_DATA_DOWN = 3
|
||||
CONFIRMED_DATA_UP = 4
|
||||
CONFIRMED_DATA_DOWN = 5
|
||||
REJOIN_REQUEST = 6
|
||||
PROPRIETARY = 7
|
||||
LORAWAN_1_0_0 = 0
|
||||
LORAWAN_1_0_1 = 1
|
||||
LORAWAN_1_0_2 = 2
|
||||
LORAWAN_1_0_3 = 3
|
||||
LORAWAN_1_0_4 = 4
|
||||
LORAWAN_1_1_0 = 5
|
||||
A = 0
|
||||
B = 1
|
||||
RP002_1_0_0 = 2
|
||||
RP002_1_0_1 = 3
|
||||
RP002_1_0_2 = 4
|
||||
RP002_1_0_3 = 5
|
||||
UNKNOWN = 0
|
||||
GPS = 1
|
||||
CONFIG = 2
|
||||
GEO_RESOLVER_TDOA = 3
|
||||
GEO_RESOLVER_RSSI = 4
|
||||
GEO_RESOLVER_GNSS = 5
|
||||
GEO_RESOLVER_WIFI = 6
|
||||
|
||||
|
||||
_LOCATION = DESCRIPTOR.message_types_by_name['Location']
|
||||
_KEYENVELOPE = DESCRIPTOR.message_types_by_name['KeyEnvelope']
|
||||
Location = _reflection.GeneratedProtocolMessageType('Location', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LOCATION,
|
||||
'__module__' : 'chirpstack_api.common.common_pb2'
|
||||
# @@protoc_insertion_point(class_scope:common.Location)
|
||||
})
|
||||
_sym_db.RegisterMessage(Location)
|
||||
|
||||
KeyEnvelope = _reflection.GeneratedProtocolMessageType('KeyEnvelope', (_message.Message,), {
|
||||
'DESCRIPTOR' : _KEYENVELOPE,
|
||||
'__module__' : 'chirpstack_api.common.common_pb2'
|
||||
# @@protoc_insertion_point(class_scope:common.KeyEnvelope)
|
||||
})
|
||||
_sym_db.RegisterMessage(KeyEnvelope)
|
||||
|
||||
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'
|
||||
_MODULATION._serialized_start=222
|
||||
_MODULATION._serialized_end=266
|
||||
_REGION._serialized_start=269
|
||||
_REGION._serialized_end=439
|
||||
_MTYPE._serialized_start=442
|
||||
_MTYPE._serialized_end=621
|
||||
_MACVERSION._serialized_start=623
|
||||
_MACVERSION._serialized_end=749
|
||||
_REGPARAMSREVISION._serialized_start=751
|
||||
_REGPARAMSREVISION._serialized_end=852
|
||||
_LOCATIONSOURCE._serialized_start=855
|
||||
_LOCATIONSOURCE._serialized_end=997
|
||||
_LOCATION._serialized_start=46
|
||||
_LOCATION._serialized_end=169
|
||||
_KEYENVELOPE._serialized_start=171
|
||||
_KEYENVELOPE._serialized_end=220
|
||||
# @@protoc_insertion_point(module_scope)
|
4
api/python/src/chirpstack_api/common/common_pb2_grpc.py
Normal file
4
api/python/src/chirpstack_api/common/common_pb2_grpc.py
Normal file
@ -0,0 +1,4 @@
|
||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||
"""Client and server classes corresponding to protobuf-defined services."""
|
||||
import grpc
|
||||
|
436
api/python/src/chirpstack_api/gw/gw_pb2.py
Normal file
436
api/python/src/chirpstack_api/gw/gw_pb2.py
Normal file
File diff suppressed because one or more lines are too long
4
api/python/src/chirpstack_api/gw/gw_pb2_grpc.py
Normal file
4
api/python/src/chirpstack_api/gw/gw_pb2_grpc.py
Normal file
@ -0,0 +1,4 @@
|
||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||
"""Client and server classes corresponding to protobuf-defined services."""
|
||||
import grpc
|
||||
|
166
api/python/src/chirpstack_api/integration/integration_pb2.py
Normal file
166
api/python/src/chirpstack_api/integration/integration_pb2.py
Normal file
@ -0,0 +1,166 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: chirpstack-api/integration/integration.proto
|
||||
"""Generated protocol buffer code."""
|
||||
from google.protobuf.internal import enum_type_wrapper
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
from chirpstack_api.common import common_pb2 as chirpstack__api_dot_common_dot_common__pb2
|
||||
from chirpstack_api.gw import gw_pb2 as chirpstack__api_dot_gw_dot_gw__pb2
|
||||
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
||||
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\"\xa2\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/\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\"\xdc\x02\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\x10\n\x08\x66_cnt_up\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\"\x8f\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\"\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(\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\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\"\xc0\x02\n\x08LogEvent\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\x05level\x18\x04 \x01(\x0e\x32\x15.integration.LogLevel\x12\"\n\x04\x63ode\x18\x05 \x01(\x0e\x32\x14.integration.LogCode\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\x33\n\x07\x63ontext\x18\x07 \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*,\n\x08LogLevel\x12\x08\n\x04INFO\x10\x00\x12\x0b\n\x07WARNING\x10\x01\x12\t\n\x05\x45RROR\x10\x02*\xc0\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\x42k\n io.chirpstack.api.as.integrationB\x10IntegrationProtoP\x01Z3github.com/brocaar/chirpstack/api/go/v4/integrationb\x06proto3')
|
||||
|
||||
_LOGLEVEL = DESCRIPTOR.enum_types_by_name['LogLevel']
|
||||
LogLevel = enum_type_wrapper.EnumTypeWrapper(_LOGLEVEL)
|
||||
_LOGCODE = DESCRIPTOR.enum_types_by_name['LogCode']
|
||||
LogCode = enum_type_wrapper.EnumTypeWrapper(_LOGCODE)
|
||||
INFO = 0
|
||||
WARNING = 1
|
||||
ERROR = 2
|
||||
UNKNOWN = 0
|
||||
DOWNLINK_PAYLOAD_SIZE = 1
|
||||
UPLINK_CODEC = 2
|
||||
DOWNLINK_CODEC = 3
|
||||
OTAA = 4
|
||||
UPLINK_F_CNT_RESET = 5
|
||||
UPLINK_MIC = 6
|
||||
UPLINK_F_CNT_RETRANSMISSION = 7
|
||||
DOWNLINK_GATEWAY = 8
|
||||
|
||||
|
||||
_DEVICEINFO = DESCRIPTOR.message_types_by_name['DeviceInfo']
|
||||
_DEVICEINFO_TAGSENTRY = _DEVICEINFO.nested_types_by_name['TagsEntry']
|
||||
_UPLINKEVENT = DESCRIPTOR.message_types_by_name['UplinkEvent']
|
||||
_JOINEVENT = DESCRIPTOR.message_types_by_name['JoinEvent']
|
||||
_ACKEVENT = DESCRIPTOR.message_types_by_name['AckEvent']
|
||||
_TXACKEVENT = DESCRIPTOR.message_types_by_name['TxAckEvent']
|
||||
_LOGEVENT = DESCRIPTOR.message_types_by_name['LogEvent']
|
||||
_LOGEVENT_CONTEXTENTRY = _LOGEVENT.nested_types_by_name['ContextEntry']
|
||||
_STATUSEVENT = DESCRIPTOR.message_types_by_name['StatusEvent']
|
||||
_LOCATIONEVENT = DESCRIPTOR.message_types_by_name['LocationEvent']
|
||||
_INTEGRATIONEVENT = DESCRIPTOR.message_types_by_name['IntegrationEvent']
|
||||
DeviceInfo = _reflection.GeneratedProtocolMessageType('DeviceInfo', (_message.Message,), {
|
||||
|
||||
'TagsEntry' : _reflection.GeneratedProtocolMessageType('TagsEntry', (_message.Message,), {
|
||||
'DESCRIPTOR' : _DEVICEINFO_TAGSENTRY,
|
||||
'__module__' : 'chirpstack_api.integration.integration_pb2'
|
||||
# @@protoc_insertion_point(class_scope:integration.DeviceInfo.TagsEntry)
|
||||
})
|
||||
,
|
||||
'DESCRIPTOR' : _DEVICEINFO,
|
||||
'__module__' : 'chirpstack_api.integration.integration_pb2'
|
||||
# @@protoc_insertion_point(class_scope:integration.DeviceInfo)
|
||||
})
|
||||
_sym_db.RegisterMessage(DeviceInfo)
|
||||
_sym_db.RegisterMessage(DeviceInfo.TagsEntry)
|
||||
|
||||
UplinkEvent = _reflection.GeneratedProtocolMessageType('UplinkEvent', (_message.Message,), {
|
||||
'DESCRIPTOR' : _UPLINKEVENT,
|
||||
'__module__' : 'chirpstack_api.integration.integration_pb2'
|
||||
# @@protoc_insertion_point(class_scope:integration.UplinkEvent)
|
||||
})
|
||||
_sym_db.RegisterMessage(UplinkEvent)
|
||||
|
||||
JoinEvent = _reflection.GeneratedProtocolMessageType('JoinEvent', (_message.Message,), {
|
||||
'DESCRIPTOR' : _JOINEVENT,
|
||||
'__module__' : 'chirpstack_api.integration.integration_pb2'
|
||||
# @@protoc_insertion_point(class_scope:integration.JoinEvent)
|
||||
})
|
||||
_sym_db.RegisterMessage(JoinEvent)
|
||||
|
||||
AckEvent = _reflection.GeneratedProtocolMessageType('AckEvent', (_message.Message,), {
|
||||
'DESCRIPTOR' : _ACKEVENT,
|
||||
'__module__' : 'chirpstack_api.integration.integration_pb2'
|
||||
# @@protoc_insertion_point(class_scope:integration.AckEvent)
|
||||
})
|
||||
_sym_db.RegisterMessage(AckEvent)
|
||||
|
||||
TxAckEvent = _reflection.GeneratedProtocolMessageType('TxAckEvent', (_message.Message,), {
|
||||
'DESCRIPTOR' : _TXACKEVENT,
|
||||
'__module__' : 'chirpstack_api.integration.integration_pb2'
|
||||
# @@protoc_insertion_point(class_scope:integration.TxAckEvent)
|
||||
})
|
||||
_sym_db.RegisterMessage(TxAckEvent)
|
||||
|
||||
LogEvent = _reflection.GeneratedProtocolMessageType('LogEvent', (_message.Message,), {
|
||||
|
||||
'ContextEntry' : _reflection.GeneratedProtocolMessageType('ContextEntry', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LOGEVENT_CONTEXTENTRY,
|
||||
'__module__' : 'chirpstack_api.integration.integration_pb2'
|
||||
# @@protoc_insertion_point(class_scope:integration.LogEvent.ContextEntry)
|
||||
})
|
||||
,
|
||||
'DESCRIPTOR' : _LOGEVENT,
|
||||
'__module__' : 'chirpstack_api.integration.integration_pb2'
|
||||
# @@protoc_insertion_point(class_scope:integration.LogEvent)
|
||||
})
|
||||
_sym_db.RegisterMessage(LogEvent)
|
||||
_sym_db.RegisterMessage(LogEvent.ContextEntry)
|
||||
|
||||
StatusEvent = _reflection.GeneratedProtocolMessageType('StatusEvent', (_message.Message,), {
|
||||
'DESCRIPTOR' : _STATUSEVENT,
|
||||
'__module__' : 'chirpstack_api.integration.integration_pb2'
|
||||
# @@protoc_insertion_point(class_scope:integration.StatusEvent)
|
||||
})
|
||||
_sym_db.RegisterMessage(StatusEvent)
|
||||
|
||||
LocationEvent = _reflection.GeneratedProtocolMessageType('LocationEvent', (_message.Message,), {
|
||||
'DESCRIPTOR' : _LOCATIONEVENT,
|
||||
'__module__' : 'chirpstack_api.integration.integration_pb2'
|
||||
# @@protoc_insertion_point(class_scope:integration.LocationEvent)
|
||||
})
|
||||
_sym_db.RegisterMessage(LocationEvent)
|
||||
|
||||
IntegrationEvent = _reflection.GeneratedProtocolMessageType('IntegrationEvent', (_message.Message,), {
|
||||
'DESCRIPTOR' : _INTEGRATIONEVENT,
|
||||
'__module__' : 'chirpstack_api.integration.integration_pb2'
|
||||
# @@protoc_insertion_point(class_scope:integration.IntegrationEvent)
|
||||
})
|
||||
_sym_db.RegisterMessage(IntegrationEvent)
|
||||
|
||||
if _descriptor._USE_C_DESCRIPTORS == False:
|
||||
|
||||
DESCRIPTOR._options = None
|
||||
DESCRIPTOR._serialized_options = b'\n io.chirpstack.api.as.integrationB\020IntegrationProtoP\001Z3github.com/brocaar/chirpstack/api/go/v4/integration'
|
||||
_DEVICEINFO_TAGSENTRY._options = None
|
||||
_DEVICEINFO_TAGSENTRY._serialized_options = b'8\001'
|
||||
_LOGEVENT_CONTEXTENTRY._options = None
|
||||
_LOGEVENT_CONTEXTENTRY._serialized_options = b'8\001'
|
||||
_LOGLEVEL._serialized_start=2342
|
||||
_LOGLEVEL._serialized_end=2386
|
||||
_LOGCODE._serialized_start=2389
|
||||
_LOGCODE._serialized_end=2581
|
||||
_DEVICEINFO._serialized_start=189
|
||||
_DEVICEINFO._serialized_end=479
|
||||
_DEVICEINFO_TAGSENTRY._serialized_start=436
|
||||
_DEVICEINFO_TAGSENTRY._serialized_end=479
|
||||
_UPLINKEVENT._serialized_start=482
|
||||
_UPLINKEVENT._serialized_end=830
|
||||
_JOINEVENT._serialized_start=833
|
||||
_JOINEVENT._serialized_end=976
|
||||
_ACKEVENT._serialized_start=979
|
||||
_ACKEVENT._serialized_end=1168
|
||||
_TXACKEVENT._serialized_start=1171
|
||||
_TXACKEVENT._serialized_end=1392
|
||||
_LOGEVENT._serialized_start=1395
|
||||
_LOGEVENT._serialized_end=1715
|
||||
_LOGEVENT_CONTEXTENTRY._serialized_start=1669
|
||||
_LOGEVENT_CONTEXTENTRY._serialized_end=1715
|
||||
_STATUSEVENT._serialized_start=1718
|
||||
_STATUSEVENT._serialized_end=1950
|
||||
_LOCATIONEVENT._serialized_start=1953
|
||||
_LOCATIONEVENT._serialized_end=2118
|
||||
_INTEGRATIONEVENT._serialized_start=2121
|
||||
_INTEGRATIONEVENT._serialized_end=2340
|
||||
# @@protoc_insertion_point(module_scope)
|
@ -0,0 +1,4 @@
|
||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||
"""Client and server classes corresponding to protobuf-defined services."""
|
||||
import grpc
|
||||
|
47
api/python/src/chirpstack_api/meta/meta_pb2.py
Normal file
47
api/python/src/chirpstack_api/meta/meta_pb2.py
Normal file
@ -0,0 +1,47 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: chirpstack-api/meta/meta.proto
|
||||
"""Generated protocol buffer code."""
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
from chirpstack_api.common import common_pb2 as chirpstack__api_dot_common_dot_common__pb2
|
||||
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(\tBV\n\x16io.chirpstack.api.metaB\tMetaProtoP\x01Z/github.com/chirpstack/chirpstack-api/go/v4/metab\x06proto3')
|
||||
|
||||
|
||||
|
||||
_UPLINKMETA = DESCRIPTOR.message_types_by_name['UplinkMeta']
|
||||
_DOWNLINKMETA = DESCRIPTOR.message_types_by_name['DownlinkMeta']
|
||||
UplinkMeta = _reflection.GeneratedProtocolMessageType('UplinkMeta', (_message.Message,), {
|
||||
'DESCRIPTOR' : _UPLINKMETA,
|
||||
'__module__' : 'chirpstack_api.meta.meta_pb2'
|
||||
# @@protoc_insertion_point(class_scope:meta.UplinkMeta)
|
||||
})
|
||||
_sym_db.RegisterMessage(UplinkMeta)
|
||||
|
||||
DownlinkMeta = _reflection.GeneratedProtocolMessageType('DownlinkMeta', (_message.Message,), {
|
||||
'DESCRIPTOR' : _DOWNLINKMETA,
|
||||
'__module__' : 'chirpstack_api.meta.meta_pb2'
|
||||
# @@protoc_insertion_point(class_scope:meta.DownlinkMeta)
|
||||
})
|
||||
_sym_db.RegisterMessage(DownlinkMeta)
|
||||
|
||||
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'
|
||||
_UPLINKMETA._serialized_start=105
|
||||
_UPLINKMETA._serialized_end=345
|
||||
_DOWNLINKMETA._serialized_start=348
|
||||
_DOWNLINKMETA._serialized_end=605
|
||||
# @@protoc_insertion_point(module_scope)
|
4
api/python/src/chirpstack_api/meta/meta_pb2_grpc.py
Normal file
4
api/python/src/chirpstack_api/meta/meta_pb2_grpc.py
Normal file
@ -0,0 +1,4 @@
|
||||
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||
"""Client and server classes corresponding to protobuf-defined services."""
|
||||
import grpc
|
||||
|
34
api/python/src/setup.py
Normal file
34
api/python/src/setup.py
Normal file
@ -0,0 +1,34 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from setuptools import find_packages, setup
|
||||
|
||||
REQUIREMENTS = [
|
||||
'grpcio',
|
||||
'google-api-core'
|
||||
]
|
||||
|
||||
|
||||
CLASSIFIERS = [
|
||||
'Intended Audience :: Developers',
|
||||
'Operating System :: OS Independent',
|
||||
'Programming Language :: Python :: 3.7',
|
||||
'Topic :: Communications',
|
||||
'Topic :: Software Development',
|
||||
'Topic :: Software Development :: Libraries',
|
||||
]
|
||||
|
||||
setup(
|
||||
name='chirpstack-api',
|
||||
version = "4.0.0",
|
||||
url='https://github.com/brocaar/chirpstack-api',
|
||||
author='Orne Brocaar',
|
||||
author_email='info@brocaar.com',
|
||||
license='MIT',
|
||||
description='Chirpstack Python API',
|
||||
long_description=open('README.md').read(),
|
||||
long_description_content_type='text/markdown',
|
||||
packages=find_packages(),
|
||||
include_package_data=True,
|
||||
zip_safe=False,
|
||||
install_requires=REQUIREMENTS,
|
||||
classifiers=CLASSIFIERS,
|
||||
)
|
Reference in New Issue
Block a user