Bump version to 4.5.0-test.1

This commit is contained in:
Orne Brocaar 2023-09-04 15:06:38 +01:00
parent 76858bd610
commit 295cd5e4b1
45 changed files with 4743 additions and 3329 deletions

10
Cargo.lock generated
View File

@ -741,7 +741,7 @@ dependencies = [
[[package]] [[package]]
name = "backend" name = "backend"
version = "4.4.3" version = "4.5.0-test.1"
dependencies = [ dependencies = [
"aes-kw", "aes-kw",
"anyhow", "anyhow",
@ -980,7 +980,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]] [[package]]
name = "chirpstack" name = "chirpstack"
version = "4.4.3" version = "4.5.0-test.1"
dependencies = [ dependencies = [
"aes", "aes",
"anyhow", "anyhow",
@ -1060,7 +1060,7 @@ dependencies = [
[[package]] [[package]]
name = "chirpstack_api" name = "chirpstack_api"
version = "4.4.3" version = "4.5.0-test.1"
dependencies = [ dependencies = [
"hex", "hex",
"pbjson", "pbjson",
@ -2471,7 +2471,7 @@ dependencies = [
[[package]] [[package]]
name = "lrwn" name = "lrwn"
version = "4.4.3" version = "4.5.0-test.1"
dependencies = [ dependencies = [
"aes", "aes",
"anyhow", "anyhow",
@ -2485,7 +2485,7 @@ dependencies = [
[[package]] [[package]]
name = "lrwn_filters" name = "lrwn_filters"
version = "4.4.3" version = "4.5.0-test.1"
dependencies = [ dependencies = [
"hex", "hex",
"lrwn", "lrwn",

View File

@ -1,6 +1,6 @@
{ {
"name": "@chirpstack/chirpstack-api-grpc-web", "name": "@chirpstack/chirpstack-api-grpc-web",
"version": "4.4.3", "version": "4.5.0-test.1",
"description": "Chirpstack gRPC-web API", "description": "Chirpstack gRPC-web API",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {

View File

@ -8,7 +8,7 @@ plugins {
} }
group = "io.chirpstack" group = "io.chirpstack"
version = "4.4.3" version = "4.5.0-test.1"
repositories { repositories {
mavenCentral() mavenCentral()

2
api/js/package.json vendored
View File

@ -1,6 +1,6 @@
{ {
"name": "@chirpstack/chirpstack-api", "name": "@chirpstack/chirpstack-api",
"version": "4.4.3", "version": "4.5.0-test.1",
"description": "Chirpstack JS and TS API", "description": "Chirpstack JS and TS API",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {

View File

@ -9,7 +9,7 @@ plugins {
} }
group = "io.chirpstack" group = "io.chirpstack"
version = "4.4.3" version = "4.5.0-test.1"
repositories { repositories {
mavenCentral() mavenCentral()

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -10,51 +10,8 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map
DESCRIPTOR: _descriptor.FileDescriptor DESCRIPTOR: _descriptor.FileDescriptor
class ActivateDeviceRequest(_message.Message):
__slots__ = ["device_activation"]
DEVICE_ACTIVATION_FIELD_NUMBER: _ClassVar[int]
device_activation: DeviceActivation
def __init__(self, device_activation: _Optional[_Union[DeviceActivation, _Mapping]] = ...) -> None: ...
class CreateDeviceKeysRequest(_message.Message):
__slots__ = ["device_keys"]
DEVICE_KEYS_FIELD_NUMBER: _ClassVar[int]
device_keys: DeviceKeys
def __init__(self, device_keys: _Optional[_Union[DeviceKeys, _Mapping]] = ...) -> None: ...
class CreateDeviceRequest(_message.Message):
__slots__ = ["device"]
DEVICE_FIELD_NUMBER: _ClassVar[int]
device: Device
def __init__(self, device: _Optional[_Union[Device, _Mapping]] = ...) -> None: ...
class DeactivateDeviceRequest(_message.Message):
__slots__ = ["dev_eui"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
class DeleteDeviceKeysRequest(_message.Message):
__slots__ = ["dev_eui"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
class DeleteDeviceRequest(_message.Message):
__slots__ = ["dev_eui"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
class Device(_message.Message): class Device(_message.Message):
__slots__ = ["application_id", "description", "dev_eui", "device_profile_id", "is_disabled", "join_eui", "name", "skip_fcnt_check", "tags", "variables"] __slots__ = ["dev_eui", "name", "description", "application_id", "device_profile_id", "skip_fcnt_check", "is_disabled", "variables", "tags", "join_eui"]
class TagsEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
class VariablesEntry(_message.Message): class VariablesEntry(_message.Message):
__slots__ = ["key", "value"] __slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int] KEY_FIELD_NUMBER: _ClassVar[int]
@ -62,139 +19,202 @@ class Device(_message.Message):
key: str key: str
value: str value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
APPLICATION_ID_FIELD_NUMBER: _ClassVar[int] class TagsEntry(_message.Message):
DESCRIPTION_FIELD_NUMBER: _ClassVar[int] __slots__ = ["key", "value"]
DEVICE_PROFILE_ID_FIELD_NUMBER: _ClassVar[int] KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
DEV_EUI_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int]
IS_DISABLED_FIELD_NUMBER: _ClassVar[int]
JOIN_EUI_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
APPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
DEVICE_PROFILE_ID_FIELD_NUMBER: _ClassVar[int]
SKIP_FCNT_CHECK_FIELD_NUMBER: _ClassVar[int] SKIP_FCNT_CHECK_FIELD_NUMBER: _ClassVar[int]
TAGS_FIELD_NUMBER: _ClassVar[int] IS_DISABLED_FIELD_NUMBER: _ClassVar[int]
VARIABLES_FIELD_NUMBER: _ClassVar[int] VARIABLES_FIELD_NUMBER: _ClassVar[int]
application_id: str TAGS_FIELD_NUMBER: _ClassVar[int]
description: str JOIN_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str dev_eui: str
device_profile_id: str
is_disabled: bool
join_eui: str
name: str name: str
description: str
application_id: str
device_profile_id: str
skip_fcnt_check: bool skip_fcnt_check: bool
tags: _containers.ScalarMap[str, str] is_disabled: bool
variables: _containers.ScalarMap[str, str] variables: _containers.ScalarMap[str, str]
tags: _containers.ScalarMap[str, str]
join_eui: str
def __init__(self, dev_eui: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., application_id: _Optional[str] = ..., device_profile_id: _Optional[str] = ..., skip_fcnt_check: bool = ..., is_disabled: bool = ..., variables: _Optional[_Mapping[str, str]] = ..., tags: _Optional[_Mapping[str, str]] = ..., join_eui: _Optional[str] = ...) -> None: ... def __init__(self, dev_eui: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., application_id: _Optional[str] = ..., device_profile_id: _Optional[str] = ..., skip_fcnt_check: bool = ..., is_disabled: bool = ..., variables: _Optional[_Mapping[str, str]] = ..., tags: _Optional[_Mapping[str, str]] = ..., join_eui: _Optional[str] = ...) -> None: ...
class DeviceActivation(_message.Message): class DeviceStatus(_message.Message):
__slots__ = ["a_f_cnt_down", "app_s_key", "dev_addr", "dev_eui", "f_cnt_up", "f_nwk_s_int_key", "n_f_cnt_down", "nwk_s_enc_key", "s_nwk_s_int_key"] __slots__ = ["margin", "external_power_source", "battery_level"]
APP_S_KEY_FIELD_NUMBER: _ClassVar[int] MARGIN_FIELD_NUMBER: _ClassVar[int]
A_F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int] EXTERNAL_POWER_SOURCE_FIELD_NUMBER: _ClassVar[int]
DEV_ADDR_FIELD_NUMBER: _ClassVar[int] BATTERY_LEVEL_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int] margin: int
F_CNT_UP_FIELD_NUMBER: _ClassVar[int] external_power_source: bool
F_NWK_S_INT_KEY_FIELD_NUMBER: _ClassVar[int] battery_level: float
NWK_S_ENC_KEY_FIELD_NUMBER: _ClassVar[int] def __init__(self, margin: _Optional[int] = ..., external_power_source: bool = ..., battery_level: _Optional[float] = ...) -> None: ...
N_F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int]
S_NWK_S_INT_KEY_FIELD_NUMBER: _ClassVar[int]
a_f_cnt_down: int
app_s_key: str
dev_addr: str
dev_eui: str
f_cnt_up: int
f_nwk_s_int_key: str
n_f_cnt_down: int
nwk_s_enc_key: str
s_nwk_s_int_key: str
def __init__(self, dev_eui: _Optional[str] = ..., dev_addr: _Optional[str] = ..., app_s_key: _Optional[str] = ..., nwk_s_enc_key: _Optional[str] = ..., s_nwk_s_int_key: _Optional[str] = ..., f_nwk_s_int_key: _Optional[str] = ..., f_cnt_up: _Optional[int] = ..., n_f_cnt_down: _Optional[int] = ..., a_f_cnt_down: _Optional[int] = ...) -> None: ...
class DeviceKeys(_message.Message):
__slots__ = ["app_key", "dev_eui", "nwk_key"]
APP_KEY_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
NWK_KEY_FIELD_NUMBER: _ClassVar[int]
app_key: str
dev_eui: str
nwk_key: str
def __init__(self, dev_eui: _Optional[str] = ..., nwk_key: _Optional[str] = ..., app_key: _Optional[str] = ...) -> None: ...
class DeviceListItem(_message.Message): class DeviceListItem(_message.Message):
__slots__ = ["created_at", "description", "dev_eui", "device_profile_id", "device_profile_name", "device_status", "last_seen_at", "name", "updated_at"] __slots__ = ["dev_eui", "created_at", "updated_at", "last_seen_at", "name", "description", "device_profile_id", "device_profile_name", "device_status"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int] CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int] DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
DEVICE_PROFILE_ID_FIELD_NUMBER: _ClassVar[int] DEVICE_PROFILE_ID_FIELD_NUMBER: _ClassVar[int]
DEVICE_PROFILE_NAME_FIELD_NUMBER: _ClassVar[int] DEVICE_PROFILE_NAME_FIELD_NUMBER: _ClassVar[int]
DEVICE_STATUS_FIELD_NUMBER: _ClassVar[int] DEVICE_STATUS_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
created_at: _timestamp_pb2.Timestamp
description: str
dev_eui: str dev_eui: str
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
last_seen_at: _timestamp_pb2.Timestamp
name: str
description: str
device_profile_id: str device_profile_id: str
device_profile_name: str device_profile_name: str
device_status: DeviceStatus device_status: DeviceStatus
last_seen_at: _timestamp_pb2.Timestamp
name: str
updated_at: _timestamp_pb2.Timestamp
def __init__(self, dev_eui: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., device_profile_id: _Optional[str] = ..., device_profile_name: _Optional[str] = ..., device_status: _Optional[_Union[DeviceStatus, _Mapping]] = ...) -> None: ... def __init__(self, dev_eui: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., device_profile_id: _Optional[str] = ..., device_profile_name: _Optional[str] = ..., device_status: _Optional[_Union[DeviceStatus, _Mapping]] = ...) -> None: ...
class DeviceQueueItem(_message.Message): class DeviceKeys(_message.Message):
__slots__ = ["confirmed", "data", "dev_eui", "f_cnt_down", "f_port", "id", "is_pending", "object"] __slots__ = ["dev_eui", "nwk_key", "app_key"]
CONFIRMED_FIELD_NUMBER: _ClassVar[int]
DATA_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int]
F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int] NWK_KEY_FIELD_NUMBER: _ClassVar[int]
F_PORT_FIELD_NUMBER: _ClassVar[int] APP_KEY_FIELD_NUMBER: _ClassVar[int]
ID_FIELD_NUMBER: _ClassVar[int]
IS_PENDING_FIELD_NUMBER: _ClassVar[int]
OBJECT_FIELD_NUMBER: _ClassVar[int]
confirmed: bool
data: bytes
dev_eui: str dev_eui: str
f_cnt_down: int nwk_key: str
f_port: int app_key: str
id: str def __init__(self, dev_eui: _Optional[str] = ..., nwk_key: _Optional[str] = ..., app_key: _Optional[str] = ...) -> None: ...
is_pending: bool
object: _struct_pb2.Struct
def __init__(self, id: _Optional[str] = ..., dev_eui: _Optional[str] = ..., confirmed: bool = ..., f_port: _Optional[int] = ..., data: _Optional[bytes] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., is_pending: bool = ..., f_cnt_down: _Optional[int] = ...) -> None: ...
class DeviceState(_message.Message): class CreateDeviceRequest(_message.Message):
__slots__ = ["name", "value"] __slots__ = ["device"]
NAME_FIELD_NUMBER: _ClassVar[int] DEVICE_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int] device: Device
name: str def __init__(self, device: _Optional[_Union[Device, _Mapping]] = ...) -> None: ...
value: str
def __init__(self, name: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
class DeviceStatus(_message.Message): class GetDeviceRequest(_message.Message):
__slots__ = ["battery_level", "external_power_source", "margin"]
BATTERY_LEVEL_FIELD_NUMBER: _ClassVar[int]
EXTERNAL_POWER_SOURCE_FIELD_NUMBER: _ClassVar[int]
MARGIN_FIELD_NUMBER: _ClassVar[int]
battery_level: float
external_power_source: bool
margin: int
def __init__(self, margin: _Optional[int] = ..., external_power_source: bool = ..., battery_level: _Optional[float] = ...) -> None: ...
class EnqueueDeviceQueueItemRequest(_message.Message):
__slots__ = ["queue_item"]
QUEUE_ITEM_FIELD_NUMBER: _ClassVar[int]
queue_item: DeviceQueueItem
def __init__(self, queue_item: _Optional[_Union[DeviceQueueItem, _Mapping]] = ...) -> None: ...
class EnqueueDeviceQueueItemResponse(_message.Message):
__slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int]
id: str
def __init__(self, id: _Optional[str] = ...) -> None: ...
class FlushDevNoncesRequest(_message.Message):
__slots__ = ["dev_eui"] __slots__ = ["dev_eui"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str dev_eui: str
def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
class FlushDeviceQueueRequest(_message.Message): class GetDeviceResponse(_message.Message):
__slots__ = ["device", "created_at", "updated_at", "last_seen_at", "device_status", "class_enabled"]
DEVICE_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int]
DEVICE_STATUS_FIELD_NUMBER: _ClassVar[int]
CLASS_ENABLED_FIELD_NUMBER: _ClassVar[int]
device: Device
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
last_seen_at: _timestamp_pb2.Timestamp
device_status: DeviceStatus
class_enabled: _common_pb2.DeviceClass
def __init__(self, device: _Optional[_Union[Device, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_status: _Optional[_Union[DeviceStatus, _Mapping]] = ..., class_enabled: _Optional[_Union[_common_pb2.DeviceClass, str]] = ...) -> None: ...
class UpdateDeviceRequest(_message.Message):
__slots__ = ["device"]
DEVICE_FIELD_NUMBER: _ClassVar[int]
device: Device
def __init__(self, device: _Optional[_Union[Device, _Mapping]] = ...) -> None: ...
class DeleteDeviceRequest(_message.Message):
__slots__ = ["dev_eui"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
class ListDevicesRequest(_message.Message):
__slots__ = ["limit", "offset", "search", "application_id", "multicast_group_id"]
LIMIT_FIELD_NUMBER: _ClassVar[int]
OFFSET_FIELD_NUMBER: _ClassVar[int]
SEARCH_FIELD_NUMBER: _ClassVar[int]
APPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
limit: int
offset: int
search: str
application_id: str
multicast_group_id: str
def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., application_id: _Optional[str] = ..., multicast_group_id: _Optional[str] = ...) -> None: ...
class ListDevicesResponse(_message.Message):
__slots__ = ["total_count", "result"]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
RESULT_FIELD_NUMBER: _ClassVar[int]
total_count: int
result: _containers.RepeatedCompositeFieldContainer[DeviceListItem]
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[DeviceListItem, _Mapping]]] = ...) -> None: ...
class CreateDeviceKeysRequest(_message.Message):
__slots__ = ["device_keys"]
DEVICE_KEYS_FIELD_NUMBER: _ClassVar[int]
device_keys: DeviceKeys
def __init__(self, device_keys: _Optional[_Union[DeviceKeys, _Mapping]] = ...) -> None: ...
class GetDeviceKeysRequest(_message.Message):
__slots__ = ["dev_eui"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
class GetDeviceKeysResponse(_message.Message):
__slots__ = ["device_keys", "created_at", "updated_at"]
DEVICE_KEYS_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
device_keys: DeviceKeys
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
def __init__(self, device_keys: _Optional[_Union[DeviceKeys, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
class UpdateDeviceKeysRequest(_message.Message):
__slots__ = ["device_keys"]
DEVICE_KEYS_FIELD_NUMBER: _ClassVar[int]
device_keys: DeviceKeys
def __init__(self, device_keys: _Optional[_Union[DeviceKeys, _Mapping]] = ...) -> None: ...
class DeleteDeviceKeysRequest(_message.Message):
__slots__ = ["dev_eui"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
class DeviceActivation(_message.Message):
__slots__ = ["dev_eui", "dev_addr", "app_s_key", "nwk_s_enc_key", "s_nwk_s_int_key", "f_nwk_s_int_key", "f_cnt_up", "n_f_cnt_down", "a_f_cnt_down"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
DEV_ADDR_FIELD_NUMBER: _ClassVar[int]
APP_S_KEY_FIELD_NUMBER: _ClassVar[int]
NWK_S_ENC_KEY_FIELD_NUMBER: _ClassVar[int]
S_NWK_S_INT_KEY_FIELD_NUMBER: _ClassVar[int]
F_NWK_S_INT_KEY_FIELD_NUMBER: _ClassVar[int]
F_CNT_UP_FIELD_NUMBER: _ClassVar[int]
N_F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int]
A_F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
dev_addr: str
app_s_key: str
nwk_s_enc_key: str
s_nwk_s_int_key: str
f_nwk_s_int_key: str
f_cnt_up: int
n_f_cnt_down: int
a_f_cnt_down: int
def __init__(self, dev_eui: _Optional[str] = ..., dev_addr: _Optional[str] = ..., app_s_key: _Optional[str] = ..., nwk_s_enc_key: _Optional[str] = ..., s_nwk_s_int_key: _Optional[str] = ..., f_nwk_s_int_key: _Optional[str] = ..., f_cnt_up: _Optional[int] = ..., n_f_cnt_down: _Optional[int] = ..., a_f_cnt_down: _Optional[int] = ...) -> None: ...
class ActivateDeviceRequest(_message.Message):
__slots__ = ["device_activation"]
DEVICE_ACTIVATION_FIELD_NUMBER: _ClassVar[int]
device_activation: DeviceActivation
def __init__(self, device_activation: _Optional[_Union[DeviceActivation, _Mapping]] = ...) -> None: ...
class DeactivateDeviceRequest(_message.Message):
__slots__ = ["dev_eui"] __slots__ = ["dev_eui"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str dev_eui: str
@ -212,60 +232,28 @@ class GetDeviceActivationResponse(_message.Message):
device_activation: DeviceActivation device_activation: DeviceActivation
def __init__(self, device_activation: _Optional[_Union[DeviceActivation, _Mapping]] = ...) -> None: ... def __init__(self, device_activation: _Optional[_Union[DeviceActivation, _Mapping]] = ...) -> None: ...
class GetDeviceKeysRequest(_message.Message): class GetRandomDevAddrRequest(_message.Message):
__slots__ = ["dev_eui"] __slots__ = ["dev_eui"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str dev_eui: str
def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
class GetDeviceKeysResponse(_message.Message): class GetRandomDevAddrResponse(_message.Message):
__slots__ = ["created_at", "device_keys", "updated_at"] __slots__ = ["dev_addr"]
CREATED_AT_FIELD_NUMBER: _ClassVar[int] DEV_ADDR_FIELD_NUMBER: _ClassVar[int]
DEVICE_KEYS_FIELD_NUMBER: _ClassVar[int] dev_addr: str
UPDATED_AT_FIELD_NUMBER: _ClassVar[int] def __init__(self, dev_addr: _Optional[str] = ...) -> None: ...
created_at: _timestamp_pb2.Timestamp
device_keys: DeviceKeys
updated_at: _timestamp_pb2.Timestamp
def __init__(self, device_keys: _Optional[_Union[DeviceKeys, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
class GetDeviceLinkMetricsRequest(_message.Message):
__slots__ = ["aggregation", "dev_eui", "end", "start"]
AGGREGATION_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
END_FIELD_NUMBER: _ClassVar[int]
START_FIELD_NUMBER: _ClassVar[int]
aggregation: _common_pb2.Aggregation
dev_eui: str
end: _timestamp_pb2.Timestamp
start: _timestamp_pb2.Timestamp
def __init__(self, dev_eui: _Optional[str] = ..., start: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., aggregation: _Optional[_Union[_common_pb2.Aggregation, str]] = ...) -> None: ...
class GetDeviceLinkMetricsResponse(_message.Message):
__slots__ = ["errors", "gw_rssi", "gw_snr", "rx_packets", "rx_packets_per_dr", "rx_packets_per_freq"]
ERRORS_FIELD_NUMBER: _ClassVar[int]
GW_RSSI_FIELD_NUMBER: _ClassVar[int]
GW_SNR_FIELD_NUMBER: _ClassVar[int]
RX_PACKETS_FIELD_NUMBER: _ClassVar[int]
RX_PACKETS_PER_DR_FIELD_NUMBER: _ClassVar[int]
RX_PACKETS_PER_FREQ_FIELD_NUMBER: _ClassVar[int]
errors: _common_pb2.Metric
gw_rssi: _common_pb2.Metric
gw_snr: _common_pb2.Metric
rx_packets: _common_pb2.Metric
rx_packets_per_dr: _common_pb2.Metric
rx_packets_per_freq: _common_pb2.Metric
def __init__(self, rx_packets: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., gw_rssi: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., gw_snr: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., rx_packets_per_freq: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., rx_packets_per_dr: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., errors: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ...) -> None: ...
class GetDeviceMetricsRequest(_message.Message): class GetDeviceMetricsRequest(_message.Message):
__slots__ = ["aggregation", "dev_eui", "end", "start"] __slots__ = ["dev_eui", "start", "end", "aggregation"]
AGGREGATION_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int]
END_FIELD_NUMBER: _ClassVar[int]
START_FIELD_NUMBER: _ClassVar[int] START_FIELD_NUMBER: _ClassVar[int]
aggregation: _common_pb2.Aggregation END_FIELD_NUMBER: _ClassVar[int]
AGGREGATION_FIELD_NUMBER: _ClassVar[int]
dev_eui: str dev_eui: str
end: _timestamp_pb2.Timestamp
start: _timestamp_pb2.Timestamp start: _timestamp_pb2.Timestamp
end: _timestamp_pb2.Timestamp
aggregation: _common_pb2.Aggregation
def __init__(self, dev_eui: _Optional[str] = ..., start: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., aggregation: _Optional[_Union[_common_pb2.Aggregation, str]] = ...) -> None: ... def __init__(self, dev_eui: _Optional[str] = ..., start: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., aggregation: _Optional[_Union[_common_pb2.Aggregation, str]] = ...) -> None: ...
class GetDeviceMetricsResponse(_message.Message): class GetDeviceMetricsResponse(_message.Message):
@ -290,86 +278,98 @@ class GetDeviceMetricsResponse(_message.Message):
states: _containers.MessageMap[str, DeviceState] states: _containers.MessageMap[str, DeviceState]
def __init__(self, metrics: _Optional[_Mapping[str, _common_pb2.Metric]] = ..., states: _Optional[_Mapping[str, DeviceState]] = ...) -> None: ... def __init__(self, metrics: _Optional[_Mapping[str, _common_pb2.Metric]] = ..., states: _Optional[_Mapping[str, DeviceState]] = ...) -> None: ...
class GetDeviceQueueItemsRequest(_message.Message): class DeviceState(_message.Message):
__slots__ = ["count_only", "dev_eui"] __slots__ = ["name", "value"]
COUNT_ONLY_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
name: str
value: str
def __init__(self, name: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
class GetDeviceLinkMetricsRequest(_message.Message):
__slots__ = ["dev_eui", "start", "end", "aggregation"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int]
count_only: bool START_FIELD_NUMBER: _ClassVar[int]
END_FIELD_NUMBER: _ClassVar[int]
AGGREGATION_FIELD_NUMBER: _ClassVar[int]
dev_eui: str dev_eui: str
start: _timestamp_pb2.Timestamp
end: _timestamp_pb2.Timestamp
aggregation: _common_pb2.Aggregation
def __init__(self, dev_eui: _Optional[str] = ..., start: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., aggregation: _Optional[_Union[_common_pb2.Aggregation, str]] = ...) -> None: ...
class GetDeviceLinkMetricsResponse(_message.Message):
__slots__ = ["rx_packets", "gw_rssi", "gw_snr", "rx_packets_per_freq", "rx_packets_per_dr", "errors"]
RX_PACKETS_FIELD_NUMBER: _ClassVar[int]
GW_RSSI_FIELD_NUMBER: _ClassVar[int]
GW_SNR_FIELD_NUMBER: _ClassVar[int]
RX_PACKETS_PER_FREQ_FIELD_NUMBER: _ClassVar[int]
RX_PACKETS_PER_DR_FIELD_NUMBER: _ClassVar[int]
ERRORS_FIELD_NUMBER: _ClassVar[int]
rx_packets: _common_pb2.Metric
gw_rssi: _common_pb2.Metric
gw_snr: _common_pb2.Metric
rx_packets_per_freq: _common_pb2.Metric
rx_packets_per_dr: _common_pb2.Metric
errors: _common_pb2.Metric
def __init__(self, rx_packets: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., gw_rssi: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., gw_snr: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., rx_packets_per_freq: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., rx_packets_per_dr: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., errors: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ...) -> None: ...
class DeviceQueueItem(_message.Message):
__slots__ = ["id", "dev_eui", "confirmed", "f_port", "data", "object", "is_pending", "f_cnt_down"]
ID_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
CONFIRMED_FIELD_NUMBER: _ClassVar[int]
F_PORT_FIELD_NUMBER: _ClassVar[int]
DATA_FIELD_NUMBER: _ClassVar[int]
OBJECT_FIELD_NUMBER: _ClassVar[int]
IS_PENDING_FIELD_NUMBER: _ClassVar[int]
F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int]
id: str
dev_eui: str
confirmed: bool
f_port: int
data: bytes
object: _struct_pb2.Struct
is_pending: bool
f_cnt_down: int
def __init__(self, id: _Optional[str] = ..., dev_eui: _Optional[str] = ..., confirmed: bool = ..., f_port: _Optional[int] = ..., data: _Optional[bytes] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., is_pending: bool = ..., f_cnt_down: _Optional[int] = ...) -> None: ...
class EnqueueDeviceQueueItemRequest(_message.Message):
__slots__ = ["queue_item"]
QUEUE_ITEM_FIELD_NUMBER: _ClassVar[int]
queue_item: DeviceQueueItem
def __init__(self, queue_item: _Optional[_Union[DeviceQueueItem, _Mapping]] = ...) -> None: ...
class EnqueueDeviceQueueItemResponse(_message.Message):
__slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int]
id: str
def __init__(self, id: _Optional[str] = ...) -> None: ...
class FlushDeviceQueueRequest(_message.Message):
__slots__ = ["dev_eui"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
class GetDeviceQueueItemsRequest(_message.Message):
__slots__ = ["dev_eui", "count_only"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
COUNT_ONLY_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
count_only: bool
def __init__(self, dev_eui: _Optional[str] = ..., count_only: bool = ...) -> None: ... def __init__(self, dev_eui: _Optional[str] = ..., count_only: bool = ...) -> None: ...
class GetDeviceQueueItemsResponse(_message.Message): class GetDeviceQueueItemsResponse(_message.Message):
__slots__ = ["result", "total_count"] __slots__ = ["total_count", "result"]
RESULT_FIELD_NUMBER: _ClassVar[int]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
result: _containers.RepeatedCompositeFieldContainer[DeviceQueueItem] RESULT_FIELD_NUMBER: _ClassVar[int]
total_count: int total_count: int
result: _containers.RepeatedCompositeFieldContainer[DeviceQueueItem]
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[DeviceQueueItem, _Mapping]]] = ...) -> None: ... def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[DeviceQueueItem, _Mapping]]] = ...) -> None: ...
class GetDeviceRequest(_message.Message): class FlushDevNoncesRequest(_message.Message):
__slots__ = ["dev_eui"] __slots__ = ["dev_eui"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str dev_eui: str
def __init__(self, dev_eui: _Optional[str] = ...) -> None: ... def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
class GetDeviceResponse(_message.Message):
__slots__ = ["class_enabled", "created_at", "device", "device_status", "last_seen_at", "updated_at"]
CLASS_ENABLED_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
DEVICE_FIELD_NUMBER: _ClassVar[int]
DEVICE_STATUS_FIELD_NUMBER: _ClassVar[int]
LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
class_enabled: _common_pb2.DeviceClass
created_at: _timestamp_pb2.Timestamp
device: Device
device_status: DeviceStatus
last_seen_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
def __init__(self, device: _Optional[_Union[Device, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_status: _Optional[_Union[DeviceStatus, _Mapping]] = ..., class_enabled: _Optional[_Union[_common_pb2.DeviceClass, str]] = ...) -> None: ...
class GetRandomDevAddrRequest(_message.Message):
__slots__ = ["dev_eui"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
class GetRandomDevAddrResponse(_message.Message):
__slots__ = ["dev_addr"]
DEV_ADDR_FIELD_NUMBER: _ClassVar[int]
dev_addr: str
def __init__(self, dev_addr: _Optional[str] = ...) -> None: ...
class ListDevicesRequest(_message.Message):
__slots__ = ["application_id", "limit", "multicast_group_id", "offset", "search"]
APPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
LIMIT_FIELD_NUMBER: _ClassVar[int]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
OFFSET_FIELD_NUMBER: _ClassVar[int]
SEARCH_FIELD_NUMBER: _ClassVar[int]
application_id: str
limit: int
multicast_group_id: str
offset: int
search: str
def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., application_id: _Optional[str] = ..., multicast_group_id: _Optional[str] = ...) -> None: ...
class ListDevicesResponse(_message.Message):
__slots__ = ["result", "total_count"]
RESULT_FIELD_NUMBER: _ClassVar[int]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
result: _containers.RepeatedCompositeFieldContainer[DeviceListItem]
total_count: int
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[DeviceListItem, _Mapping]]] = ...) -> None: ...
class UpdateDeviceKeysRequest(_message.Message):
__slots__ = ["device_keys"]
DEVICE_KEYS_FIELD_NUMBER: _ClassVar[int]
device_keys: DeviceKeys
def __init__(self, device_keys: _Optional[_Union[DeviceKeys, _Mapping]] = ...) -> None: ...
class UpdateDeviceRequest(_message.Message):
__slots__ = ["device"]
DEVICE_FIELD_NUMBER: _ClassVar[int]
device: Device
def __init__(self, device: _Optional[_Union[Device, _Mapping]] = ...) -> None: ...

File diff suppressed because one or more lines are too long

View File

@ -8,39 +8,222 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
ABSOLUTE: MeasurementKind
CAYENNE_LPP: CodecRuntime
COUNTER: MeasurementKind
DESCRIPTOR: _descriptor.FileDescriptor DESCRIPTOR: _descriptor.FileDescriptor
DISABLE_RELAY_MODE: RelayModeActivation
DYNAMIC: RelayModeActivation class CodecRuntime(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
ENABLE_RELAY_MODE: RelayModeActivation __slots__ = []
END_DEVICE_CONTROLLED: RelayModeActivation NONE: _ClassVar[CodecRuntime]
GAUGE: MeasurementKind CAYENNE_LPP: _ClassVar[CodecRuntime]
JS: _ClassVar[CodecRuntime]
class MeasurementKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
UNKNOWN: _ClassVar[MeasurementKind]
COUNTER: _ClassVar[MeasurementKind]
ABSOLUTE: _ClassVar[MeasurementKind]
GAUGE: _ClassVar[MeasurementKind]
STRING: _ClassVar[MeasurementKind]
class CadPeriodicity(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
SEC_1: _ClassVar[CadPeriodicity]
MS_500: _ClassVar[CadPeriodicity]
MS_250: _ClassVar[CadPeriodicity]
MS_100: _ClassVar[CadPeriodicity]
MS_50: _ClassVar[CadPeriodicity]
MS_20: _ClassVar[CadPeriodicity]
class SecondChAckOffset(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
KHZ_0: _ClassVar[SecondChAckOffset]
KHZ_200: _ClassVar[SecondChAckOffset]
KHZ_400: _ClassVar[SecondChAckOffset]
KHZ_800: _ClassVar[SecondChAckOffset]
KHZ_1600: _ClassVar[SecondChAckOffset]
KHZ_3200: _ClassVar[SecondChAckOffset]
class RelayModeActivation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
DISABLE_RELAY_MODE: _ClassVar[RelayModeActivation]
ENABLE_RELAY_MODE: _ClassVar[RelayModeActivation]
DYNAMIC: _ClassVar[RelayModeActivation]
END_DEVICE_CONTROLLED: _ClassVar[RelayModeActivation]
NONE: CodecRuntime
CAYENNE_LPP: CodecRuntime
JS: CodecRuntime JS: CodecRuntime
UNKNOWN: MeasurementKind
COUNTER: MeasurementKind
ABSOLUTE: MeasurementKind
GAUGE: MeasurementKind
STRING: MeasurementKind
SEC_1: CadPeriodicity
MS_500: CadPeriodicity
MS_250: CadPeriodicity
MS_100: CadPeriodicity
MS_50: CadPeriodicity
MS_20: CadPeriodicity
KHZ_0: SecondChAckOffset KHZ_0: SecondChAckOffset
KHZ_1600: SecondChAckOffset
KHZ_200: SecondChAckOffset KHZ_200: SecondChAckOffset
KHZ_3200: SecondChAckOffset
KHZ_400: SecondChAckOffset KHZ_400: SecondChAckOffset
KHZ_800: SecondChAckOffset KHZ_800: SecondChAckOffset
MS_100: CadPeriodicity KHZ_1600: SecondChAckOffset
MS_20: CadPeriodicity KHZ_3200: SecondChAckOffset
MS_250: CadPeriodicity DISABLE_RELAY_MODE: RelayModeActivation
MS_50: CadPeriodicity ENABLE_RELAY_MODE: RelayModeActivation
MS_500: CadPeriodicity DYNAMIC: RelayModeActivation
NONE: CodecRuntime END_DEVICE_CONTROLLED: RelayModeActivation
SEC_1: CadPeriodicity
STRING: MeasurementKind
UNKNOWN: MeasurementKind
class AdrAlgorithmListItem(_message.Message): class DeviceProfile(_message.Message):
__slots__ = ["id", "name"] __slots__ = ["id", "tenant_id", "name", "description", "region", "mac_version", "reg_params_revision", "adr_algorithm_id", "payload_codec_runtime", "payload_codec_script", "flush_queue_on_activate", "uplink_interval", "device_status_req_interval", "supports_otaa", "supports_class_b", "supports_class_c", "class_b_timeout", "class_b_ping_slot_nb_k", "class_b_ping_slot_dr", "class_b_ping_slot_freq", "class_c_timeout", "abp_rx1_delay", "abp_rx1_dr_offset", "abp_rx2_dr", "abp_rx2_freq", "tags", "measurements", "auto_detect_measurements", "region_config_id", "is_relay", "is_relay_ed", "relay_ed_relay_only", "relay_enabled", "relay_cad_periodicity", "relay_default_channel_index", "relay_second_channel_freq", "relay_second_channel_dr", "relay_second_channel_ack_offset", "relay_ed_activation_mode", "relay_ed_smart_enable_level", "relay_ed_back_off", "relay_ed_uplink_limit_bucket_size", "relay_ed_uplink_limit_reload_rate", "relay_join_req_limit_reload_rate", "relay_notify_limit_reload_rate", "relay_global_uplink_limit_reload_rate", "relay_overall_limit_reload_rate", "relay_join_req_limit_bucket_size", "relay_notify_limit_bucket_size", "relay_global_uplink_limit_bucket_size", "relay_overall_limit_bucket_size"]
class TagsEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
class MeasurementsEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: Measurement
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[Measurement, _Mapping]] = ...) -> None: ...
ID_FIELD_NUMBER: _ClassVar[int] ID_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
REGION_FIELD_NUMBER: _ClassVar[int]
MAC_VERSION_FIELD_NUMBER: _ClassVar[int]
REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int]
ADR_ALGORITHM_ID_FIELD_NUMBER: _ClassVar[int]
PAYLOAD_CODEC_RUNTIME_FIELD_NUMBER: _ClassVar[int]
PAYLOAD_CODEC_SCRIPT_FIELD_NUMBER: _ClassVar[int]
FLUSH_QUEUE_ON_ACTIVATE_FIELD_NUMBER: _ClassVar[int]
UPLINK_INTERVAL_FIELD_NUMBER: _ClassVar[int]
DEVICE_STATUS_REQ_INTERVAL_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int]
CLASS_B_TIMEOUT_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_NB_K_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_DR_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_FREQ_FIELD_NUMBER: _ClassVar[int]
CLASS_C_TIMEOUT_FIELD_NUMBER: _ClassVar[int]
ABP_RX1_DELAY_FIELD_NUMBER: _ClassVar[int]
ABP_RX1_DR_OFFSET_FIELD_NUMBER: _ClassVar[int]
ABP_RX2_DR_FIELD_NUMBER: _ClassVar[int]
ABP_RX2_FREQ_FIELD_NUMBER: _ClassVar[int]
TAGS_FIELD_NUMBER: _ClassVar[int]
MEASUREMENTS_FIELD_NUMBER: _ClassVar[int]
AUTO_DETECT_MEASUREMENTS_FIELD_NUMBER: _ClassVar[int]
REGION_CONFIG_ID_FIELD_NUMBER: _ClassVar[int]
IS_RELAY_FIELD_NUMBER: _ClassVar[int]
IS_RELAY_ED_FIELD_NUMBER: _ClassVar[int]
RELAY_ED_RELAY_ONLY_FIELD_NUMBER: _ClassVar[int]
RELAY_ENABLED_FIELD_NUMBER: _ClassVar[int]
RELAY_CAD_PERIODICITY_FIELD_NUMBER: _ClassVar[int]
RELAY_DEFAULT_CHANNEL_INDEX_FIELD_NUMBER: _ClassVar[int]
RELAY_SECOND_CHANNEL_FREQ_FIELD_NUMBER: _ClassVar[int]
RELAY_SECOND_CHANNEL_DR_FIELD_NUMBER: _ClassVar[int]
RELAY_SECOND_CHANNEL_ACK_OFFSET_FIELD_NUMBER: _ClassVar[int]
RELAY_ED_ACTIVATION_MODE_FIELD_NUMBER: _ClassVar[int]
RELAY_ED_SMART_ENABLE_LEVEL_FIELD_NUMBER: _ClassVar[int]
RELAY_ED_BACK_OFF_FIELD_NUMBER: _ClassVar[int]
RELAY_ED_UPLINK_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int]
RELAY_ED_UPLINK_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int]
RELAY_JOIN_REQ_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int]
RELAY_NOTIFY_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int]
RELAY_GLOBAL_UPLINK_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int]
RELAY_OVERALL_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int]
RELAY_JOIN_REQ_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int]
RELAY_NOTIFY_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int]
RELAY_GLOBAL_UPLINK_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int]
RELAY_OVERALL_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int]
id: str id: str
tenant_id: str
name: str name: str
def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ... description: str
region: _common_pb2.Region
mac_version: _common_pb2.MacVersion
reg_params_revision: _common_pb2.RegParamsRevision
adr_algorithm_id: str
payload_codec_runtime: CodecRuntime
payload_codec_script: str
flush_queue_on_activate: bool
uplink_interval: int
device_status_req_interval: int
supports_otaa: bool
supports_class_b: bool
supports_class_c: bool
class_b_timeout: int
class_b_ping_slot_nb_k: int
class_b_ping_slot_dr: int
class_b_ping_slot_freq: int
class_c_timeout: int
abp_rx1_delay: int
abp_rx1_dr_offset: int
abp_rx2_dr: int
abp_rx2_freq: int
tags: _containers.ScalarMap[str, str]
measurements: _containers.MessageMap[str, Measurement]
auto_detect_measurements: bool
region_config_id: str
is_relay: bool
is_relay_ed: bool
relay_ed_relay_only: bool
relay_enabled: bool
relay_cad_periodicity: CadPeriodicity
relay_default_channel_index: int
relay_second_channel_freq: int
relay_second_channel_dr: int
relay_second_channel_ack_offset: SecondChAckOffset
relay_ed_activation_mode: RelayModeActivation
relay_ed_smart_enable_level: int
relay_ed_back_off: int
relay_ed_uplink_limit_bucket_size: int
relay_ed_uplink_limit_reload_rate: int
relay_join_req_limit_reload_rate: int
relay_notify_limit_reload_rate: int
relay_global_uplink_limit_reload_rate: int
relay_overall_limit_reload_rate: int
relay_join_req_limit_bucket_size: int
relay_notify_limit_bucket_size: int
relay_global_uplink_limit_bucket_size: int
relay_overall_limit_bucket_size: int
def __init__(self, id: _Optional[str] = ..., tenant_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., adr_algorithm_id: _Optional[str] = ..., payload_codec_runtime: _Optional[_Union[CodecRuntime, str]] = ..., payload_codec_script: _Optional[str] = ..., flush_queue_on_activate: bool = ..., uplink_interval: _Optional[int] = ..., device_status_req_interval: _Optional[int] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ..., class_b_timeout: _Optional[int] = ..., class_b_ping_slot_nb_k: _Optional[int] = ..., class_b_ping_slot_dr: _Optional[int] = ..., class_b_ping_slot_freq: _Optional[int] = ..., class_c_timeout: _Optional[int] = ..., abp_rx1_delay: _Optional[int] = ..., abp_rx1_dr_offset: _Optional[int] = ..., abp_rx2_dr: _Optional[int] = ..., abp_rx2_freq: _Optional[int] = ..., tags: _Optional[_Mapping[str, str]] = ..., measurements: _Optional[_Mapping[str, Measurement]] = ..., auto_detect_measurements: bool = ..., region_config_id: _Optional[str] = ..., is_relay: bool = ..., is_relay_ed: bool = ..., relay_ed_relay_only: bool = ..., relay_enabled: bool = ..., relay_cad_periodicity: _Optional[_Union[CadPeriodicity, str]] = ..., relay_default_channel_index: _Optional[int] = ..., relay_second_channel_freq: _Optional[int] = ..., relay_second_channel_dr: _Optional[int] = ..., relay_second_channel_ack_offset: _Optional[_Union[SecondChAckOffset, str]] = ..., relay_ed_activation_mode: _Optional[_Union[RelayModeActivation, str]] = ..., relay_ed_smart_enable_level: _Optional[int] = ..., relay_ed_back_off: _Optional[int] = ..., relay_ed_uplink_limit_bucket_size: _Optional[int] = ..., relay_ed_uplink_limit_reload_rate: _Optional[int] = ..., relay_join_req_limit_reload_rate: _Optional[int] = ..., relay_notify_limit_reload_rate: _Optional[int] = ..., relay_global_uplink_limit_reload_rate: _Optional[int] = ..., relay_overall_limit_reload_rate: _Optional[int] = ..., relay_join_req_limit_bucket_size: _Optional[int] = ..., relay_notify_limit_bucket_size: _Optional[int] = ..., relay_global_uplink_limit_bucket_size: _Optional[int] = ..., relay_overall_limit_bucket_size: _Optional[int] = ...) -> None: ...
class Measurement(_message.Message):
__slots__ = ["name", "kind"]
NAME_FIELD_NUMBER: _ClassVar[int]
KIND_FIELD_NUMBER: _ClassVar[int]
name: str
kind: MeasurementKind
def __init__(self, name: _Optional[str] = ..., kind: _Optional[_Union[MeasurementKind, str]] = ...) -> None: ...
class DeviceProfileListItem(_message.Message):
__slots__ = ["id", "created_at", "updated_at", "name", "region", "mac_version", "reg_params_revision", "supports_otaa", "supports_class_b", "supports_class_c"]
ID_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
REGION_FIELD_NUMBER: _ClassVar[int]
MAC_VERSION_FIELD_NUMBER: _ClassVar[int]
REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int]
id: str
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
name: str
region: _common_pb2.Region
mac_version: _common_pb2.MacVersion
reg_params_revision: _common_pb2.RegParamsRevision
supports_otaa: bool
supports_class_b: bool
supports_class_c: bool
def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ...) -> None: ...
class CreateDeviceProfileRequest(_message.Message): class CreateDeviceProfileRequest(_message.Message):
__slots__ = ["device_profile"] __slots__ = ["device_profile"]
@ -54,156 +237,6 @@ class CreateDeviceProfileResponse(_message.Message):
id: str id: str
def __init__(self, id: _Optional[str] = ...) -> None: ... def __init__(self, id: _Optional[str] = ...) -> None: ...
class DeleteDeviceProfileRequest(_message.Message):
__slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int]
id: str
def __init__(self, id: _Optional[str] = ...) -> None: ...
class DeviceProfile(_message.Message):
__slots__ = ["abp_rx1_delay", "abp_rx1_dr_offset", "abp_rx2_dr", "abp_rx2_freq", "adr_algorithm_id", "auto_detect_measurements", "class_b_ping_slot_dr", "class_b_ping_slot_freq", "class_b_ping_slot_nb_k", "class_b_timeout", "class_c_timeout", "description", "device_status_req_interval", "flush_queue_on_activate", "id", "is_relay", "is_relay_ed", "mac_version", "measurements", "name", "payload_codec_runtime", "payload_codec_script", "reg_params_revision", "region", "region_config_id", "relay_cad_periodicity", "relay_default_channel_index", "relay_ed_activation_mode", "relay_ed_back_off", "relay_ed_relay_only", "relay_ed_smart_enable_level", "relay_ed_uplink_limit_bucket_size", "relay_ed_uplink_limit_reload_rate", "relay_enabled", "relay_global_uplink_limit_bucket_size", "relay_global_uplink_limit_reload_rate", "relay_join_req_limit_bucket_size", "relay_join_req_limit_reload_rate", "relay_notify_limit_bucket_size", "relay_notify_limit_reload_rate", "relay_overall_limit_bucket_size", "relay_overall_limit_reload_rate", "relay_second_channel_ack_offset", "relay_second_channel_dr", "relay_second_channel_freq", "supports_class_b", "supports_class_c", "supports_otaa", "tags", "tenant_id", "uplink_interval"]
class MeasurementsEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: Measurement
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[Measurement, _Mapping]] = ...) -> None: ...
class TagsEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
ABP_RX1_DELAY_FIELD_NUMBER: _ClassVar[int]
ABP_RX1_DR_OFFSET_FIELD_NUMBER: _ClassVar[int]
ABP_RX2_DR_FIELD_NUMBER: _ClassVar[int]
ABP_RX2_FREQ_FIELD_NUMBER: _ClassVar[int]
ADR_ALGORITHM_ID_FIELD_NUMBER: _ClassVar[int]
AUTO_DETECT_MEASUREMENTS_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_DR_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_FREQ_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_NB_K_FIELD_NUMBER: _ClassVar[int]
CLASS_B_TIMEOUT_FIELD_NUMBER: _ClassVar[int]
CLASS_C_TIMEOUT_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
DEVICE_STATUS_REQ_INTERVAL_FIELD_NUMBER: _ClassVar[int]
FLUSH_QUEUE_ON_ACTIVATE_FIELD_NUMBER: _ClassVar[int]
ID_FIELD_NUMBER: _ClassVar[int]
IS_RELAY_ED_FIELD_NUMBER: _ClassVar[int]
IS_RELAY_FIELD_NUMBER: _ClassVar[int]
MAC_VERSION_FIELD_NUMBER: _ClassVar[int]
MEASUREMENTS_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
PAYLOAD_CODEC_RUNTIME_FIELD_NUMBER: _ClassVar[int]
PAYLOAD_CODEC_SCRIPT_FIELD_NUMBER: _ClassVar[int]
REGION_CONFIG_ID_FIELD_NUMBER: _ClassVar[int]
REGION_FIELD_NUMBER: _ClassVar[int]
REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int]
RELAY_CAD_PERIODICITY_FIELD_NUMBER: _ClassVar[int]
RELAY_DEFAULT_CHANNEL_INDEX_FIELD_NUMBER: _ClassVar[int]
RELAY_ED_ACTIVATION_MODE_FIELD_NUMBER: _ClassVar[int]
RELAY_ED_BACK_OFF_FIELD_NUMBER: _ClassVar[int]
RELAY_ED_RELAY_ONLY_FIELD_NUMBER: _ClassVar[int]
RELAY_ED_SMART_ENABLE_LEVEL_FIELD_NUMBER: _ClassVar[int]
RELAY_ED_UPLINK_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int]
RELAY_ED_UPLINK_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int]
RELAY_ENABLED_FIELD_NUMBER: _ClassVar[int]
RELAY_GLOBAL_UPLINK_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int]
RELAY_GLOBAL_UPLINK_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int]
RELAY_JOIN_REQ_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int]
RELAY_JOIN_REQ_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int]
RELAY_NOTIFY_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int]
RELAY_NOTIFY_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int]
RELAY_OVERALL_LIMIT_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int]
RELAY_OVERALL_LIMIT_RELOAD_RATE_FIELD_NUMBER: _ClassVar[int]
RELAY_SECOND_CHANNEL_ACK_OFFSET_FIELD_NUMBER: _ClassVar[int]
RELAY_SECOND_CHANNEL_DR_FIELD_NUMBER: _ClassVar[int]
RELAY_SECOND_CHANNEL_FREQ_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int]
TAGS_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
UPLINK_INTERVAL_FIELD_NUMBER: _ClassVar[int]
abp_rx1_delay: int
abp_rx1_dr_offset: int
abp_rx2_dr: int
abp_rx2_freq: int
adr_algorithm_id: str
auto_detect_measurements: bool
class_b_ping_slot_dr: int
class_b_ping_slot_freq: int
class_b_ping_slot_nb_k: int
class_b_timeout: int
class_c_timeout: int
description: str
device_status_req_interval: int
flush_queue_on_activate: bool
id: str
is_relay: bool
is_relay_ed: bool
mac_version: _common_pb2.MacVersion
measurements: _containers.MessageMap[str, Measurement]
name: str
payload_codec_runtime: CodecRuntime
payload_codec_script: str
reg_params_revision: _common_pb2.RegParamsRevision
region: _common_pb2.Region
region_config_id: str
relay_cad_periodicity: CadPeriodicity
relay_default_channel_index: int
relay_ed_activation_mode: RelayModeActivation
relay_ed_back_off: int
relay_ed_relay_only: bool
relay_ed_smart_enable_level: int
relay_ed_uplink_limit_bucket_size: int
relay_ed_uplink_limit_reload_rate: int
relay_enabled: bool
relay_global_uplink_limit_bucket_size: int
relay_global_uplink_limit_reload_rate: int
relay_join_req_limit_bucket_size: int
relay_join_req_limit_reload_rate: int
relay_notify_limit_bucket_size: int
relay_notify_limit_reload_rate: int
relay_overall_limit_bucket_size: int
relay_overall_limit_reload_rate: int
relay_second_channel_ack_offset: SecondChAckOffset
relay_second_channel_dr: int
relay_second_channel_freq: int
supports_class_b: bool
supports_class_c: bool
supports_otaa: bool
tags: _containers.ScalarMap[str, str]
tenant_id: str
uplink_interval: int
def __init__(self, id: _Optional[str] = ..., tenant_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., adr_algorithm_id: _Optional[str] = ..., payload_codec_runtime: _Optional[_Union[CodecRuntime, str]] = ..., payload_codec_script: _Optional[str] = ..., flush_queue_on_activate: bool = ..., uplink_interval: _Optional[int] = ..., device_status_req_interval: _Optional[int] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ..., class_b_timeout: _Optional[int] = ..., class_b_ping_slot_nb_k: _Optional[int] = ..., class_b_ping_slot_dr: _Optional[int] = ..., class_b_ping_slot_freq: _Optional[int] = ..., class_c_timeout: _Optional[int] = ..., abp_rx1_delay: _Optional[int] = ..., abp_rx1_dr_offset: _Optional[int] = ..., abp_rx2_dr: _Optional[int] = ..., abp_rx2_freq: _Optional[int] = ..., tags: _Optional[_Mapping[str, str]] = ..., measurements: _Optional[_Mapping[str, Measurement]] = ..., auto_detect_measurements: bool = ..., region_config_id: _Optional[str] = ..., is_relay: bool = ..., is_relay_ed: bool = ..., relay_ed_relay_only: bool = ..., relay_enabled: bool = ..., relay_cad_periodicity: _Optional[_Union[CadPeriodicity, str]] = ..., relay_default_channel_index: _Optional[int] = ..., relay_second_channel_freq: _Optional[int] = ..., relay_second_channel_dr: _Optional[int] = ..., relay_second_channel_ack_offset: _Optional[_Union[SecondChAckOffset, str]] = ..., relay_ed_activation_mode: _Optional[_Union[RelayModeActivation, str]] = ..., relay_ed_smart_enable_level: _Optional[int] = ..., relay_ed_back_off: _Optional[int] = ..., relay_ed_uplink_limit_bucket_size: _Optional[int] = ..., relay_ed_uplink_limit_reload_rate: _Optional[int] = ..., relay_join_req_limit_reload_rate: _Optional[int] = ..., relay_notify_limit_reload_rate: _Optional[int] = ..., relay_global_uplink_limit_reload_rate: _Optional[int] = ..., relay_overall_limit_reload_rate: _Optional[int] = ..., relay_join_req_limit_bucket_size: _Optional[int] = ..., relay_notify_limit_bucket_size: _Optional[int] = ..., relay_global_uplink_limit_bucket_size: _Optional[int] = ..., relay_overall_limit_bucket_size: _Optional[int] = ...) -> None: ...
class DeviceProfileListItem(_message.Message):
__slots__ = ["created_at", "id", "mac_version", "name", "reg_params_revision", "region", "supports_class_b", "supports_class_c", "supports_otaa", "updated_at"]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
ID_FIELD_NUMBER: _ClassVar[int]
MAC_VERSION_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
REGION_FIELD_NUMBER: _ClassVar[int]
REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
created_at: _timestamp_pb2.Timestamp
id: str
mac_version: _common_pb2.MacVersion
name: str
reg_params_revision: _common_pb2.RegParamsRevision
region: _common_pb2.Region
supports_class_b: bool
supports_class_c: bool
supports_otaa: bool
updated_at: _timestamp_pb2.Timestamp
def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ...) -> None: ...
class GetDeviceProfileRequest(_message.Message): class GetDeviceProfileRequest(_message.Message):
__slots__ = ["id"] __slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int] ID_FIELD_NUMBER: _ClassVar[int]
@ -211,22 +244,26 @@ class GetDeviceProfileRequest(_message.Message):
def __init__(self, id: _Optional[str] = ...) -> None: ... def __init__(self, id: _Optional[str] = ...) -> None: ...
class GetDeviceProfileResponse(_message.Message): class GetDeviceProfileResponse(_message.Message):
__slots__ = ["created_at", "device_profile", "updated_at"] __slots__ = ["device_profile", "created_at", "updated_at"]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
DEVICE_PROFILE_FIELD_NUMBER: _ClassVar[int] DEVICE_PROFILE_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int] UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
created_at: _timestamp_pb2.Timestamp
device_profile: DeviceProfile device_profile: DeviceProfile
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp updated_at: _timestamp_pb2.Timestamp
def __init__(self, device_profile: _Optional[_Union[DeviceProfile, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... def __init__(self, device_profile: _Optional[_Union[DeviceProfile, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
class ListDeviceProfileAdrAlgorithmsResponse(_message.Message): class UpdateDeviceProfileRequest(_message.Message):
__slots__ = ["result", "total_count"] __slots__ = ["device_profile"]
RESULT_FIELD_NUMBER: _ClassVar[int] DEVICE_PROFILE_FIELD_NUMBER: _ClassVar[int]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] device_profile: DeviceProfile
result: _containers.RepeatedCompositeFieldContainer[AdrAlgorithmListItem] def __init__(self, device_profile: _Optional[_Union[DeviceProfile, _Mapping]] = ...) -> None: ...
total_count: int
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[AdrAlgorithmListItem, _Mapping]]] = ...) -> None: ... class DeleteDeviceProfileRequest(_message.Message):
__slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int]
id: str
def __init__(self, id: _Optional[str] = ...) -> None: ...
class ListDeviceProfilesRequest(_message.Message): class ListDeviceProfilesRequest(_message.Message):
__slots__ = ["limit", "offset", "search", "tenant_id"] __slots__ = ["limit", "offset", "search", "tenant_id"]
@ -241,38 +278,25 @@ class ListDeviceProfilesRequest(_message.Message):
def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., tenant_id: _Optional[str] = ...) -> None: ... def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., tenant_id: _Optional[str] = ...) -> None: ...
class ListDeviceProfilesResponse(_message.Message): class ListDeviceProfilesResponse(_message.Message):
__slots__ = ["result", "total_count"] __slots__ = ["total_count", "result"]
RESULT_FIELD_NUMBER: _ClassVar[int]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
result: _containers.RepeatedCompositeFieldContainer[DeviceProfileListItem] RESULT_FIELD_NUMBER: _ClassVar[int]
total_count: int total_count: int
result: _containers.RepeatedCompositeFieldContainer[DeviceProfileListItem]
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[DeviceProfileListItem, _Mapping]]] = ...) -> None: ... def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[DeviceProfileListItem, _Mapping]]] = ...) -> None: ...
class Measurement(_message.Message): class ListDeviceProfileAdrAlgorithmsResponse(_message.Message):
__slots__ = ["kind", "name"] __slots__ = ["total_count", "result"]
KIND_FIELD_NUMBER: _ClassVar[int] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
RESULT_FIELD_NUMBER: _ClassVar[int]
total_count: int
result: _containers.RepeatedCompositeFieldContainer[AdrAlgorithmListItem]
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[AdrAlgorithmListItem, _Mapping]]] = ...) -> None: ...
class AdrAlgorithmListItem(_message.Message):
__slots__ = ["id", "name"]
ID_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int]
kind: MeasurementKind id: str
name: str name: str
def __init__(self, name: _Optional[str] = ..., kind: _Optional[_Union[MeasurementKind, str]] = ...) -> None: ... def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ...
class UpdateDeviceProfileRequest(_message.Message):
__slots__ = ["device_profile"]
DEVICE_PROFILE_FIELD_NUMBER: _ClassVar[int]
device_profile: DeviceProfile
def __init__(self, device_profile: _Optional[_Union[DeviceProfile, _Mapping]] = ...) -> None: ...
class CodecRuntime(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
class MeasurementKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
class CadPeriodicity(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
class SecondChAckOffset(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
class RelayModeActivation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []

View File

@ -2,10 +2,10 @@
# Generated by the protocol buffer compiler. DO NOT EDIT! # Generated by the protocol buffer compiler. DO NOT EDIT!
# source: chirpstack-api/api/device_profile_template.proto # source: chirpstack-api/api/device_profile_template.proto
"""Generated protocol buffer code.""" """Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -20,8 +20,9 @@ from chirpstack_api.api import device_profile_pb2 as chirpstack__api_dot_api_dot
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0chirpstack-api/api/device_profile_template.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"chirpstack-api/common/common.proto\x1a\'chirpstack-api/api/device_profile.proto\"\xf6\x07\n\x15\x44\x65viceProfileTemplate\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0e\n\x06vendor\x18\x04 \x01(\t\x12\x10\n\x08\x66irmware\x18\x05 \x01(\t\x12\x1e\n\x06region\x18\x06 \x01(\x0e\x32\x0e.common.Region\x12\'\n\x0bmac_version\x18\x07 \x01(\x0e\x32\x12.common.MacVersion\x12\x36\n\x13reg_params_revision\x18\x08 \x01(\x0e\x32\x19.common.RegParamsRevision\x12\x18\n\x10\x61\x64r_algorithm_id\x18\t \x01(\t\x12\x30\n\x15payload_codec_runtime\x18\n \x01(\x0e\x32\x11.api.CodecRuntime\x12\x1c\n\x14payload_codec_script\x18\x0b \x01(\t\x12\x1f\n\x17\x66lush_queue_on_activate\x18\x0c \x01(\x08\x12\x17\n\x0fuplink_interval\x18\r \x01(\r\x12\"\n\x1a\x64\x65vice_status_req_interval\x18\x0e \x01(\r\x12\x15\n\rsupports_otaa\x18\x0f \x01(\x08\x12\x18\n\x10supports_class_b\x18\x10 \x01(\x08\x12\x18\n\x10supports_class_c\x18\x11 \x01(\x08\x12\x17\n\x0f\x63lass_b_timeout\x18\x12 \x01(\r\x12\x1e\n\x16\x63lass_b_ping_slot_nb_k\x18\x13 \x01(\r\x12\x1c\n\x14\x63lass_b_ping_slot_dr\x18\x14 \x01(\r\x12\x1e\n\x16\x63lass_b_ping_slot_freq\x18\x15 \x01(\r\x12\x17\n\x0f\x63lass_c_timeout\x18\x16 \x01(\r\x12\x15\n\rabp_rx1_delay\x18\x17 \x01(\r\x12\x19\n\x11\x61\x62p_rx1_dr_offset\x18\x18 \x01(\r\x12\x12\n\nabp_rx2_dr\x18\x19 \x01(\r\x12\x14\n\x0c\x61\x62p_rx2_freq\x18\x1a \x01(\r\x12\x32\n\x04tags\x18\x1b \x03(\x0b\x32$.api.DeviceProfileTemplate.TagsEntry\x12\x42\n\x0cmeasurements\x18\x1c \x03(\x0b\x32,.api.DeviceProfileTemplate.MeasurementsEntry\x12 \n\x18\x61uto_detect_measurements\x18\x1d \x01(\x08\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x45\n\x11MeasurementsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.api.Measurement:\x02\x38\x01\"\x87\x03\n\x1d\x44\x65viceProfileTemplateListItem\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0e\n\x06vendor\x18\x05 \x01(\t\x12\x10\n\x08\x66irmware\x18\x06 \x01(\t\x12\x1e\n\x06region\x18\x07 \x01(\x0e\x32\x0e.common.Region\x12\'\n\x0bmac_version\x18\x08 \x01(\x0e\x32\x12.common.MacVersion\x12\x36\n\x13reg_params_revision\x18\t \x01(\x0e\x32\x19.common.RegParamsRevision\x12\x15\n\rsupports_otaa\x18\n \x01(\x08\x12\x18\n\x10supports_class_b\x18\x0b \x01(\x08\x12\x18\n\x10supports_class_c\x18\x0c \x01(\x08\"a\n\"CreateDeviceProfileTemplateRequest\x12;\n\x17\x64\x65vice_profile_template\x18\x01 \x01(\x0b\x32\x1a.api.DeviceProfileTemplate\"-\n\x1fGetDeviceProfileTemplateRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\xbf\x01\n GetDeviceProfileTemplateResponse\x12;\n\x17\x64\x65vice_profile_template\x18\x01 \x01(\x0b\x32\x1a.api.DeviceProfileTemplate\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"a\n\"UpdateDeviceProfileTemplateRequest\x12;\n\x17\x64\x65vice_profile_template\x18\x01 \x01(\x0b\x32\x1a.api.DeviceProfileTemplate\"0\n\"DeleteDeviceProfileTemplateRequest\x12\n\n\x02id\x18\x01 \x01(\t\"B\n!ListDeviceProfileTemplatesRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\"m\n\"ListDeviceProfileTemplatesResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12\x32\n\x06result\x18\x02 \x03(\x0b\x32\".api.DeviceProfileTemplateListItem2\x9d\x05\n\x1c\x44\x65viceProfileTemplateService\x12s\n\x06\x43reate\x12\'.api.CreateDeviceProfileTemplateRequest\x1a\x16.google.protobuf.Empty\"(\x82\xd3\xe4\x93\x02\"\"\x1d/api/device-profile-templates:\x01*\x12~\n\x03Get\x12$.api.GetDeviceProfileTemplateRequest\x1a%.api.GetDeviceProfileTemplateResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/api/device-profile-templates/{id}\x12\x90\x01\n\x06Update\x12\'.api.UpdateDeviceProfileTemplateRequest\x1a\x16.google.protobuf.Empty\"E\x82\xd3\xe4\x93\x02?\x1a:/api/device-profile-templates/{device_profile_template.id}:\x01*\x12u\n\x06\x44\x65lete\x12\'.api.DeleteDeviceProfileTemplateRequest\x1a\x16.google.protobuf.Empty\"*\x82\xd3\xe4\x93\x02$*\"/api/device-profile-templates/{id}\x12~\n\x04List\x12&.api.ListDeviceProfileTemplatesRequest\x1a\'.api.ListDeviceProfileTemplatesResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/api/device-profile-templatesBr\n\x11io.chirpstack.apiB\x1a\x44\x65viceProfileTemplateProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0chirpstack-api/api/device_profile_template.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"chirpstack-api/common/common.proto\x1a\'chirpstack-api/api/device_profile.proto\"\xf6\x07\n\x15\x44\x65viceProfileTemplate\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0e\n\x06vendor\x18\x04 \x01(\t\x12\x10\n\x08\x66irmware\x18\x05 \x01(\t\x12\x1e\n\x06region\x18\x06 \x01(\x0e\x32\x0e.common.Region\x12\'\n\x0bmac_version\x18\x07 \x01(\x0e\x32\x12.common.MacVersion\x12\x36\n\x13reg_params_revision\x18\x08 \x01(\x0e\x32\x19.common.RegParamsRevision\x12\x18\n\x10\x61\x64r_algorithm_id\x18\t \x01(\t\x12\x30\n\x15payload_codec_runtime\x18\n \x01(\x0e\x32\x11.api.CodecRuntime\x12\x1c\n\x14payload_codec_script\x18\x0b \x01(\t\x12\x1f\n\x17\x66lush_queue_on_activate\x18\x0c \x01(\x08\x12\x17\n\x0fuplink_interval\x18\r \x01(\r\x12\"\n\x1a\x64\x65vice_status_req_interval\x18\x0e \x01(\r\x12\x15\n\rsupports_otaa\x18\x0f \x01(\x08\x12\x18\n\x10supports_class_b\x18\x10 \x01(\x08\x12\x18\n\x10supports_class_c\x18\x11 \x01(\x08\x12\x17\n\x0f\x63lass_b_timeout\x18\x12 \x01(\r\x12\x1e\n\x16\x63lass_b_ping_slot_nb_k\x18\x13 \x01(\r\x12\x1c\n\x14\x63lass_b_ping_slot_dr\x18\x14 \x01(\r\x12\x1e\n\x16\x63lass_b_ping_slot_freq\x18\x15 \x01(\r\x12\x17\n\x0f\x63lass_c_timeout\x18\x16 \x01(\r\x12\x15\n\rabp_rx1_delay\x18\x17 \x01(\r\x12\x19\n\x11\x61\x62p_rx1_dr_offset\x18\x18 \x01(\r\x12\x12\n\nabp_rx2_dr\x18\x19 \x01(\r\x12\x14\n\x0c\x61\x62p_rx2_freq\x18\x1a \x01(\r\x12\x32\n\x04tags\x18\x1b \x03(\x0b\x32$.api.DeviceProfileTemplate.TagsEntry\x12\x42\n\x0cmeasurements\x18\x1c \x03(\x0b\x32,.api.DeviceProfileTemplate.MeasurementsEntry\x12 \n\x18\x61uto_detect_measurements\x18\x1d \x01(\x08\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x45\n\x11MeasurementsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.api.Measurement:\x02\x38\x01\"\x87\x03\n\x1d\x44\x65viceProfileTemplateListItem\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0e\n\x06vendor\x18\x05 \x01(\t\x12\x10\n\x08\x66irmware\x18\x06 \x01(\t\x12\x1e\n\x06region\x18\x07 \x01(\x0e\x32\x0e.common.Region\x12\'\n\x0bmac_version\x18\x08 \x01(\x0e\x32\x12.common.MacVersion\x12\x36\n\x13reg_params_revision\x18\t \x01(\x0e\x32\x19.common.RegParamsRevision\x12\x15\n\rsupports_otaa\x18\n \x01(\x08\x12\x18\n\x10supports_class_b\x18\x0b \x01(\x08\x12\x18\n\x10supports_class_c\x18\x0c \x01(\x08\"a\n\"CreateDeviceProfileTemplateRequest\x12;\n\x17\x64\x65vice_profile_template\x18\x01 \x01(\x0b\x32\x1a.api.DeviceProfileTemplate\"-\n\x1fGetDeviceProfileTemplateRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\xbf\x01\n GetDeviceProfileTemplateResponse\x12;\n\x17\x64\x65vice_profile_template\x18\x01 \x01(\x0b\x32\x1a.api.DeviceProfileTemplate\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"a\n\"UpdateDeviceProfileTemplateRequest\x12;\n\x17\x64\x65vice_profile_template\x18\x01 \x01(\x0b\x32\x1a.api.DeviceProfileTemplate\"0\n\"DeleteDeviceProfileTemplateRequest\x12\n\n\x02id\x18\x01 \x01(\t\"B\n!ListDeviceProfileTemplatesRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\"m\n\"ListDeviceProfileTemplatesResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12\x32\n\x06result\x18\x02 \x03(\x0b\x32\".api.DeviceProfileTemplateListItem2\x9d\x05\n\x1c\x44\x65viceProfileTemplateService\x12s\n\x06\x43reate\x12\'.api.CreateDeviceProfileTemplateRequest\x1a\x16.google.protobuf.Empty\"(\x82\xd3\xe4\x93\x02\"\"\x1d/api/device-profile-templates:\x01*\x12~\n\x03Get\x12$.api.GetDeviceProfileTemplateRequest\x1a%.api.GetDeviceProfileTemplateResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/api/device-profile-templates/{id}\x12\x90\x01\n\x06Update\x12\'.api.UpdateDeviceProfileTemplateRequest\x1a\x16.google.protobuf.Empty\"E\x82\xd3\xe4\x93\x02?\x1a:/api/device-profile-templates/{device_profile_template.id}:\x01*\x12u\n\x06\x44\x65lete\x12\'.api.DeleteDeviceProfileTemplateRequest\x1a\x16.google.protobuf.Empty\"*\x82\xd3\xe4\x93\x02$*\"/api/device-profile-templates/{id}\x12~\n\x04List\x12&.api.ListDeviceProfileTemplatesRequest\x1a\'.api.ListDeviceProfileTemplatesResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/api/device-profile-templatesBr\n\x11io.chirpstack.apiB\x1a\x44\x65viceProfileTemplateProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3')
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _globals = globals()
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.device_profile_template_pb2', globals()) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.device_profile_template_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False: if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None DESCRIPTOR._options = None
@ -40,28 +41,28 @@ if _descriptor._USE_C_DESCRIPTORS == False:
_DEVICEPROFILETEMPLATESERVICE.methods_by_name['Delete']._serialized_options = b'\202\323\344\223\002$*\"/api/device-profile-templates/{id}' _DEVICEPROFILETEMPLATESERVICE.methods_by_name['Delete']._serialized_options = b'\202\323\344\223\002$*\"/api/device-profile-templates/{id}'
_DEVICEPROFILETEMPLATESERVICE.methods_by_name['List']._options = None _DEVICEPROFILETEMPLATESERVICE.methods_by_name['List']._options = None
_DEVICEPROFILETEMPLATESERVICE.methods_by_name['List']._serialized_options = b'\202\323\344\223\002\037\022\035/api/device-profile-templates' _DEVICEPROFILETEMPLATESERVICE.methods_by_name['List']._serialized_options = b'\202\323\344\223\002\037\022\035/api/device-profile-templates'
_DEVICEPROFILETEMPLATE._serialized_start=227 _globals['_DEVICEPROFILETEMPLATE']._serialized_start=227
_DEVICEPROFILETEMPLATE._serialized_end=1241 _globals['_DEVICEPROFILETEMPLATE']._serialized_end=1241
_DEVICEPROFILETEMPLATE_TAGSENTRY._serialized_start=1127 _globals['_DEVICEPROFILETEMPLATE_TAGSENTRY']._serialized_start=1127
_DEVICEPROFILETEMPLATE_TAGSENTRY._serialized_end=1170 _globals['_DEVICEPROFILETEMPLATE_TAGSENTRY']._serialized_end=1170
_DEVICEPROFILETEMPLATE_MEASUREMENTSENTRY._serialized_start=1172 _globals['_DEVICEPROFILETEMPLATE_MEASUREMENTSENTRY']._serialized_start=1172
_DEVICEPROFILETEMPLATE_MEASUREMENTSENTRY._serialized_end=1241 _globals['_DEVICEPROFILETEMPLATE_MEASUREMENTSENTRY']._serialized_end=1241
_DEVICEPROFILETEMPLATELISTITEM._serialized_start=1244 _globals['_DEVICEPROFILETEMPLATELISTITEM']._serialized_start=1244
_DEVICEPROFILETEMPLATELISTITEM._serialized_end=1635 _globals['_DEVICEPROFILETEMPLATELISTITEM']._serialized_end=1635
_CREATEDEVICEPROFILETEMPLATEREQUEST._serialized_start=1637 _globals['_CREATEDEVICEPROFILETEMPLATEREQUEST']._serialized_start=1637
_CREATEDEVICEPROFILETEMPLATEREQUEST._serialized_end=1734 _globals['_CREATEDEVICEPROFILETEMPLATEREQUEST']._serialized_end=1734
_GETDEVICEPROFILETEMPLATEREQUEST._serialized_start=1736 _globals['_GETDEVICEPROFILETEMPLATEREQUEST']._serialized_start=1736
_GETDEVICEPROFILETEMPLATEREQUEST._serialized_end=1781 _globals['_GETDEVICEPROFILETEMPLATEREQUEST']._serialized_end=1781
_GETDEVICEPROFILETEMPLATERESPONSE._serialized_start=1784 _globals['_GETDEVICEPROFILETEMPLATERESPONSE']._serialized_start=1784
_GETDEVICEPROFILETEMPLATERESPONSE._serialized_end=1975 _globals['_GETDEVICEPROFILETEMPLATERESPONSE']._serialized_end=1975
_UPDATEDEVICEPROFILETEMPLATEREQUEST._serialized_start=1977 _globals['_UPDATEDEVICEPROFILETEMPLATEREQUEST']._serialized_start=1977
_UPDATEDEVICEPROFILETEMPLATEREQUEST._serialized_end=2074 _globals['_UPDATEDEVICEPROFILETEMPLATEREQUEST']._serialized_end=2074
_DELETEDEVICEPROFILETEMPLATEREQUEST._serialized_start=2076 _globals['_DELETEDEVICEPROFILETEMPLATEREQUEST']._serialized_start=2076
_DELETEDEVICEPROFILETEMPLATEREQUEST._serialized_end=2124 _globals['_DELETEDEVICEPROFILETEMPLATEREQUEST']._serialized_end=2124
_LISTDEVICEPROFILETEMPLATESREQUEST._serialized_start=2126 _globals['_LISTDEVICEPROFILETEMPLATESREQUEST']._serialized_start=2126
_LISTDEVICEPROFILETEMPLATESREQUEST._serialized_end=2192 _globals['_LISTDEVICEPROFILETEMPLATESREQUEST']._serialized_end=2192
_LISTDEVICEPROFILETEMPLATESRESPONSE._serialized_start=2194 _globals['_LISTDEVICEPROFILETEMPLATESRESPONSE']._serialized_start=2194
_LISTDEVICEPROFILETEMPLATESRESPONSE._serialized_end=2303 _globals['_LISTDEVICEPROFILETEMPLATESRESPONSE']._serialized_end=2303
_DEVICEPROFILETEMPLATESERVICE._serialized_start=2306 _globals['_DEVICEPROFILETEMPLATESERVICE']._serialized_start=2306
_DEVICEPROFILETEMPLATESERVICE._serialized_end=2975 _globals['_DEVICEPROFILETEMPLATESERVICE']._serialized_end=2975
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -10,138 +10,144 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map
DESCRIPTOR: _descriptor.FileDescriptor DESCRIPTOR: _descriptor.FileDescriptor
class DeviceProfileTemplate(_message.Message):
__slots__ = ["id", "name", "description", "vendor", "firmware", "region", "mac_version", "reg_params_revision", "adr_algorithm_id", "payload_codec_runtime", "payload_codec_script", "flush_queue_on_activate", "uplink_interval", "device_status_req_interval", "supports_otaa", "supports_class_b", "supports_class_c", "class_b_timeout", "class_b_ping_slot_nb_k", "class_b_ping_slot_dr", "class_b_ping_slot_freq", "class_c_timeout", "abp_rx1_delay", "abp_rx1_dr_offset", "abp_rx2_dr", "abp_rx2_freq", "tags", "measurements", "auto_detect_measurements"]
class TagsEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
class MeasurementsEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: _device_profile_pb2.Measurement
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_device_profile_pb2.Measurement, _Mapping]] = ...) -> None: ...
ID_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
VENDOR_FIELD_NUMBER: _ClassVar[int]
FIRMWARE_FIELD_NUMBER: _ClassVar[int]
REGION_FIELD_NUMBER: _ClassVar[int]
MAC_VERSION_FIELD_NUMBER: _ClassVar[int]
REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int]
ADR_ALGORITHM_ID_FIELD_NUMBER: _ClassVar[int]
PAYLOAD_CODEC_RUNTIME_FIELD_NUMBER: _ClassVar[int]
PAYLOAD_CODEC_SCRIPT_FIELD_NUMBER: _ClassVar[int]
FLUSH_QUEUE_ON_ACTIVATE_FIELD_NUMBER: _ClassVar[int]
UPLINK_INTERVAL_FIELD_NUMBER: _ClassVar[int]
DEVICE_STATUS_REQ_INTERVAL_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int]
CLASS_B_TIMEOUT_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_NB_K_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_DR_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_FREQ_FIELD_NUMBER: _ClassVar[int]
CLASS_C_TIMEOUT_FIELD_NUMBER: _ClassVar[int]
ABP_RX1_DELAY_FIELD_NUMBER: _ClassVar[int]
ABP_RX1_DR_OFFSET_FIELD_NUMBER: _ClassVar[int]
ABP_RX2_DR_FIELD_NUMBER: _ClassVar[int]
ABP_RX2_FREQ_FIELD_NUMBER: _ClassVar[int]
TAGS_FIELD_NUMBER: _ClassVar[int]
MEASUREMENTS_FIELD_NUMBER: _ClassVar[int]
AUTO_DETECT_MEASUREMENTS_FIELD_NUMBER: _ClassVar[int]
id: str
name: str
description: str
vendor: str
firmware: str
region: _common_pb2.Region
mac_version: _common_pb2.MacVersion
reg_params_revision: _common_pb2.RegParamsRevision
adr_algorithm_id: str
payload_codec_runtime: _device_profile_pb2.CodecRuntime
payload_codec_script: str
flush_queue_on_activate: bool
uplink_interval: int
device_status_req_interval: int
supports_otaa: bool
supports_class_b: bool
supports_class_c: bool
class_b_timeout: int
class_b_ping_slot_nb_k: int
class_b_ping_slot_dr: int
class_b_ping_slot_freq: int
class_c_timeout: int
abp_rx1_delay: int
abp_rx1_dr_offset: int
abp_rx2_dr: int
abp_rx2_freq: int
tags: _containers.ScalarMap[str, str]
measurements: _containers.MessageMap[str, _device_profile_pb2.Measurement]
auto_detect_measurements: bool
def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., vendor: _Optional[str] = ..., firmware: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., adr_algorithm_id: _Optional[str] = ..., payload_codec_runtime: _Optional[_Union[_device_profile_pb2.CodecRuntime, str]] = ..., payload_codec_script: _Optional[str] = ..., flush_queue_on_activate: bool = ..., uplink_interval: _Optional[int] = ..., device_status_req_interval: _Optional[int] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ..., class_b_timeout: _Optional[int] = ..., class_b_ping_slot_nb_k: _Optional[int] = ..., class_b_ping_slot_dr: _Optional[int] = ..., class_b_ping_slot_freq: _Optional[int] = ..., class_c_timeout: _Optional[int] = ..., abp_rx1_delay: _Optional[int] = ..., abp_rx1_dr_offset: _Optional[int] = ..., abp_rx2_dr: _Optional[int] = ..., abp_rx2_freq: _Optional[int] = ..., tags: _Optional[_Mapping[str, str]] = ..., measurements: _Optional[_Mapping[str, _device_profile_pb2.Measurement]] = ..., auto_detect_measurements: bool = ...) -> None: ...
class DeviceProfileTemplateListItem(_message.Message):
__slots__ = ["id", "created_at", "updated_at", "name", "vendor", "firmware", "region", "mac_version", "reg_params_revision", "supports_otaa", "supports_class_b", "supports_class_c"]
ID_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
VENDOR_FIELD_NUMBER: _ClassVar[int]
FIRMWARE_FIELD_NUMBER: _ClassVar[int]
REGION_FIELD_NUMBER: _ClassVar[int]
MAC_VERSION_FIELD_NUMBER: _ClassVar[int]
REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int]
id: str
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
name: str
vendor: str
firmware: str
region: _common_pb2.Region
mac_version: _common_pb2.MacVersion
reg_params_revision: _common_pb2.RegParamsRevision
supports_otaa: bool
supports_class_b: bool
supports_class_c: bool
def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., vendor: _Optional[str] = ..., firmware: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ...) -> None: ...
class CreateDeviceProfileTemplateRequest(_message.Message): class CreateDeviceProfileTemplateRequest(_message.Message):
__slots__ = ["device_profile_template"] __slots__ = ["device_profile_template"]
DEVICE_PROFILE_TEMPLATE_FIELD_NUMBER: _ClassVar[int] DEVICE_PROFILE_TEMPLATE_FIELD_NUMBER: _ClassVar[int]
device_profile_template: DeviceProfileTemplate device_profile_template: DeviceProfileTemplate
def __init__(self, device_profile_template: _Optional[_Union[DeviceProfileTemplate, _Mapping]] = ...) -> None: ... def __init__(self, device_profile_template: _Optional[_Union[DeviceProfileTemplate, _Mapping]] = ...) -> None: ...
class GetDeviceProfileTemplateRequest(_message.Message):
__slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int]
id: str
def __init__(self, id: _Optional[str] = ...) -> None: ...
class GetDeviceProfileTemplateResponse(_message.Message):
__slots__ = ["device_profile_template", "created_at", "updated_at"]
DEVICE_PROFILE_TEMPLATE_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
device_profile_template: DeviceProfileTemplate
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
def __init__(self, device_profile_template: _Optional[_Union[DeviceProfileTemplate, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
class UpdateDeviceProfileTemplateRequest(_message.Message):
__slots__ = ["device_profile_template"]
DEVICE_PROFILE_TEMPLATE_FIELD_NUMBER: _ClassVar[int]
device_profile_template: DeviceProfileTemplate
def __init__(self, device_profile_template: _Optional[_Union[DeviceProfileTemplate, _Mapping]] = ...) -> None: ...
class DeleteDeviceProfileTemplateRequest(_message.Message): class DeleteDeviceProfileTemplateRequest(_message.Message):
__slots__ = ["id"] __slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int] ID_FIELD_NUMBER: _ClassVar[int]
id: str id: str
def __init__(self, id: _Optional[str] = ...) -> None: ... def __init__(self, id: _Optional[str] = ...) -> None: ...
class DeviceProfileTemplate(_message.Message):
__slots__ = ["abp_rx1_delay", "abp_rx1_dr_offset", "abp_rx2_dr", "abp_rx2_freq", "adr_algorithm_id", "auto_detect_measurements", "class_b_ping_slot_dr", "class_b_ping_slot_freq", "class_b_ping_slot_nb_k", "class_b_timeout", "class_c_timeout", "description", "device_status_req_interval", "firmware", "flush_queue_on_activate", "id", "mac_version", "measurements", "name", "payload_codec_runtime", "payload_codec_script", "reg_params_revision", "region", "supports_class_b", "supports_class_c", "supports_otaa", "tags", "uplink_interval", "vendor"]
class MeasurementsEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: _device_profile_pb2.Measurement
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_device_profile_pb2.Measurement, _Mapping]] = ...) -> None: ...
class TagsEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
ABP_RX1_DELAY_FIELD_NUMBER: _ClassVar[int]
ABP_RX1_DR_OFFSET_FIELD_NUMBER: _ClassVar[int]
ABP_RX2_DR_FIELD_NUMBER: _ClassVar[int]
ABP_RX2_FREQ_FIELD_NUMBER: _ClassVar[int]
ADR_ALGORITHM_ID_FIELD_NUMBER: _ClassVar[int]
AUTO_DETECT_MEASUREMENTS_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_DR_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_FREQ_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_NB_K_FIELD_NUMBER: _ClassVar[int]
CLASS_B_TIMEOUT_FIELD_NUMBER: _ClassVar[int]
CLASS_C_TIMEOUT_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
DEVICE_STATUS_REQ_INTERVAL_FIELD_NUMBER: _ClassVar[int]
FIRMWARE_FIELD_NUMBER: _ClassVar[int]
FLUSH_QUEUE_ON_ACTIVATE_FIELD_NUMBER: _ClassVar[int]
ID_FIELD_NUMBER: _ClassVar[int]
MAC_VERSION_FIELD_NUMBER: _ClassVar[int]
MEASUREMENTS_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
PAYLOAD_CODEC_RUNTIME_FIELD_NUMBER: _ClassVar[int]
PAYLOAD_CODEC_SCRIPT_FIELD_NUMBER: _ClassVar[int]
REGION_FIELD_NUMBER: _ClassVar[int]
REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int]
TAGS_FIELD_NUMBER: _ClassVar[int]
UPLINK_INTERVAL_FIELD_NUMBER: _ClassVar[int]
VENDOR_FIELD_NUMBER: _ClassVar[int]
abp_rx1_delay: int
abp_rx1_dr_offset: int
abp_rx2_dr: int
abp_rx2_freq: int
adr_algorithm_id: str
auto_detect_measurements: bool
class_b_ping_slot_dr: int
class_b_ping_slot_freq: int
class_b_ping_slot_nb_k: int
class_b_timeout: int
class_c_timeout: int
description: str
device_status_req_interval: int
firmware: str
flush_queue_on_activate: bool
id: str
mac_version: _common_pb2.MacVersion
measurements: _containers.MessageMap[str, _device_profile_pb2.Measurement]
name: str
payload_codec_runtime: _device_profile_pb2.CodecRuntime
payload_codec_script: str
reg_params_revision: _common_pb2.RegParamsRevision
region: _common_pb2.Region
supports_class_b: bool
supports_class_c: bool
supports_otaa: bool
tags: _containers.ScalarMap[str, str]
uplink_interval: int
vendor: str
def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., vendor: _Optional[str] = ..., firmware: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., adr_algorithm_id: _Optional[str] = ..., payload_codec_runtime: _Optional[_Union[_device_profile_pb2.CodecRuntime, str]] = ..., payload_codec_script: _Optional[str] = ..., flush_queue_on_activate: bool = ..., uplink_interval: _Optional[int] = ..., device_status_req_interval: _Optional[int] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ..., class_b_timeout: _Optional[int] = ..., class_b_ping_slot_nb_k: _Optional[int] = ..., class_b_ping_slot_dr: _Optional[int] = ..., class_b_ping_slot_freq: _Optional[int] = ..., class_c_timeout: _Optional[int] = ..., abp_rx1_delay: _Optional[int] = ..., abp_rx1_dr_offset: _Optional[int] = ..., abp_rx2_dr: _Optional[int] = ..., abp_rx2_freq: _Optional[int] = ..., tags: _Optional[_Mapping[str, str]] = ..., measurements: _Optional[_Mapping[str, _device_profile_pb2.Measurement]] = ..., auto_detect_measurements: bool = ...) -> None: ...
class DeviceProfileTemplateListItem(_message.Message):
__slots__ = ["created_at", "firmware", "id", "mac_version", "name", "reg_params_revision", "region", "supports_class_b", "supports_class_c", "supports_otaa", "updated_at", "vendor"]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
FIRMWARE_FIELD_NUMBER: _ClassVar[int]
ID_FIELD_NUMBER: _ClassVar[int]
MAC_VERSION_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
REGION_FIELD_NUMBER: _ClassVar[int]
REG_PARAMS_REVISION_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_B_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_CLASS_C_FIELD_NUMBER: _ClassVar[int]
SUPPORTS_OTAA_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
VENDOR_FIELD_NUMBER: _ClassVar[int]
created_at: _timestamp_pb2.Timestamp
firmware: str
id: str
mac_version: _common_pb2.MacVersion
name: str
reg_params_revision: _common_pb2.RegParamsRevision
region: _common_pb2.Region
supports_class_b: bool
supports_class_c: bool
supports_otaa: bool
updated_at: _timestamp_pb2.Timestamp
vendor: str
def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., vendor: _Optional[str] = ..., firmware: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mac_version: _Optional[_Union[_common_pb2.MacVersion, str]] = ..., reg_params_revision: _Optional[_Union[_common_pb2.RegParamsRevision, str]] = ..., supports_otaa: bool = ..., supports_class_b: bool = ..., supports_class_c: bool = ...) -> None: ...
class GetDeviceProfileTemplateRequest(_message.Message):
__slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int]
id: str
def __init__(self, id: _Optional[str] = ...) -> None: ...
class GetDeviceProfileTemplateResponse(_message.Message):
__slots__ = ["created_at", "device_profile_template", "updated_at"]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
DEVICE_PROFILE_TEMPLATE_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
created_at: _timestamp_pb2.Timestamp
device_profile_template: DeviceProfileTemplate
updated_at: _timestamp_pb2.Timestamp
def __init__(self, device_profile_template: _Optional[_Union[DeviceProfileTemplate, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
class ListDeviceProfileTemplatesRequest(_message.Message): class ListDeviceProfileTemplatesRequest(_message.Message):
__slots__ = ["limit", "offset"] __slots__ = ["limit", "offset"]
LIMIT_FIELD_NUMBER: _ClassVar[int] LIMIT_FIELD_NUMBER: _ClassVar[int]
@ -151,15 +157,9 @@ class ListDeviceProfileTemplatesRequest(_message.Message):
def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ...) -> None: ... def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ...) -> None: ...
class ListDeviceProfileTemplatesResponse(_message.Message): class ListDeviceProfileTemplatesResponse(_message.Message):
__slots__ = ["result", "total_count"] __slots__ = ["total_count", "result"]
RESULT_FIELD_NUMBER: _ClassVar[int]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
result: _containers.RepeatedCompositeFieldContainer[DeviceProfileTemplateListItem] RESULT_FIELD_NUMBER: _ClassVar[int]
total_count: int total_count: int
result: _containers.RepeatedCompositeFieldContainer[DeviceProfileTemplateListItem]
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[DeviceProfileTemplateListItem, _Mapping]]] = ...) -> None: ... def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[DeviceProfileTemplateListItem, _Mapping]]] = ...) -> None: ...
class UpdateDeviceProfileTemplateRequest(_message.Message):
__slots__ = ["device_profile_template"]
DEVICE_PROFILE_TEMPLATE_FIELD_NUMBER: _ClassVar[int]
device_profile_template: DeviceProfileTemplate
def __init__(self, device_profile_template: _Optional[_Union[DeviceProfileTemplate, _Mapping]] = ...) -> None: ...

View File

@ -2,10 +2,10 @@
# Generated by the protocol buffer compiler. DO NOT EDIT! # Generated by the protocol buffer compiler. DO NOT EDIT!
# source: chirpstack-api/api/frame_log.proto # source: chirpstack-api/api/frame_log.proto
"""Generated protocol buffer code.""" """Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -18,14 +18,15 @@ from chirpstack_api.gw import gw_pb2 as chirpstack__api_dot_gw_dot_gw__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"chirpstack-api/api/frame_log.proto\x12\x03\x61pi\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"chirpstack-api/common/common.proto\x1a\x1a\x63hirpstack-api/gw/gw.proto\"\x90\x02\n\x0eUplinkFrameLog\x12\x13\n\x0bphy_payload\x18\x01 \x01(\x0c\x12!\n\x07tx_info\x18\x02 \x01(\x0b\x32\x10.gw.UplinkTxInfo\x12!\n\x07rx_info\x18\x03 \x03(\x0b\x32\x10.gw.UplinkRxInfo\x12\x1d\n\x06m_type\x18\x04 \x01(\x0e\x32\r.common.MType\x12\x10\n\x08\x64\x65v_addr\x18\x05 \x01(\t\x12\x0f\n\x07\x64\x65v_eui\x18\x06 \x01(\t\x12(\n\x04time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10plaintext_f_opts\x18\x08 \x01(\x08\x12\x1d\n\x15plaintext_frm_payload\x18\t \x01(\x08\"\x9a\x02\n\x10\x44ownlinkFrameLog\x12(\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0bphy_payload\x18\x02 \x01(\x0c\x12#\n\x07tx_info\x18\x03 \x01(\x0b\x32\x12.gw.DownlinkTxInfo\x12\x13\n\x0b\x64ownlink_id\x18\x04 \x01(\r\x12\x12\n\ngateway_id\x18\x05 \x01(\t\x12\x1d\n\x06m_type\x18\x06 \x01(\x0e\x32\r.common.MType\x12\x10\n\x08\x64\x65v_addr\x18\x07 \x01(\t\x12\x0f\n\x07\x64\x65v_eui\x18\x08 \x01(\t\x12\x18\n\x10plaintext_f_opts\x18\t \x01(\x08\x12\x1d\n\x15plaintext_frm_payload\x18\n \x01(\x08\x42\x65\n\x11io.chirpstack.apiB\rFrameLogProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"chirpstack-api/api/frame_log.proto\x12\x03\x61pi\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"chirpstack-api/common/common.proto\x1a\x1a\x63hirpstack-api/gw/gw.proto\"\x90\x02\n\x0eUplinkFrameLog\x12\x13\n\x0bphy_payload\x18\x01 \x01(\x0c\x12!\n\x07tx_info\x18\x02 \x01(\x0b\x32\x10.gw.UplinkTxInfo\x12!\n\x07rx_info\x18\x03 \x03(\x0b\x32\x10.gw.UplinkRxInfo\x12\x1d\n\x06m_type\x18\x04 \x01(\x0e\x32\r.common.MType\x12\x10\n\x08\x64\x65v_addr\x18\x05 \x01(\t\x12\x0f\n\x07\x64\x65v_eui\x18\x06 \x01(\t\x12(\n\x04time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10plaintext_f_opts\x18\x08 \x01(\x08\x12\x1d\n\x15plaintext_frm_payload\x18\t \x01(\x08\"\x9a\x02\n\x10\x44ownlinkFrameLog\x12(\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0bphy_payload\x18\x02 \x01(\x0c\x12#\n\x07tx_info\x18\x03 \x01(\x0b\x32\x12.gw.DownlinkTxInfo\x12\x13\n\x0b\x64ownlink_id\x18\x04 \x01(\r\x12\x12\n\ngateway_id\x18\x05 \x01(\t\x12\x1d\n\x06m_type\x18\x06 \x01(\x0e\x32\r.common.MType\x12\x10\n\x08\x64\x65v_addr\x18\x07 \x01(\t\x12\x0f\n\x07\x64\x65v_eui\x18\x08 \x01(\t\x12\x18\n\x10plaintext_f_opts\x18\t \x01(\x08\x12\x1d\n\x15plaintext_frm_payload\x18\n \x01(\x08\x42\x65\n\x11io.chirpstack.apiB\rFrameLogProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3')
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _globals = globals()
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.frame_log_pb2', globals()) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.frame_log_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False: if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\021io.chirpstack.apiB\rFrameLogProtoP\001Z.github.com/chirpstack/chirpstack/api/go/v4/api\252\002\016Chirpstack.Api' DESCRIPTOR._serialized_options = b'\n\021io.chirpstack.apiB\rFrameLogProtoP\001Z.github.com/chirpstack/chirpstack/api/go/v4/api\252\002\016Chirpstack.Api'
_UPLINKFRAMELOG._serialized_start=141 _globals['_UPLINKFRAMELOG']._serialized_start=141
_UPLINKFRAMELOG._serialized_end=413 _globals['_UPLINKFRAMELOG']._serialized_end=413
_DOWNLINKFRAMELOG._serialized_start=416 _globals['_DOWNLINKFRAMELOG']._serialized_start=416
_DOWNLINKFRAMELOG._serialized_end=698 _globals['_DOWNLINKFRAMELOG']._serialized_end=698
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -8,48 +8,48 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map
DESCRIPTOR: _descriptor.FileDescriptor DESCRIPTOR: _descriptor.FileDescriptor
class DownlinkFrameLog(_message.Message): class UplinkFrameLog(_message.Message):
__slots__ = ["dev_addr", "dev_eui", "downlink_id", "gateway_id", "m_type", "phy_payload", "plaintext_f_opts", "plaintext_frm_payload", "time", "tx_info"] __slots__ = ["phy_payload", "tx_info", "rx_info", "m_type", "dev_addr", "dev_eui", "time", "plaintext_f_opts", "plaintext_frm_payload"]
PHY_PAYLOAD_FIELD_NUMBER: _ClassVar[int]
TX_INFO_FIELD_NUMBER: _ClassVar[int]
RX_INFO_FIELD_NUMBER: _ClassVar[int]
M_TYPE_FIELD_NUMBER: _ClassVar[int]
DEV_ADDR_FIELD_NUMBER: _ClassVar[int] DEV_ADDR_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
PLAINTEXT_F_OPTS_FIELD_NUMBER: _ClassVar[int]
PLAINTEXT_FRM_PAYLOAD_FIELD_NUMBER: _ClassVar[int]
phy_payload: bytes
tx_info: _gw_pb2.UplinkTxInfo
rx_info: _containers.RepeatedCompositeFieldContainer[_gw_pb2.UplinkRxInfo]
m_type: _common_pb2.MType
dev_addr: str
dev_eui: str
time: _timestamp_pb2.Timestamp
plaintext_f_opts: bool
plaintext_frm_payload: bool
def __init__(self, phy_payload: _Optional[bytes] = ..., tx_info: _Optional[_Union[_gw_pb2.UplinkTxInfo, _Mapping]] = ..., rx_info: _Optional[_Iterable[_Union[_gw_pb2.UplinkRxInfo, _Mapping]]] = ..., m_type: _Optional[_Union[_common_pb2.MType, str]] = ..., dev_addr: _Optional[str] = ..., dev_eui: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., plaintext_f_opts: bool = ..., plaintext_frm_payload: bool = ...) -> None: ...
class DownlinkFrameLog(_message.Message):
__slots__ = ["time", "phy_payload", "tx_info", "downlink_id", "gateway_id", "m_type", "dev_addr", "dev_eui", "plaintext_f_opts", "plaintext_frm_payload"]
TIME_FIELD_NUMBER: _ClassVar[int]
PHY_PAYLOAD_FIELD_NUMBER: _ClassVar[int]
TX_INFO_FIELD_NUMBER: _ClassVar[int]
DOWNLINK_ID_FIELD_NUMBER: _ClassVar[int] DOWNLINK_ID_FIELD_NUMBER: _ClassVar[int]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
M_TYPE_FIELD_NUMBER: _ClassVar[int] M_TYPE_FIELD_NUMBER: _ClassVar[int]
PHY_PAYLOAD_FIELD_NUMBER: _ClassVar[int] DEV_ADDR_FIELD_NUMBER: _ClassVar[int]
PLAINTEXT_FRM_PAYLOAD_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int]
PLAINTEXT_F_OPTS_FIELD_NUMBER: _ClassVar[int] PLAINTEXT_F_OPTS_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int] PLAINTEXT_FRM_PAYLOAD_FIELD_NUMBER: _ClassVar[int]
TX_INFO_FIELD_NUMBER: _ClassVar[int] time: _timestamp_pb2.Timestamp
dev_addr: str phy_payload: bytes
dev_eui: str tx_info: _gw_pb2.DownlinkTxInfo
downlink_id: int downlink_id: int
gateway_id: str gateway_id: str
m_type: _common_pb2.MType m_type: _common_pb2.MType
phy_payload: bytes
plaintext_f_opts: bool
plaintext_frm_payload: bool
time: _timestamp_pb2.Timestamp
tx_info: _gw_pb2.DownlinkTxInfo
def __init__(self, time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., phy_payload: _Optional[bytes] = ..., tx_info: _Optional[_Union[_gw_pb2.DownlinkTxInfo, _Mapping]] = ..., downlink_id: _Optional[int] = ..., gateway_id: _Optional[str] = ..., m_type: _Optional[_Union[_common_pb2.MType, str]] = ..., dev_addr: _Optional[str] = ..., dev_eui: _Optional[str] = ..., plaintext_f_opts: bool = ..., plaintext_frm_payload: bool = ...) -> None: ...
class UplinkFrameLog(_message.Message):
__slots__ = ["dev_addr", "dev_eui", "m_type", "phy_payload", "plaintext_f_opts", "plaintext_frm_payload", "rx_info", "time", "tx_info"]
DEV_ADDR_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
M_TYPE_FIELD_NUMBER: _ClassVar[int]
PHY_PAYLOAD_FIELD_NUMBER: _ClassVar[int]
PLAINTEXT_FRM_PAYLOAD_FIELD_NUMBER: _ClassVar[int]
PLAINTEXT_F_OPTS_FIELD_NUMBER: _ClassVar[int]
RX_INFO_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
TX_INFO_FIELD_NUMBER: _ClassVar[int]
dev_addr: str dev_addr: str
dev_eui: str dev_eui: str
m_type: _common_pb2.MType
phy_payload: bytes
plaintext_f_opts: bool plaintext_f_opts: bool
plaintext_frm_payload: bool plaintext_frm_payload: bool
rx_info: _containers.RepeatedCompositeFieldContainer[_gw_pb2.UplinkRxInfo] def __init__(self, time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., phy_payload: _Optional[bytes] = ..., tx_info: _Optional[_Union[_gw_pb2.DownlinkTxInfo, _Mapping]] = ..., downlink_id: _Optional[int] = ..., gateway_id: _Optional[str] = ..., m_type: _Optional[_Union[_common_pb2.MType, str]] = ..., dev_addr: _Optional[str] = ..., dev_eui: _Optional[str] = ..., plaintext_f_opts: bool = ..., plaintext_frm_payload: bool = ...) -> None: ...
time: _timestamp_pb2.Timestamp
tx_info: _gw_pb2.UplinkTxInfo
def __init__(self, phy_payload: _Optional[bytes] = ..., tx_info: _Optional[_Union[_gw_pb2.UplinkTxInfo, _Mapping]] = ..., rx_info: _Optional[_Iterable[_Union[_gw_pb2.UplinkRxInfo, _Mapping]]] = ..., m_type: _Optional[_Union[_common_pb2.MType, str]] = ..., dev_addr: _Optional[str] = ..., dev_eui: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., plaintext_f_opts: bool = ..., plaintext_frm_payload: bool = ...) -> None: ...

File diff suppressed because one or more lines are too long

View File

@ -9,9 +9,80 @@ from google.protobuf import message as _message
from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
DESCRIPTOR: _descriptor.FileDescriptor DESCRIPTOR: _descriptor.FileDescriptor
class GatewayState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
NEVER_SEEN: _ClassVar[GatewayState]
ONLINE: _ClassVar[GatewayState]
OFFLINE: _ClassVar[GatewayState]
NEVER_SEEN: GatewayState NEVER_SEEN: GatewayState
OFFLINE: GatewayState
ONLINE: GatewayState ONLINE: GatewayState
OFFLINE: GatewayState
class Gateway(_message.Message):
__slots__ = ["gateway_id", "name", "description", "location", "tenant_id", "tags", "metadata", "stats_interval"]
class TagsEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
class MetadataEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
LOCATION_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
TAGS_FIELD_NUMBER: _ClassVar[int]
METADATA_FIELD_NUMBER: _ClassVar[int]
STATS_INTERVAL_FIELD_NUMBER: _ClassVar[int]
gateway_id: str
name: str
description: str
location: _common_pb2.Location
tenant_id: str
tags: _containers.ScalarMap[str, str]
metadata: _containers.ScalarMap[str, str]
stats_interval: int
def __init__(self, gateway_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ..., tenant_id: _Optional[str] = ..., tags: _Optional[_Mapping[str, str]] = ..., metadata: _Optional[_Mapping[str, str]] = ..., stats_interval: _Optional[int] = ...) -> None: ...
class GatewayListItem(_message.Message):
__slots__ = ["tenant_id", "gateway_id", "name", "description", "location", "properties", "created_at", "updated_at", "last_seen_at", "state"]
class PropertiesEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
LOCATION_FIELD_NUMBER: _ClassVar[int]
PROPERTIES_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int]
STATE_FIELD_NUMBER: _ClassVar[int]
tenant_id: str
gateway_id: str
name: str
description: str
location: _common_pb2.Location
properties: _containers.ScalarMap[str, str]
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
last_seen_at: _timestamp_pb2.Timestamp
state: GatewayState
def __init__(self, tenant_id: _Optional[str] = ..., gateway_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ..., properties: _Optional[_Mapping[str, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., state: _Optional[_Union[GatewayState, str]] = ...) -> None: ...
class CreateGatewayRequest(_message.Message): class CreateGatewayRequest(_message.Message):
__slots__ = ["gateway"] __slots__ = ["gateway"]
@ -19,76 +90,57 @@ class CreateGatewayRequest(_message.Message):
gateway: Gateway gateway: Gateway
def __init__(self, gateway: _Optional[_Union[Gateway, _Mapping]] = ...) -> None: ... def __init__(self, gateway: _Optional[_Union[Gateway, _Mapping]] = ...) -> None: ...
class GetGatewayRequest(_message.Message):
__slots__ = ["gateway_id"]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
gateway_id: str
def __init__(self, gateway_id: _Optional[str] = ...) -> None: ...
class GetGatewayResponse(_message.Message):
__slots__ = ["gateway", "created_at", "updated_at", "last_seen_at"]
GATEWAY_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int]
gateway: Gateway
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
last_seen_at: _timestamp_pb2.Timestamp
def __init__(self, gateway: _Optional[_Union[Gateway, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
class UpdateGatewayRequest(_message.Message):
__slots__ = ["gateway"]
GATEWAY_FIELD_NUMBER: _ClassVar[int]
gateway: Gateway
def __init__(self, gateway: _Optional[_Union[Gateway, _Mapping]] = ...) -> None: ...
class DeleteGatewayRequest(_message.Message): class DeleteGatewayRequest(_message.Message):
__slots__ = ["gateway_id"] __slots__ = ["gateway_id"]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
gateway_id: str gateway_id: str
def __init__(self, gateway_id: _Optional[str] = ...) -> None: ... def __init__(self, gateway_id: _Optional[str] = ...) -> None: ...
class Gateway(_message.Message): class ListGatewaysRequest(_message.Message):
__slots__ = ["description", "gateway_id", "location", "metadata", "name", "stats_interval", "tags", "tenant_id"] __slots__ = ["limit", "offset", "search", "tenant_id", "multicast_group_id"]
class MetadataEntry(_message.Message): LIMIT_FIELD_NUMBER: _ClassVar[int]
__slots__ = ["key", "value"] OFFSET_FIELD_NUMBER: _ClassVar[int]
KEY_FIELD_NUMBER: _ClassVar[int] SEARCH_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
class TagsEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
LOCATION_FIELD_NUMBER: _ClassVar[int]
METADATA_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
STATS_INTERVAL_FIELD_NUMBER: _ClassVar[int]
TAGS_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int] TENANT_ID_FIELD_NUMBER: _ClassVar[int]
description: str MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
gateway_id: str limit: int
location: _common_pb2.Location offset: int
metadata: _containers.ScalarMap[str, str] search: str
name: str
stats_interval: int
tags: _containers.ScalarMap[str, str]
tenant_id: str tenant_id: str
def __init__(self, gateway_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ..., tenant_id: _Optional[str] = ..., tags: _Optional[_Mapping[str, str]] = ..., metadata: _Optional[_Mapping[str, str]] = ..., stats_interval: _Optional[int] = ...) -> None: ... multicast_group_id: str
def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., tenant_id: _Optional[str] = ..., multicast_group_id: _Optional[str] = ...) -> None: ...
class GatewayListItem(_message.Message): class ListGatewaysResponse(_message.Message):
__slots__ = ["created_at", "description", "gateway_id", "last_seen_at", "location", "name", "properties", "state", "tenant_id", "updated_at"] __slots__ = ["total_count", "result"]
class PropertiesEntry(_message.Message): TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
__slots__ = ["key", "value"] RESULT_FIELD_NUMBER: _ClassVar[int]
KEY_FIELD_NUMBER: _ClassVar[int] total_count: int
VALUE_FIELD_NUMBER: _ClassVar[int] result: _containers.RepeatedCompositeFieldContainer[GatewayListItem]
key: str def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[GatewayListItem, _Mapping]]] = ...) -> None: ...
value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int]
LOCATION_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
PROPERTIES_FIELD_NUMBER: _ClassVar[int]
STATE_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
created_at: _timestamp_pb2.Timestamp
description: str
gateway_id: str
last_seen_at: _timestamp_pb2.Timestamp
location: _common_pb2.Location
name: str
properties: _containers.ScalarMap[str, str]
state: GatewayState
tenant_id: str
updated_at: _timestamp_pb2.Timestamp
def __init__(self, tenant_id: _Optional[str] = ..., gateway_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ..., properties: _Optional[_Mapping[str, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., state: _Optional[_Union[GatewayState, str]] = ...) -> None: ...
class GenerateGatewayClientCertificateRequest(_message.Message): class GenerateGatewayClientCertificateRequest(_message.Message):
__slots__ = ["gateway_id"] __slots__ = ["gateway_id"]
@ -97,92 +149,43 @@ class GenerateGatewayClientCertificateRequest(_message.Message):
def __init__(self, gateway_id: _Optional[str] = ...) -> None: ... def __init__(self, gateway_id: _Optional[str] = ...) -> None: ...
class GenerateGatewayClientCertificateResponse(_message.Message): class GenerateGatewayClientCertificateResponse(_message.Message):
__slots__ = ["ca_cert", "expires_at", "tls_cert", "tls_key"] __slots__ = ["tls_cert", "tls_key", "ca_cert", "expires_at"]
CA_CERT_FIELD_NUMBER: _ClassVar[int]
EXPIRES_AT_FIELD_NUMBER: _ClassVar[int]
TLS_CERT_FIELD_NUMBER: _ClassVar[int] TLS_CERT_FIELD_NUMBER: _ClassVar[int]
TLS_KEY_FIELD_NUMBER: _ClassVar[int] TLS_KEY_FIELD_NUMBER: _ClassVar[int]
ca_cert: str CA_CERT_FIELD_NUMBER: _ClassVar[int]
expires_at: _timestamp_pb2.Timestamp EXPIRES_AT_FIELD_NUMBER: _ClassVar[int]
tls_cert: str tls_cert: str
tls_key: str tls_key: str
ca_cert: str
expires_at: _timestamp_pb2.Timestamp
def __init__(self, tls_cert: _Optional[str] = ..., tls_key: _Optional[str] = ..., ca_cert: _Optional[str] = ..., expires_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... def __init__(self, tls_cert: _Optional[str] = ..., tls_key: _Optional[str] = ..., ca_cert: _Optional[str] = ..., expires_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
class GetGatewayMetricsRequest(_message.Message): class GetGatewayMetricsRequest(_message.Message):
__slots__ = ["aggregation", "end", "gateway_id", "start"] __slots__ = ["gateway_id", "start", "end", "aggregation"]
AGGREGATION_FIELD_NUMBER: _ClassVar[int]
END_FIELD_NUMBER: _ClassVar[int]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
START_FIELD_NUMBER: _ClassVar[int] START_FIELD_NUMBER: _ClassVar[int]
aggregation: _common_pb2.Aggregation END_FIELD_NUMBER: _ClassVar[int]
end: _timestamp_pb2.Timestamp AGGREGATION_FIELD_NUMBER: _ClassVar[int]
gateway_id: str gateway_id: str
start: _timestamp_pb2.Timestamp start: _timestamp_pb2.Timestamp
end: _timestamp_pb2.Timestamp
aggregation: _common_pb2.Aggregation
def __init__(self, gateway_id: _Optional[str] = ..., start: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., aggregation: _Optional[_Union[_common_pb2.Aggregation, str]] = ...) -> None: ... def __init__(self, gateway_id: _Optional[str] = ..., start: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., aggregation: _Optional[_Union[_common_pb2.Aggregation, str]] = ...) -> None: ...
class GetGatewayMetricsResponse(_message.Message): class GetGatewayMetricsResponse(_message.Message):
__slots__ = ["rx_packets", "rx_packets_per_dr", "rx_packets_per_freq", "tx_packets", "tx_packets_per_dr", "tx_packets_per_freq", "tx_packets_per_status"] __slots__ = ["rx_packets", "tx_packets", "tx_packets_per_freq", "rx_packets_per_freq", "tx_packets_per_dr", "rx_packets_per_dr", "tx_packets_per_status"]
RX_PACKETS_FIELD_NUMBER: _ClassVar[int] RX_PACKETS_FIELD_NUMBER: _ClassVar[int]
RX_PACKETS_PER_DR_FIELD_NUMBER: _ClassVar[int]
RX_PACKETS_PER_FREQ_FIELD_NUMBER: _ClassVar[int]
TX_PACKETS_FIELD_NUMBER: _ClassVar[int] TX_PACKETS_FIELD_NUMBER: _ClassVar[int]
TX_PACKETS_PER_DR_FIELD_NUMBER: _ClassVar[int]
TX_PACKETS_PER_FREQ_FIELD_NUMBER: _ClassVar[int] TX_PACKETS_PER_FREQ_FIELD_NUMBER: _ClassVar[int]
RX_PACKETS_PER_FREQ_FIELD_NUMBER: _ClassVar[int]
TX_PACKETS_PER_DR_FIELD_NUMBER: _ClassVar[int]
RX_PACKETS_PER_DR_FIELD_NUMBER: _ClassVar[int]
TX_PACKETS_PER_STATUS_FIELD_NUMBER: _ClassVar[int] TX_PACKETS_PER_STATUS_FIELD_NUMBER: _ClassVar[int]
rx_packets: _common_pb2.Metric rx_packets: _common_pb2.Metric
rx_packets_per_dr: _common_pb2.Metric
rx_packets_per_freq: _common_pb2.Metric
tx_packets: _common_pb2.Metric tx_packets: _common_pb2.Metric
tx_packets_per_dr: _common_pb2.Metric
tx_packets_per_freq: _common_pb2.Metric tx_packets_per_freq: _common_pb2.Metric
rx_packets_per_freq: _common_pb2.Metric
tx_packets_per_dr: _common_pb2.Metric
rx_packets_per_dr: _common_pb2.Metric
tx_packets_per_status: _common_pb2.Metric tx_packets_per_status: _common_pb2.Metric
def __init__(self, rx_packets: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., tx_packets: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., tx_packets_per_freq: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., rx_packets_per_freq: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., tx_packets_per_dr: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., rx_packets_per_dr: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., tx_packets_per_status: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ...) -> None: ... def __init__(self, rx_packets: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., tx_packets: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., tx_packets_per_freq: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., rx_packets_per_freq: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., tx_packets_per_dr: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., rx_packets_per_dr: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ..., tx_packets_per_status: _Optional[_Union[_common_pb2.Metric, _Mapping]] = ...) -> None: ...
class GetGatewayRequest(_message.Message):
__slots__ = ["gateway_id"]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
gateway_id: str
def __init__(self, gateway_id: _Optional[str] = ...) -> None: ...
class GetGatewayResponse(_message.Message):
__slots__ = ["created_at", "gateway", "last_seen_at", "updated_at"]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
GATEWAY_FIELD_NUMBER: _ClassVar[int]
LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
created_at: _timestamp_pb2.Timestamp
gateway: Gateway
last_seen_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
def __init__(self, gateway: _Optional[_Union[Gateway, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_seen_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
class ListGatewaysRequest(_message.Message):
__slots__ = ["limit", "multicast_group_id", "offset", "search", "tenant_id"]
LIMIT_FIELD_NUMBER: _ClassVar[int]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
OFFSET_FIELD_NUMBER: _ClassVar[int]
SEARCH_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
limit: int
multicast_group_id: str
offset: int
search: str
tenant_id: str
def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., tenant_id: _Optional[str] = ..., multicast_group_id: _Optional[str] = ...) -> None: ...
class ListGatewaysResponse(_message.Message):
__slots__ = ["result", "total_count"]
RESULT_FIELD_NUMBER: _ClassVar[int]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
result: _containers.RepeatedCompositeFieldContainer[GatewayListItem]
total_count: int
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[GatewayListItem, _Mapping]]] = ...) -> None: ...
class UpdateGatewayRequest(_message.Message):
__slots__ = ["gateway"]
GATEWAY_FIELD_NUMBER: _ClassVar[int]
gateway: Gateway
def __init__(self, gateway: _Optional[_Union[Gateway, _Mapping]] = ...) -> None: ...
class GatewayState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []

File diff suppressed because one or more lines are too long

View File

@ -10,14 +10,14 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map
DESCRIPTOR: _descriptor.FileDescriptor DESCRIPTOR: _descriptor.FileDescriptor
class ApiKey(_message.Message): class ApiKey(_message.Message):
__slots__ = ["id", "is_admin", "name", "tenant_id"] __slots__ = ["id", "name", "is_admin", "tenant_id"]
ID_FIELD_NUMBER: _ClassVar[int] ID_FIELD_NUMBER: _ClassVar[int]
IS_ADMIN_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int]
IS_ADMIN_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int] TENANT_ID_FIELD_NUMBER: _ClassVar[int]
id: str id: str
is_admin: bool
name: str name: str
is_admin: bool
tenant_id: str tenant_id: str
def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., is_admin: bool = ..., tenant_id: _Optional[str] = ...) -> None: ... def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., is_admin: bool = ..., tenant_id: _Optional[str] = ...) -> None: ...
@ -41,165 +41,41 @@ class DeleteApiKeyRequest(_message.Message):
id: str id: str
def __init__(self, id: _Optional[str] = ...) -> None: ... def __init__(self, id: _Optional[str] = ...) -> None: ...
class GetDevicesSummaryRequest(_message.Message):
__slots__ = ["tenant_id"]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
tenant_id: str
def __init__(self, tenant_id: _Optional[str] = ...) -> None: ...
class GetDevicesSummaryResponse(_message.Message):
__slots__ = ["active_count", "dr_count", "inactive_count", "never_seen_count"]
class DrCountEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: int
value: int
def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ...
ACTIVE_COUNT_FIELD_NUMBER: _ClassVar[int]
DR_COUNT_FIELD_NUMBER: _ClassVar[int]
INACTIVE_COUNT_FIELD_NUMBER: _ClassVar[int]
NEVER_SEEN_COUNT_FIELD_NUMBER: _ClassVar[int]
active_count: int
dr_count: _containers.ScalarMap[int, int]
inactive_count: int
never_seen_count: int
def __init__(self, active_count: _Optional[int] = ..., inactive_count: _Optional[int] = ..., dr_count: _Optional[_Mapping[int, int]] = ..., never_seen_count: _Optional[int] = ...) -> None: ...
class GetGatewaysSummaryRequest(_message.Message):
__slots__ = ["tenant_id"]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
tenant_id: str
def __init__(self, tenant_id: _Optional[str] = ...) -> None: ...
class GetGatewaysSummaryResponse(_message.Message):
__slots__ = ["never_seen_count", "offline_count", "online_count"]
NEVER_SEEN_COUNT_FIELD_NUMBER: _ClassVar[int]
OFFLINE_COUNT_FIELD_NUMBER: _ClassVar[int]
ONLINE_COUNT_FIELD_NUMBER: _ClassVar[int]
never_seen_count: int
offline_count: int
online_count: int
def __init__(self, online_count: _Optional[int] = ..., offline_count: _Optional[int] = ..., never_seen_count: _Optional[int] = ...) -> None: ...
class GetRegionRequest(_message.Message):
__slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int]
id: str
def __init__(self, id: _Optional[str] = ...) -> None: ...
class GetRegionResponse(_message.Message):
__slots__ = ["class_b_ping_slot_dr", "class_b_ping_slot_frequency", "description", "id", "region", "rx1_delay", "rx1_dr_offset", "rx2_dr", "rx2_frequency", "uplink_channels", "user_info"]
CLASS_B_PING_SLOT_DR_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_FREQUENCY_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
ID_FIELD_NUMBER: _ClassVar[int]
REGION_FIELD_NUMBER: _ClassVar[int]
RX1_DELAY_FIELD_NUMBER: _ClassVar[int]
RX1_DR_OFFSET_FIELD_NUMBER: _ClassVar[int]
RX2_DR_FIELD_NUMBER: _ClassVar[int]
RX2_FREQUENCY_FIELD_NUMBER: _ClassVar[int]
UPLINK_CHANNELS_FIELD_NUMBER: _ClassVar[int]
USER_INFO_FIELD_NUMBER: _ClassVar[int]
class_b_ping_slot_dr: int
class_b_ping_slot_frequency: int
description: str
id: str
region: _common_pb2.Region
rx1_delay: int
rx1_dr_offset: int
rx2_dr: int
rx2_frequency: int
uplink_channels: _containers.RepeatedCompositeFieldContainer[RegionChannel]
user_info: str
def __init__(self, id: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., user_info: _Optional[str] = ..., uplink_channels: _Optional[_Iterable[_Union[RegionChannel, _Mapping]]] = ..., rx1_delay: _Optional[int] = ..., rx1_dr_offset: _Optional[int] = ..., rx2_dr: _Optional[int] = ..., rx2_frequency: _Optional[int] = ..., class_b_ping_slot_dr: _Optional[int] = ..., class_b_ping_slot_frequency: _Optional[int] = ..., description: _Optional[str] = ...) -> None: ...
class GlobalSearchRequest(_message.Message):
__slots__ = ["limit", "offset", "search"]
LIMIT_FIELD_NUMBER: _ClassVar[int]
OFFSET_FIELD_NUMBER: _ClassVar[int]
SEARCH_FIELD_NUMBER: _ClassVar[int]
limit: int
offset: int
search: str
def __init__(self, search: _Optional[str] = ..., limit: _Optional[int] = ..., offset: _Optional[int] = ...) -> None: ...
class GlobalSearchResponse(_message.Message):
__slots__ = ["result"]
RESULT_FIELD_NUMBER: _ClassVar[int]
result: _containers.RepeatedCompositeFieldContainer[GlobalSearchResult]
def __init__(self, result: _Optional[_Iterable[_Union[GlobalSearchResult, _Mapping]]] = ...) -> None: ...
class GlobalSearchResult(_message.Message):
__slots__ = ["application_id", "application_name", "device_dev_eui", "device_name", "gateway_id", "gateway_name", "kind", "score", "tenant_id", "tenant_name"]
APPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
APPLICATION_NAME_FIELD_NUMBER: _ClassVar[int]
DEVICE_DEV_EUI_FIELD_NUMBER: _ClassVar[int]
DEVICE_NAME_FIELD_NUMBER: _ClassVar[int]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
GATEWAY_NAME_FIELD_NUMBER: _ClassVar[int]
KIND_FIELD_NUMBER: _ClassVar[int]
SCORE_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
TENANT_NAME_FIELD_NUMBER: _ClassVar[int]
application_id: str
application_name: str
device_dev_eui: str
device_name: str
gateway_id: str
gateway_name: str
kind: str
score: float
tenant_id: str
tenant_name: str
def __init__(self, kind: _Optional[str] = ..., score: _Optional[float] = ..., tenant_id: _Optional[str] = ..., tenant_name: _Optional[str] = ..., application_id: _Optional[str] = ..., application_name: _Optional[str] = ..., device_dev_eui: _Optional[str] = ..., device_name: _Optional[str] = ..., gateway_id: _Optional[str] = ..., gateway_name: _Optional[str] = ...) -> None: ...
class ListApiKeysRequest(_message.Message): class ListApiKeysRequest(_message.Message):
__slots__ = ["is_admin", "limit", "offset", "tenant_id"] __slots__ = ["limit", "offset", "is_admin", "tenant_id"]
IS_ADMIN_FIELD_NUMBER: _ClassVar[int]
LIMIT_FIELD_NUMBER: _ClassVar[int] LIMIT_FIELD_NUMBER: _ClassVar[int]
OFFSET_FIELD_NUMBER: _ClassVar[int] OFFSET_FIELD_NUMBER: _ClassVar[int]
IS_ADMIN_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int] TENANT_ID_FIELD_NUMBER: _ClassVar[int]
is_admin: bool
limit: int limit: int
offset: int offset: int
is_admin: bool
tenant_id: str tenant_id: str
def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., is_admin: bool = ..., tenant_id: _Optional[str] = ...) -> None: ... def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., is_admin: bool = ..., tenant_id: _Optional[str] = ...) -> None: ...
class ListApiKeysResponse(_message.Message): class ListApiKeysResponse(_message.Message):
__slots__ = ["result", "total_count"] __slots__ = ["total_count", "result"]
RESULT_FIELD_NUMBER: _ClassVar[int]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
result: _containers.RepeatedCompositeFieldContainer[ApiKey] RESULT_FIELD_NUMBER: _ClassVar[int]
total_count: int total_count: int
result: _containers.RepeatedCompositeFieldContainer[ApiKey]
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[ApiKey, _Mapping]]] = ...) -> None: ... def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[ApiKey, _Mapping]]] = ...) -> None: ...
class ListRegionsResponse(_message.Message): class UserTenantLink(_message.Message):
__slots__ = ["regions"] __slots__ = ["created_at", "updated_at", "tenant_id", "is_admin", "is_device_admin", "is_gateway_admin"]
REGIONS_FIELD_NUMBER: _ClassVar[int] CREATED_AT_FIELD_NUMBER: _ClassVar[int]
regions: _containers.RepeatedCompositeFieldContainer[RegionListItem] UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
def __init__(self, regions: _Optional[_Iterable[_Union[RegionListItem, _Mapping]]] = ...) -> None: ... TENANT_ID_FIELD_NUMBER: _ClassVar[int]
IS_ADMIN_FIELD_NUMBER: _ClassVar[int]
class LogItem(_message.Message): IS_DEVICE_ADMIN_FIELD_NUMBER: _ClassVar[int]
__slots__ = ["body", "description", "id", "properties", "time"] IS_GATEWAY_ADMIN_FIELD_NUMBER: _ClassVar[int]
class PropertiesEntry(_message.Message): created_at: _timestamp_pb2.Timestamp
__slots__ = ["key", "value"] updated_at: _timestamp_pb2.Timestamp
KEY_FIELD_NUMBER: _ClassVar[int] tenant_id: str
VALUE_FIELD_NUMBER: _ClassVar[int] is_admin: bool
key: str is_device_admin: bool
value: str is_gateway_admin: bool
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... def __init__(self, created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., tenant_id: _Optional[str] = ..., is_admin: bool = ..., is_device_admin: bool = ..., is_gateway_admin: bool = ...) -> None: ...
BODY_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
ID_FIELD_NUMBER: _ClassVar[int]
PROPERTIES_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
body: str
description: str
id: str
properties: _containers.ScalarMap[str, str]
time: _timestamp_pb2.Timestamp
def __init__(self, id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., description: _Optional[str] = ..., body: _Optional[str] = ..., properties: _Optional[_Mapping[str, str]] = ...) -> None: ...
class LoginRequest(_message.Message): class LoginRequest(_message.Message):
__slots__ = ["email", "password"] __slots__ = ["email", "password"]
@ -215,15 +91,69 @@ class LoginResponse(_message.Message):
jwt: str jwt: str
def __init__(self, jwt: _Optional[str] = ...) -> None: ... def __init__(self, jwt: _Optional[str] = ...) -> None: ...
class ProfileResponse(_message.Message):
__slots__ = ["user", "tenants"]
USER_FIELD_NUMBER: _ClassVar[int]
TENANTS_FIELD_NUMBER: _ClassVar[int]
user: _user_pb2.User
tenants: _containers.RepeatedCompositeFieldContainer[UserTenantLink]
def __init__(self, user: _Optional[_Union[_user_pb2.User, _Mapping]] = ..., tenants: _Optional[_Iterable[_Union[UserTenantLink, _Mapping]]] = ...) -> None: ...
class GlobalSearchRequest(_message.Message):
__slots__ = ["search", "limit", "offset"]
SEARCH_FIELD_NUMBER: _ClassVar[int]
LIMIT_FIELD_NUMBER: _ClassVar[int]
OFFSET_FIELD_NUMBER: _ClassVar[int]
search: str
limit: int
offset: int
def __init__(self, search: _Optional[str] = ..., limit: _Optional[int] = ..., offset: _Optional[int] = ...) -> None: ...
class GlobalSearchResponse(_message.Message):
__slots__ = ["result"]
RESULT_FIELD_NUMBER: _ClassVar[int]
result: _containers.RepeatedCompositeFieldContainer[GlobalSearchResult]
def __init__(self, result: _Optional[_Iterable[_Union[GlobalSearchResult, _Mapping]]] = ...) -> None: ...
class GlobalSearchResult(_message.Message):
__slots__ = ["kind", "score", "tenant_id", "tenant_name", "application_id", "application_name", "device_dev_eui", "device_name", "gateway_id", "gateway_name"]
KIND_FIELD_NUMBER: _ClassVar[int]
SCORE_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
TENANT_NAME_FIELD_NUMBER: _ClassVar[int]
APPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
APPLICATION_NAME_FIELD_NUMBER: _ClassVar[int]
DEVICE_DEV_EUI_FIELD_NUMBER: _ClassVar[int]
DEVICE_NAME_FIELD_NUMBER: _ClassVar[int]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
GATEWAY_NAME_FIELD_NUMBER: _ClassVar[int]
kind: str
score: float
tenant_id: str
tenant_name: str
application_id: str
application_name: str
device_dev_eui: str
device_name: str
gateway_id: str
gateway_name: str
def __init__(self, kind: _Optional[str] = ..., score: _Optional[float] = ..., tenant_id: _Optional[str] = ..., tenant_name: _Optional[str] = ..., application_id: _Optional[str] = ..., application_name: _Optional[str] = ..., device_dev_eui: _Optional[str] = ..., device_name: _Optional[str] = ..., gateway_id: _Optional[str] = ..., gateway_name: _Optional[str] = ...) -> None: ...
class SettingsResponse(_message.Message):
__slots__ = ["openid_connect"]
OPENID_CONNECT_FIELD_NUMBER: _ClassVar[int]
openid_connect: OpenIdConnect
def __init__(self, openid_connect: _Optional[_Union[OpenIdConnect, _Mapping]] = ...) -> None: ...
class OpenIdConnect(_message.Message): class OpenIdConnect(_message.Message):
__slots__ = ["enabled", "login_label", "login_url", "logout_url"] __slots__ = ["enabled", "login_url", "login_label", "logout_url"]
ENABLED_FIELD_NUMBER: _ClassVar[int] ENABLED_FIELD_NUMBER: _ClassVar[int]
LOGIN_LABEL_FIELD_NUMBER: _ClassVar[int]
LOGIN_URL_FIELD_NUMBER: _ClassVar[int] LOGIN_URL_FIELD_NUMBER: _ClassVar[int]
LOGIN_LABEL_FIELD_NUMBER: _ClassVar[int]
LOGOUT_URL_FIELD_NUMBER: _ClassVar[int] LOGOUT_URL_FIELD_NUMBER: _ClassVar[int]
enabled: bool enabled: bool
login_label: str
login_url: str login_url: str
login_label: str
logout_url: str logout_url: str
def __init__(self, enabled: bool = ..., login_url: _Optional[str] = ..., login_label: _Optional[str] = ..., logout_url: _Optional[str] = ...) -> None: ... def __init__(self, enabled: bool = ..., login_url: _Optional[str] = ..., login_label: _Optional[str] = ..., logout_url: _Optional[str] = ...) -> None: ...
@ -241,51 +171,67 @@ class OpenIdConnectLoginResponse(_message.Message):
token: str token: str
def __init__(self, token: _Optional[str] = ...) -> None: ... def __init__(self, token: _Optional[str] = ...) -> None: ...
class ProfileResponse(_message.Message): class GetDevicesSummaryRequest(_message.Message):
__slots__ = ["tenants", "user"] __slots__ = ["tenant_id"]
TENANTS_FIELD_NUMBER: _ClassVar[int] TENANT_ID_FIELD_NUMBER: _ClassVar[int]
USER_FIELD_NUMBER: _ClassVar[int] tenant_id: str
tenants: _containers.RepeatedCompositeFieldContainer[UserTenantLink] def __init__(self, tenant_id: _Optional[str] = ...) -> None: ...
user: _user_pb2.User
def __init__(self, user: _Optional[_Union[_user_pb2.User, _Mapping]] = ..., tenants: _Optional[_Iterable[_Union[UserTenantLink, _Mapping]]] = ...) -> None: ...
class RegionChannel(_message.Message): class GetDevicesSummaryResponse(_message.Message):
__slots__ = ["dr_max", "dr_min", "frequency"] __slots__ = ["active_count", "inactive_count", "dr_count", "never_seen_count"]
DR_MAX_FIELD_NUMBER: _ClassVar[int] class DrCountEntry(_message.Message):
DR_MIN_FIELD_NUMBER: _ClassVar[int] __slots__ = ["key", "value"]
FREQUENCY_FIELD_NUMBER: _ClassVar[int] KEY_FIELD_NUMBER: _ClassVar[int]
dr_max: int VALUE_FIELD_NUMBER: _ClassVar[int]
dr_min: int key: int
frequency: int value: int
def __init__(self, frequency: _Optional[int] = ..., dr_min: _Optional[int] = ..., dr_max: _Optional[int] = ...) -> None: ... def __init__(self, key: _Optional[int] = ..., value: _Optional[int] = ...) -> None: ...
ACTIVE_COUNT_FIELD_NUMBER: _ClassVar[int]
INACTIVE_COUNT_FIELD_NUMBER: _ClassVar[int]
DR_COUNT_FIELD_NUMBER: _ClassVar[int]
NEVER_SEEN_COUNT_FIELD_NUMBER: _ClassVar[int]
active_count: int
inactive_count: int
dr_count: _containers.ScalarMap[int, int]
never_seen_count: int
def __init__(self, active_count: _Optional[int] = ..., inactive_count: _Optional[int] = ..., dr_count: _Optional[_Mapping[int, int]] = ..., never_seen_count: _Optional[int] = ...) -> None: ...
class RegionListItem(_message.Message): class GetGatewaysSummaryRequest(_message.Message):
__slots__ = ["description", "id", "region"] __slots__ = ["tenant_id"]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int] TENANT_ID_FIELD_NUMBER: _ClassVar[int]
tenant_id: str
def __init__(self, tenant_id: _Optional[str] = ...) -> None: ...
class GetGatewaysSummaryResponse(_message.Message):
__slots__ = ["online_count", "offline_count", "never_seen_count"]
ONLINE_COUNT_FIELD_NUMBER: _ClassVar[int]
OFFLINE_COUNT_FIELD_NUMBER: _ClassVar[int]
NEVER_SEEN_COUNT_FIELD_NUMBER: _ClassVar[int]
online_count: int
offline_count: int
never_seen_count: int
def __init__(self, online_count: _Optional[int] = ..., offline_count: _Optional[int] = ..., never_seen_count: _Optional[int] = ...) -> None: ...
class LogItem(_message.Message):
__slots__ = ["id", "time", "description", "body", "properties"]
class PropertiesEntry(_message.Message):
__slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
ID_FIELD_NUMBER: _ClassVar[int] ID_FIELD_NUMBER: _ClassVar[int]
REGION_FIELD_NUMBER: _ClassVar[int] TIME_FIELD_NUMBER: _ClassVar[int]
description: str DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
BODY_FIELD_NUMBER: _ClassVar[int]
PROPERTIES_FIELD_NUMBER: _ClassVar[int]
id: str id: str
region: _common_pb2.Region time: _timestamp_pb2.Timestamp
def __init__(self, id: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., description: _Optional[str] = ...) -> None: ... description: str
body: str
class SettingsResponse(_message.Message): properties: _containers.ScalarMap[str, str]
__slots__ = ["openid_connect"] def __init__(self, id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., description: _Optional[str] = ..., body: _Optional[str] = ..., properties: _Optional[_Mapping[str, str]] = ...) -> None: ...
OPENID_CONNECT_FIELD_NUMBER: _ClassVar[int]
openid_connect: OpenIdConnect
def __init__(self, openid_connect: _Optional[_Union[OpenIdConnect, _Mapping]] = ...) -> None: ...
class StreamDeviceEventsRequest(_message.Message):
__slots__ = ["dev_eui"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
class StreamDeviceFramesRequest(_message.Message):
__slots__ = ["dev_eui"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
class StreamGatewayFramesRequest(_message.Message): class StreamGatewayFramesRequest(_message.Message):
__slots__ = ["gateway_id"] __slots__ = ["gateway_id"]
@ -293,18 +239,72 @@ class StreamGatewayFramesRequest(_message.Message):
gateway_id: str gateway_id: str
def __init__(self, gateway_id: _Optional[str] = ...) -> None: ... def __init__(self, gateway_id: _Optional[str] = ...) -> None: ...
class UserTenantLink(_message.Message): class StreamDeviceFramesRequest(_message.Message):
__slots__ = ["created_at", "is_admin", "is_device_admin", "is_gateway_admin", "tenant_id", "updated_at"] __slots__ = ["dev_eui"]
CREATED_AT_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int]
IS_ADMIN_FIELD_NUMBER: _ClassVar[int] dev_eui: str
IS_DEVICE_ADMIN_FIELD_NUMBER: _ClassVar[int] def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
IS_GATEWAY_ADMIN_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int] class StreamDeviceEventsRequest(_message.Message):
UPDATED_AT_FIELD_NUMBER: _ClassVar[int] __slots__ = ["dev_eui"]
created_at: _timestamp_pb2.Timestamp DEV_EUI_FIELD_NUMBER: _ClassVar[int]
is_admin: bool dev_eui: str
is_device_admin: bool def __init__(self, dev_eui: _Optional[str] = ...) -> None: ...
is_gateway_admin: bool
tenant_id: str class ListRegionsResponse(_message.Message):
updated_at: _timestamp_pb2.Timestamp __slots__ = ["regions"]
def __init__(self, created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., tenant_id: _Optional[str] = ..., is_admin: bool = ..., is_device_admin: bool = ..., is_gateway_admin: bool = ...) -> None: ... REGIONS_FIELD_NUMBER: _ClassVar[int]
regions: _containers.RepeatedCompositeFieldContainer[RegionListItem]
def __init__(self, regions: _Optional[_Iterable[_Union[RegionListItem, _Mapping]]] = ...) -> None: ...
class RegionListItem(_message.Message):
__slots__ = ["id", "region", "description"]
ID_FIELD_NUMBER: _ClassVar[int]
REGION_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
id: str
region: _common_pb2.Region
description: str
def __init__(self, id: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., description: _Optional[str] = ...) -> None: ...
class GetRegionRequest(_message.Message):
__slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int]
id: str
def __init__(self, id: _Optional[str] = ...) -> None: ...
class GetRegionResponse(_message.Message):
__slots__ = ["id", "region", "user_info", "uplink_channels", "rx1_delay", "rx1_dr_offset", "rx2_dr", "rx2_frequency", "class_b_ping_slot_dr", "class_b_ping_slot_frequency", "description"]
ID_FIELD_NUMBER: _ClassVar[int]
REGION_FIELD_NUMBER: _ClassVar[int]
USER_INFO_FIELD_NUMBER: _ClassVar[int]
UPLINK_CHANNELS_FIELD_NUMBER: _ClassVar[int]
RX1_DELAY_FIELD_NUMBER: _ClassVar[int]
RX1_DR_OFFSET_FIELD_NUMBER: _ClassVar[int]
RX2_DR_FIELD_NUMBER: _ClassVar[int]
RX2_FREQUENCY_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_DR_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_FREQUENCY_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
id: str
region: _common_pb2.Region
user_info: str
uplink_channels: _containers.RepeatedCompositeFieldContainer[RegionChannel]
rx1_delay: int
rx1_dr_offset: int
rx2_dr: int
rx2_frequency: int
class_b_ping_slot_dr: int
class_b_ping_slot_frequency: int
description: str
def __init__(self, id: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., user_info: _Optional[str] = ..., uplink_channels: _Optional[_Iterable[_Union[RegionChannel, _Mapping]]] = ..., rx1_delay: _Optional[int] = ..., rx1_dr_offset: _Optional[int] = ..., rx2_dr: _Optional[int] = ..., rx2_frequency: _Optional[int] = ..., class_b_ping_slot_dr: _Optional[int] = ..., class_b_ping_slot_frequency: _Optional[int] = ..., description: _Optional[str] = ...) -> None: ...
class RegionChannel(_message.Message):
__slots__ = ["frequency", "dr_min", "dr_max"]
FREQUENCY_FIELD_NUMBER: _ClassVar[int]
DR_MIN_FIELD_NUMBER: _ClassVar[int]
DR_MAX_FIELD_NUMBER: _ClassVar[int]
frequency: int
dr_min: int
dr_max: int
def __init__(self, frequency: _Optional[int] = ..., dr_min: _Optional[int] = ..., dr_max: _Optional[int] = ...) -> None: ...

