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

View File

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

View File

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

2
api/js/package.json vendored
View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

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

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

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

View File

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