File diff suppressed because one or more lines are too long

View File

@ -8,27 +8,67 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
CLASS_B: MulticastGroupType
CLASS_C: MulticastGroupType
DELAY: MulticastGroupSchedulingType
DESCRIPTOR: _descriptor.FileDescriptor DESCRIPTOR: _descriptor.FileDescriptor
class MulticastGroupType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
CLASS_C: _ClassVar[MulticastGroupType]
CLASS_B: _ClassVar[MulticastGroupType]
class MulticastGroupSchedulingType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
DELAY: _ClassVar[MulticastGroupSchedulingType]
GPS_TIME: _ClassVar[MulticastGroupSchedulingType]
CLASS_C: MulticastGroupType
CLASS_B: MulticastGroupType
DELAY: MulticastGroupSchedulingType
GPS_TIME: MulticastGroupSchedulingType GPS_TIME: MulticastGroupSchedulingType
class AddDeviceToMulticastGroupRequest(_message.Message): class MulticastGroup(_message.Message):
__slots__ = ["dev_eui", "multicast_group_id"] __slots__ = ["id", "name", "application_id", "region", "mc_addr", "mc_nwk_s_key", "mc_app_s_key", "f_cnt", "group_type", "dr", "frequency", "class_b_ping_slot_period", "class_c_scheduling_type"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int] ID_FIELD_NUMBER: _ClassVar[int]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int]
dev_eui: str APPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
multicast_group_id: str REGION_FIELD_NUMBER: _ClassVar[int]
def __init__(self, multicast_group_id: _Optional[str] = ..., dev_eui: _Optional[str] = ...) -> None: ... MC_ADDR_FIELD_NUMBER: _ClassVar[int]
MC_NWK_S_KEY_FIELD_NUMBER: _ClassVar[int]
MC_APP_S_KEY_FIELD_NUMBER: _ClassVar[int]
F_CNT_FIELD_NUMBER: _ClassVar[int]
GROUP_TYPE_FIELD_NUMBER: _ClassVar[int]
DR_FIELD_NUMBER: _ClassVar[int]
FREQUENCY_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_PERIOD_FIELD_NUMBER: _ClassVar[int]
CLASS_C_SCHEDULING_TYPE_FIELD_NUMBER: _ClassVar[int]
id: str
name: str
application_id: str
region: _common_pb2.Region
mc_addr: str
mc_nwk_s_key: str
mc_app_s_key: str
f_cnt: int
group_type: MulticastGroupType
dr: int
frequency: int
class_b_ping_slot_period: int
class_c_scheduling_type: MulticastGroupSchedulingType
def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., application_id: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mc_addr: _Optional[str] = ..., mc_nwk_s_key: _Optional[str] = ..., mc_app_s_key: _Optional[str] = ..., f_cnt: _Optional[int] = ..., group_type: _Optional[_Union[MulticastGroupType, str]] = ..., dr: _Optional[int] = ..., frequency: _Optional[int] = ..., class_b_ping_slot_period: _Optional[int] = ..., class_c_scheduling_type: _Optional[_Union[MulticastGroupSchedulingType, str]] = ...) -> None: ...
class AddGatewayToMulticastGroupRequest(_message.Message): class MulticastGroupListItem(_message.Message):
__slots__ = ["gateway_id", "multicast_group_id"] __slots__ = ["id", "created_at", "updated_at", "name", "region", "group_type"]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int] ID_FIELD_NUMBER: _ClassVar[int]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] CREATED_AT_FIELD_NUMBER: _ClassVar[int]
gateway_id: str UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
multicast_group_id: str NAME_FIELD_NUMBER: _ClassVar[int]
def __init__(self, multicast_group_id: _Optional[str] = ..., gateway_id: _Optional[str] = ...) -> None: ... REGION_FIELD_NUMBER: _ClassVar[int]
GROUP_TYPE_FIELD_NUMBER: _ClassVar[int]
id: str
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
name: str
region: _common_pb2.Region
group_type: MulticastGroupType
def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., group_type: _Optional[_Union[MulticastGroupType, str]] = ...) -> None: ...
class CreateMulticastGroupRequest(_message.Message): class CreateMulticastGroupRequest(_message.Message):
__slots__ = ["multicast_group"] __slots__ = ["multicast_group"]
@ -42,12 +82,98 @@ class CreateMulticastGroupResponse(_message.Message):
id: str id: str
def __init__(self, id: _Optional[str] = ...) -> None: ... def __init__(self, id: _Optional[str] = ...) -> None: ...
class GetMulticastGroupRequest(_message.Message):
__slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int]
id: str
def __init__(self, id: _Optional[str] = ...) -> None: ...
class GetMulticastGroupResponse(_message.Message):
__slots__ = ["multicast_group", "created_at", "updated_at"]
MULTICAST_GROUP_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
multicast_group: MulticastGroup
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
def __init__(self, multicast_group: _Optional[_Union[MulticastGroup, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
class UpdateMulticastGroupRequest(_message.Message):
__slots__ = ["multicast_group"]
MULTICAST_GROUP_FIELD_NUMBER: _ClassVar[int]
multicast_group: MulticastGroup
def __init__(self, multicast_group: _Optional[_Union[MulticastGroup, _Mapping]] = ...) -> None: ...
class DeleteMulticastGroupRequest(_message.Message): class DeleteMulticastGroupRequest(_message.Message):
__slots__ = ["id"] __slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int] ID_FIELD_NUMBER: _ClassVar[int]
id: str id: str
def __init__(self, id: _Optional[str] = ...) -> None: ... def __init__(self, id: _Optional[str] = ...) -> None: ...
class ListMulticastGroupsRequest(_message.Message):
__slots__ = ["limit", "offset", "search", "application_id"]
LIMIT_FIELD_NUMBER: _ClassVar[int]
OFFSET_FIELD_NUMBER: _ClassVar[int]
SEARCH_FIELD_NUMBER: _ClassVar[int]
APPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
limit: int
offset: int
search: str
application_id: str
def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., application_id: _Optional[str] = ...) -> None: ...
class ListMulticastGroupsResponse(_message.Message):
__slots__ = ["total_count", "result"]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
RESULT_FIELD_NUMBER: _ClassVar[int]
total_count: int
result: _containers.RepeatedCompositeFieldContainer[MulticastGroupListItem]
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[MulticastGroupListItem, _Mapping]]] = ...) -> None: ...
class AddDeviceToMulticastGroupRequest(_message.Message):
__slots__ = ["multicast_group_id", "dev_eui"]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
multicast_group_id: str
dev_eui: str
def __init__(self, multicast_group_id: _Optional[str] = ..., dev_eui: _Optional[str] = ...) -> None: ...
class RemoveDeviceFromMulticastGroupRequest(_message.Message):
__slots__ = ["multicast_group_id", "dev_eui"]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
multicast_group_id: str
dev_eui: str
def __init__(self, multicast_group_id: _Optional[str] = ..., dev_eui: _Optional[str] = ...) -> None: ...
class AddGatewayToMulticastGroupRequest(_message.Message):
__slots__ = ["multicast_group_id", "gateway_id"]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
multicast_group_id: str
gateway_id: str
def __init__(self, multicast_group_id: _Optional[str] = ..., gateway_id: _Optional[str] = ...) -> None: ...
class RemoveGatewayFromMulticastGroupRequest(_message.Message):
__slots__ = ["multicast_group_id", "gateway_id"]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
multicast_group_id: str
gateway_id: str
def __init__(self, multicast_group_id: _Optional[str] = ..., gateway_id: _Optional[str] = ...) -> None: ...
class MulticastGroupQueueItem(_message.Message):
__slots__ = ["multicast_group_id", "f_cnt", "f_port", "data"]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
F_CNT_FIELD_NUMBER: _ClassVar[int]
F_PORT_FIELD_NUMBER: _ClassVar[int]
DATA_FIELD_NUMBER: _ClassVar[int]
multicast_group_id: str
f_cnt: int
f_port: int
data: bytes
def __init__(self, multicast_group_id: _Optional[str] = ..., f_cnt: _Optional[int] = ..., f_port: _Optional[int] = ..., data: _Optional[bytes] = ...) -> None: ...
class EnqueueMulticastGroupQueueItemRequest(_message.Message): class EnqueueMulticastGroupQueueItemRequest(_message.Message):
__slots__ = ["queue_item"] __slots__ = ["queue_item"]
QUEUE_ITEM_FIELD_NUMBER: _ClassVar[int] QUEUE_ITEM_FIELD_NUMBER: _ClassVar[int]
@ -66,22 +192,6 @@ class FlushMulticastGroupQueueRequest(_message.Message):
multicast_group_id: str multicast_group_id: str
def __init__(self, multicast_group_id: _Optional[str] = ...) -> None: ... def __init__(self, multicast_group_id: _Optional[str] = ...) -> None: ...
class GetMulticastGroupRequest(_message.Message):
__slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int]
id: str
def __init__(self, id: _Optional[str] = ...) -> None: ...
class GetMulticastGroupResponse(_message.Message):
__slots__ = ["created_at", "multicast_group", "updated_at"]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
MULTICAST_GROUP_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
created_at: _timestamp_pb2.Timestamp
multicast_group: MulticastGroup
updated_at: _timestamp_pb2.Timestamp
def __init__(self, multicast_group: _Optional[_Union[MulticastGroup, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
class ListMulticastGroupQueueRequest(_message.Message): class ListMulticastGroupQueueRequest(_message.Message):
__slots__ = ["multicast_group_id"] __slots__ = ["multicast_group_id"]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int] MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
@ -93,109 +203,3 @@ class ListMulticastGroupQueueResponse(_message.Message):
ITEMS_FIELD_NUMBER: _ClassVar[int] ITEMS_FIELD_NUMBER: _ClassVar[int]
items: _containers.RepeatedCompositeFieldContainer[MulticastGroupQueueItem] items: _containers.RepeatedCompositeFieldContainer[MulticastGroupQueueItem]
def __init__(self, items: _Optional[_Iterable[_Union[MulticastGroupQueueItem, _Mapping]]] = ...) -> None: ... def __init__(self, items: _Optional[_Iterable[_Union[MulticastGroupQueueItem, _Mapping]]] = ...) -> None: ...
class ListMulticastGroupsRequest(_message.Message):
__slots__ = ["application_id", "limit", "offset", "search"]
APPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
LIMIT_FIELD_NUMBER: _ClassVar[int]
OFFSET_FIELD_NUMBER: _ClassVar[int]
SEARCH_FIELD_NUMBER: _ClassVar[int]
application_id: str
limit: int
offset: int
search: str
def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., application_id: _Optional[str] = ...) -> None: ...
class ListMulticastGroupsResponse(_message.Message):
__slots__ = ["result", "total_count"]
RESULT_FIELD_NUMBER: _ClassVar[int]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
result: _containers.RepeatedCompositeFieldContainer[MulticastGroupListItem]
total_count: int
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[MulticastGroupListItem, _Mapping]]] = ...) -> None: ...
class MulticastGroup(_message.Message):
__slots__ = ["application_id", "class_b_ping_slot_period", "class_c_scheduling_type", "dr", "f_cnt", "frequency", "group_type", "id", "mc_addr", "mc_app_s_key", "mc_nwk_s_key", "name", "region"]
APPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
CLASS_B_PING_SLOT_PERIOD_FIELD_NUMBER: _ClassVar[int]
CLASS_C_SCHEDULING_TYPE_FIELD_NUMBER: _ClassVar[int]
DR_FIELD_NUMBER: _ClassVar[int]
FREQUENCY_FIELD_NUMBER: _ClassVar[int]
F_CNT_FIELD_NUMBER: _ClassVar[int]
GROUP_TYPE_FIELD_NUMBER: _ClassVar[int]
ID_FIELD_NUMBER: _ClassVar[int]
MC_ADDR_FIELD_NUMBER: _ClassVar[int]
MC_APP_S_KEY_FIELD_NUMBER: _ClassVar[int]
MC_NWK_S_KEY_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
REGION_FIELD_NUMBER: _ClassVar[int]
application_id: str
class_b_ping_slot_period: int
class_c_scheduling_type: MulticastGroupSchedulingType
dr: int
f_cnt: int
frequency: int
group_type: MulticastGroupType
id: str
mc_addr: str
mc_app_s_key: str
mc_nwk_s_key: str
name: str
region: _common_pb2.Region
def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., application_id: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., mc_addr: _Optional[str] = ..., mc_nwk_s_key: _Optional[str] = ..., mc_app_s_key: _Optional[str] = ..., f_cnt: _Optional[int] = ..., group_type: _Optional[_Union[MulticastGroupType, str]] = ..., dr: _Optional[int] = ..., frequency: _Optional[int] = ..., class_b_ping_slot_period: _Optional[int] = ..., class_c_scheduling_type: _Optional[_Union[MulticastGroupSchedulingType, str]] = ...) -> None: ...
class MulticastGroupListItem(_message.Message):
__slots__ = ["created_at", "group_type", "id", "name", "region", "updated_at"]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
GROUP_TYPE_FIELD_NUMBER: _ClassVar[int]
ID_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
REGION_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
created_at: _timestamp_pb2.Timestamp
group_type: MulticastGroupType
id: str
name: str
region: _common_pb2.Region
updated_at: _timestamp_pb2.Timestamp
def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., region: _Optional[_Union[_common_pb2.Region, str]] = ..., group_type: _Optional[_Union[MulticastGroupType, str]] = ...) -> None: ...
class MulticastGroupQueueItem(_message.Message):
__slots__ = ["data", "f_cnt", "f_port", "multicast_group_id"]
DATA_FIELD_NUMBER: _ClassVar[int]
F_CNT_FIELD_NUMBER: _ClassVar[int]
F_PORT_FIELD_NUMBER: _ClassVar[int]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
data: bytes
f_cnt: int
f_port: int
multicast_group_id: str
def __init__(self, multicast_group_id: _Optional[str] = ..., f_cnt: _Optional[int] = ..., f_port: _Optional[int] = ..., data: _Optional[bytes] = ...) -> None: ...
class RemoveDeviceFromMulticastGroupRequest(_message.Message):
__slots__ = ["dev_eui", "multicast_group_id"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
multicast_group_id: str
def __init__(self, multicast_group_id: _Optional[str] = ..., dev_eui: _Optional[str] = ...) -> None: ...
class RemoveGatewayFromMulticastGroupRequest(_message.Message):
__slots__ = ["gateway_id", "multicast_group_id"]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
gateway_id: str
multicast_group_id: str
def __init__(self, multicast_group_id: _Optional[str] = ..., gateway_id: _Optional[str] = ...) -> None: ...
class UpdateMulticastGroupRequest(_message.Message):
__slots__ = ["multicast_group"]
MULTICAST_GROUP_FIELD_NUMBER: _ClassVar[int]
multicast_group: MulticastGroup
def __init__(self, multicast_group: _Optional[_Union[MulticastGroup, _Mapping]] = ...) -> None: ...
class MulticastGroupType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
class MulticastGroupSchedulingType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []

View File

@ -2,10 +2,10 @@
# Generated by the protocol buffer compiler. DO NOT EDIT! # Generated by the protocol buffer compiler. DO NOT EDIT!
# source: chirpstack-api/api/relay.proto # source: chirpstack-api/api/relay.proto
"""Generated protocol buffer code.""" """Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -18,8 +18,9 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x63hirpstack-api/api/relay.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\".\n\rRelayListItem\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"J\n\x11ListRelaysRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x16\n\x0e\x61pplication_id\x18\x03 \x01(\t\"M\n\x12ListRelaysResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12\"\n\x06result\x18\x02 \x03(\x0b\x32\x12.api.RelayListItem\"F\n\x15\x41\x64\x64RelayDeviceRequest\x12\x15\n\rrelay_dev_eui\x18\x01 \x01(\t\x12\x16\n\x0e\x64\x65vice_dev_eui\x18\x02 \x01(\t\"I\n\x18RemoveRelayDeviceRequest\x12\x15\n\rrelay_dev_eui\x18\x01 \x01(\t\x12\x16\n\x0e\x64\x65vice_dev_eui\x18\x02 \x01(\t\"O\n\x17ListRelayDevicesRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x15\n\rrelay_dev_eui\x18\x03 \x01(\t\"d\n\x13RelayDeviceListItem\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x03 \x01(\t\"Y\n\x18ListRelayDevicesResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12(\n\x06result\x18\x02 \x03(\x0b\x32\x18.api.RelayDeviceListItem2\xc4\x03\n\x0cRelayService\x12L\n\x04List\x12\x16.api.ListRelaysRequest\x1a\x17.api.ListRelaysResponse\"\x13\x82\xd3\xe4\x93\x02\r\x12\x0b/api/relays\x12o\n\tAddDevice\x12\x1a.api.AddRelayDeviceRequest\x1a\x16.google.protobuf.Empty\".\x82\xd3\xe4\x93\x02(\"#/api/relays/{relay_dev_eui}/devices:\x01*\x12|\n\x0cRemoveDevice\x12\x1d.api.RemoveRelayDeviceRequest\x1a\x16.google.protobuf.Empty\"5\x82\xd3\xe4\x93\x02/*-/api/relays/{relay_dev_eui}/devices/{dev_eui}\x12w\n\x0bListDevices\x12\x1c.api.ListRelayDevicesRequest\x1a\x1d.api.ListRelayDevicesResponse\"+\x82\xd3\xe4\x93\x02%\x12#/api/relays/{relay_dev_eui}/devicesBb\n\x11io.chirpstack.apiB\nRelayProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x63hirpstack-api/api/relay.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\".\n\rRelayListItem\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"J\n\x11ListRelaysRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x16\n\x0e\x61pplication_id\x18\x03 \x01(\t\"M\n\x12ListRelaysResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12\"\n\x06result\x18\x02 \x03(\x0b\x32\x12.api.RelayListItem\"F\n\x15\x41\x64\x64RelayDeviceRequest\x12\x15\n\rrelay_dev_eui\x18\x01 \x01(\t\x12\x16\n\x0e\x64\x65vice_dev_eui\x18\x02 \x01(\t\"I\n\x18RemoveRelayDeviceRequest\x12\x15\n\rrelay_dev_eui\x18\x01 \x01(\t\x12\x16\n\x0e\x64\x65vice_dev_eui\x18\x02 \x01(\t\"O\n\x17ListRelayDevicesRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x15\n\rrelay_dev_eui\x18\x03 \x01(\t\"d\n\x13RelayDeviceListItem\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x03 \x01(\t\"Y\n\x18ListRelayDevicesResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12(\n\x06result\x18\x02 \x03(\x0b\x32\x18.api.RelayDeviceListItem2\xc4\x03\n\x0cRelayService\x12L\n\x04List\x12\x16.api.ListRelaysRequest\x1a\x17.api.ListRelaysResponse\"\x13\x82\xd3\xe4\x93\x02\r\x12\x0b/api/relays\x12o\n\tAddDevice\x12\x1a.api.AddRelayDeviceRequest\x1a\x16.google.protobuf.Empty\".\x82\xd3\xe4\x93\x02(\"#/api/relays/{relay_dev_eui}/devices:\x01*\x12|\n\x0cRemoveDevice\x12\x1d.api.RemoveRelayDeviceRequest\x1a\x16.google.protobuf.Empty\"5\x82\xd3\xe4\x93\x02/*-/api/relays/{relay_dev_eui}/devices/{dev_eui}\x12w\n\x0bListDevices\x12\x1c.api.ListRelayDevicesRequest\x1a\x1d.api.ListRelayDevicesResponse\"+\x82\xd3\xe4\x93\x02%\x12#/api/relays/{relay_dev_eui}/devicesBb\n\x11io.chirpstack.apiB\nRelayProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3')
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _globals = globals()
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.relay_pb2', globals()) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.relay_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False: if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None DESCRIPTOR._options = None
@ -32,22 +33,22 @@ if _descriptor._USE_C_DESCRIPTORS == False:
_RELAYSERVICE.methods_by_name['RemoveDevice']._serialized_options = b'\202\323\344\223\002/*-/api/relays/{relay_dev_eui}/devices/{dev_eui}' _RELAYSERVICE.methods_by_name['RemoveDevice']._serialized_options = b'\202\323\344\223\002/*-/api/relays/{relay_dev_eui}/devices/{dev_eui}'
_RELAYSERVICE.methods_by_name['ListDevices']._options = None _RELAYSERVICE.methods_by_name['ListDevices']._options = None
_RELAYSERVICE.methods_by_name['ListDevices']._serialized_options = b'\202\323\344\223\002%\022#/api/relays/{relay_dev_eui}/devices' _RELAYSERVICE.methods_by_name['ListDevices']._serialized_options = b'\202\323\344\223\002%\022#/api/relays/{relay_dev_eui}/devices'
_RELAYLISTITEM._serialized_start=131 _globals['_RELAYLISTITEM']._serialized_start=131
_RELAYLISTITEM._serialized_end=177 _globals['_RELAYLISTITEM']._serialized_end=177
_LISTRELAYSREQUEST._serialized_start=179 _globals['_LISTRELAYSREQUEST']._serialized_start=179
_LISTRELAYSREQUEST._serialized_end=253 _globals['_LISTRELAYSREQUEST']._serialized_end=253
_LISTRELAYSRESPONSE._serialized_start=255 _globals['_LISTRELAYSRESPONSE']._serialized_start=255
_LISTRELAYSRESPONSE._serialized_end=332 _globals['_LISTRELAYSRESPONSE']._serialized_end=332
_ADDRELAYDEVICEREQUEST._serialized_start=334 _globals['_ADDRELAYDEVICEREQUEST']._serialized_start=334
_ADDRELAYDEVICEREQUEST._serialized_end=404 _globals['_ADDRELAYDEVICEREQUEST']._serialized_end=404
_REMOVERELAYDEVICEREQUEST._serialized_start=406 _globals['_REMOVERELAYDEVICEREQUEST']._serialized_start=406
_REMOVERELAYDEVICEREQUEST._serialized_end=479 _globals['_REMOVERELAYDEVICEREQUEST']._serialized_end=479
_LISTRELAYDEVICESREQUEST._serialized_start=481 _globals['_LISTRELAYDEVICESREQUEST']._serialized_start=481
_LISTRELAYDEVICESREQUEST._serialized_end=560 _globals['_LISTRELAYDEVICESREQUEST']._serialized_end=560
_RELAYDEVICELISTITEM._serialized_start=562 _globals['_RELAYDEVICELISTITEM']._serialized_start=562
_RELAYDEVICELISTITEM._serialized_end=662 _globals['_RELAYDEVICELISTITEM']._serialized_end=662
_LISTRELAYDEVICESRESPONSE._serialized_start=664 _globals['_LISTRELAYDEVICESRESPONSE']._serialized_start=664
_LISTRELAYDEVICESRESPONSE._serialized_end=753 _globals['_LISTRELAYDEVICESRESPONSE']._serialized_end=753
_RELAYSERVICE._serialized_start=756 _globals['_RELAYSERVICE']._serialized_start=756
_RELAYSERVICE._serialized_end=1208 _globals['_RELAYSERVICE']._serialized_end=1208
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -8,12 +8,46 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map
DESCRIPTOR: _descriptor.FileDescriptor DESCRIPTOR: _descriptor.FileDescriptor
class RelayListItem(_message.Message):
__slots__ = ["dev_eui", "name"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
name: str
def __init__(self, dev_eui: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ...
class ListRelaysRequest(_message.Message):
__slots__ = ["limit", "offset", "application_id"]
LIMIT_FIELD_NUMBER: _ClassVar[int]
OFFSET_FIELD_NUMBER: _ClassVar[int]
APPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
limit: int
offset: int
application_id: str
def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., application_id: _Optional[str] = ...) -> None: ...
class ListRelaysResponse(_message.Message):
__slots__ = ["total_count", "result"]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
RESULT_FIELD_NUMBER: _ClassVar[int]
total_count: int
result: _containers.RepeatedCompositeFieldContainer[RelayListItem]
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[RelayListItem, _Mapping]]] = ...) -> None: ...
class AddRelayDeviceRequest(_message.Message): class AddRelayDeviceRequest(_message.Message):
__slots__ = ["device_dev_eui", "relay_dev_eui"] __slots__ = ["relay_dev_eui", "device_dev_eui"]
DEVICE_DEV_EUI_FIELD_NUMBER: _ClassVar[int]
RELAY_DEV_EUI_FIELD_NUMBER: _ClassVar[int] RELAY_DEV_EUI_FIELD_NUMBER: _ClassVar[int]
device_dev_eui: str DEVICE_DEV_EUI_FIELD_NUMBER: _ClassVar[int]
relay_dev_eui: str relay_dev_eui: str
device_dev_eui: str
def __init__(self, relay_dev_eui: _Optional[str] = ..., device_dev_eui: _Optional[str] = ...) -> None: ...
class RemoveRelayDeviceRequest(_message.Message):
__slots__ = ["relay_dev_eui", "device_dev_eui"]
RELAY_DEV_EUI_FIELD_NUMBER: _ClassVar[int]
DEVICE_DEV_EUI_FIELD_NUMBER: _ClassVar[int]
relay_dev_eui: str
device_dev_eui: str
def __init__(self, relay_dev_eui: _Optional[str] = ..., device_dev_eui: _Optional[str] = ...) -> None: ... def __init__(self, relay_dev_eui: _Optional[str] = ..., device_dev_eui: _Optional[str] = ...) -> None: ...
class ListRelayDevicesRequest(_message.Message): class ListRelayDevicesRequest(_message.Message):
@ -26,54 +60,20 @@ class ListRelayDevicesRequest(_message.Message):
relay_dev_eui: str relay_dev_eui: str
def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., relay_dev_eui: _Optional[str] = ...) -> None: ... def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., relay_dev_eui: _Optional[str] = ...) -> None: ...
class ListRelayDevicesResponse(_message.Message):
__slots__ = ["result", "total_count"]
RESULT_FIELD_NUMBER: _ClassVar[int]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
result: _containers.RepeatedCompositeFieldContainer[RelayDeviceListItem]
total_count: int
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[RelayDeviceListItem, _Mapping]]] = ...) -> None: ...
class ListRelaysRequest(_message.Message):
__slots__ = ["application_id", "limit", "offset"]
APPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
LIMIT_FIELD_NUMBER: _ClassVar[int]
OFFSET_FIELD_NUMBER: _ClassVar[int]
application_id: str
limit: int
offset: int
def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., application_id: _Optional[str] = ...) -> None: ...
class ListRelaysResponse(_message.Message):
__slots__ = ["result", "total_count"]
RESULT_FIELD_NUMBER: _ClassVar[int]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
result: _containers.RepeatedCompositeFieldContainer[RelayListItem]
total_count: int
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[RelayListItem, _Mapping]]] = ...) -> None: ...
class RelayDeviceListItem(_message.Message): class RelayDeviceListItem(_message.Message):
__slots__ = ["created_at", "dev_eui", "name"] __slots__ = ["dev_eui", "created_at", "name"]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int]
created_at: _timestamp_pb2.Timestamp
dev_eui: str dev_eui: str
created_at: _timestamp_pb2.Timestamp
name: str name: str
def __init__(self, dev_eui: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ...) -> None: ... def __init__(self, dev_eui: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ...) -> None: ...
class RelayListItem(_message.Message): class ListRelayDevicesResponse(_message.Message):
__slots__ = ["dev_eui", "name"] __slots__ = ["total_count", "result"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int] RESULT_FIELD_NUMBER: _ClassVar[int]
dev_eui: str total_count: int
name: str result: _containers.RepeatedCompositeFieldContainer[RelayDeviceListItem]
def __init__(self, dev_eui: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ... def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[RelayDeviceListItem, _Mapping]]] = ...) -> None: ...
class RemoveRelayDeviceRequest(_message.Message):
__slots__ = ["device_dev_eui", "relay_dev_eui"]
DEVICE_DEV_EUI_FIELD_NUMBER: _ClassVar[int]
RELAY_DEV_EUI_FIELD_NUMBER: _ClassVar[int]
device_dev_eui: str
relay_dev_eui: str
def __init__(self, relay_dev_eui: _Optional[str] = ..., device_dev_eui: _Optional[str] = ...) -> None: ...

View File

@ -2,10 +2,10 @@
# Generated by the protocol buffer compiler. DO NOT EDIT! # Generated by the protocol buffer compiler. DO NOT EDIT!
# source: chirpstack-api/api/request_log.proto # source: chirpstack-api/api/request_log.proto
"""Generated protocol buffer code.""" """Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -18,16 +18,17 @@ from chirpstack_api.gw import gw_pb2 as chirpstack__api_dot_gw_dot_gw__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$chirpstack-api/api/request_log.proto\x12\x03\x61pi\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"chirpstack-api/common/common.proto\x1a\x1a\x63hirpstack-api/gw/gw.proto\"\x8f\x01\n\nRequestLog\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12/\n\x08metadata\x18\x03 \x03(\x0b\x32\x1d.api.RequestLog.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42g\n\x11io.chirpstack.apiB\x0fRequestLogProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$chirpstack-api/api/request_log.proto\x12\x03\x61pi\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"chirpstack-api/common/common.proto\x1a\x1a\x63hirpstack-api/gw/gw.proto\"\x8f\x01\n\nRequestLog\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12/\n\x08metadata\x18\x03 \x03(\x0b\x32\x1d.api.RequestLog.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42g\n\x11io.chirpstack.apiB\x0fRequestLogProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3')
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _globals = globals()
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.request_log_pb2', globals()) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.request_log_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False: if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\021io.chirpstack.apiB\017RequestLogProtoP\001Z.github.com/chirpstack/chirpstack/api/go/v4/api\252\002\016Chirpstack.Api' DESCRIPTOR._serialized_options = b'\n\021io.chirpstack.apiB\017RequestLogProtoP\001Z.github.com/chirpstack/chirpstack/api/go/v4/api\252\002\016Chirpstack.Api'
_REQUESTLOG_METADATAENTRY._options = None _REQUESTLOG_METADATAENTRY._options = None
_REQUESTLOG_METADATAENTRY._serialized_options = b'8\001' _REQUESTLOG_METADATAENTRY._serialized_options = b'8\001'
_REQUESTLOG._serialized_start=143 _globals['_REQUESTLOG']._serialized_start=143
_REQUESTLOG._serialized_end=286 _globals['_REQUESTLOG']._serialized_end=286
_REQUESTLOG_METADATAENTRY._serialized_start=239 _globals['_REQUESTLOG_METADATAENTRY']._serialized_start=239
_REQUESTLOG_METADATAENTRY._serialized_end=286 _globals['_REQUESTLOG_METADATAENTRY']._serialized_end=286
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -9,7 +9,7 @@ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Opti
DESCRIPTOR: _descriptor.FileDescriptor DESCRIPTOR: _descriptor.FileDescriptor
class RequestLog(_message.Message): class RequestLog(_message.Message):
__slots__ = ["metadata", "method", "service"] __slots__ = ["service", "method", "metadata"]
class MetadataEntry(_message.Message): class MetadataEntry(_message.Message):
__slots__ = ["key", "value"] __slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int] KEY_FIELD_NUMBER: _ClassVar[int]
@ -17,10 +17,10 @@ class RequestLog(_message.Message):
key: str key: str
value: str value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
METADATA_FIELD_NUMBER: _ClassVar[int]
METHOD_FIELD_NUMBER: _ClassVar[int]
SERVICE_FIELD_NUMBER: _ClassVar[int] SERVICE_FIELD_NUMBER: _ClassVar[int]
metadata: _containers.ScalarMap[str, str] METHOD_FIELD_NUMBER: _ClassVar[int]
method: str METADATA_FIELD_NUMBER: _ClassVar[int]
service: str service: str
method: str
metadata: _containers.ScalarMap[str, str]
def __init__(self, service: _Optional[str] = ..., method: _Optional[str] = ..., metadata: _Optional[_Mapping[str, str]] = ...) -> None: ... def __init__(self, service: _Optional[str] = ..., method: _Optional[str] = ..., metadata: _Optional[_Mapping[str, str]] = ...) -> None: ...

File diff suppressed because one or more lines are too long

View File

@ -8,11 +8,47 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map
DESCRIPTOR: _descriptor.FileDescriptor DESCRIPTOR: _descriptor.FileDescriptor
class AddTenantUserRequest(_message.Message): class Tenant(_message.Message):
__slots__ = ["tenant_user"] __slots__ = ["id", "name", "description", "can_have_gateways", "max_gateway_count", "max_device_count", "private_gateways_up", "private_gateways_down"]
TENANT_USER_FIELD_NUMBER: _ClassVar[int] ID_FIELD_NUMBER: _ClassVar[int]
tenant_user: TenantUser NAME_FIELD_NUMBER: _ClassVar[int]
def __init__(self, tenant_user: _Optional[_Union[TenantUser, _Mapping]] = ...) -> None: ... DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
CAN_HAVE_GATEWAYS_FIELD_NUMBER: _ClassVar[int]
MAX_GATEWAY_COUNT_FIELD_NUMBER: _ClassVar[int]
MAX_DEVICE_COUNT_FIELD_NUMBER: _ClassVar[int]
PRIVATE_GATEWAYS_UP_FIELD_NUMBER: _ClassVar[int]
PRIVATE_GATEWAYS_DOWN_FIELD_NUMBER: _ClassVar[int]
id: str
name: str
description: str
can_have_gateways: bool
max_gateway_count: int
max_device_count: int
private_gateways_up: bool
private_gateways_down: bool
def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., can_have_gateways: bool = ..., max_gateway_count: _Optional[int] = ..., max_device_count: _Optional[int] = ..., private_gateways_up: bool = ..., private_gateways_down: bool = ...) -> None: ...
class TenantListItem(_message.Message):
__slots__ = ["id", "created_at", "updated_at", "name", "can_have_gateways", "private_gateways_up", "private_gateways_down", "max_gateway_count", "max_device_count"]
ID_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
CAN_HAVE_GATEWAYS_FIELD_NUMBER: _ClassVar[int]
PRIVATE_GATEWAYS_UP_FIELD_NUMBER: _ClassVar[int]
PRIVATE_GATEWAYS_DOWN_FIELD_NUMBER: _ClassVar[int]
MAX_GATEWAY_COUNT_FIELD_NUMBER: _ClassVar[int]
MAX_DEVICE_COUNT_FIELD_NUMBER: _ClassVar[int]
id: str
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
name: str
can_have_gateways: bool
private_gateways_up: bool
private_gateways_down: bool
max_gateway_count: int
max_device_count: int
def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., can_have_gateways: bool = ..., private_gateways_up: bool = ..., private_gateways_down: bool = ..., max_gateway_count: _Optional[int] = ..., max_device_count: _Optional[int] = ...) -> None: ...
class CreateTenantRequest(_message.Message): class CreateTenantRequest(_message.Message):
__slots__ = ["tenant"] __slots__ = ["tenant"]
@ -26,20 +62,6 @@ class CreateTenantResponse(_message.Message):
id: str id: str
def __init__(self, id: _Optional[str] = ...) -> None: ... def __init__(self, id: _Optional[str] = ...) -> None: ...
class DeleteTenantRequest(_message.Message):
__slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int]
id: str
def __init__(self, id: _Optional[str] = ...) -> None: ...
class DeleteTenantUserRequest(_message.Message):
__slots__ = ["tenant_id", "user_id"]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
USER_ID_FIELD_NUMBER: _ClassVar[int]
tenant_id: str
user_id: str
def __init__(self, tenant_id: _Optional[str] = ..., user_id: _Optional[str] = ...) -> None: ...
class GetTenantRequest(_message.Message): class GetTenantRequest(_message.Message):
__slots__ = ["id"] __slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int] ID_FIELD_NUMBER: _ClassVar[int]
@ -47,50 +69,26 @@ class GetTenantRequest(_message.Message):
def __init__(self, id: _Optional[str] = ...) -> None: ... def __init__(self, id: _Optional[str] = ...) -> None: ...
class GetTenantResponse(_message.Message): class GetTenantResponse(_message.Message):
__slots__ = ["created_at", "tenant", "updated_at"] __slots__ = ["tenant", "created_at", "updated_at"]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
TENANT_FIELD_NUMBER: _ClassVar[int] TENANT_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int] UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
created_at: _timestamp_pb2.Timestamp
tenant: Tenant tenant: Tenant
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp updated_at: _timestamp_pb2.Timestamp
def __init__(self, tenant: _Optional[_Union[Tenant, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... def __init__(self, tenant: _Optional[_Union[Tenant, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
class GetTenantUserRequest(_message.Message): class UpdateTenantRequest(_message.Message):
__slots__ = ["tenant_id", "user_id"] __slots__ = ["tenant"]
TENANT_ID_FIELD_NUMBER: _ClassVar[int] TENANT_FIELD_NUMBER: _ClassVar[int]
USER_ID_FIELD_NUMBER: _ClassVar[int] tenant: Tenant
tenant_id: str def __init__(self, tenant: _Optional[_Union[Tenant, _Mapping]] = ...) -> None: ...
user_id: str
def __init__(self, tenant_id: _Optional[str] = ..., user_id: _Optional[str] = ...) -> None: ...
class GetTenantUserResponse(_message.Message): class DeleteTenantRequest(_message.Message):
__slots__ = ["created_at", "tenant_user", "updated_at"] __slots__ = ["id"]
CREATED_AT_FIELD_NUMBER: _ClassVar[int] ID_FIELD_NUMBER: _ClassVar[int]
TENANT_USER_FIELD_NUMBER: _ClassVar[int] id: str
UPDATED_AT_FIELD_NUMBER: _ClassVar[int] def __init__(self, id: _Optional[str] = ...) -> None: ...
created_at: _timestamp_pb2.Timestamp
tenant_user: TenantUser
updated_at: _timestamp_pb2.Timestamp
def __init__(self, tenant_user: _Optional[_Union[TenantUser, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
class ListTenantUsersRequest(_message.Message):
__slots__ = ["limit", "offset", "tenant_id"]
LIMIT_FIELD_NUMBER: _ClassVar[int]
OFFSET_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
limit: int
offset: int
tenant_id: str
def __init__(self, tenant_id: _Optional[str] = ..., limit: _Optional[int] = ..., offset: _Optional[int] = ...) -> None: ...
class ListTenantUsersResponse(_message.Message):
__slots__ = ["result", "total_count"]
RESULT_FIELD_NUMBER: _ClassVar[int]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
result: _containers.RepeatedCompositeFieldContainer[TenantUserListItem]
total_count: int
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[TenantUserListItem, _Mapping]]] = ...) -> None: ...
class ListTenantsRequest(_message.Message): class ListTenantsRequest(_message.Message):
__slots__ = ["limit", "offset", "search", "user_id"] __slots__ = ["limit", "offset", "search", "user_id"]
@ -105,99 +103,101 @@ class ListTenantsRequest(_message.Message):
def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., user_id: _Optional[str] = ...) -> None: ... def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., search: _Optional[str] = ..., user_id: _Optional[str] = ...) -> None: ...
class ListTenantsResponse(_message.Message): class ListTenantsResponse(_message.Message):
__slots__ = ["result", "total_count"] __slots__ = ["total_count", "result"]
RESULT_FIELD_NUMBER: _ClassVar[int]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
result: _containers.RepeatedCompositeFieldContainer[TenantListItem] RESULT_FIELD_NUMBER: _ClassVar[int]
total_count: int total_count: int
result: _containers.RepeatedCompositeFieldContainer[TenantListItem]
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[TenantListItem, _Mapping]]] = ...) -> None: ... def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[TenantListItem, _Mapping]]] = ...) -> None: ...
class Tenant(_message.Message):
__slots__ = ["can_have_gateways", "description", "id", "max_device_count", "max_gateway_count", "name", "private_gateways_down", "private_gateways_up"]
CAN_HAVE_GATEWAYS_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
ID_FIELD_NUMBER: _ClassVar[int]
MAX_DEVICE_COUNT_FIELD_NUMBER: _ClassVar[int]
MAX_GATEWAY_COUNT_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
PRIVATE_GATEWAYS_DOWN_FIELD_NUMBER: _ClassVar[int]
PRIVATE_GATEWAYS_UP_FIELD_NUMBER: _ClassVar[int]
can_have_gateways: bool
description: str
id: str
max_device_count: int
max_gateway_count: int
name: str
private_gateways_down: bool
private_gateways_up: bool
def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., can_have_gateways: bool = ..., max_gateway_count: _Optional[int] = ..., max_device_count: _Optional[int] = ..., private_gateways_up: bool = ..., private_gateways_down: bool = ...) -> None: ...
class TenantListItem(_message.Message):
__slots__ = ["can_have_gateways", "created_at", "id", "max_device_count", "max_gateway_count", "name", "private_gateways_down", "private_gateways_up", "updated_at"]
CAN_HAVE_GATEWAYS_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
ID_FIELD_NUMBER: _ClassVar[int]
MAX_DEVICE_COUNT_FIELD_NUMBER: _ClassVar[int]
MAX_GATEWAY_COUNT_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int]
PRIVATE_GATEWAYS_DOWN_FIELD_NUMBER: _ClassVar[int]
PRIVATE_GATEWAYS_UP_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
can_have_gateways: bool
created_at: _timestamp_pb2.Timestamp
id: str
max_device_count: int
max_gateway_count: int
name: str
private_gateways_down: bool
private_gateways_up: bool
updated_at: _timestamp_pb2.Timestamp
def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., name: _Optional[str] = ..., can_have_gateways: bool = ..., private_gateways_up: bool = ..., private_gateways_down: bool = ..., max_gateway_count: _Optional[int] = ..., max_device_count: _Optional[int] = ...) -> None: ...
class TenantUser(_message.Message): class TenantUser(_message.Message):
__slots__ = ["email", "is_admin", "is_device_admin", "is_gateway_admin", "tenant_id", "user_id"] __slots__ = ["tenant_id", "user_id", "is_admin", "is_device_admin", "is_gateway_admin", "email"]
EMAIL_FIELD_NUMBER: _ClassVar[int] TENANT_ID_FIELD_NUMBER: _ClassVar[int]
USER_ID_FIELD_NUMBER: _ClassVar[int]
IS_ADMIN_FIELD_NUMBER: _ClassVar[int] IS_ADMIN_FIELD_NUMBER: _ClassVar[int]
IS_DEVICE_ADMIN_FIELD_NUMBER: _ClassVar[int] IS_DEVICE_ADMIN_FIELD_NUMBER: _ClassVar[int]
IS_GATEWAY_ADMIN_FIELD_NUMBER: _ClassVar[int] IS_GATEWAY_ADMIN_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int] EMAIL_FIELD_NUMBER: _ClassVar[int]
USER_ID_FIELD_NUMBER: _ClassVar[int] tenant_id: str
email: str user_id: str
is_admin: bool is_admin: bool
is_device_admin: bool is_device_admin: bool
is_gateway_admin: bool is_gateway_admin: bool
tenant_id: str email: str
user_id: str
def __init__(self, tenant_id: _Optional[str] = ..., user_id: _Optional[str] = ..., is_admin: bool = ..., is_device_admin: bool = ..., is_gateway_admin: bool = ..., email: _Optional[str] = ...) -> None: ... def __init__(self, tenant_id: _Optional[str] = ..., user_id: _Optional[str] = ..., is_admin: bool = ..., is_device_admin: bool = ..., is_gateway_admin: bool = ..., email: _Optional[str] = ...) -> None: ...
class TenantUserListItem(_message.Message): class TenantUserListItem(_message.Message):
__slots__ = ["created_at", "email", "is_admin", "is_device_admin", "is_gateway_admin", "tenant_id", "updated_at", "user_id"] __slots__ = ["tenant_id", "user_id", "created_at", "updated_at", "email", "is_admin", "is_device_admin", "is_gateway_admin"]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
USER_ID_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int] CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
EMAIL_FIELD_NUMBER: _ClassVar[int] EMAIL_FIELD_NUMBER: _ClassVar[int]
IS_ADMIN_FIELD_NUMBER: _ClassVar[int] IS_ADMIN_FIELD_NUMBER: _ClassVar[int]
IS_DEVICE_ADMIN_FIELD_NUMBER: _ClassVar[int] IS_DEVICE_ADMIN_FIELD_NUMBER: _ClassVar[int]
IS_GATEWAY_ADMIN_FIELD_NUMBER: _ClassVar[int] IS_GATEWAY_ADMIN_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int] tenant_id: str
UPDATED_AT_FIELD_NUMBER: _ClassVar[int] user_id: str
USER_ID_FIELD_NUMBER: _ClassVar[int]
created_at: _timestamp_pb2.Timestamp created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
email: str email: str
is_admin: bool is_admin: bool
is_device_admin: bool is_device_admin: bool
is_gateway_admin: bool is_gateway_admin: bool
tenant_id: str
updated_at: _timestamp_pb2.Timestamp
user_id: str
def __init__(self, tenant_id: _Optional[str] = ..., user_id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., email: _Optional[str] = ..., is_admin: bool = ..., is_device_admin: bool = ..., is_gateway_admin: bool = ...) -> None: ... def __init__(self, tenant_id: _Optional[str] = ..., user_id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., email: _Optional[str] = ..., is_admin: bool = ..., is_device_admin: bool = ..., is_gateway_admin: bool = ...) -> None: ...
class UpdateTenantRequest(_message.Message): class AddTenantUserRequest(_message.Message):
__slots__ = ["tenant"] __slots__ = ["tenant_user"]
TENANT_FIELD_NUMBER: _ClassVar[int] TENANT_USER_FIELD_NUMBER: _ClassVar[int]
tenant: Tenant tenant_user: TenantUser
def __init__(self, tenant: _Optional[_Union[Tenant, _Mapping]] = ...) -> None: ... def __init__(self, tenant_user: _Optional[_Union[TenantUser, _Mapping]] = ...) -> None: ...
class GetTenantUserRequest(_message.Message):
__slots__ = ["tenant_id", "user_id"]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
USER_ID_FIELD_NUMBER: _ClassVar[int]
tenant_id: str
user_id: str
def __init__(self, tenant_id: _Optional[str] = ..., user_id: _Optional[str] = ...) -> None: ...
class GetTenantUserResponse(_message.Message):
__slots__ = ["tenant_user", "created_at", "updated_at"]
TENANT_USER_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
tenant_user: TenantUser
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
def __init__(self, tenant_user: _Optional[_Union[TenantUser, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
class UpdateTenantUserRequest(_message.Message): class UpdateTenantUserRequest(_message.Message):
__slots__ = ["tenant_user"] __slots__ = ["tenant_user"]
TENANT_USER_FIELD_NUMBER: _ClassVar[int] TENANT_USER_FIELD_NUMBER: _ClassVar[int]
tenant_user: TenantUser tenant_user: TenantUser
def __init__(self, tenant_user: _Optional[_Union[TenantUser, _Mapping]] = ...) -> None: ... def __init__(self, tenant_user: _Optional[_Union[TenantUser, _Mapping]] = ...) -> None: ...
class DeleteTenantUserRequest(_message.Message):
__slots__ = ["tenant_id", "user_id"]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
USER_ID_FIELD_NUMBER: _ClassVar[int]
tenant_id: str
user_id: str
def __init__(self, tenant_id: _Optional[str] = ..., user_id: _Optional[str] = ...) -> None: ...
class ListTenantUsersRequest(_message.Message):
__slots__ = ["tenant_id", "limit", "offset"]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
LIMIT_FIELD_NUMBER: _ClassVar[int]
OFFSET_FIELD_NUMBER: _ClassVar[int]
tenant_id: str
limit: int
offset: int
def __init__(self, tenant_id: _Optional[str] = ..., limit: _Optional[int] = ..., offset: _Optional[int] = ...) -> None: ...
class ListTenantUsersResponse(_message.Message):
__slots__ = ["total_count", "result"]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
RESULT_FIELD_NUMBER: _ClassVar[int]
total_count: int
result: _containers.RepeatedCompositeFieldContainer[TenantUserListItem]
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[TenantUserListItem, _Mapping]]] = ...) -> None: ...

View File

@ -2,10 +2,10 @@
# Generated by the protocol buffer compiler. DO NOT EDIT! # Generated by the protocol buffer compiler. DO NOT EDIT!
# source: chirpstack-api/api/user.proto # source: chirpstack-api/api/user.proto
"""Generated protocol buffer code.""" """Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -18,8 +18,9 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x63hirpstack-api/api/user.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\"T\n\x04User\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08is_admin\x18\x04 \x01(\x08\x12\x11\n\tis_active\x18\x05 \x01(\x08\x12\r\n\x05\x65mail\x18\x06 \x01(\t\x12\x0c\n\x04note\x18\x07 \x01(\t\"\xae\x01\n\x0cUserListItem\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x10\n\x08is_admin\x18\x05 \x01(\x08\x12\x11\n\tis_active\x18\x06 \x01(\x08\"d\n\nUserTenant\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x10\n\x08is_admin\x18\x02 \x01(\x08\x12\x17\n\x0fis_device_admin\x18\x03 \x01(\x08\x12\x18\n\x10is_gateway_admin\x18\x04 \x01(\x08\"`\n\x11\x43reateUserRequest\x12\x17\n\x04user\x18\x01 \x01(\x0b\x32\t.api.User\x12\x10\n\x08password\x18\x02 \x01(\t\x12 \n\x07tenants\x18\x03 \x03(\x0b\x32\x0f.api.UserTenant\" \n\x12\x43reateUserResponse\x12\n\n\x02id\x18\x01 \x01(\t\"\x1c\n\x0eGetUserRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x8a\x01\n\x0fGetUserResponse\x12\x17\n\x04user\x18\x01 \x01(\x0b\x32\t.api.User\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\",\n\x11UpdateUserRequest\x12\x17\n\x04user\x18\x01 \x01(\x0b\x32\t.api.User\"\x1f\n\x11\x44\x65leteUserRequest\x12\n\n\x02id\x18\x01 \x01(\t\"1\n\x10ListUsersRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\"K\n\x11ListUsersResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12!\n\x06result\x18\x02 \x03(\x0b\x32\x11.api.UserListItem\">\n\x19UpdateUserPasswordRequest\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t2\x97\x04\n\x0bUserService\x12P\n\x06\x43reate\x12\x16.api.CreateUserRequest\x1a\x17.api.CreateUserResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\"\n/api/users:\x01*\x12I\n\x03Get\x12\x13.api.GetUserRequest\x1a\x14.api.GetUserResponse\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/api/users/{id}\x12Y\n\x06Update\x12\x16.api.UpdateUserRequest\x1a\x16.google.protobuf.Empty\"\x1f\x82\xd3\xe4\x93\x02\x19\x1a\x14/api/users/{user.id}:\x01*\x12Q\n\x06\x44\x65lete\x12\x16.api.DeleteUserRequest\x1a\x16.google.protobuf.Empty\"\x17\x82\xd3\xe4\x93\x02\x11*\x0f/api/users/{id}\x12I\n\x04List\x12\x15.api.ListUsersRequest\x1a\x16.api.ListUsersResponse\"\x12\x82\xd3\xe4\x93\x02\x0c\x12\n/api/users\x12r\n\x0eUpdatePassword\x12\x1e.api.UpdateUserPasswordRequest\x1a\x16.google.protobuf.Empty\"(\x82\xd3\xe4\x93\x02\"\"\x1d/api/users/{user_id}/password:\x01*Ba\n\x11io.chirpstack.apiB\tUserProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x63hirpstack-api/api/user.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\"T\n\x04User\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08is_admin\x18\x04 \x01(\x08\x12\x11\n\tis_active\x18\x05 \x01(\x08\x12\r\n\x05\x65mail\x18\x06 \x01(\t\x12\x0c\n\x04note\x18\x07 \x01(\t\"\xae\x01\n\x0cUserListItem\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x10\n\x08is_admin\x18\x05 \x01(\x08\x12\x11\n\tis_active\x18\x06 \x01(\x08\"d\n\nUserTenant\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x10\n\x08is_admin\x18\x02 \x01(\x08\x12\x17\n\x0fis_device_admin\x18\x03 \x01(\x08\x12\x18\n\x10is_gateway_admin\x18\x04 \x01(\x08\"`\n\x11\x43reateUserRequest\x12\x17\n\x04user\x18\x01 \x01(\x0b\x32\t.api.User\x12\x10\n\x08password\x18\x02 \x01(\t\x12 \n\x07tenants\x18\x03 \x03(\x0b\x32\x0f.api.UserTenant\" \n\x12\x43reateUserResponse\x12\n\n\x02id\x18\x01 \x01(\t\"\x1c\n\x0eGetUserRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x8a\x01\n\x0fGetUserResponse\x12\x17\n\x04user\x18\x01 \x01(\x0b\x32\t.api.User\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\",\n\x11UpdateUserRequest\x12\x17\n\x04user\x18\x01 \x01(\x0b\x32\t.api.User\"\x1f\n\x11\x44\x65leteUserRequest\x12\n\n\x02id\x18\x01 \x01(\t\"1\n\x10ListUsersRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\"K\n\x11ListUsersResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12!\n\x06result\x18\x02 \x03(\x0b\x32\x11.api.UserListItem\">\n\x19UpdateUserPasswordRequest\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t2\x97\x04\n\x0bUserService\x12P\n\x06\x43reate\x12\x16.api.CreateUserRequest\x1a\x17.api.CreateUserResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\"\n/api/users:\x01*\x12I\n\x03Get\x12\x13.api.GetUserRequest\x1a\x14.api.GetUserResponse\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/api/users/{id}\x12Y\n\x06Update\x12\x16.api.UpdateUserRequest\x1a\x16.google.protobuf.Empty\"\x1f\x82\xd3\xe4\x93\x02\x19\x1a\x14/api/users/{user.id}:\x01*\x12Q\n\x06\x44\x65lete\x12\x16.api.DeleteUserRequest\x1a\x16.google.protobuf.Empty\"\x17\x82\xd3\xe4\x93\x02\x11*\x0f/api/users/{id}\x12I\n\x04List\x12\x15.api.ListUsersRequest\x1a\x16.api.ListUsersResponse\"\x12\x82\xd3\xe4\x93\x02\x0c\x12\n/api/users\x12r\n\x0eUpdatePassword\x12\x1e.api.UpdateUserPasswordRequest\x1a\x16.google.protobuf.Empty\"(\x82\xd3\xe4\x93\x02\"\"\x1d/api/users/{user_id}/password:\x01*Ba\n\x11io.chirpstack.apiB\tUserProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3')
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _globals = globals()
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.user_pb2', globals()) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.user_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False: if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None DESCRIPTOR._options = None
@ -36,30 +37,30 @@ if _descriptor._USE_C_DESCRIPTORS == False:
_USERSERVICE.methods_by_name['List']._serialized_options = b'\202\323\344\223\002\014\022\n/api/users' _USERSERVICE.methods_by_name['List']._serialized_options = b'\202\323\344\223\002\014\022\n/api/users'
_USERSERVICE.methods_by_name['UpdatePassword']._options = None _USERSERVICE.methods_by_name['UpdatePassword']._options = None
_USERSERVICE.methods_by_name['UpdatePassword']._serialized_options = b'\202\323\344\223\002\"\"\035/api/users/{user_id}/password:\001*' _USERSERVICE.methods_by_name['UpdatePassword']._serialized_options = b'\202\323\344\223\002\"\"\035/api/users/{user_id}/password:\001*'
_USER._serialized_start=130 _globals['_USER']._serialized_start=130
_USER._serialized_end=214 _globals['_USER']._serialized_end=214
_USERLISTITEM._serialized_start=217 _globals['_USERLISTITEM']._serialized_start=217
_USERLISTITEM._serialized_end=391 _globals['_USERLISTITEM']._serialized_end=391
_USERTENANT._serialized_start=393 _globals['_USERTENANT']._serialized_start=393
_USERTENANT._serialized_end=493 _globals['_USERTENANT']._serialized_end=493
_CREATEUSERREQUEST._serialized_start=495 _globals['_CREATEUSERREQUEST']._serialized_start=495
_CREATEUSERREQUEST._serialized_end=591 _globals['_CREATEUSERREQUEST']._serialized_end=591
_CREATEUSERRESPONSE._serialized_start=593 _globals['_CREATEUSERRESPONSE']._serialized_start=593
_CREATEUSERRESPONSE._serialized_end=625 _globals['_CREATEUSERRESPONSE']._serialized_end=625
_GETUSERREQUEST._serialized_start=627 _globals['_GETUSERREQUEST']._serialized_start=627
_GETUSERREQUEST._serialized_end=655 _globals['_GETUSERREQUEST']._serialized_end=655
_GETUSERRESPONSE._serialized_start=658 _globals['_GETUSERRESPONSE']._serialized_start=658
_GETUSERRESPONSE._serialized_end=796 _globals['_GETUSERRESPONSE']._serialized_end=796
_UPDATEUSERREQUEST._serialized_start=798 _globals['_UPDATEUSERREQUEST']._serialized_start=798
_UPDATEUSERREQUEST._serialized_end=842 _globals['_UPDATEUSERREQUEST']._serialized_end=842
_DELETEUSERREQUEST._serialized_start=844 _globals['_DELETEUSERREQUEST']._serialized_start=844
_DELETEUSERREQUEST._serialized_end=875 _globals['_DELETEUSERREQUEST']._serialized_end=875
_LISTUSERSREQUEST._serialized_start=877 _globals['_LISTUSERSREQUEST']._serialized_start=877
_LISTUSERSREQUEST._serialized_end=926 _globals['_LISTUSERSREQUEST']._serialized_end=926
_LISTUSERSRESPONSE._serialized_start=928 _globals['_LISTUSERSRESPONSE']._serialized_start=928
_LISTUSERSRESPONSE._serialized_end=1003 _globals['_LISTUSERSRESPONSE']._serialized_end=1003
_UPDATEUSERPASSWORDREQUEST._serialized_start=1005 _globals['_UPDATEUSERPASSWORDREQUEST']._serialized_start=1005
_UPDATEUSERPASSWORDREQUEST._serialized_end=1067 _globals['_UPDATEUSERPASSWORDREQUEST']._serialized_end=1067
_USERSERVICE._serialized_start=1070 _globals['_USERSERVICE']._serialized_start=1070
_USERSERVICE._serialized_end=1605 _globals['_USERSERVICE']._serialized_end=1605
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -8,14 +8,56 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map
DESCRIPTOR: _descriptor.FileDescriptor DESCRIPTOR: _descriptor.FileDescriptor
class User(_message.Message):
__slots__ = ["id", "is_admin", "is_active", "email", "note"]
ID_FIELD_NUMBER: _ClassVar[int]
IS_ADMIN_FIELD_NUMBER: _ClassVar[int]
IS_ACTIVE_FIELD_NUMBER: _ClassVar[int]
EMAIL_FIELD_NUMBER: _ClassVar[int]
NOTE_FIELD_NUMBER: _ClassVar[int]
id: str
is_admin: bool
is_active: bool
email: str
note: str
def __init__(self, id: _Optional[str] = ..., is_admin: bool = ..., is_active: bool = ..., email: _Optional[str] = ..., note: _Optional[str] = ...) -> None: ...
class UserListItem(_message.Message):
__slots__ = ["id", "created_at", "updated_at", "email", "is_admin", "is_active"]
ID_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
EMAIL_FIELD_NUMBER: _ClassVar[int]
IS_ADMIN_FIELD_NUMBER: _ClassVar[int]
IS_ACTIVE_FIELD_NUMBER: _ClassVar[int]
id: str
created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp
email: str
is_admin: bool
is_active: bool
def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., email: _Optional[str] = ..., is_admin: bool = ..., is_active: bool = ...) -> None: ...
class UserTenant(_message.Message):
__slots__ = ["tenant_id", "is_admin", "is_device_admin", "is_gateway_admin"]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
IS_ADMIN_FIELD_NUMBER: _ClassVar[int]
IS_DEVICE_ADMIN_FIELD_NUMBER: _ClassVar[int]
IS_GATEWAY_ADMIN_FIELD_NUMBER: _ClassVar[int]
tenant_id: str
is_admin: bool
is_device_admin: bool
is_gateway_admin: bool
def __init__(self, tenant_id: _Optional[str] = ..., is_admin: bool = ..., is_device_admin: bool = ..., is_gateway_admin: bool = ...) -> None: ...
class CreateUserRequest(_message.Message): class CreateUserRequest(_message.Message):
__slots__ = ["password", "tenants", "user"] __slots__ = ["user", "password", "tenants"]
USER_FIELD_NUMBER: _ClassVar[int]
PASSWORD_FIELD_NUMBER: _ClassVar[int] PASSWORD_FIELD_NUMBER: _ClassVar[int]
TENANTS_FIELD_NUMBER: _ClassVar[int] TENANTS_FIELD_NUMBER: _ClassVar[int]
USER_FIELD_NUMBER: _ClassVar[int] user: User
password: str password: str
tenants: _containers.RepeatedCompositeFieldContainer[UserTenant] tenants: _containers.RepeatedCompositeFieldContainer[UserTenant]
user: User
def __init__(self, user: _Optional[_Union[User, _Mapping]] = ..., password: _Optional[str] = ..., tenants: _Optional[_Iterable[_Union[UserTenant, _Mapping]]] = ...) -> None: ... def __init__(self, user: _Optional[_Union[User, _Mapping]] = ..., password: _Optional[str] = ..., tenants: _Optional[_Iterable[_Union[UserTenant, _Mapping]]] = ...) -> None: ...
class CreateUserResponse(_message.Message): class CreateUserResponse(_message.Message):
@ -24,12 +66,6 @@ class CreateUserResponse(_message.Message):
id: str id: str
def __init__(self, id: _Optional[str] = ...) -> None: ... def __init__(self, id: _Optional[str] = ...) -> None: ...
class DeleteUserRequest(_message.Message):
__slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int]
id: str
def __init__(self, id: _Optional[str] = ...) -> None: ...
class GetUserRequest(_message.Message): class GetUserRequest(_message.Message):
__slots__ = ["id"] __slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int] ID_FIELD_NUMBER: _ClassVar[int]
@ -37,15 +73,27 @@ class GetUserRequest(_message.Message):
def __init__(self, id: _Optional[str] = ...) -> None: ... def __init__(self, id: _Optional[str] = ...) -> None: ...
class GetUserResponse(_message.Message): class GetUserResponse(_message.Message):
__slots__ = ["created_at", "updated_at", "user"] __slots__ = ["user", "created_at", "updated_at"]
USER_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int] CREATED_AT_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int] UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
USER_FIELD_NUMBER: _ClassVar[int] user: User
created_at: _timestamp_pb2.Timestamp created_at: _timestamp_pb2.Timestamp
updated_at: _timestamp_pb2.Timestamp updated_at: _timestamp_pb2.Timestamp
user: User
def __init__(self, user: _Optional[_Union[User, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... def __init__(self, user: _Optional[_Union[User, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
class UpdateUserRequest(_message.Message):
__slots__ = ["user"]
USER_FIELD_NUMBER: _ClassVar[int]
user: User
def __init__(self, user: _Optional[_Union[User, _Mapping]] = ...) -> None: ...
class DeleteUserRequest(_message.Message):
__slots__ = ["id"]
ID_FIELD_NUMBER: _ClassVar[int]
id: str
def __init__(self, id: _Optional[str] = ...) -> None: ...
class ListUsersRequest(_message.Message): class ListUsersRequest(_message.Message):
__slots__ = ["limit", "offset"] __slots__ = ["limit", "offset"]
LIMIT_FIELD_NUMBER: _ClassVar[int] LIMIT_FIELD_NUMBER: _ClassVar[int]
@ -55,65 +103,17 @@ class ListUsersRequest(_message.Message):
def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ...) -> None: ... def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ...) -> None: ...
class ListUsersResponse(_message.Message): class ListUsersResponse(_message.Message):
__slots__ = ["result", "total_count"] __slots__ = ["total_count", "result"]
RESULT_FIELD_NUMBER: _ClassVar[int]
TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int]
result: _containers.RepeatedCompositeFieldContainer[UserListItem] RESULT_FIELD_NUMBER: _ClassVar[int]
total_count: int total_count: int
result: _containers.RepeatedCompositeFieldContainer[UserListItem]
def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[UserListItem, _Mapping]]] = ...) -> None: ... def __init__(self, total_count: _Optional[int] = ..., result: _Optional[_Iterable[_Union[UserListItem, _Mapping]]] = ...) -> None: ...
class UpdateUserPasswordRequest(_message.Message): class UpdateUserPasswordRequest(_message.Message):
__slots__ = ["password", "user_id"] __slots__ = ["user_id", "password"]
PASSWORD_FIELD_NUMBER: _ClassVar[int]
USER_ID_FIELD_NUMBER: _ClassVar[int] USER_ID_FIELD_NUMBER: _ClassVar[int]
password: str PASSWORD_FIELD_NUMBER: _ClassVar[int]
user_id: str user_id: str
password: str
def __init__(self, user_id: _Optional[str] = ..., password: _Optional[str] = ...) -> None: ... def __init__(self, user_id: _Optional[str] = ..., password: _Optional[str] = ...) -> None: ...
class UpdateUserRequest(_message.Message):
__slots__ = ["user"]
USER_FIELD_NUMBER: _ClassVar[int]
user: User
def __init__(self, user: _Optional[_Union[User, _Mapping]] = ...) -> None: ...
class User(_message.Message):
__slots__ = ["email", "id", "is_active", "is_admin", "note"]
EMAIL_FIELD_NUMBER: _ClassVar[int]
ID_FIELD_NUMBER: _ClassVar[int]
IS_ACTIVE_FIELD_NUMBER: _ClassVar[int]
IS_ADMIN_FIELD_NUMBER: _ClassVar[int]
NOTE_FIELD_NUMBER: _ClassVar[int]
email: str
id: str
is_active: bool
is_admin: bool
note: str
def __init__(self, id: _Optional[str] = ..., is_admin: bool = ..., is_active: bool = ..., email: _Optional[str] = ..., note: _Optional[str] = ...) -> None: ...
class UserListItem(_message.Message):
__slots__ = ["created_at", "email", "id", "is_active", "is_admin", "updated_at"]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
EMAIL_FIELD_NUMBER: _ClassVar[int]
ID_FIELD_NUMBER: _ClassVar[int]
IS_ACTIVE_FIELD_NUMBER: _ClassVar[int]
IS_ADMIN_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
created_at: _timestamp_pb2.Timestamp
email: str
id: str
is_active: bool
is_admin: bool
updated_at: _timestamp_pb2.Timestamp
def __init__(self, id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., email: _Optional[str] = ..., is_admin: bool = ..., is_active: bool = ...) -> None: ...
class UserTenant(_message.Message):
__slots__ = ["is_admin", "is_device_admin", "is_gateway_admin", "tenant_id"]
IS_ADMIN_FIELD_NUMBER: _ClassVar[int]
IS_DEVICE_ADMIN_FIELD_NUMBER: _ClassVar[int]
IS_GATEWAY_ADMIN_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int]
is_admin: bool
is_device_admin: bool
is_gateway_admin: bool
tenant_id: str
def __init__(self, tenant_id: _Optional[str] = ..., is_admin: bool = ..., is_device_admin: bool = ..., is_gateway_admin: bool = ...) -> None: ...

View File

@ -2,10 +2,10 @@
# Generated by the protocol buffer compiler. DO NOT EDIT! # Generated by the protocol buffer compiler. DO NOT EDIT!
# source: chirpstack-api/common/common.proto # source: chirpstack-api/common/common.proto
"""Generated protocol buffer code.""" """Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -16,36 +16,37 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"chirpstack-api/common/common.proto\x12\x06\x63ommon\x1a\x1fgoogle/protobuf/timestamp.proto\"{\n\x08Location\x12\x10\n\x08latitude\x18\x01 \x01(\x01\x12\x11\n\tlongitude\x18\x02 \x01(\x01\x12\x10\n\x08\x61ltitude\x18\x03 \x01(\x01\x12&\n\x06source\x18\x04 \x01(\x0e\x32\x16.common.LocationSource\x12\x10\n\x08\x61\x63\x63uracy\x18\x05 \x01(\x02\"1\n\x0bKeyEnvelope\x12\x11\n\tkek_label\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x65s_key\x18\x02 \x01(\x0c\"\x91\x01\n\x06Metric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\ntimestamps\x18\x02 \x03(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x08\x64\x61tasets\x18\x03 \x03(\x0b\x32\x15.common.MetricDataset\x12 \n\x04kind\x18\x04 \x01(\x0e\x32\x12.common.MetricKind\",\n\rMetricDataset\x12\r\n\x05label\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x03(\x02*,\n\nModulation\x12\x08\n\x04LORA\x10\x00\x12\x07\n\x03\x46SK\x10\x01\x12\x0b\n\x07LR_FHSS\x10\x02*\xaa\x01\n\x06Region\x12\t\n\x05\x45U868\x10\x00\x12\t\n\x05US915\x10\x02\x12\t\n\x05\x43N779\x10\x03\x12\t\n\x05\x45U433\x10\x04\x12\t\n\x05\x41U915\x10\x05\x12\t\n\x05\x43N470\x10\x06\x12\t\n\x05\x41S923\x10\x07\x12\x0b\n\x07\x41S923_2\x10\x0c\x12\x0b\n\x07\x41S923_3\x10\r\x12\x0b\n\x07\x41S923_4\x10\x0e\x12\t\n\x05KR920\x10\x08\x12\t\n\x05IN865\x10\t\x12\t\n\x05RU864\x10\n\x12\x0b\n\x07ISM2400\x10\x0b*\xb3\x01\n\x05MType\x12\x10\n\x0cJOIN_REQUEST\x10\x00\x12\x0f\n\x0bJOIN_ACCEPT\x10\x01\x12\x17\n\x13UNCONFIRMED_DATA_UP\x10\x02\x12\x19\n\x15UNCONFIRMED_DATA_DOWN\x10\x03\x12\x15\n\x11\x43ONFIRMED_DATA_UP\x10\x04\x12\x17\n\x13\x43ONFIRMED_DATA_DOWN\x10\x05\x12\x12\n\x0eREJOIN_REQUEST\x10\x06\x12\x0f\n\x0bPROPRIETARY\x10\x07*~\n\nMacVersion\x12\x11\n\rLORAWAN_1_0_0\x10\x00\x12\x11\n\rLORAWAN_1_0_1\x10\x01\x12\x11\n\rLORAWAN_1_0_2\x10\x02\x12\x11\n\rLORAWAN_1_0_3\x10\x03\x12\x11\n\rLORAWAN_1_0_4\x10\x04\x12\x11\n\rLORAWAN_1_1_0\x10\x05*e\n\x11RegParamsRevision\x12\x05\n\x01\x41\x10\x00\x12\x05\n\x01\x42\x10\x01\x12\x0f\n\x0bRP002_1_0_0\x10\x02\x12\x0f\n\x0bRP002_1_0_1\x10\x03\x12\x0f\n\x0bRP002_1_0_2\x10\x04\x12\x0f\n\x0bRP002_1_0_3\x10\x05*\x8e\x01\n\x0eLocationSource\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03GPS\x10\x01\x12\n\n\x06\x43ONFIG\x10\x02\x12\x15\n\x11GEO_RESOLVER_TDOA\x10\x03\x12\x15\n\x11GEO_RESOLVER_RSSI\x10\x04\x12\x15\n\x11GEO_RESOLVER_GNSS\x10\x05\x12\x15\n\x11GEO_RESOLVER_WIFI\x10\x06*+\n\x0b\x41ggregation\x12\x08\n\x04HOUR\x10\x00\x12\x07\n\x03\x44\x41Y\x10\x01\x12\t\n\x05MONTH\x10\x02*2\n\nMetricKind\x12\x0b\n\x07\x43OUNTER\x10\x00\x12\x0c\n\x08\x41\x42SOLUTE\x10\x01\x12\t\n\x05GAUGE\x10\x02*4\n\x0b\x44\x65viceClass\x12\x0b\n\x07\x43LASS_A\x10\x00\x12\x0b\n\x07\x43LASS_B\x10\x01\x12\x0b\n\x07\x43LASS_C\x10\x02\x42i\n\x11io.chirpstack.apiB\x0b\x43ommonProtoP\x01Z1github.com/chirpstack/chirpstack/api/go/v4/common\xaa\x02\x11\x43hirpstack.Commonb\x06proto3') DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"chirpstack-api/common/common.proto\x12\x06\x63ommon\x1a\x1fgoogle/protobuf/timestamp.proto\"{\n\x08Location\x12\x10\n\x08latitude\x18\x01 \x01(\x01\x12\x11\n\tlongitude\x18\x02 \x01(\x01\x12\x10\n\x08\x61ltitude\x18\x03 \x01(\x01\x12&\n\x06source\x18\x04 \x01(\x0e\x32\x16.common.LocationSource\x12\x10\n\x08\x61\x63\x63uracy\x18\x05 \x01(\x02\"1\n\x0bKeyEnvelope\x12\x11\n\tkek_label\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x65s_key\x18\x02 \x01(\x0c\"\x91\x01\n\x06Metric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\ntimestamps\x18\x02 \x03(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x08\x64\x61tasets\x18\x03 \x03(\x0b\x32\x15.common.MetricDataset\x12 \n\x04kind\x18\x04 \x01(\x0e\x32\x12.common.MetricKind\",\n\rMetricDataset\x12\r\n\x05label\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x03(\x02*,\n\nModulation\x12\x08\n\x04LORA\x10\x00\x12\x07\n\x03\x46SK\x10\x01\x12\x0b\n\x07LR_FHSS\x10\x02*\xaa\x01\n\x06Region\x12\t\n\x05\x45U868\x10\x00\x12\t\n\x05US915\x10\x02\x12\t\n\x05\x43N779\x10\x03\x12\t\n\x05\x45U433\x10\x04\x12\t\n\x05\x41U915\x10\x05\x12\t\n\x05\x43N470\x10\x06\x12\t\n\x05\x41S923\x10\x07\x12\x0b\n\x07\x41S923_2\x10\x0c\x12\x0b\n\x07\x41S923_3\x10\r\x12\x0b\n\x07\x41S923_4\x10\x0e\x12\t\n\x05KR920\x10\x08\x12\t\n\x05IN865\x10\t\x12\t\n\x05RU864\x10\n\x12\x0b\n\x07ISM2400\x10\x0b*\xb3\x01\n\x05MType\x12\x10\n\x0cJOIN_REQUEST\x10\x00\x12\x0f\n\x0bJOIN_ACCEPT\x10\x01\x12\x17\n\x13UNCONFIRMED_DATA_UP\x10\x02\x12\x19\n\x15UNCONFIRMED_DATA_DOWN\x10\x03\x12\x15\n\x11\x43ONFIRMED_DATA_UP\x10\x04\x12\x17\n\x13\x43ONFIRMED_DATA_DOWN\x10\x05\x12\x12\n\x0eREJOIN_REQUEST\x10\x06\x12\x0f\n\x0bPROPRIETARY\x10\x07*~\n\nMacVersion\x12\x11\n\rLORAWAN_1_0_0\x10\x00\x12\x11\n\rLORAWAN_1_0_1\x10\x01\x12\x11\n\rLORAWAN_1_0_2\x10\x02\x12\x11\n\rLORAWAN_1_0_3\x10\x03\x12\x11\n\rLORAWAN_1_0_4\x10\x04\x12\x11\n\rLORAWAN_1_1_0\x10\x05*e\n\x11RegParamsRevision\x12\x05\n\x01\x41\x10\x00\x12\x05\n\x01\x42\x10\x01\x12\x0f\n\x0bRP002_1_0_0\x10\x02\x12\x0f\n\x0bRP002_1_0_1\x10\x03\x12\x0f\n\x0bRP002_1_0_2\x10\x04\x12\x0f\n\x0bRP002_1_0_3\x10\x05*\x8e\x01\n\x0eLocationSource\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03GPS\x10\x01\x12\n\n\x06\x43ONFIG\x10\x02\x12\x15\n\x11GEO_RESOLVER_TDOA\x10\x03\x12\x15\n\x11GEO_RESOLVER_RSSI\x10\x04\x12\x15\n\x11GEO_RESOLVER_GNSS\x10\x05\x12\x15\n\x11GEO_RESOLVER_WIFI\x10\x06*+\n\x0b\x41ggregation\x12\x08\n\x04HOUR\x10\x00\x12\x07\n\x03\x44\x41Y\x10\x01\x12\t\n\x05MONTH\x10\x02*2\n\nMetricKind\x12\x0b\n\x07\x43OUNTER\x10\x00\x12\x0c\n\x08\x41\x42SOLUTE\x10\x01\x12\t\n\x05GAUGE\x10\x02*4\n\x0b\x44\x65viceClass\x12\x0b\n\x07\x43LASS_A\x10\x00\x12\x0b\n\x07\x43LASS_B\x10\x01\x12\x0b\n\x07\x43LASS_C\x10\x02\x42i\n\x11io.chirpstack.apiB\x0b\x43ommonProtoP\x01Z1github.com/chirpstack/chirpstack/api/go/v4/common\xaa\x02\x11\x43hirpstack.Commonb\x06proto3')
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _globals = globals()
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.common.common_pb2', globals()) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.common.common_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False: if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\021io.chirpstack.apiB\013CommonProtoP\001Z1github.com/chirpstack/chirpstack/api/go/v4/common\252\002\021Chirpstack.Common' DESCRIPTOR._serialized_options = b'\n\021io.chirpstack.apiB\013CommonProtoP\001Z1github.com/chirpstack/chirpstack/api/go/v4/common\252\002\021Chirpstack.Common'
_MODULATION._serialized_start=449 _globals['_MODULATION']._serialized_start=449
_MODULATION._serialized_end=493 _globals['_MODULATION']._serialized_end=493
_REGION._serialized_start=496 _globals['_REGION']._serialized_start=496
_REGION._serialized_end=666 _globals['_REGION']._serialized_end=666
_MTYPE._serialized_start=669 _globals['_MTYPE']._serialized_start=669
_MTYPE._serialized_end=848 _globals['_MTYPE']._serialized_end=848
_MACVERSION._serialized_start=850 _globals['_MACVERSION']._serialized_start=850
_MACVERSION._serialized_end=976 _globals['_MACVERSION']._serialized_end=976
_REGPARAMSREVISION._serialized_start=978 _globals['_REGPARAMSREVISION']._serialized_start=978
_REGPARAMSREVISION._serialized_end=1079 _globals['_REGPARAMSREVISION']._serialized_end=1079
_LOCATIONSOURCE._serialized_start=1082 _globals['_LOCATIONSOURCE']._serialized_start=1082
_LOCATIONSOURCE._serialized_end=1224 _globals['_LOCATIONSOURCE']._serialized_end=1224
_AGGREGATION._serialized_start=1226 _globals['_AGGREGATION']._serialized_start=1226
_AGGREGATION._serialized_end=1269 _globals['_AGGREGATION']._serialized_end=1269
_METRICKIND._serialized_start=1271 _globals['_METRICKIND']._serialized_start=1271
_METRICKIND._serialized_end=1321 _globals['_METRICKIND']._serialized_end=1321
_DEVICECLASS._serialized_start=1323 _globals['_DEVICECLASS']._serialized_start=1323
_DEVICECLASS._serialized_end=1375 _globals['_DEVICECLASS']._serialized_end=1375
_LOCATION._serialized_start=79 _globals['_LOCATION']._serialized_start=79
_LOCATION._serialized_end=202 _globals['_LOCATION']._serialized_end=202
_KEYENVELOPE._serialized_start=204 _globals['_KEYENVELOPE']._serialized_start=204
_KEYENVELOPE._serialized_end=253 _globals['_KEYENVELOPE']._serialized_end=253
_METRIC._serialized_start=256 _globals['_METRIC']._serialized_start=256
_METRIC._serialized_end=401 _globals['_METRIC']._serialized_end=401
_METRICDATASET._serialized_start=403 _globals['_METRICDATASET']._serialized_start=403
_METRICDATASET._serialized_end=447 _globals['_METRICDATASET']._serialized_end=447
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -5,126 +5,179 @@ from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message from google.protobuf import message as _message
from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
A: RegParamsRevision DESCRIPTOR: _descriptor.FileDescriptor
ABSOLUTE: MetricKind
class Modulation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
LORA: _ClassVar[Modulation]
FSK: _ClassVar[Modulation]
LR_FHSS: _ClassVar[Modulation]
class Region(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
EU868: _ClassVar[Region]
US915: _ClassVar[Region]
CN779: _ClassVar[Region]
EU433: _ClassVar[Region]
AU915: _ClassVar[Region]
CN470: _ClassVar[Region]
AS923: _ClassVar[Region]
AS923_2: _ClassVar[Region]
AS923_3: _ClassVar[Region]
AS923_4: _ClassVar[Region]
KR920: _ClassVar[Region]
IN865: _ClassVar[Region]
RU864: _ClassVar[Region]
ISM2400: _ClassVar[Region]
class MType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
JOIN_REQUEST: _ClassVar[MType]
JOIN_ACCEPT: _ClassVar[MType]
UNCONFIRMED_DATA_UP: _ClassVar[MType]
UNCONFIRMED_DATA_DOWN: _ClassVar[MType]
CONFIRMED_DATA_UP: _ClassVar[MType]
CONFIRMED_DATA_DOWN: _ClassVar[MType]
REJOIN_REQUEST: _ClassVar[MType]
PROPRIETARY: _ClassVar[MType]
class MacVersion(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
LORAWAN_1_0_0: _ClassVar[MacVersion]
LORAWAN_1_0_1: _ClassVar[MacVersion]
LORAWAN_1_0_2: _ClassVar[MacVersion]
LORAWAN_1_0_3: _ClassVar[MacVersion]
LORAWAN_1_0_4: _ClassVar[MacVersion]
LORAWAN_1_1_0: _ClassVar[MacVersion]
class RegParamsRevision(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
A: _ClassVar[RegParamsRevision]
B: _ClassVar[RegParamsRevision]
RP002_1_0_0: _ClassVar[RegParamsRevision]
RP002_1_0_1: _ClassVar[RegParamsRevision]
RP002_1_0_2: _ClassVar[RegParamsRevision]
RP002_1_0_3: _ClassVar[RegParamsRevision]
class LocationSource(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
UNKNOWN: _ClassVar[LocationSource]
GPS: _ClassVar[LocationSource]
CONFIG: _ClassVar[LocationSource]
GEO_RESOLVER_TDOA: _ClassVar[LocationSource]
GEO_RESOLVER_RSSI: _ClassVar[LocationSource]
GEO_RESOLVER_GNSS: _ClassVar[LocationSource]
GEO_RESOLVER_WIFI: _ClassVar[LocationSource]
class Aggregation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
HOUR: _ClassVar[Aggregation]
DAY: _ClassVar[Aggregation]
MONTH: _ClassVar[Aggregation]
class MetricKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
COUNTER: _ClassVar[MetricKind]
ABSOLUTE: _ClassVar[MetricKind]
GAUGE: _ClassVar[MetricKind]
class DeviceClass(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
CLASS_A: _ClassVar[DeviceClass]
CLASS_B: _ClassVar[DeviceClass]
CLASS_C: _ClassVar[DeviceClass]
LORA: Modulation
FSK: Modulation
LR_FHSS: Modulation
EU868: Region
US915: Region
CN779: Region
EU433: Region
AU915: Region
CN470: Region
AS923: Region AS923: Region
AS923_2: Region AS923_2: Region
AS923_3: Region AS923_3: Region
AS923_4: Region AS923_4: Region
AU915: Region
B: RegParamsRevision
CLASS_A: DeviceClass
CLASS_B: DeviceClass
CLASS_C: DeviceClass
CN470: Region
CN779: Region
CONFIG: LocationSource
CONFIRMED_DATA_DOWN: MType
CONFIRMED_DATA_UP: MType
COUNTER: MetricKind
DAY: Aggregation
DESCRIPTOR: _descriptor.FileDescriptor
EU433: Region
EU868: Region
FSK: Modulation
GAUGE: MetricKind
GEO_RESOLVER_GNSS: LocationSource
GEO_RESOLVER_RSSI: LocationSource
GEO_RESOLVER_TDOA: LocationSource
GEO_RESOLVER_WIFI: LocationSource
GPS: LocationSource
HOUR: Aggregation
IN865: Region
ISM2400: Region
JOIN_ACCEPT: MType
JOIN_REQUEST: MType
KR920: Region KR920: Region
LORA: Modulation IN865: Region
RU864: Region
ISM2400: Region
JOIN_REQUEST: MType
JOIN_ACCEPT: MType
UNCONFIRMED_DATA_UP: MType
UNCONFIRMED_DATA_DOWN: MType
CONFIRMED_DATA_UP: MType
CONFIRMED_DATA_DOWN: MType
REJOIN_REQUEST: MType
PROPRIETARY: MType
LORAWAN_1_0_0: MacVersion LORAWAN_1_0_0: MacVersion
LORAWAN_1_0_1: MacVersion LORAWAN_1_0_1: MacVersion
LORAWAN_1_0_2: MacVersion LORAWAN_1_0_2: MacVersion
LORAWAN_1_0_3: MacVersion LORAWAN_1_0_3: MacVersion
LORAWAN_1_0_4: MacVersion LORAWAN_1_0_4: MacVersion
LORAWAN_1_1_0: MacVersion LORAWAN_1_1_0: MacVersion
LR_FHSS: Modulation A: RegParamsRevision
MONTH: Aggregation B: RegParamsRevision
PROPRIETARY: MType
REJOIN_REQUEST: MType
RP002_1_0_0: RegParamsRevision RP002_1_0_0: RegParamsRevision
RP002_1_0_1: RegParamsRevision RP002_1_0_1: RegParamsRevision
RP002_1_0_2: RegParamsRevision RP002_1_0_2: RegParamsRevision
RP002_1_0_3: RegParamsRevision RP002_1_0_3: RegParamsRevision
RU864: Region
UNCONFIRMED_DATA_DOWN: MType
UNCONFIRMED_DATA_UP: MType
UNKNOWN: LocationSource UNKNOWN: LocationSource
US915: Region GPS: LocationSource
CONFIG: LocationSource
class KeyEnvelope(_message.Message): GEO_RESOLVER_TDOA: LocationSource
__slots__ = ["aes_key", "kek_label"] GEO_RESOLVER_RSSI: LocationSource
AES_KEY_FIELD_NUMBER: _ClassVar[int] GEO_RESOLVER_GNSS: LocationSource
KEK_LABEL_FIELD_NUMBER: _ClassVar[int] GEO_RESOLVER_WIFI: LocationSource
aes_key: bytes HOUR: Aggregation
kek_label: str DAY: Aggregation
def __init__(self, kek_label: _Optional[str] = ..., aes_key: _Optional[bytes] = ...) -> None: ... MONTH: Aggregation
COUNTER: MetricKind
ABSOLUTE: MetricKind
GAUGE: MetricKind
CLASS_A: DeviceClass
CLASS_B: DeviceClass
CLASS_C: DeviceClass
class Location(_message.Message): class Location(_message.Message):
__slots__ = ["accuracy", "altitude", "latitude", "longitude", "source"] __slots__ = ["latitude", "longitude", "altitude", "source", "accuracy"]
ACCURACY_FIELD_NUMBER: _ClassVar[int]
ALTITUDE_FIELD_NUMBER: _ClassVar[int]
LATITUDE_FIELD_NUMBER: _ClassVar[int] LATITUDE_FIELD_NUMBER: _ClassVar[int]
LONGITUDE_FIELD_NUMBER: _ClassVar[int] LONGITUDE_FIELD_NUMBER: _ClassVar[int]
ALTITUDE_FIELD_NUMBER: _ClassVar[int]
SOURCE_FIELD_NUMBER: _ClassVar[int] SOURCE_FIELD_NUMBER: _ClassVar[int]
accuracy: float ACCURACY_FIELD_NUMBER: _ClassVar[int]
altitude: float
latitude: float latitude: float
longitude: float longitude: float
altitude: float
source: LocationSource source: LocationSource
accuracy: float
def __init__(self, latitude: _Optional[float] = ..., longitude: _Optional[float] = ..., altitude: _Optional[float] = ..., source: _Optional[_Union[LocationSource, str]] = ..., accuracy: _Optional[float] = ...) -> None: ... def __init__(self, latitude: _Optional[float] = ..., longitude: _Optional[float] = ..., altitude: _Optional[float] = ..., source: _Optional[_Union[LocationSource, str]] = ..., accuracy: _Optional[float] = ...) -> None: ...
class KeyEnvelope(_message.Message):
__slots__ = ["kek_label", "aes_key"]
KEK_LABEL_FIELD_NUMBER: _ClassVar[int]
AES_KEY_FIELD_NUMBER: _ClassVar[int]
kek_label: str
aes_key: bytes
def __init__(self, kek_label: _Optional[str] = ..., aes_key: _Optional[bytes] = ...) -> None: ...
class Metric(_message.Message): class Metric(_message.Message):
__slots__ = ["datasets", "kind", "name", "timestamps"] __slots__ = ["name", "timestamps", "datasets", "kind"]
DATASETS_FIELD_NUMBER: _ClassVar[int]
KIND_FIELD_NUMBER: _ClassVar[int]
NAME_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int]
TIMESTAMPS_FIELD_NUMBER: _ClassVar[int] TIMESTAMPS_FIELD_NUMBER: _ClassVar[int]
datasets: _containers.RepeatedCompositeFieldContainer[MetricDataset] DATASETS_FIELD_NUMBER: _ClassVar[int]
kind: MetricKind KIND_FIELD_NUMBER: _ClassVar[int]
name: str name: str
timestamps: _containers.RepeatedCompositeFieldContainer[_timestamp_pb2.Timestamp] timestamps: _containers.RepeatedCompositeFieldContainer[_timestamp_pb2.Timestamp]
datasets: _containers.RepeatedCompositeFieldContainer[MetricDataset]
kind: MetricKind
def __init__(self, name: _Optional[str] = ..., timestamps: _Optional[_Iterable[_Union[_timestamp_pb2.Timestamp, _Mapping]]] = ..., datasets: _Optional[_Iterable[_Union[MetricDataset, _Mapping]]] = ..., kind: _Optional[_Union[MetricKind, str]] = ...) -> None: ... def __init__(self, name: _Optional[str] = ..., timestamps: _Optional[_Iterable[_Union[_timestamp_pb2.Timestamp, _Mapping]]] = ..., datasets: _Optional[_Iterable[_Union[MetricDataset, _Mapping]]] = ..., kind: _Optional[_Union[MetricKind, str]] = ...) -> None: ...
class MetricDataset(_message.Message): class MetricDataset(_message.Message):
__slots__ = ["data", "label"] __slots__ = ["label", "data"]
DATA_FIELD_NUMBER: _ClassVar[int]
LABEL_FIELD_NUMBER: _ClassVar[int] LABEL_FIELD_NUMBER: _ClassVar[int]
data: _containers.RepeatedScalarFieldContainer[float] DATA_FIELD_NUMBER: _ClassVar[int]
label: str label: str
data: _containers.RepeatedScalarFieldContainer[float]
def __init__(self, label: _Optional[str] = ..., data: _Optional[_Iterable[float]] = ...) -> None: ... def __init__(self, label: _Optional[str] = ..., data: _Optional[_Iterable[float]] = ...) -> None: ...
class Modulation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
class Region(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
class MType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
class MacVersion(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
class RegParamsRevision(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
class LocationSource(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
class Aggregation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
class MetricKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
class DeviceClass(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -9,38 +9,41 @@ from google.protobuf import message as _message
from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
DESCRIPTOR: _descriptor.FileDescriptor DESCRIPTOR: _descriptor.FileDescriptor
DOWNLINK_CODEC: LogCode
DOWNLINK_GATEWAY: LogCode
DOWNLINK_PAYLOAD_SIZE: LogCode
ERROR: LogLevel
INFO: LogLevel
OTAA: LogCode
RELAY_NEW_END_DEVICE: LogCode
UNKNOWN: LogCode
UPLINK_CODEC: LogCode
UPLINK_F_CNT_RESET: LogCode
UPLINK_F_CNT_RETRANSMISSION: LogCode
UPLINK_MIC: LogCode
WARNING: LogLevel
class AckEvent(_message.Message): class LogLevel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = ["acknowledged", "deduplication_id", "device_info", "f_cnt_down", "queue_item_id", "time"] __slots__ = []
ACKNOWLEDGED_FIELD_NUMBER: _ClassVar[int] INFO: _ClassVar[LogLevel]
DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int] WARNING: _ClassVar[LogLevel]
DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] ERROR: _ClassVar[LogLevel]
F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int]
QUEUE_ITEM_ID_FIELD_NUMBER: _ClassVar[int] class LogCode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
TIME_FIELD_NUMBER: _ClassVar[int] __slots__ = []
acknowledged: bool UNKNOWN: _ClassVar[LogCode]
deduplication_id: str DOWNLINK_PAYLOAD_SIZE: _ClassVar[LogCode]
device_info: DeviceInfo UPLINK_CODEC: _ClassVar[LogCode]
f_cnt_down: int DOWNLINK_CODEC: _ClassVar[LogCode]
queue_item_id: str OTAA: _ClassVar[LogCode]
time: _timestamp_pb2.Timestamp UPLINK_F_CNT_RESET: _ClassVar[LogCode]
def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., queue_item_id: _Optional[str] = ..., acknowledged: bool = ..., f_cnt_down: _Optional[int] = ...) -> None: ... UPLINK_MIC: _ClassVar[LogCode]
UPLINK_F_CNT_RETRANSMISSION: _ClassVar[LogCode]
DOWNLINK_GATEWAY: _ClassVar[LogCode]
RELAY_NEW_END_DEVICE: _ClassVar[LogCode]
INFO: LogLevel
WARNING: LogLevel
ERROR: LogLevel
UNKNOWN: LogCode
DOWNLINK_PAYLOAD_SIZE: LogCode
UPLINK_CODEC: LogCode
DOWNLINK_CODEC: LogCode
OTAA: LogCode
UPLINK_F_CNT_RESET: LogCode
UPLINK_MIC: LogCode
UPLINK_F_CNT_RETRANSMISSION: LogCode
DOWNLINK_GATEWAY: LogCode
RELAY_NEW_END_DEVICE: LogCode
class DeviceInfo(_message.Message): class DeviceInfo(_message.Message):
__slots__ = ["application_id", "application_name", "dev_eui", "device_class_enabled", "device_name", "device_profile_id", "device_profile_name", "tags", "tenant_id", "tenant_name"] __slots__ = ["tenant_id", "tenant_name", "application_id", "application_name", "device_profile_id", "device_profile_name", "device_name", "dev_eui", "device_class_enabled", "tags"]
class TagsEntry(_message.Message): class TagsEntry(_message.Message):
__slots__ = ["key", "value"] __slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int] KEY_FIELD_NUMBER: _ClassVar[int]
@ -48,88 +51,126 @@ class DeviceInfo(_message.Message):
key: str key: str
value: str value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
APPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
APPLICATION_NAME_FIELD_NUMBER: _ClassVar[int]
DEVICE_CLASS_ENABLED_FIELD_NUMBER: _ClassVar[int]
DEVICE_NAME_FIELD_NUMBER: _ClassVar[int]
DEVICE_PROFILE_ID_FIELD_NUMBER: _ClassVar[int]
DEVICE_PROFILE_NAME_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
TAGS_FIELD_NUMBER: _ClassVar[int]
TENANT_ID_FIELD_NUMBER: _ClassVar[int] TENANT_ID_FIELD_NUMBER: _ClassVar[int]
TENANT_NAME_FIELD_NUMBER: _ClassVar[int] TENANT_NAME_FIELD_NUMBER: _ClassVar[int]
application_id: str APPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
application_name: str APPLICATION_NAME_FIELD_NUMBER: _ClassVar[int]
dev_eui: str DEVICE_PROFILE_ID_FIELD_NUMBER: _ClassVar[int]
device_class_enabled: _common_pb2.DeviceClass DEVICE_PROFILE_NAME_FIELD_NUMBER: _ClassVar[int]
device_name: str DEVICE_NAME_FIELD_NUMBER: _ClassVar[int]
device_profile_id: str DEV_EUI_FIELD_NUMBER: _ClassVar[int]
device_profile_name: str DEVICE_CLASS_ENABLED_FIELD_NUMBER: _ClassVar[int]
tags: _containers.ScalarMap[str, str] TAGS_FIELD_NUMBER: _ClassVar[int]
tenant_id: str tenant_id: str
tenant_name: str tenant_name: str
application_id: str
application_name: str
device_profile_id: str
device_profile_name: str
device_name: str
dev_eui: str
device_class_enabled: _common_pb2.DeviceClass
tags: _containers.ScalarMap[str, str]
def __init__(self, tenant_id: _Optional[str] = ..., tenant_name: _Optional[str] = ..., application_id: _Optional[str] = ..., application_name: _Optional[str] = ..., device_profile_id: _Optional[str] = ..., device_profile_name: _Optional[str] = ..., device_name: _Optional[str] = ..., dev_eui: _Optional[str] = ..., device_class_enabled: _Optional[_Union[_common_pb2.DeviceClass, str]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ... def __init__(self, tenant_id: _Optional[str] = ..., tenant_name: _Optional[str] = ..., application_id: _Optional[str] = ..., application_name: _Optional[str] = ..., device_profile_id: _Optional[str] = ..., device_profile_name: _Optional[str] = ..., device_name: _Optional[str] = ..., dev_eui: _Optional[str] = ..., device_class_enabled: _Optional[_Union[_common_pb2.DeviceClass, str]] = ..., tags: _Optional[_Mapping[str, str]] = ...) -> None: ...
class DownlinkCommand(_message.Message): class UplinkRelayRxInfo(_message.Message):
__slots__ = ["confirmed", "data", "dev_eui", "f_port", "id", "object"] __slots__ = ["dev_eui", "frequency", "dr", "snr", "rssi", "wor_channel"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
FREQUENCY_FIELD_NUMBER: _ClassVar[int]
DR_FIELD_NUMBER: _ClassVar[int]
SNR_FIELD_NUMBER: _ClassVar[int]
RSSI_FIELD_NUMBER: _ClassVar[int]
WOR_CHANNEL_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
frequency: int
dr: int
snr: int
rssi: int
wor_channel: int
def __init__(self, dev_eui: _Optional[str] = ..., frequency: _Optional[int] = ..., dr: _Optional[int] = ..., snr: _Optional[int] = ..., rssi: _Optional[int] = ..., wor_channel: _Optional[int] = ...) -> None: ...
class UplinkEvent(_message.Message):
__slots__ = ["deduplication_id", "time", "device_info", "dev_addr", "adr", "dr", "f_cnt", "f_port", "confirmed", "data", "object", "rx_info", "tx_info", "relay_rx_info"]
DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
DEVICE_INFO_FIELD_NUMBER: _ClassVar[int]
DEV_ADDR_FIELD_NUMBER: _ClassVar[int]
ADR_FIELD_NUMBER: _ClassVar[int]
DR_FIELD_NUMBER: _ClassVar[int]
F_CNT_FIELD_NUMBER: _ClassVar[int]
F_PORT_FIELD_NUMBER: _ClassVar[int]
CONFIRMED_FIELD_NUMBER: _ClassVar[int] CONFIRMED_FIELD_NUMBER: _ClassVar[int]
DATA_FIELD_NUMBER: _ClassVar[int] DATA_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
F_PORT_FIELD_NUMBER: _ClassVar[int]
ID_FIELD_NUMBER: _ClassVar[int]
OBJECT_FIELD_NUMBER: _ClassVar[int] OBJECT_FIELD_NUMBER: _ClassVar[int]
RX_INFO_FIELD_NUMBER: _ClassVar[int]
TX_INFO_FIELD_NUMBER: _ClassVar[int]
RELAY_RX_INFO_FIELD_NUMBER: _ClassVar[int]
deduplication_id: str
time: _timestamp_pb2.Timestamp
device_info: DeviceInfo
dev_addr: str
adr: bool
dr: int
f_cnt: int
f_port: int
confirmed: bool confirmed: bool
data: bytes data: bytes
dev_eui: str
f_port: int
id: str
object: _struct_pb2.Struct object: _struct_pb2.Struct
def __init__(self, id: _Optional[str] = ..., dev_eui: _Optional[str] = ..., confirmed: bool = ..., f_port: _Optional[int] = ..., data: _Optional[bytes] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ... rx_info: _containers.RepeatedCompositeFieldContainer[_gw_pb2.UplinkRxInfo]
tx_info: _gw_pb2.UplinkTxInfo
class IntegrationEvent(_message.Message): relay_rx_info: UplinkRelayRxInfo
__slots__ = ["deduplication_id", "device_info", "event_type", "integration_name", "object", "time"] def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., dev_addr: _Optional[str] = ..., adr: bool = ..., dr: _Optional[int] = ..., f_cnt: _Optional[int] = ..., f_port: _Optional[int] = ..., confirmed: bool = ..., data: _Optional[bytes] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., rx_info: _Optional[_Iterable[_Union[_gw_pb2.UplinkRxInfo, _Mapping]]] = ..., tx_info: _Optional[_Union[_gw_pb2.UplinkTxInfo, _Mapping]] = ..., relay_rx_info: _Optional[_Union[UplinkRelayRxInfo, _Mapping]] = ...) -> None: ...
DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
DEVICE_INFO_FIELD_NUMBER: _ClassVar[int]
EVENT_TYPE_FIELD_NUMBER: _ClassVar[int]
INTEGRATION_NAME_FIELD_NUMBER: _ClassVar[int]
OBJECT_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
deduplication_id: str
device_info: DeviceInfo
event_type: str
integration_name: str
object: _struct_pb2.Struct
time: _timestamp_pb2.Timestamp
def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., integration_name: _Optional[str] = ..., event_type: _Optional[str] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ...
class JoinEvent(_message.Message): class JoinEvent(_message.Message):
__slots__ = ["deduplication_id", "dev_addr", "device_info", "relay_rx_info", "time"] __slots__ = ["deduplication_id", "time", "device_info", "dev_addr", "relay_rx_info"]
DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int] DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] DEVICE_INFO_FIELD_NUMBER: _ClassVar[int]
DEV_ADDR_FIELD_NUMBER: _ClassVar[int] DEV_ADDR_FIELD_NUMBER: _ClassVar[int]
RELAY_RX_INFO_FIELD_NUMBER: _ClassVar[int] RELAY_RX_INFO_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
deduplication_id: str deduplication_id: str
dev_addr: str
device_info: DeviceInfo
relay_rx_info: UplinkRelayRxInfo
time: _timestamp_pb2.Timestamp time: _timestamp_pb2.Timestamp
device_info: DeviceInfo
dev_addr: str
relay_rx_info: UplinkRelayRxInfo
def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., dev_addr: _Optional[str] = ..., relay_rx_info: _Optional[_Union[UplinkRelayRxInfo, _Mapping]] = ...) -> None: ... def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., dev_addr: _Optional[str] = ..., relay_rx_info: _Optional[_Union[UplinkRelayRxInfo, _Mapping]] = ...) -> None: ...
class LocationEvent(_message.Message): class AckEvent(_message.Message):
__slots__ = ["deduplication_id", "device_info", "location", "time"] __slots__ = ["deduplication_id", "time", "device_info", "queue_item_id", "acknowledged", "f_cnt_down"]
DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int] DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
DEVICE_INFO_FIELD_NUMBER: _ClassVar[int]
LOCATION_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int] TIME_FIELD_NUMBER: _ClassVar[int]
DEVICE_INFO_FIELD_NUMBER: _ClassVar[int]
QUEUE_ITEM_ID_FIELD_NUMBER: _ClassVar[int]
ACKNOWLEDGED_FIELD_NUMBER: _ClassVar[int]
F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int]
deduplication_id: str deduplication_id: str
device_info: DeviceInfo
location: _common_pb2.Location
time: _timestamp_pb2.Timestamp time: _timestamp_pb2.Timestamp
def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ...) -> None: ... device_info: DeviceInfo
queue_item_id: str
acknowledged: bool
f_cnt_down: int
def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., queue_item_id: _Optional[str] = ..., acknowledged: bool = ..., f_cnt_down: _Optional[int] = ...) -> None: ...
class TxAckEvent(_message.Message):
__slots__ = ["downlink_id", "time", "device_info", "queue_item_id", "f_cnt_down", "gateway_id", "tx_info"]
DOWNLINK_ID_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
DEVICE_INFO_FIELD_NUMBER: _ClassVar[int]
QUEUE_ITEM_ID_FIELD_NUMBER: _ClassVar[int]
F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
TX_INFO_FIELD_NUMBER: _ClassVar[int]
downlink_id: int
time: _timestamp_pb2.Timestamp
device_info: DeviceInfo
queue_item_id: str
f_cnt_down: int
gateway_id: str
tx_info: _gw_pb2.DownlinkTxInfo
def __init__(self, downlink_id: _Optional[int] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., queue_item_id: _Optional[str] = ..., f_cnt_down: _Optional[int] = ..., gateway_id: _Optional[str] = ..., tx_info: _Optional[_Union[_gw_pb2.DownlinkTxInfo, _Mapping]] = ...) -> None: ...
class LogEvent(_message.Message): class LogEvent(_message.Message):
__slots__ = ["code", "context", "description", "device_info", "level", "time"] __slots__ = ["time", "device_info", "level", "code", "description", "context"]
class ContextEntry(_message.Message): class ContextEntry(_message.Message):
__slots__ = ["key", "value"] __slots__ = ["key", "value"]
KEY_FIELD_NUMBER: _ClassVar[int] KEY_FIELD_NUMBER: _ClassVar[int]
@ -137,106 +178,78 @@ class LogEvent(_message.Message):
key: str key: str
value: str value: str
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
CODE_FIELD_NUMBER: _ClassVar[int] TIME_FIELD_NUMBER: _ClassVar[int]
CONTEXT_FIELD_NUMBER: _ClassVar[int]
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
DEVICE_INFO_FIELD_NUMBER: _ClassVar[int] DEVICE_INFO_FIELD_NUMBER: _ClassVar[int]
LEVEL_FIELD_NUMBER: _ClassVar[int] LEVEL_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int] CODE_FIELD_NUMBER: _ClassVar[int]
code: LogCode DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
context: _containers.ScalarMap[str, str] CONTEXT_FIELD_NUMBER: _ClassVar[int]
description: str time: _timestamp_pb2.Timestamp
device_info: DeviceInfo device_info: DeviceInfo
level: LogLevel level: LogLevel
time: _timestamp_pb2.Timestamp code: LogCode
description: str
context: _containers.ScalarMap[str, str]
def __init__(self, time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., level: _Optional[_Union[LogLevel, str]] = ..., code: _Optional[_Union[LogCode, str]] = ..., description: _Optional[str] = ..., context: _Optional[_Mapping[str, str]] = ...) -> None: ... def __init__(self, time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., level: _Optional[_Union[LogLevel, str]] = ..., code: _Optional[_Union[LogCode, str]] = ..., description: _Optional[str] = ..., context: _Optional[_Mapping[str, str]] = ...) -> None: ...
class StatusEvent(_message.Message): class StatusEvent(_message.Message):
__slots__ = ["battery_level", "battery_level_unavailable", "deduplication_id", "device_info", "external_power_source", "margin", "time"] __slots__ = ["deduplication_id", "time", "device_info", "margin", "external_power_source", "battery_level_unavailable", "battery_level"]
BATTERY_LEVEL_FIELD_NUMBER: _ClassVar[int]
BATTERY_LEVEL_UNAVAILABLE_FIELD_NUMBER: _ClassVar[int]
DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int] DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
DEVICE_INFO_FIELD_NUMBER: _ClassVar[int]
EXTERNAL_POWER_SOURCE_FIELD_NUMBER: _ClassVar[int]
MARGIN_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int] TIME_FIELD_NUMBER: _ClassVar[int]
battery_level: float DEVICE_INFO_FIELD_NUMBER: _ClassVar[int]
battery_level_unavailable: bool MARGIN_FIELD_NUMBER: _ClassVar[int]
EXTERNAL_POWER_SOURCE_FIELD_NUMBER: _ClassVar[int]
BATTERY_LEVEL_UNAVAILABLE_FIELD_NUMBER: _ClassVar[int]
BATTERY_LEVEL_FIELD_NUMBER: _ClassVar[int]
deduplication_id: str deduplication_id: str
device_info: DeviceInfo
external_power_source: bool
margin: int
time: _timestamp_pb2.Timestamp time: _timestamp_pb2.Timestamp
device_info: DeviceInfo
margin: int
external_power_source: bool
battery_level_unavailable: bool
battery_level: float
def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., margin: _Optional[int] = ..., external_power_source: bool = ..., battery_level_unavailable: bool = ..., battery_level: _Optional[float] = ...) -> None: ... def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., margin: _Optional[int] = ..., external_power_source: bool = ..., battery_level_unavailable: bool = ..., battery_level: _Optional[float] = ...) -> None: ...
class TxAckEvent(_message.Message): class LocationEvent(_message.Message):
__slots__ = ["device_info", "downlink_id", "f_cnt_down", "gateway_id", "queue_item_id", "time", "tx_info"] __slots__ = ["deduplication_id", "time", "device_info", "location"]
DEVICE_INFO_FIELD_NUMBER: _ClassVar[int]
DOWNLINK_ID_FIELD_NUMBER: _ClassVar[int]
F_CNT_DOWN_FIELD_NUMBER: _ClassVar[int]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
QUEUE_ITEM_ID_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
TX_INFO_FIELD_NUMBER: _ClassVar[int]
device_info: DeviceInfo
downlink_id: int
f_cnt_down: int
gateway_id: str
queue_item_id: str
time: _timestamp_pb2.Timestamp
tx_info: _gw_pb2.DownlinkTxInfo
def __init__(self, downlink_id: _Optional[int] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., queue_item_id: _Optional[str] = ..., f_cnt_down: _Optional[int] = ..., gateway_id: _Optional[str] = ..., tx_info: _Optional[_Union[_gw_pb2.DownlinkTxInfo, _Mapping]] = ...) -> None: ...
class UplinkEvent(_message.Message):
__slots__ = ["adr", "confirmed", "data", "deduplication_id", "dev_addr", "device_info", "dr", "f_cnt", "f_port", "object", "relay_rx_info", "rx_info", "time", "tx_info"]
ADR_FIELD_NUMBER: _ClassVar[int]
CONFIRMED_FIELD_NUMBER: _ClassVar[int]
DATA_FIELD_NUMBER: _ClassVar[int]
DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int] DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
DEVICE_INFO_FIELD_NUMBER: _ClassVar[int]
DEV_ADDR_FIELD_NUMBER: _ClassVar[int]
DR_FIELD_NUMBER: _ClassVar[int]
F_CNT_FIELD_NUMBER: _ClassVar[int]
F_PORT_FIELD_NUMBER: _ClassVar[int]
OBJECT_FIELD_NUMBER: _ClassVar[int]
RELAY_RX_INFO_FIELD_NUMBER: _ClassVar[int]
RX_INFO_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int] TIME_FIELD_NUMBER: _ClassVar[int]
TX_INFO_FIELD_NUMBER: _ClassVar[int] DEVICE_INFO_FIELD_NUMBER: _ClassVar[int]
adr: bool LOCATION_FIELD_NUMBER: _ClassVar[int]
confirmed: bool
data: bytes
deduplication_id: str deduplication_id: str
dev_addr: str
device_info: DeviceInfo
dr: int
f_cnt: int
f_port: int
object: _struct_pb2.Struct
relay_rx_info: UplinkRelayRxInfo
rx_info: _containers.RepeatedCompositeFieldContainer[_gw_pb2.UplinkRxInfo]
time: _timestamp_pb2.Timestamp time: _timestamp_pb2.Timestamp
tx_info: _gw_pb2.UplinkTxInfo device_info: DeviceInfo
def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., dev_addr: _Optional[str] = ..., adr: bool = ..., dr: _Optional[int] = ..., f_cnt: _Optional[int] = ..., f_port: _Optional[int] = ..., confirmed: bool = ..., data: _Optional[bytes] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., rx_info: _Optional[_Iterable[_Union[_gw_pb2.UplinkRxInfo, _Mapping]]] = ..., tx_info: _Optional[_Union[_gw_pb2.UplinkTxInfo, _Mapping]] = ..., relay_rx_info: _Optional[_Union[UplinkRelayRxInfo, _Mapping]] = ...) -> None: ... location: _common_pb2.Location
def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., location: _Optional[_Union[_common_pb2.Location, _Mapping]] = ...) -> None: ...
class UplinkRelayRxInfo(_message.Message): class IntegrationEvent(_message.Message):
__slots__ = ["dev_eui", "dr", "frequency", "rssi", "snr", "wor_channel"] __slots__ = ["deduplication_id", "time", "device_info", "integration_name", "event_type", "object"]
DEDUPLICATION_ID_FIELD_NUMBER: _ClassVar[int]
TIME_FIELD_NUMBER: _ClassVar[int]
DEVICE_INFO_FIELD_NUMBER: _ClassVar[int]
INTEGRATION_NAME_FIELD_NUMBER: _ClassVar[int]
EVENT_TYPE_FIELD_NUMBER: _ClassVar[int]
OBJECT_FIELD_NUMBER: _ClassVar[int]
deduplication_id: str
time: _timestamp_pb2.Timestamp
device_info: DeviceInfo
integration_name: str
event_type: str
object: _struct_pb2.Struct
def __init__(self, deduplication_id: _Optional[str] = ..., time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., device_info: _Optional[_Union[DeviceInfo, _Mapping]] = ..., integration_name: _Optional[str] = ..., event_type: _Optional[str] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ...
class DownlinkCommand(_message.Message):
__slots__ = ["id", "dev_eui", "confirmed", "f_port", "data", "object"]
ID_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int]
DR_FIELD_NUMBER: _ClassVar[int] CONFIRMED_FIELD_NUMBER: _ClassVar[int]
FREQUENCY_FIELD_NUMBER: _ClassVar[int] F_PORT_FIELD_NUMBER: _ClassVar[int]
RSSI_FIELD_NUMBER: _ClassVar[int] DATA_FIELD_NUMBER: _ClassVar[int]
SNR_FIELD_NUMBER: _ClassVar[int] OBJECT_FIELD_NUMBER: _ClassVar[int]
WOR_CHANNEL_FIELD_NUMBER: _ClassVar[int] id: str
dev_eui: str dev_eui: str
dr: int confirmed: bool
frequency: int f_port: int
rssi: int data: bytes
snr: int object: _struct_pb2.Struct
wor_channel: int def __init__(self, id: _Optional[str] = ..., dev_eui: _Optional[str] = ..., confirmed: bool = ..., f_port: _Optional[int] = ..., data: _Optional[bytes] = ..., object: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ...
def __init__(self, dev_eui: _Optional[str] = ..., frequency: _Optional[int] = ..., dr: _Optional[int] = ..., snr: _Optional[int] = ..., rssi: _Optional[int] = ..., wor_channel: _Optional[int] = ...) -> None: ...
class LogLevel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []
class LogCode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = []

View File

@ -2,10 +2,10 @@
# Generated by the protocol buffer compiler. DO NOT EDIT! # Generated by the protocol buffer compiler. DO NOT EDIT!
# source: chirpstack-api/meta/meta.proto # source: chirpstack-api/meta/meta.proto
"""Generated protocol buffer code.""" """Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports) # @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default() _sym_db = _symbol_database.Default()
@ -17,14 +17,15 @@ from chirpstack_api.gw import gw_pb2 as chirpstack__api_dot_gw_dot_gw__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x63hirpstack-api/meta/meta.proto\x12\x04meta\x1a\"chirpstack-api/common/common.proto\x1a\x1a\x63hirpstack-api/gw/gw.proto\"\xf0\x01\n\nUplinkMeta\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12!\n\x07tx_info\x18\x02 \x01(\x0b\x32\x10.gw.UplinkTxInfo\x12!\n\x07rx_info\x18\x03 \x03(\x0b\x32\x10.gw.UplinkRxInfo\x12\x1e\n\x16phy_payload_byte_count\x18\x04 \x01(\r\x12\x1e\n\x16mac_command_byte_count\x18\x05 \x01(\r\x12&\n\x1e\x61pplication_payload_byte_count\x18\x06 \x01(\r\x12#\n\x0cmessage_type\x18\x07 \x01(\x0e\x32\r.common.MType\"\x81\x02\n\x0c\x44ownlinkMeta\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12\x1a\n\x12multicast_group_id\x18\x02 \x01(\t\x12#\n\x07tx_info\x18\x03 \x01(\x0b\x32\x12.gw.DownlinkTxInfo\x12\x1e\n\x16phy_payload_byte_count\x18\x04 \x01(\r\x12\x1e\n\x16mac_command_byte_count\x18\x05 \x01(\r\x12&\n\x1e\x61pplication_payload_byte_count\x18\x06 \x01(\r\x12#\n\x0cmessage_type\x18\x07 \x01(\x0e\x32\r.common.MType\x12\x12\n\ngateway_id\x18\x08 \x01(\tBh\n\x16io.chirpstack.api.metaB\tMetaProtoP\x01Z/github.com/chirpstack/chirpstack/api/go/v4/meta\xaa\x02\x0f\x43hirpstack.Metab\x06proto3') DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x63hirpstack-api/meta/meta.proto\x12\x04meta\x1a\"chirpstack-api/common/common.proto\x1a\x1a\x63hirpstack-api/gw/gw.proto\"\xf0\x01\n\nUplinkMeta\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12!\n\x07tx_info\x18\x02 \x01(\x0b\x32\x10.gw.UplinkTxInfo\x12!\n\x07rx_info\x18\x03 \x03(\x0b\x32\x10.gw.UplinkRxInfo\x12\x1e\n\x16phy_payload_byte_count\x18\x04 \x01(\r\x12\x1e\n\x16mac_command_byte_count\x18\x05 \x01(\r\x12&\n\x1e\x61pplication_payload_byte_count\x18\x06 \x01(\r\x12#\n\x0cmessage_type\x18\x07 \x01(\x0e\x32\r.common.MType\"\x81\x02\n\x0c\x44ownlinkMeta\x12\x0f\n\x07\x64\x65v_eui\x18\x01 \x01(\t\x12\x1a\n\x12multicast_group_id\x18\x02 \x01(\t\x12#\n\x07tx_info\x18\x03 \x01(\x0b\x32\x12.gw.DownlinkTxInfo\x12\x1e\n\x16phy_payload_byte_count\x18\x04 \x01(\r\x12\x1e\n\x16mac_command_byte_count\x18\x05 \x01(\r\x12&\n\x1e\x61pplication_payload_byte_count\x18\x06 \x01(\r\x12#\n\x0cmessage_type\x18\x07 \x01(\x0e\x32\r.common.MType\x12\x12\n\ngateway_id\x18\x08 \x01(\tBh\n\x16io.chirpstack.api.metaB\tMetaProtoP\x01Z/github.com/chirpstack/chirpstack/api/go/v4/meta\xaa\x02\x0f\x43hirpstack.Metab\x06proto3')
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _globals = globals()
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.meta.meta_pb2', globals()) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.meta.meta_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False: if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\026io.chirpstack.api.metaB\tMetaProtoP\001Z/github.com/chirpstack/chirpstack/api/go/v4/meta\252\002\017Chirpstack.Meta' DESCRIPTOR._serialized_options = b'\n\026io.chirpstack.api.metaB\tMetaProtoP\001Z/github.com/chirpstack/chirpstack/api/go/v4/meta\252\002\017Chirpstack.Meta'
_UPLINKMETA._serialized_start=105 _globals['_UPLINKMETA']._serialized_start=105
_UPLINKMETA._serialized_end=345 _globals['_UPLINKMETA']._serialized_end=345
_DOWNLINKMETA._serialized_start=348 _globals['_DOWNLINKMETA']._serialized_start=348
_DOWNLINKMETA._serialized_end=605 _globals['_DOWNLINKMETA']._serialized_end=605
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)

View File

@ -7,40 +7,40 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map
DESCRIPTOR: _descriptor.FileDescriptor DESCRIPTOR: _descriptor.FileDescriptor
class DownlinkMeta(_message.Message):
__slots__ = ["application_payload_byte_count", "dev_eui", "gateway_id", "mac_command_byte_count", "message_type", "multicast_group_id", "phy_payload_byte_count", "tx_info"]
APPLICATION_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
MAC_COMMAND_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int]
MESSAGE_TYPE_FIELD_NUMBER: _ClassVar[int]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
PHY_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int]
TX_INFO_FIELD_NUMBER: _ClassVar[int]
application_payload_byte_count: int
dev_eui: str
gateway_id: str
mac_command_byte_count: int
message_type: _common_pb2.MType
multicast_group_id: str
phy_payload_byte_count: int
tx_info: _gw_pb2.DownlinkTxInfo
def __init__(self, dev_eui: _Optional[str] = ..., multicast_group_id: _Optional[str] = ..., tx_info: _Optional[_Union[_gw_pb2.DownlinkTxInfo, _Mapping]] = ..., phy_payload_byte_count: _Optional[int] = ..., mac_command_byte_count: _Optional[int] = ..., application_payload_byte_count: _Optional[int] = ..., message_type: _Optional[_Union[_common_pb2.MType, str]] = ..., gateway_id: _Optional[str] = ...) -> None: ...
class UplinkMeta(_message.Message): class UplinkMeta(_message.Message):
__slots__ = ["application_payload_byte_count", "dev_eui", "mac_command_byte_count", "message_type", "phy_payload_byte_count", "rx_info", "tx_info"] __slots__ = ["dev_eui", "tx_info", "rx_info", "phy_payload_byte_count", "mac_command_byte_count", "application_payload_byte_count", "message_type"]
APPLICATION_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int]
DEV_EUI_FIELD_NUMBER: _ClassVar[int] DEV_EUI_FIELD_NUMBER: _ClassVar[int]
MAC_COMMAND_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int]
MESSAGE_TYPE_FIELD_NUMBER: _ClassVar[int]
PHY_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int]
RX_INFO_FIELD_NUMBER: _ClassVar[int]
TX_INFO_FIELD_NUMBER: _ClassVar[int] TX_INFO_FIELD_NUMBER: _ClassVar[int]
application_payload_byte_count: int RX_INFO_FIELD_NUMBER: _ClassVar[int]
PHY_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int]
MAC_COMMAND_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int]
APPLICATION_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int]
MESSAGE_TYPE_FIELD_NUMBER: _ClassVar[int]
dev_eui: str dev_eui: str
mac_command_byte_count: int
message_type: _common_pb2.MType
phy_payload_byte_count: int
rx_info: _containers.RepeatedCompositeFieldContainer[_gw_pb2.UplinkRxInfo]
tx_info: _gw_pb2.UplinkTxInfo tx_info: _gw_pb2.UplinkTxInfo
rx_info: _containers.RepeatedCompositeFieldContainer[_gw_pb2.UplinkRxInfo]
phy_payload_byte_count: int
mac_command_byte_count: int
application_payload_byte_count: int
message_type: _common_pb2.MType
def __init__(self, dev_eui: _Optional[str] = ..., tx_info: _Optional[_Union[_gw_pb2.UplinkTxInfo, _Mapping]] = ..., rx_info: _Optional[_Iterable[_Union[_gw_pb2.UplinkRxInfo, _Mapping]]] = ..., phy_payload_byte_count: _Optional[int] = ..., mac_command_byte_count: _Optional[int] = ..., application_payload_byte_count: _Optional[int] = ..., message_type: _Optional[_Union[_common_pb2.MType, str]] = ...) -> None: ... def __init__(self, dev_eui: _Optional[str] = ..., tx_info: _Optional[_Union[_gw_pb2.UplinkTxInfo, _Mapping]] = ..., rx_info: _Optional[_Iterable[_Union[_gw_pb2.UplinkRxInfo, _Mapping]]] = ..., phy_payload_byte_count: _Optional[int] = ..., mac_command_byte_count: _Optional[int] = ..., application_payload_byte_count: _Optional[int] = ..., message_type: _Optional[_Union[_common_pb2.MType, str]] = ...) -> None: ...
class DownlinkMeta(_message.Message):
__slots__ = ["dev_eui", "multicast_group_id", "tx_info", "phy_payload_byte_count", "mac_command_byte_count", "application_payload_byte_count", "message_type", "gateway_id"]
DEV_EUI_FIELD_NUMBER: _ClassVar[int]
MULTICAST_GROUP_ID_FIELD_NUMBER: _ClassVar[int]
TX_INFO_FIELD_NUMBER: _ClassVar[int]
PHY_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int]
MAC_COMMAND_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int]
APPLICATION_PAYLOAD_BYTE_COUNT_FIELD_NUMBER: _ClassVar[int]
MESSAGE_TYPE_FIELD_NUMBER: _ClassVar[int]
GATEWAY_ID_FIELD_NUMBER: _ClassVar[int]
dev_eui: str
multicast_group_id: str
tx_info: _gw_pb2.DownlinkTxInfo
phy_payload_byte_count: int
mac_command_byte_count: int
application_payload_byte_count: int
message_type: _common_pb2.MType
gateway_id: str
def __init__(self, dev_eui: _Optional[str] = ..., multicast_group_id: _Optional[str] = ..., tx_info: _Optional[_Union[_gw_pb2.DownlinkTxInfo, _Mapping]] = ..., phy_payload_byte_count: _Optional[int] = ..., mac_command_byte_count: _Optional[int] = ..., application_payload_byte_count: _Optional[int] = ..., message_type: _Optional[_Union[_common_pb2.MType, str]] = ..., gateway_id: _Optional[str] = ...) -> None: ...

View File

@ -18,7 +18,7 @@ CLASSIFIERS = [
setup( setup(
name='chirpstack-api', name='chirpstack-api',
version = "4.4.3", version = "4.5.0-test.1",
url='https://github.com/brocaar/chirpstack-api', url='https://github.com/brocaar/chirpstack-api',
author='Orne Brocaar', author='Orne Brocaar',
author_email='info@brocaar.com', author_email='info@brocaar.com',

1245
api/rust/Cargo.lock generated vendored Normal file

File diff suppressed because it is too large Load Diff

2
api/rust/Cargo.toml vendored
View File

@ -1,7 +1,7 @@
[package] [package]
name = "chirpstack_api" name = "chirpstack_api"
description = "ChirpStack Protobuf / gRPC API definitions." description = "ChirpStack Protobuf / gRPC API definitions."
version = "4.4.3" version = "4.5.0-test.1"
authors = ["Orne Brocaar <info@brocaar.com>"] authors = ["Orne Brocaar <info@brocaar.com>"]
license = "MIT" license = "MIT"
homepage = "https://www.chirpstack.io" homepage = "https://www.chirpstack.io"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "backend" name = "backend"
version = "4.4.3" version = "4.5.0-test.1"
authors = ["Orne Brocaar <info@brocaar.com>"] authors = ["Orne Brocaar <info@brocaar.com>"]
edition = "2018" edition = "2018"
publish = false publish = false

View File

@ -3,7 +3,7 @@ name = "chirpstack"
description = "ChirpStack is an open-source LoRaWAN(TM) Network Server" description = "ChirpStack is an open-source LoRaWAN(TM) Network Server"
repository = "https://github.com/chirpstack/chirpstack" repository = "https://github.com/chirpstack/chirpstack"
homepage = "https://www.chirpstack.io/" homepage = "https://www.chirpstack.io/"
version = "4.4.3" version = "4.5.0-test.1"
authors = ["Orne Brocaar <info@brocaar.com>"] authors = ["Orne Brocaar <info@brocaar.com>"]
edition = "2021" edition = "2021"
publish = false publish = false

View File

@ -3,7 +3,7 @@ name = "lrwn_filters"
description = "Library for filtering LoRaWAN payloads on DevAddr and JoinEUIs prefixes" description = "Library for filtering LoRaWAN payloads on DevAddr and JoinEUIs prefixes"
homepage = "https://www.chirpstack.io/" homepage = "https://www.chirpstack.io/"
license = "MIT" license = "MIT"
version = "4.4.3" version = "4.5.0-test.1"
authors = ["Orne Brocaar <info@brocaar.com>"] authors = ["Orne Brocaar <info@brocaar.com>"]
edition = "2021" edition = "2021"
repository = "https://github.com/chirpstack/chirpstack" repository = "https://github.com/chirpstack/chirpstack"

View File

@ -3,7 +3,7 @@ name = "lrwn"
description = "Library for encoding / decoding LoRaWAN frames." description = "Library for encoding / decoding LoRaWAN frames."
homepage = "https://www.chirpstack.io" homepage = "https://www.chirpstack.io"
license = "MIT" license = "MIT"
version = "4.4.3" version = "4.5.0-test.1"
authors = ["Orne Brocaar <info@brocaar.com>"] authors = ["Orne Brocaar <info@brocaar.com>"]
edition = "2018" edition = "2018"
repository = "https://github.com/chirpstack/chirpstack" repository = "https://github.com/chirpstack/chirpstack"

View File

@ -1,6 +1,6 @@
{ {
"name": "chirpstack-ui", "name": "chirpstack-ui",
"version": "4.4.3", "version": "4.5.0-test.1",
"private": true, "private": true,
"dependencies": { "dependencies": {
"@ant-design/colors": "^7.0.0", "@ant-design/colors": "^7.0.0",