mirror of
https://github.com/chirpstack/chirpstack.git
synced 2025-04-17 15:59:03 +00:00
Make gateway state consistent + make stats interval configurable.
This: * Makes the gateway stats interval configurable (default 30 sec) * Adds GatewayState type (NEVER_SEEN, OFFLINE, ONLINE) * Adds gateway state to gateway lists * Fixes dashboard inconsistencies Closes #76.
This commit is contained in:
parent
d065df2805
commit
438d120fb0
2
api/go/api/device_profile.pb.go
vendored
2
api/go/api/device_profile.pb.go
vendored
@ -166,7 +166,7 @@ type DeviceProfile struct {
|
||||
FlushQueueOnActivate bool `protobuf:"varint,10,opt,name=flush_queue_on_activate,json=flushQueueOnActivate,proto3" json:"flush_queue_on_activate,omitempty"`
|
||||
// Uplink interval (seconds).
|
||||
// This defines the expected uplink interval which the device uses for
|
||||
// communication. When the uplink interval has expired and no uplink has
|
||||
// communication. If the uplink interval has expired and no uplink has
|
||||
// been received, the device is considered inactive.
|
||||
UplinkInterval uint32 `protobuf:"varint,11,opt,name=uplink_interval,json=uplinkInterval,proto3" json:"uplink_interval,omitempty"`
|
||||
// Device-status request interval (times / day).
|
||||
|
404
api/go/api/gateway.pb.go
vendored
404
api/go/api/gateway.pb.go
vendored
@ -24,6 +24,58 @@ const (
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type GatewayState int32
|
||||
|
||||
const (
|
||||
// The gateway has never sent any stats.
|
||||
GatewayState_NEVER_SEEN GatewayState = 0
|
||||
// Online.
|
||||
GatewayState_ONLINE GatewayState = 1
|
||||
// Offline.
|
||||
GatewayState_OFFLINE GatewayState = 2
|
||||
)
|
||||
|
||||
// Enum value maps for GatewayState.
|
||||
var (
|
||||
GatewayState_name = map[int32]string{
|
||||
0: "NEVER_SEEN",
|
||||
1: "ONLINE",
|
||||
2: "OFFLINE",
|
||||
}
|
||||
GatewayState_value = map[string]int32{
|
||||
"NEVER_SEEN": 0,
|
||||
"ONLINE": 1,
|
||||
"OFFLINE": 2,
|
||||
}
|
||||
)
|
||||
|
||||
func (x GatewayState) Enum() *GatewayState {
|
||||
p := new(GatewayState)
|
||||
*p = x
|
||||
return p
|
||||
}
|
||||
|
||||
func (x GatewayState) String() string {
|
||||
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
||||
}
|
||||
|
||||
func (GatewayState) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_api_gateway_proto_enumTypes[0].Descriptor()
|
||||
}
|
||||
|
||||
func (GatewayState) Type() protoreflect.EnumType {
|
||||
return &file_api_gateway_proto_enumTypes[0]
|
||||
}
|
||||
|
||||
func (x GatewayState) Number() protoreflect.EnumNumber {
|
||||
return protoreflect.EnumNumber(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use GatewayState.Descriptor instead.
|
||||
func (GatewayState) EnumDescriptor() ([]byte, []int) {
|
||||
return file_api_gateway_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
type Gateway struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@ -43,6 +95,10 @@ type Gateway struct {
|
||||
Tags map[string]string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
// Metadata (provided by the gateway).
|
||||
Metadata map[string]string `protobuf:"bytes,7,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
// Stats interval (seconds).
|
||||
// This defines the expected interval in which the gateway sends its
|
||||
// statistics.
|
||||
StatsInterval uint32 `protobuf:"varint,8,opt,name=stats_interval,json=statsInterval,proto3" json:"stats_interval,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Gateway) Reset() {
|
||||
@ -126,6 +182,13 @@ func (x *Gateway) GetMetadata() map[string]string {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Gateway) GetStatsInterval() uint32 {
|
||||
if x != nil {
|
||||
return x.StatsInterval
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type GatewayListItem struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@ -149,6 +212,10 @@ type GatewayListItem struct {
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
// Last seen at timestamp.
|
||||
LastSeenAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_seen_at,json=lastSeenAt,proto3" json:"last_seen_at,omitempty"`
|
||||
// Gateway state.
|
||||
// Please note that the state of the gateway is driven by the stats
|
||||
// packages that are sent by the gateway.
|
||||
State GatewayState `protobuf:"varint,10,opt,name=state,proto3,enum=api.GatewayState" json:"state,omitempty"`
|
||||
}
|
||||
|
||||
func (x *GatewayListItem) Reset() {
|
||||
@ -246,6 +313,13 @@ func (x *GatewayListItem) GetLastSeenAt() *timestamppb.Timestamp {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *GatewayListItem) GetState() GatewayState {
|
||||
if x != nil {
|
||||
return x.State
|
||||
}
|
||||
return GatewayState_NEVER_SEEN
|
||||
}
|
||||
|
||||
type CreateGatewayRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@ -957,7 +1031,7 @@ var file_api_gateway_proto_rawDesc = []byte{
|
||||
0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d,
|
||||
0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x83, 0x03, 0x0a, 0x07, 0x47, 0x61,
|
||||
0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x03, 0x0a, 0x07, 0x47, 0x61,
|
||||
0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
|
||||
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77,
|
||||
0x61, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
@ -974,41 +1048,46 @@ var file_api_gateway_proto_rawDesc = []byte{
|
||||
0x73, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||
0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
|
||||
0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67,
|
||||
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
|
||||
0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
|
||||
0xea, 0x03, 0x0a, 0x0f, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x49,
|
||||
0x74, 0x65, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64,
|
||||
0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
|
||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
|
||||
0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
|
||||
0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61,
|
||||
0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x50, 0x72,
|
||||
0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70,
|
||||
0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
|
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
||||
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f,
|
||||
0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
|
||||
0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
|
||||
0x3c, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x61, 0x74, 0x18,
|
||||
0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
|
||||
0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x41, 0x74, 0x1a, 0x3d, 0x0a,
|
||||
0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61,
|
||||
0x74, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
|
||||
0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
|
||||
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74,
|
||||
0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
|
||||
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
|
||||
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x93, 0x04, 0x0a, 0x0f, 0x47, 0x61, 0x74, 0x65, 0x77,
|
||||
0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65,
|
||||
0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74,
|
||||
0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77,
|
||||
0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74,
|
||||
0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
|
||||
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x08,
|
||||
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
|
||||
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72,
|
||||
0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74,
|
||||
0x49, 0x74, 0x65, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45,
|
||||
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
|
||||
0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
|
||||
0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
||||
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73,
|
||||
0x65, 0x65, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
|
||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
|
||||
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65,
|
||||
0x65, 0x6e, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20,
|
||||
0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||
0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x3d, 0x0a,
|
||||
0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
||||
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
|
||||
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
@ -1113,62 +1192,65 @@ var file_api_gateway_proto_rawDesc = []byte{
|
||||
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63,
|
||||
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x12, 0x74, 0x78,
|
||||
0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
|
||||
0x32, 0x91, 0x06, 0x0a, 0x0e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76,
|
||||
0x69, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e,
|
||||
0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||
0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
||||
0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67,
|
||||
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x5a, 0x0a, 0x03, 0x47, 0x65,
|
||||
0x74, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77,
|
||||
0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||
0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x61, 0x70, 0x69,
|
||||
0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77,
|
||||
0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x6a, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74,
|
||||
0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
|
||||
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
|
||||
0x70, 0x74, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x1a, 0x22, 0x2f, 0x61, 0x70,
|
||||
0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65,
|
||||
0x77, 0x61, 0x79, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x3a,
|
||||
0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
|
||||
0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x2a, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61,
|
||||
0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f,
|
||||
0x69, 0x64, 0x7d, 0x12, 0x52, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70,
|
||||
0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74,
|
||||
0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67,
|
||||
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xb1, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65,
|
||||
0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
|
||||
0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x6e, 0x65,
|
||||
0x72, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e,
|
||||
0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
|
||||
0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43,
|
||||
0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x22, 0x2f, 0x2f, 0x61, 0x70, 0x69,
|
||||
0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77,
|
||||
0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x2d,
|
||||
0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x77, 0x0a, 0x0a, 0x47,
|
||||
0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||
0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47,
|
||||
0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24,
|
||||
0x12, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f,
|
||||
0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x73, 0x42, 0x53, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70,
|
||||
0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0c, 0x47, 0x61, 0x74, 0x65, 0x77,
|
||||
0x61, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75,
|
||||
0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b,
|
||||
0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
||||
0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x33,
|
||||
0x2a, 0x37, 0x0a, 0x0c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65,
|
||||
0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x45, 0x4e, 0x10, 0x00,
|
||||
0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07,
|
||||
0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x32, 0x91, 0x06, 0x0a, 0x0e, 0x47, 0x61,
|
||||
0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x06,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02,
|
||||
0x12, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73,
|
||||
0x3a, 0x01, 0x2a, 0x12, 0x5a, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69,
|
||||
0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65,
|
||||
0x77, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4,
|
||||
0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||
0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12,
|
||||
0x6a, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2d, 0x82, 0xd3,
|
||||
0xe4, 0x93, 0x02, 0x27, 0x1a, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77,
|
||||
0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x67, 0x61, 0x74,
|
||||
0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x06, 0x44,
|
||||
0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65,
|
||||
0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
||||
0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c,
|
||||
0x2a, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f,
|
||||
0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x52, 0x0a, 0x04,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47,
|
||||
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
|
||||
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02,
|
||||
0x0f, 0x12, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73,
|
||||
0x12, 0xb1, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69,
|
||||
0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x2c,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74,
|
||||
0x65, 0x77, 0x61, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
|
||||
0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77,
|
||||
0x61, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
|
||||
0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4,
|
||||
0x93, 0x02, 0x31, 0x22, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||
0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
|
||||
0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x2d, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
|
||||
0x63, 0x61, 0x74, 0x65, 0x12, 0x77, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
||||
0x63, 0x73, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65,
|
||||
0x77, 0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77,
|
||||
0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
||||
0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||
0x79, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x53, 0x0a,
|
||||
0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x42, 0x0c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63,
|
||||
0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73,
|
||||
0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61,
|
||||
0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@ -1183,76 +1265,79 @@ func file_api_gateway_proto_rawDescGZIP() []byte {
|
||||
return file_api_gateway_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_api_gateway_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
||||
var file_api_gateway_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
|
||||
var file_api_gateway_proto_goTypes = []interface{}{
|
||||
(*Gateway)(nil), // 0: api.Gateway
|
||||
(*GatewayListItem)(nil), // 1: api.GatewayListItem
|
||||
(*CreateGatewayRequest)(nil), // 2: api.CreateGatewayRequest
|
||||
(*GetGatewayRequest)(nil), // 3: api.GetGatewayRequest
|
||||
(*GetGatewayResponse)(nil), // 4: api.GetGatewayResponse
|
||||
(*UpdateGatewayRequest)(nil), // 5: api.UpdateGatewayRequest
|
||||
(*DeleteGatewayRequest)(nil), // 6: api.DeleteGatewayRequest
|
||||
(*ListGatewaysRequest)(nil), // 7: api.ListGatewaysRequest
|
||||
(*ListGatewaysResponse)(nil), // 8: api.ListGatewaysResponse
|
||||
(*GenerateGatewayClientCertificateRequest)(nil), // 9: api.GenerateGatewayClientCertificateRequest
|
||||
(*GenerateGatewayClientCertificateResponse)(nil), // 10: api.GenerateGatewayClientCertificateResponse
|
||||
(*GetGatewayMetricsRequest)(nil), // 11: api.GetGatewayMetricsRequest
|
||||
(*GetGatewayMetricsResponse)(nil), // 12: api.GetGatewayMetricsResponse
|
||||
nil, // 13: api.Gateway.TagsEntry
|
||||
nil, // 14: api.Gateway.MetadataEntry
|
||||
nil, // 15: api.GatewayListItem.PropertiesEntry
|
||||
(*common.Location)(nil), // 16: common.Location
|
||||
(*timestamppb.Timestamp)(nil), // 17: google.protobuf.Timestamp
|
||||
(common.Aggregation)(0), // 18: common.Aggregation
|
||||
(*common.Metric)(nil), // 19: common.Metric
|
||||
(*emptypb.Empty)(nil), // 20: google.protobuf.Empty
|
||||
(GatewayState)(0), // 0: api.GatewayState
|
||||
(*Gateway)(nil), // 1: api.Gateway
|
||||
(*GatewayListItem)(nil), // 2: api.GatewayListItem
|
||||
(*CreateGatewayRequest)(nil), // 3: api.CreateGatewayRequest
|
||||
(*GetGatewayRequest)(nil), // 4: api.GetGatewayRequest
|
||||
(*GetGatewayResponse)(nil), // 5: api.GetGatewayResponse
|
||||
(*UpdateGatewayRequest)(nil), // 6: api.UpdateGatewayRequest
|
||||
(*DeleteGatewayRequest)(nil), // 7: api.DeleteGatewayRequest
|
||||
(*ListGatewaysRequest)(nil), // 8: api.ListGatewaysRequest
|
||||
(*ListGatewaysResponse)(nil), // 9: api.ListGatewaysResponse
|
||||
(*GenerateGatewayClientCertificateRequest)(nil), // 10: api.GenerateGatewayClientCertificateRequest
|
||||
(*GenerateGatewayClientCertificateResponse)(nil), // 11: api.GenerateGatewayClientCertificateResponse
|
||||
(*GetGatewayMetricsRequest)(nil), // 12: api.GetGatewayMetricsRequest
|
||||
(*GetGatewayMetricsResponse)(nil), // 13: api.GetGatewayMetricsResponse
|
||||
nil, // 14: api.Gateway.TagsEntry
|
||||
nil, // 15: api.Gateway.MetadataEntry
|
||||
nil, // 16: api.GatewayListItem.PropertiesEntry
|
||||
(*common.Location)(nil), // 17: common.Location
|
||||
(*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp
|
||||
(common.Aggregation)(0), // 19: common.Aggregation
|
||||
(*common.Metric)(nil), // 20: common.Metric
|
||||
(*emptypb.Empty)(nil), // 21: google.protobuf.Empty
|
||||
}
|
||||
var file_api_gateway_proto_depIdxs = []int32{
|
||||
16, // 0: api.Gateway.location:type_name -> common.Location
|
||||
13, // 1: api.Gateway.tags:type_name -> api.Gateway.TagsEntry
|
||||
14, // 2: api.Gateway.metadata:type_name -> api.Gateway.MetadataEntry
|
||||
16, // 3: api.GatewayListItem.location:type_name -> common.Location
|
||||
15, // 4: api.GatewayListItem.properties:type_name -> api.GatewayListItem.PropertiesEntry
|
||||
17, // 5: api.GatewayListItem.created_at:type_name -> google.protobuf.Timestamp
|
||||
17, // 6: api.GatewayListItem.updated_at:type_name -> google.protobuf.Timestamp
|
||||
17, // 7: api.GatewayListItem.last_seen_at:type_name -> google.protobuf.Timestamp
|
||||
0, // 8: api.CreateGatewayRequest.gateway:type_name -> api.Gateway
|
||||
0, // 9: api.GetGatewayResponse.gateway:type_name -> api.Gateway
|
||||
17, // 10: api.GetGatewayResponse.created_at:type_name -> google.protobuf.Timestamp
|
||||
17, // 11: api.GetGatewayResponse.updated_at:type_name -> google.protobuf.Timestamp
|
||||
17, // 12: api.GetGatewayResponse.last_seen_at:type_name -> google.protobuf.Timestamp
|
||||
0, // 13: api.UpdateGatewayRequest.gateway:type_name -> api.Gateway
|
||||
1, // 14: api.ListGatewaysResponse.result:type_name -> api.GatewayListItem
|
||||
17, // 15: api.GenerateGatewayClientCertificateResponse.expires_at:type_name -> google.protobuf.Timestamp
|
||||
17, // 16: api.GetGatewayMetricsRequest.start:type_name -> google.protobuf.Timestamp
|
||||
17, // 17: api.GetGatewayMetricsRequest.end:type_name -> google.protobuf.Timestamp
|
||||
18, // 18: api.GetGatewayMetricsRequest.aggregation:type_name -> common.Aggregation
|
||||
19, // 19: api.GetGatewayMetricsResponse.rx_packets:type_name -> common.Metric
|
||||
19, // 20: api.GetGatewayMetricsResponse.tx_packets:type_name -> common.Metric
|
||||
19, // 21: api.GetGatewayMetricsResponse.tx_packets_per_freq:type_name -> common.Metric
|
||||
19, // 22: api.GetGatewayMetricsResponse.rx_packets_per_freq:type_name -> common.Metric
|
||||
19, // 23: api.GetGatewayMetricsResponse.tx_packets_per_dr:type_name -> common.Metric
|
||||
19, // 24: api.GetGatewayMetricsResponse.rx_packets_per_dr:type_name -> common.Metric
|
||||
19, // 25: api.GetGatewayMetricsResponse.tx_packets_per_status:type_name -> common.Metric
|
||||
2, // 26: api.GatewayService.Create:input_type -> api.CreateGatewayRequest
|
||||
3, // 27: api.GatewayService.Get:input_type -> api.GetGatewayRequest
|
||||
5, // 28: api.GatewayService.Update:input_type -> api.UpdateGatewayRequest
|
||||
6, // 29: api.GatewayService.Delete:input_type -> api.DeleteGatewayRequest
|
||||
7, // 30: api.GatewayService.List:input_type -> api.ListGatewaysRequest
|
||||
9, // 31: api.GatewayService.GenerateClientCertificate:input_type -> api.GenerateGatewayClientCertificateRequest
|
||||
11, // 32: api.GatewayService.GetMetrics:input_type -> api.GetGatewayMetricsRequest
|
||||
20, // 33: api.GatewayService.Create:output_type -> google.protobuf.Empty
|
||||
4, // 34: api.GatewayService.Get:output_type -> api.GetGatewayResponse
|
||||
20, // 35: api.GatewayService.Update:output_type -> google.protobuf.Empty
|
||||
20, // 36: api.GatewayService.Delete:output_type -> google.protobuf.Empty
|
||||
8, // 37: api.GatewayService.List:output_type -> api.ListGatewaysResponse
|
||||
10, // 38: api.GatewayService.GenerateClientCertificate:output_type -> api.GenerateGatewayClientCertificateResponse
|
||||
12, // 39: api.GatewayService.GetMetrics:output_type -> api.GetGatewayMetricsResponse
|
||||
33, // [33:40] is the sub-list for method output_type
|
||||
26, // [26:33] is the sub-list for method input_type
|
||||
26, // [26:26] is the sub-list for extension type_name
|
||||
26, // [26:26] is the sub-list for extension extendee
|
||||
0, // [0:26] is the sub-list for field type_name
|
||||
17, // 0: api.Gateway.location:type_name -> common.Location
|
||||
14, // 1: api.Gateway.tags:type_name -> api.Gateway.TagsEntry
|
||||
15, // 2: api.Gateway.metadata:type_name -> api.Gateway.MetadataEntry
|
||||
17, // 3: api.GatewayListItem.location:type_name -> common.Location
|
||||
16, // 4: api.GatewayListItem.properties:type_name -> api.GatewayListItem.PropertiesEntry
|
||||
18, // 5: api.GatewayListItem.created_at:type_name -> google.protobuf.Timestamp
|
||||
18, // 6: api.GatewayListItem.updated_at:type_name -> google.protobuf.Timestamp
|
||||
18, // 7: api.GatewayListItem.last_seen_at:type_name -> google.protobuf.Timestamp
|
||||
0, // 8: api.GatewayListItem.state:type_name -> api.GatewayState
|
||||
1, // 9: api.CreateGatewayRequest.gateway:type_name -> api.Gateway
|
||||
1, // 10: api.GetGatewayResponse.gateway:type_name -> api.Gateway
|
||||
18, // 11: api.GetGatewayResponse.created_at:type_name -> google.protobuf.Timestamp
|
||||
18, // 12: api.GetGatewayResponse.updated_at:type_name -> google.protobuf.Timestamp
|
||||
18, // 13: api.GetGatewayResponse.last_seen_at:type_name -> google.protobuf.Timestamp
|
||||
1, // 14: api.UpdateGatewayRequest.gateway:type_name -> api.Gateway
|
||||
2, // 15: api.ListGatewaysResponse.result:type_name -> api.GatewayListItem
|
||||
18, // 16: api.GenerateGatewayClientCertificateResponse.expires_at:type_name -> google.protobuf.Timestamp
|
||||
18, // 17: api.GetGatewayMetricsRequest.start:type_name -> google.protobuf.Timestamp
|
||||
18, // 18: api.GetGatewayMetricsRequest.end:type_name -> google.protobuf.Timestamp
|
||||
19, // 19: api.GetGatewayMetricsRequest.aggregation:type_name -> common.Aggregation
|
||||
20, // 20: api.GetGatewayMetricsResponse.rx_packets:type_name -> common.Metric
|
||||
20, // 21: api.GetGatewayMetricsResponse.tx_packets:type_name -> common.Metric
|
||||
20, // 22: api.GetGatewayMetricsResponse.tx_packets_per_freq:type_name -> common.Metric
|
||||
20, // 23: api.GetGatewayMetricsResponse.rx_packets_per_freq:type_name -> common.Metric
|
||||
20, // 24: api.GetGatewayMetricsResponse.tx_packets_per_dr:type_name -> common.Metric
|
||||
20, // 25: api.GetGatewayMetricsResponse.rx_packets_per_dr:type_name -> common.Metric
|
||||
20, // 26: api.GetGatewayMetricsResponse.tx_packets_per_status:type_name -> common.Metric
|
||||
3, // 27: api.GatewayService.Create:input_type -> api.CreateGatewayRequest
|
||||
4, // 28: api.GatewayService.Get:input_type -> api.GetGatewayRequest
|
||||
6, // 29: api.GatewayService.Update:input_type -> api.UpdateGatewayRequest
|
||||
7, // 30: api.GatewayService.Delete:input_type -> api.DeleteGatewayRequest
|
||||
8, // 31: api.GatewayService.List:input_type -> api.ListGatewaysRequest
|
||||
10, // 32: api.GatewayService.GenerateClientCertificate:input_type -> api.GenerateGatewayClientCertificateRequest
|
||||
12, // 33: api.GatewayService.GetMetrics:input_type -> api.GetGatewayMetricsRequest
|
||||
21, // 34: api.GatewayService.Create:output_type -> google.protobuf.Empty
|
||||
5, // 35: api.GatewayService.Get:output_type -> api.GetGatewayResponse
|
||||
21, // 36: api.GatewayService.Update:output_type -> google.protobuf.Empty
|
||||
21, // 37: api.GatewayService.Delete:output_type -> google.protobuf.Empty
|
||||
9, // 38: api.GatewayService.List:output_type -> api.ListGatewaysResponse
|
||||
11, // 39: api.GatewayService.GenerateClientCertificate:output_type -> api.GenerateGatewayClientCertificateResponse
|
||||
13, // 40: api.GatewayService.GetMetrics:output_type -> api.GetGatewayMetricsResponse
|
||||
34, // [34:41] is the sub-list for method output_type
|
||||
27, // [27:34] is the sub-list for method input_type
|
||||
27, // [27:27] is the sub-list for extension type_name
|
||||
27, // [27:27] is the sub-list for extension extendee
|
||||
0, // [0:27] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_api_gateway_proto_init() }
|
||||
@ -1423,13 +1508,14 @@ func file_api_gateway_proto_init() {
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_api_gateway_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumEnums: 1,
|
||||
NumMessages: 16,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_api_gateway_proto_goTypes,
|
||||
DependencyIndexes: file_api_gateway_proto_depIdxs,
|
||||
EnumInfos: file_api_gateway_proto_enumTypes,
|
||||
MessageInfos: file_api_gateway_proto_msgTypes,
|
||||
}.Build()
|
||||
File_api_gateway_proto = out.File
|
||||
|
324
api/go/api/internal.pb.go
vendored
324
api/go/api/internal.pb.go
vendored
@ -1289,10 +1289,10 @@ type GetGatewaysSummaryResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// Active count.
|
||||
ActiveCount uint32 `protobuf:"varint,1,opt,name=active_count,json=activeCount,proto3" json:"active_count,omitempty"`
|
||||
// Inactive count.
|
||||
InactiveCount uint32 `protobuf:"varint,2,opt,name=inactive_count,json=inactiveCount,proto3" json:"inactive_count,omitempty"`
|
||||
// Online count.
|
||||
OnlineCount uint32 `protobuf:"varint,1,opt,name=online_count,json=onlineCount,proto3" json:"online_count,omitempty"`
|
||||
// Offline count.
|
||||
OfflineCount uint32 `protobuf:"varint,2,opt,name=offline_count,json=offlineCount,proto3" json:"offline_count,omitempty"`
|
||||
// Never seen count.
|
||||
NeverSeenCount uint32 `protobuf:"varint,3,opt,name=never_seen_count,json=neverSeenCount,proto3" json:"never_seen_count,omitempty"`
|
||||
}
|
||||
@ -1329,16 +1329,16 @@ func (*GetGatewaysSummaryResponse) Descriptor() ([]byte, []int) {
|
||||
return file_api_internal_proto_rawDescGZIP(), []int{20}
|
||||
}
|
||||
|
||||
func (x *GetGatewaysSummaryResponse) GetActiveCount() uint32 {
|
||||
func (x *GetGatewaysSummaryResponse) GetOnlineCount() uint32 {
|
||||
if x != nil {
|
||||
return x.ActiveCount
|
||||
return x.OnlineCount
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *GetGatewaysSummaryResponse) GetInactiveCount() uint32 {
|
||||
func (x *GetGatewaysSummaryResponse) GetOfflineCount() uint32 {
|
||||
if x != nil {
|
||||
return x.InactiveCount
|
||||
return x.OfflineCount
|
||||
}
|
||||
return 0
|
||||
}
|
||||
@ -2092,162 +2092,162 @@ var file_api_internal_proto_rawDesc = []byte{
|
||||
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
|
||||
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
|
||||
0x49, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||
0x49, 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||
0x79, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
|
||||
0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x6e,
|
||||
0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e,
|
||||
0x65, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x53, 0x65, 0x65, 0x6e,
|
||||
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xfc, 0x01, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65,
|
||||
0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
|
||||
0x64, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
||||
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d,
|
||||
0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65,
|
||||
0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70,
|
||||
0x69, 0x2e, 0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
|
||||
0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65,
|
||||
0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
|
||||
0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
|
||||
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
||||
0x3a, 0x02, 0x38, 0x01, 0x22, 0x3b, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x61,
|
||||
0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49,
|
||||
0x64, 0x22, 0x34, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63,
|
||||
0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17,
|
||||
0x0a, 0x07, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x06, 0x64, 0x65, 0x76, 0x45, 0x75, 0x69, 0x22, 0x34, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61,
|
||||
0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x45, 0x75, 0x69, 0x22, 0x44, 0x0a,
|
||||
0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18,
|
||||
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x67, 0x69,
|
||||
0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x72, 0x65, 0x67, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x22, 0x6a, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73,
|
||||
0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52,
|
||||
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a,
|
||||
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,
|
||||
0x22, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x02, 0x69, 0x64, 0x22, 0xb2, 0x03, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f,
|
||||
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67,
|
||||
0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
|
||||
0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
|
||||
0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b,
|
||||
0x0a, 0x0f, 0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
|
||||
0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65,
|
||||
0x67, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x0e, 0x75, 0x70, 0x6c,
|
||||
0x69, 0x6e, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72,
|
||||
0x78, 0x31, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
|
||||
0x72, 0x78, 0x31, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x78, 0x31, 0x5f,
|
||||
0x64, 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||
0x0b, 0x72, 0x78, 0x31, 0x44, 0x72, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x15, 0x0a, 0x06,
|
||||
0x72, 0x78, 0x32, 0x5f, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x78,
|
||||
0x32, 0x44, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x78, 0x32, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75,
|
||||
0x65, 0x6e, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x78, 0x32, 0x46,
|
||||
0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x14, 0x63, 0x6c, 0x61, 0x73,
|
||||
0x73, 0x5f, 0x62, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x64, 0x72,
|
||||
0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x50, 0x69,
|
||||
0x6e, 0x67, 0x53, 0x6c, 0x6f, 0x74, 0x44, 0x72, 0x12, 0x3c, 0x0a, 0x1b, 0x63, 0x6c, 0x61, 0x73,
|
||||
0x73, 0x5f, 0x62, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x66, 0x72,
|
||||
0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x63,
|
||||
0x6c, 0x61, 0x73, 0x73, 0x42, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x6f, 0x74, 0x46, 0x72, 0x65,
|
||||
0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
|
||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
|
||||
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5b, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69,
|
||||
0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x65,
|
||||
0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x72,
|
||||
0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x64, 0x72, 0x5f, 0x6d, 0x69,
|
||||
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x72, 0x4d, 0x69, 0x6e, 0x12, 0x15,
|
||||
0x0a, 0x06, 0x64, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
|
||||
0x64, 0x72, 0x4d, 0x61, 0x78, 0x32, 0xb4, 0x08, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e,
|
||||
0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x4c, 0x6f, 0x67,
|
||||
0x69, 0x6e, 0x12, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f, 0x67, 0x69,
|
||||
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x07, 0x50,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x6c, 0x6f,
|
||||
0x62, 0x61, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x61,
|
||||
0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a,
|
||||
0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x2e,
|
||||
0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70,
|
||||
0x69, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
|
||||
0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
|
||||
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74,
|
||||
0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65,
|
||||
0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x08,
|
||||
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||
0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x66, 0x66,
|
||||
0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x76,
|
||||
0x65, 0x72, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x53, 0x65, 0x65, 0x6e, 0x43, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x22, 0xfc, 0x01, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x12,
|
||||
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
|
||||
0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
|
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
||||
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12,
|
||||
0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
|
||||
0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||
0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
|
||||
0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
|
||||
0x69, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
|
||||
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
|
||||
0x38, 0x01, 0x22, 0x3b, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x61, 0x74, 0x65,
|
||||
0x77, 0x61, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x22,
|
||||
0x34, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x46,
|
||||
0x72, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07,
|
||||
0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64,
|
||||
0x65, 0x76, 0x45, 0x75, 0x69, 0x22, 0x34, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44,
|
||||
0x65, 0x76, 0x69, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x45, 0x75, 0x69, 0x22, 0x44, 0x0a, 0x13, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x22, 0x6a, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x49,
|
||||
0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67,
|
||||
0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64,
|
||||
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x22, 0x0a,
|
||||
0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
|
||||
0x64, 0x22, 0xb2, 0x03, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
|
||||
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
|
||||
0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12,
|
||||
0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x0f,
|
||||
0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18,
|
||||
0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x67, 0x69,
|
||||
0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x0e, 0x75, 0x70, 0x6c, 0x69, 0x6e,
|
||||
0x6b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x78, 0x31,
|
||||
0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x78,
|
||||
0x31, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x78, 0x31, 0x5f, 0x64, 0x72,
|
||||
0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72,
|
||||
0x78, 0x31, 0x44, 0x72, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x78,
|
||||
0x32, 0x5f, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x78, 0x32, 0x44,
|
||||
0x72, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x78, 0x32, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e,
|
||||
0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x78, 0x32, 0x46, 0x72, 0x65,
|
||||
0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x14, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f,
|
||||
0x62, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x64, 0x72, 0x18, 0x09,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x50, 0x69, 0x6e, 0x67,
|
||||
0x53, 0x6c, 0x6f, 0x74, 0x44, 0x72, 0x12, 0x3c, 0x0a, 0x1b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f,
|
||||
0x62, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x66, 0x72, 0x65, 0x71,
|
||||
0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x63, 0x6c, 0x61,
|
||||
0x73, 0x73, 0x42, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x6f, 0x74, 0x46, 0x72, 0x65, 0x71, 0x75,
|
||||
0x65, 0x6e, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
|
||||
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5b, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
||||
0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75,
|
||||
0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x72, 0x65, 0x71,
|
||||
0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x64, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x72, 0x4d, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06,
|
||||
0x64, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x72,
|
||||
0x4d, 0x61, 0x78, 0x32, 0xb4, 0x08, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
|
||||
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
|
||||
0x12, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x07, 0x50, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65,
|
||||
0x61, 0x72, 0x63, 0x68, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61,
|
||||
0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63,
|
||||
0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x43,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x2e, 0x61, 0x70,
|
||||
0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x22, 0x00, 0x12, 0x42, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x69, 0x4b,
|
||||
0x65, 0x79, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41,
|
||||
0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
|
||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
|
||||
0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70,
|
||||
0x69, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74,
|
||||
0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x08, 0x53, 0x65,
|
||||
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x15,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x12, 0x4f, 0x70, 0x65, 0x6e, 0x49,
|
||||
0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1e, 0x2e,
|
||||
0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
|
||||
0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e,
|
||||
0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
|
||||
0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
|
||||
0x12, 0x54, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x75,
|
||||
0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44,
|
||||
0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65,
|
||||
0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74,
|
||||
0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1e, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x75,
|
||||
0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x75,
|
||||
0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
|
||||
0x48, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
|
||||
0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x72,
|
||||
0x65, 0x61, 0x6d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f,
|
||||
0x67, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x00, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x12, 0x53, 0x74, 0x72,
|
||||
0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12,
|
||||
0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x00, 0x30,
|
||||
0x01, 0x12, 0x46, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63,
|
||||
0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74,
|
||||
0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f,
|
||||
0x67, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x00, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0b, 0x4c, 0x69, 0x73,
|
||||
0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
||||
0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x12, 0x4f, 0x70, 0x65,
|
||||
0x6e, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12,
|
||||
0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x6e,
|
||||
0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x6e,
|
||||
0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x22, 0x00, 0x12, 0x54, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73,
|
||||
0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65,
|
||||
0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74,
|
||||
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47,
|
||||
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1e,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73,
|
||||
0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73,
|
||||
0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
|
||||
0x00, 0x12, 0x48, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x61, 0x74, 0x65, 0x77,
|
||||
0x61, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53,
|
||||
0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x72, 0x61, 0x6d,
|
||||
0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||
0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x00, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x12, 0x53,
|
||||
0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65,
|
||||
0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65,
|
||||
0x76, 0x69, 0x63, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x22,
|
||||
0x00, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76,
|
||||
0x69, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||
0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e,
|
||||
0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||
0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x00, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0b, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
|
||||
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
|
||||
0x74, 0x79, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c,
|
||||
0x0a, 0x09, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x70,
|
||||
0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69,
|
||||
0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x54, 0x0a, 0x11,
|
||||
0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70,
|
||||
0x69, 0x42, 0x0d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63,
|
||||
0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73,
|
||||
0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61,
|
||||
0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09,
|
||||
0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||
0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x54, 0x0a, 0x11, 0x69, 0x6f,
|
||||
0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42,
|
||||
0x0d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
|
||||
0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69,
|
||||
0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61,
|
||||
0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
13
api/grpc-web/api/gateway_pb.d.ts
vendored
13
api/grpc-web/api/gateway_pb.d.ts
vendored
@ -30,6 +30,9 @@ export class Gateway extends jspb.Message {
|
||||
getMetadataMap(): jspb.Map<string, string>;
|
||||
clearMetadataMap(): Gateway;
|
||||
|
||||
getStatsInterval(): number;
|
||||
setStatsInterval(value: number): Gateway;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): Gateway.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: Gateway): Gateway.AsObject;
|
||||
@ -47,6 +50,7 @@ export namespace Gateway {
|
||||
tenantId: string,
|
||||
tagsMap: Array<[string, string]>,
|
||||
metadataMap: Array<[string, string]>,
|
||||
statsInterval: number,
|
||||
}
|
||||
}
|
||||
|
||||
@ -86,6 +90,9 @@ export class GatewayListItem extends jspb.Message {
|
||||
hasLastSeenAt(): boolean;
|
||||
clearLastSeenAt(): GatewayListItem;
|
||||
|
||||
getState(): GatewayState;
|
||||
setState(value: GatewayState): GatewayListItem;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): GatewayListItem.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: GatewayListItem): GatewayListItem.AsObject;
|
||||
@ -105,6 +112,7 @@ export namespace GatewayListItem {
|
||||
createdAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
||||
updatedAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
||||
lastSeenAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
||||
state: GatewayState,
|
||||
}
|
||||
}
|
||||
|
||||
@ -416,3 +424,8 @@ export namespace GetGatewayMetricsResponse {
|
||||
}
|
||||
}
|
||||
|
||||
export enum GatewayState {
|
||||
NEVER_SEEN = 0,
|
||||
ONLINE = 1,
|
||||
OFFLINE = 2,
|
||||
}
|
||||
|
74
api/grpc-web/api/gateway_pb.js
vendored
74
api/grpc-web/api/gateway_pb.js
vendored
@ -24,6 +24,7 @@ goog.exportSymbol('proto.api.CreateGatewayRequest', null, global);
|
||||
goog.exportSymbol('proto.api.DeleteGatewayRequest', null, global);
|
||||
goog.exportSymbol('proto.api.Gateway', null, global);
|
||||
goog.exportSymbol('proto.api.GatewayListItem', null, global);
|
||||
goog.exportSymbol('proto.api.GatewayState', null, global);
|
||||
goog.exportSymbol('proto.api.GenerateGatewayClientCertificateRequest', null, global);
|
||||
goog.exportSymbol('proto.api.GenerateGatewayClientCertificateResponse', null, global);
|
||||
goog.exportSymbol('proto.api.GetGatewayMetricsRequest', null, global);
|
||||
@ -344,7 +345,8 @@ proto.api.Gateway.toObject = function(includeInstance, msg) {
|
||||
location: (f = msg.getLocation()) && common_common_pb.Location.toObject(includeInstance, f),
|
||||
tenantId: jspb.Message.getFieldWithDefault(msg, 5, ""),
|
||||
tagsMap: (f = msg.getTagsMap()) ? f.toObject(includeInstance, undefined) : [],
|
||||
metadataMap: (f = msg.getMetadataMap()) ? f.toObject(includeInstance, undefined) : []
|
||||
metadataMap: (f = msg.getMetadataMap()) ? f.toObject(includeInstance, undefined) : [],
|
||||
statsInterval: jspb.Message.getFieldWithDefault(msg, 8, 0)
|
||||
};
|
||||
|
||||
if (includeInstance) {
|
||||
@ -414,6 +416,10 @@ proto.api.Gateway.deserializeBinaryFromReader = function(msg, reader) {
|
||||
jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", "");
|
||||
});
|
||||
break;
|
||||
case 8:
|
||||
var value = /** @type {number} */ (reader.readUint32());
|
||||
msg.setStatsInterval(value);
|
||||
break;
|
||||
default:
|
||||
reader.skipField();
|
||||
break;
|
||||
@ -487,6 +493,13 @@ proto.api.Gateway.serializeBinaryToWriter = function(message, writer) {
|
||||
if (f && f.getLength() > 0) {
|
||||
f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
|
||||
}
|
||||
f = message.getStatsInterval();
|
||||
if (f !== 0) {
|
||||
writer.writeUint32(
|
||||
8,
|
||||
f
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -643,6 +656,24 @@ proto.api.Gateway.prototype.clearMetadataMap = function() {
|
||||
return this;};
|
||||
|
||||
|
||||
/**
|
||||
* optional uint32 stats_interval = 8;
|
||||
* @return {number}
|
||||
*/
|
||||
proto.api.Gateway.prototype.getStatsInterval = function() {
|
||||
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {number} value
|
||||
* @return {!proto.api.Gateway} returns this
|
||||
*/
|
||||
proto.api.Gateway.prototype.setStatsInterval = function(value) {
|
||||
return jspb.Message.setProto3IntField(this, 8, value);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -683,7 +714,8 @@ proto.api.GatewayListItem.toObject = function(includeInstance, msg) {
|
||||
propertiesMap: (f = msg.getPropertiesMap()) ? f.toObject(includeInstance, undefined) : [],
|
||||
createdAt: (f = msg.getCreatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
||||
updatedAt: (f = msg.getUpdatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
||||
lastSeenAt: (f = msg.getLastSeenAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)
|
||||
lastSeenAt: (f = msg.getLastSeenAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
||||
state: jspb.Message.getFieldWithDefault(msg, 10, 0)
|
||||
};
|
||||
|
||||
if (includeInstance) {
|
||||
@ -762,6 +794,10 @@ proto.api.GatewayListItem.deserializeBinaryFromReader = function(msg, reader) {
|
||||
reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
|
||||
msg.setLastSeenAt(value);
|
||||
break;
|
||||
case 10:
|
||||
var value = /** @type {!proto.api.GatewayState} */ (reader.readEnum());
|
||||
msg.setState(value);
|
||||
break;
|
||||
default:
|
||||
reader.skipField();
|
||||
break;
|
||||
@ -855,6 +891,13 @@ proto.api.GatewayListItem.serializeBinaryToWriter = function(message, writer) {
|
||||
google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
|
||||
);
|
||||
}
|
||||
f = message.getState();
|
||||
if (f !== 0.0) {
|
||||
writer.writeEnum(
|
||||
10,
|
||||
f
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -1100,6 +1143,24 @@ proto.api.GatewayListItem.prototype.hasLastSeenAt = function() {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* optional GatewayState state = 10;
|
||||
* @return {!proto.api.GatewayState}
|
||||
*/
|
||||
proto.api.GatewayListItem.prototype.getState = function() {
|
||||
return /** @type {!proto.api.GatewayState} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {!proto.api.GatewayState} value
|
||||
* @return {!proto.api.GatewayListItem} returns this
|
||||
*/
|
||||
proto.api.GatewayListItem.prototype.setState = function(value) {
|
||||
return jspb.Message.setProto3EnumField(this, 10, value);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -3466,4 +3527,13 @@ proto.api.GetGatewayMetricsResponse.prototype.hasTxPacketsPerStatus = function()
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @enum {number}
|
||||
*/
|
||||
proto.api.GatewayState = {
|
||||
NEVER_SEEN: 0,
|
||||
ONLINE: 1,
|
||||
OFFLINE: 2
|
||||
};
|
||||
|
||||
goog.object.extend(exports, proto.api);
|
||||
|
12
api/grpc-web/api/internal_pb.d.ts
vendored
12
api/grpc-web/api/internal_pb.d.ts
vendored
@ -515,11 +515,11 @@ export namespace GetGatewaysSummaryRequest {
|
||||
}
|
||||
|
||||
export class GetGatewaysSummaryResponse extends jspb.Message {
|
||||
getActiveCount(): number;
|
||||
setActiveCount(value: number): GetGatewaysSummaryResponse;
|
||||
getOnlineCount(): number;
|
||||
setOnlineCount(value: number): GetGatewaysSummaryResponse;
|
||||
|
||||
getInactiveCount(): number;
|
||||
setInactiveCount(value: number): GetGatewaysSummaryResponse;
|
||||
getOfflineCount(): number;
|
||||
setOfflineCount(value: number): GetGatewaysSummaryResponse;
|
||||
|
||||
getNeverSeenCount(): number;
|
||||
setNeverSeenCount(value: number): GetGatewaysSummaryResponse;
|
||||
@ -534,8 +534,8 @@ export class GetGatewaysSummaryResponse extends jspb.Message {
|
||||
|
||||
export namespace GetGatewaysSummaryResponse {
|
||||
export type AsObject = {
|
||||
activeCount: number,
|
||||
inactiveCount: number,
|
||||
onlineCount: number,
|
||||
offlineCount: number,
|
||||
neverSeenCount: number,
|
||||
}
|
||||
}
|
||||
|
24
api/grpc-web/api/internal_pb.js
vendored
24
api/grpc-web/api/internal_pb.js
vendored
@ -4500,8 +4500,8 @@ proto.api.GetGatewaysSummaryResponse.prototype.toObject = function(opt_includeIn
|
||||
*/
|
||||
proto.api.GetGatewaysSummaryResponse.toObject = function(includeInstance, msg) {
|
||||
var f, obj = {
|
||||
activeCount: jspb.Message.getFieldWithDefault(msg, 1, 0),
|
||||
inactiveCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
|
||||
onlineCount: jspb.Message.getFieldWithDefault(msg, 1, 0),
|
||||
offlineCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
|
||||
neverSeenCount: jspb.Message.getFieldWithDefault(msg, 3, 0)
|
||||
};
|
||||
|
||||
@ -4541,11 +4541,11 @@ proto.api.GetGatewaysSummaryResponse.deserializeBinaryFromReader = function(msg,
|
||||
switch (field) {
|
||||
case 1:
|
||||
var value = /** @type {number} */ (reader.readUint32());
|
||||
msg.setActiveCount(value);
|
||||
msg.setOnlineCount(value);
|
||||
break;
|
||||
case 2:
|
||||
var value = /** @type {number} */ (reader.readUint32());
|
||||
msg.setInactiveCount(value);
|
||||
msg.setOfflineCount(value);
|
||||
break;
|
||||
case 3:
|
||||
var value = /** @type {number} */ (reader.readUint32());
|
||||
@ -4580,14 +4580,14 @@ proto.api.GetGatewaysSummaryResponse.prototype.serializeBinary = function() {
|
||||
*/
|
||||
proto.api.GetGatewaysSummaryResponse.serializeBinaryToWriter = function(message, writer) {
|
||||
var f = undefined;
|
||||
f = message.getActiveCount();
|
||||
f = message.getOnlineCount();
|
||||
if (f !== 0) {
|
||||
writer.writeUint32(
|
||||
1,
|
||||
f
|
||||
);
|
||||
}
|
||||
f = message.getInactiveCount();
|
||||
f = message.getOfflineCount();
|
||||
if (f !== 0) {
|
||||
writer.writeUint32(
|
||||
2,
|
||||
@ -4605,10 +4605,10 @@ proto.api.GetGatewaysSummaryResponse.serializeBinaryToWriter = function(message,
|
||||
|
||||
|
||||
/**
|
||||
* optional uint32 active_count = 1;
|
||||
* optional uint32 online_count = 1;
|
||||
* @return {number}
|
||||
*/
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.getActiveCount = function() {
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.getOnlineCount = function() {
|
||||
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
|
||||
};
|
||||
|
||||
@ -4617,16 +4617,16 @@ proto.api.GetGatewaysSummaryResponse.prototype.getActiveCount = function() {
|
||||
* @param {number} value
|
||||
* @return {!proto.api.GetGatewaysSummaryResponse} returns this
|
||||
*/
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.setActiveCount = function(value) {
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.setOnlineCount = function(value) {
|
||||
return jspb.Message.setProto3IntField(this, 1, value);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* optional uint32 inactive_count = 2;
|
||||
* optional uint32 offline_count = 2;
|
||||
* @return {number}
|
||||
*/
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.getInactiveCount = function() {
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.getOfflineCount = function() {
|
||||
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
|
||||
};
|
||||
|
||||
@ -4635,7 +4635,7 @@ proto.api.GetGatewaysSummaryResponse.prototype.getInactiveCount = function() {
|
||||
* @param {number} value
|
||||
* @return {!proto.api.GetGatewaysSummaryResponse} returns this
|
||||
*/
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.setInactiveCount = function(value) {
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.setOfflineCount = function(value) {
|
||||
return jspb.Message.setProto3IntField(this, 2, value);
|
||||
};
|
||||
|
||||
|
16
api/js/api/gateway_pb.d.ts
vendored
16
api/js/api/gateway_pb.d.ts
vendored
@ -29,6 +29,9 @@ export class Gateway extends jspb.Message {
|
||||
clearTagsMap(): void;
|
||||
getMetadataMap(): jspb.Map<string, string>;
|
||||
clearMetadataMap(): void;
|
||||
getStatsInterval(): number;
|
||||
setStatsInterval(value: number): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): Gateway.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: Gateway): Gateway.AsObject;
|
||||
@ -48,6 +51,7 @@ export namespace Gateway {
|
||||
tenantId: string,
|
||||
tagsMap: Array<[string, string]>,
|
||||
metadataMap: Array<[string, string]>,
|
||||
statsInterval: number,
|
||||
}
|
||||
}
|
||||
|
||||
@ -86,6 +90,9 @@ export class GatewayListItem extends jspb.Message {
|
||||
getLastSeenAt(): google_protobuf_timestamp_pb.Timestamp | undefined;
|
||||
setLastSeenAt(value?: google_protobuf_timestamp_pb.Timestamp): void;
|
||||
|
||||
getState(): GatewayStateMap[keyof GatewayStateMap];
|
||||
setState(value: GatewayStateMap[keyof GatewayStateMap]): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): GatewayListItem.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: GatewayListItem): GatewayListItem.AsObject;
|
||||
@ -107,6 +114,7 @@ export namespace GatewayListItem {
|
||||
createdAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
||||
updatedAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
||||
lastSeenAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
||||
state: GatewayStateMap[keyof GatewayStateMap],
|
||||
}
|
||||
}
|
||||
|
||||
@ -440,3 +448,11 @@ export namespace GetGatewayMetricsResponse {
|
||||
}
|
||||
}
|
||||
|
||||
export interface GatewayStateMap {
|
||||
NEVER_SEEN: 0;
|
||||
ONLINE: 1;
|
||||
OFFLINE: 2;
|
||||
}
|
||||
|
||||
export const GatewayState: GatewayStateMap;
|
||||
|
||||
|
74
api/js/api/gateway_pb.js
vendored
74
api/js/api/gateway_pb.js
vendored
@ -24,6 +24,7 @@ goog.exportSymbol('proto.api.CreateGatewayRequest', null, global);
|
||||
goog.exportSymbol('proto.api.DeleteGatewayRequest', null, global);
|
||||
goog.exportSymbol('proto.api.Gateway', null, global);
|
||||
goog.exportSymbol('proto.api.GatewayListItem', null, global);
|
||||
goog.exportSymbol('proto.api.GatewayState', null, global);
|
||||
goog.exportSymbol('proto.api.GenerateGatewayClientCertificateRequest', null, global);
|
||||
goog.exportSymbol('proto.api.GenerateGatewayClientCertificateResponse', null, global);
|
||||
goog.exportSymbol('proto.api.GetGatewayMetricsRequest', null, global);
|
||||
@ -344,7 +345,8 @@ proto.api.Gateway.toObject = function(includeInstance, msg) {
|
||||
location: (f = msg.getLocation()) && common_common_pb.Location.toObject(includeInstance, f),
|
||||
tenantId: jspb.Message.getFieldWithDefault(msg, 5, ""),
|
||||
tagsMap: (f = msg.getTagsMap()) ? f.toObject(includeInstance, undefined) : [],
|
||||
metadataMap: (f = msg.getMetadataMap()) ? f.toObject(includeInstance, undefined) : []
|
||||
metadataMap: (f = msg.getMetadataMap()) ? f.toObject(includeInstance, undefined) : [],
|
||||
statsInterval: jspb.Message.getFieldWithDefault(msg, 8, 0)
|
||||
};
|
||||
|
||||
if (includeInstance) {
|
||||
@ -414,6 +416,10 @@ proto.api.Gateway.deserializeBinaryFromReader = function(msg, reader) {
|
||||
jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", "");
|
||||
});
|
||||
break;
|
||||
case 8:
|
||||
var value = /** @type {number} */ (reader.readUint32());
|
||||
msg.setStatsInterval(value);
|
||||
break;
|
||||
default:
|
||||
reader.skipField();
|
||||
break;
|
||||
@ -487,6 +493,13 @@ proto.api.Gateway.serializeBinaryToWriter = function(message, writer) {
|
||||
if (f && f.getLength() > 0) {
|
||||
f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
|
||||
}
|
||||
f = message.getStatsInterval();
|
||||
if (f !== 0) {
|
||||
writer.writeUint32(
|
||||
8,
|
||||
f
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -643,6 +656,24 @@ proto.api.Gateway.prototype.clearMetadataMap = function() {
|
||||
return this;};
|
||||
|
||||
|
||||
/**
|
||||
* optional uint32 stats_interval = 8;
|
||||
* @return {number}
|
||||
*/
|
||||
proto.api.Gateway.prototype.getStatsInterval = function() {
|
||||
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {number} value
|
||||
* @return {!proto.api.Gateway} returns this
|
||||
*/
|
||||
proto.api.Gateway.prototype.setStatsInterval = function(value) {
|
||||
return jspb.Message.setProto3IntField(this, 8, value);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -683,7 +714,8 @@ proto.api.GatewayListItem.toObject = function(includeInstance, msg) {
|
||||
propertiesMap: (f = msg.getPropertiesMap()) ? f.toObject(includeInstance, undefined) : [],
|
||||
createdAt: (f = msg.getCreatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
||||
updatedAt: (f = msg.getUpdatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
||||
lastSeenAt: (f = msg.getLastSeenAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)
|
||||
lastSeenAt: (f = msg.getLastSeenAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
||||
state: jspb.Message.getFieldWithDefault(msg, 10, 0)
|
||||
};
|
||||
|
||||
if (includeInstance) {
|
||||
@ -762,6 +794,10 @@ proto.api.GatewayListItem.deserializeBinaryFromReader = function(msg, reader) {
|
||||
reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
|
||||
msg.setLastSeenAt(value);
|
||||
break;
|
||||
case 10:
|
||||
var value = /** @type {!proto.api.GatewayState} */ (reader.readEnum());
|
||||
msg.setState(value);
|
||||
break;
|
||||
default:
|
||||
reader.skipField();
|
||||
break;
|
||||
@ -855,6 +891,13 @@ proto.api.GatewayListItem.serializeBinaryToWriter = function(message, writer) {
|
||||
google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
|
||||
);
|
||||
}
|
||||
f = message.getState();
|
||||
if (f !== 0.0) {
|
||||
writer.writeEnum(
|
||||
10,
|
||||
f
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -1100,6 +1143,24 @@ proto.api.GatewayListItem.prototype.hasLastSeenAt = function() {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* optional GatewayState state = 10;
|
||||
* @return {!proto.api.GatewayState}
|
||||
*/
|
||||
proto.api.GatewayListItem.prototype.getState = function() {
|
||||
return /** @type {!proto.api.GatewayState} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {!proto.api.GatewayState} value
|
||||
* @return {!proto.api.GatewayListItem} returns this
|
||||
*/
|
||||
proto.api.GatewayListItem.prototype.setState = function(value) {
|
||||
return jspb.Message.setProto3EnumField(this, 10, value);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -3466,4 +3527,13 @@ proto.api.GetGatewayMetricsResponse.prototype.hasTxPacketsPerStatus = function()
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @enum {number}
|
||||
*/
|
||||
proto.api.GatewayState = {
|
||||
NEVER_SEEN: 0,
|
||||
ONLINE: 1,
|
||||
OFFLINE: 2
|
||||
};
|
||||
|
||||
goog.object.extend(exports, proto.api);
|
||||
|
12
api/js/api/internal_pb.d.ts
vendored
12
api/js/api/internal_pb.d.ts
vendored
@ -555,11 +555,11 @@ export namespace GetGatewaysSummaryRequest {
|
||||
}
|
||||
|
||||
export class GetGatewaysSummaryResponse extends jspb.Message {
|
||||
getActiveCount(): number;
|
||||
setActiveCount(value: number): void;
|
||||
getOnlineCount(): number;
|
||||
setOnlineCount(value: number): void;
|
||||
|
||||
getInactiveCount(): number;
|
||||
setInactiveCount(value: number): void;
|
||||
getOfflineCount(): number;
|
||||
setOfflineCount(value: number): void;
|
||||
|
||||
getNeverSeenCount(): number;
|
||||
setNeverSeenCount(value: number): void;
|
||||
@ -576,8 +576,8 @@ export class GetGatewaysSummaryResponse extends jspb.Message {
|
||||
|
||||
export namespace GetGatewaysSummaryResponse {
|
||||
export type AsObject = {
|
||||
activeCount: number,
|
||||
inactiveCount: number,
|
||||
onlineCount: number,
|
||||
offlineCount: number,
|
||||
neverSeenCount: number,
|
||||
}
|
||||
}
|
||||
|
24
api/js/api/internal_pb.js
vendored
24
api/js/api/internal_pb.js
vendored
@ -4500,8 +4500,8 @@ proto.api.GetGatewaysSummaryResponse.prototype.toObject = function(opt_includeIn
|
||||
*/
|
||||
proto.api.GetGatewaysSummaryResponse.toObject = function(includeInstance, msg) {
|
||||
var f, obj = {
|
||||
activeCount: jspb.Message.getFieldWithDefault(msg, 1, 0),
|
||||
inactiveCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
|
||||
onlineCount: jspb.Message.getFieldWithDefault(msg, 1, 0),
|
||||
offlineCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
|
||||
neverSeenCount: jspb.Message.getFieldWithDefault(msg, 3, 0)
|
||||
};
|
||||
|
||||
@ -4541,11 +4541,11 @@ proto.api.GetGatewaysSummaryResponse.deserializeBinaryFromReader = function(msg,
|
||||
switch (field) {
|
||||
case 1:
|
||||
var value = /** @type {number} */ (reader.readUint32());
|
||||
msg.setActiveCount(value);
|
||||
msg.setOnlineCount(value);
|
||||
break;
|
||||
case 2:
|
||||
var value = /** @type {number} */ (reader.readUint32());
|
||||
msg.setInactiveCount(value);
|
||||
msg.setOfflineCount(value);
|
||||
break;
|
||||
case 3:
|
||||
var value = /** @type {number} */ (reader.readUint32());
|
||||
@ -4580,14 +4580,14 @@ proto.api.GetGatewaysSummaryResponse.prototype.serializeBinary = function() {
|
||||
*/
|
||||
proto.api.GetGatewaysSummaryResponse.serializeBinaryToWriter = function(message, writer) {
|
||||
var f = undefined;
|
||||
f = message.getActiveCount();
|
||||
f = message.getOnlineCount();
|
||||
if (f !== 0) {
|
||||
writer.writeUint32(
|
||||
1,
|
||||
f
|
||||
);
|
||||
}
|
||||
f = message.getInactiveCount();
|
||||
f = message.getOfflineCount();
|
||||
if (f !== 0) {
|
||||
writer.writeUint32(
|
||||
2,
|
||||
@ -4605,10 +4605,10 @@ proto.api.GetGatewaysSummaryResponse.serializeBinaryToWriter = function(message,
|
||||
|
||||
|
||||
/**
|
||||
* optional uint32 active_count = 1;
|
||||
* optional uint32 online_count = 1;
|
||||
* @return {number}
|
||||
*/
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.getActiveCount = function() {
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.getOnlineCount = function() {
|
||||
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
|
||||
};
|
||||
|
||||
@ -4617,16 +4617,16 @@ proto.api.GetGatewaysSummaryResponse.prototype.getActiveCount = function() {
|
||||
* @param {number} value
|
||||
* @return {!proto.api.GetGatewaysSummaryResponse} returns this
|
||||
*/
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.setActiveCount = function(value) {
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.setOnlineCount = function(value) {
|
||||
return jspb.Message.setProto3IntField(this, 1, value);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* optional uint32 inactive_count = 2;
|
||||
* optional uint32 offline_count = 2;
|
||||
* @return {number}
|
||||
*/
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.getInactiveCount = function() {
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.getOfflineCount = function() {
|
||||
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
|
||||
};
|
||||
|
||||
@ -4635,7 +4635,7 @@ proto.api.GetGatewaysSummaryResponse.prototype.getInactiveCount = function() {
|
||||
* @param {number} value
|
||||
* @return {!proto.api.GetGatewaysSummaryResponse} returns this
|
||||
*/
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.setInactiveCount = function(value) {
|
||||
proto.api.GetGatewaysSummaryResponse.prototype.setOfflineCount = function(value) {
|
||||
return jspb.Message.setProto3IntField(this, 2, value);
|
||||
};
|
||||
|
||||
|
19
api/md/api/api.md
vendored
19
api/md/api/api.md
vendored
@ -176,6 +176,8 @@
|
||||
- [ListGatewaysResponse](#api-ListGatewaysResponse)
|
||||
- [UpdateGatewayRequest](#api-UpdateGatewayRequest)
|
||||
|
||||
- [GatewayState](#api-GatewayState)
|
||||
|
||||
- [GatewayService](#api-GatewayService)
|
||||
|
||||
- [api/multicast_group.proto](#api_multicast_group-proto)
|
||||
@ -2381,7 +2383,7 @@ DeviceService is the service providing API methods for managing devices.
|
||||
| payload_codec_runtime | [CodecRuntime](#api-CodecRuntime) | | Payload codec runtime. |
|
||||
| payload_codec_script | [string](#string) | | Payload codec script. |
|
||||
| flush_queue_on_activate | [bool](#bool) | | Flush queue on device activation. |
|
||||
| uplink_interval | [uint32](#uint32) | | Uplink interval (seconds). This defines the expected uplink interval which the device uses for communication. When the uplink interval has expired and no uplink has been received, the device is considered inactive. |
|
||||
| uplink_interval | [uint32](#uint32) | | Uplink interval (seconds). This defines the expected uplink interval which the device uses for communication. If the uplink interval has expired and no uplink has been received, the device is considered inactive. |
|
||||
| device_status_req_interval | [uint32](#uint32) | | Device-status request interval (times / day). This defines the times per day that ChirpStack will request the device-status from the device. |
|
||||
| supports_otaa | [bool](#bool) | | Supports OTAA. |
|
||||
| supports_class_b | [bool](#bool) | | Supports Class B. |
|
||||
@ -2739,6 +2741,7 @@ DeviceProfileService is the service providing API methods for managing device-pr
|
||||
| tenant_id | [string](#string) | | Tenant ID (UUID). |
|
||||
| tags | [Gateway.TagsEntry](#api-Gateway-TagsEntry) | repeated | Tags. |
|
||||
| metadata | [Gateway.MetadataEntry](#api-Gateway-MetadataEntry) | repeated | Metadata (provided by the gateway). |
|
||||
| stats_interval | [uint32](#uint32) | | Stats interval (seconds). This defines the expected interval in which the gateway sends its statistics. |
|
||||
|
||||
|
||||
|
||||
@ -2794,6 +2797,7 @@ DeviceProfileService is the service providing API methods for managing device-pr
|
||||
| created_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | Created at timestamp. |
|
||||
| updated_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | Last update timestamp. |
|
||||
| last_seen_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | Last seen at timestamp. |
|
||||
| state | [GatewayState](#api-GatewayState) | | Gateway state. Please note that the state of the gateway is driven by the stats packages that are sent by the gateway. |
|
||||
|
||||
|
||||
|
||||
@ -2971,6 +2975,19 @@ DeviceProfileService is the service providing API methods for managing device-pr
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="api-GatewayState"></a>
|
||||
|
||||
### GatewayState
|
||||
|
||||
|
||||
| Name | Number | Description |
|
||||
| ---- | ------ | ----------- |
|
||||
| NEVER_SEEN | 0 | The gateway has never sent any stats. |
|
||||
| ONLINE | 1 | Online. |
|
||||
| OFFLINE | 2 | Offline. |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
2
api/proto/api/device_profile.proto
vendored
2
api/proto/api/device_profile.proto
vendored
@ -124,7 +124,7 @@ message DeviceProfile {
|
||||
|
||||
// Uplink interval (seconds).
|
||||
// This defines the expected uplink interval which the device uses for
|
||||
// communication. When the uplink interval has expired and no uplink has
|
||||
// communication. If the uplink interval has expired and no uplink has
|
||||
// been received, the device is considered inactive.
|
||||
uint32 uplink_interval = 11;
|
||||
|
||||
|
21
api/proto/api/gateway.proto
vendored
21
api/proto/api/gateway.proto
vendored
@ -66,6 +66,17 @@ service GatewayService {
|
||||
}
|
||||
}
|
||||
|
||||
enum GatewayState {
|
||||
// The gateway has never sent any stats.
|
||||
NEVER_SEEN = 0;
|
||||
|
||||
// Online.
|
||||
ONLINE = 1;
|
||||
|
||||
// Offline.
|
||||
OFFLINE = 2;
|
||||
}
|
||||
|
||||
message Gateway {
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 1;
|
||||
@ -87,6 +98,11 @@ message Gateway {
|
||||
|
||||
// Metadata (provided by the gateway).
|
||||
map<string, string> metadata = 7;
|
||||
|
||||
// Stats interval (seconds).
|
||||
// This defines the expected interval in which the gateway sends its
|
||||
// statistics.
|
||||
uint32 stats_interval = 8;
|
||||
}
|
||||
|
||||
message GatewayListItem {
|
||||
@ -116,6 +132,11 @@ message GatewayListItem {
|
||||
|
||||
// Last seen at timestamp.
|
||||
google.protobuf.Timestamp last_seen_at = 9;
|
||||
|
||||
// Gateway state.
|
||||
// Please note that the state of the gateway is driven by the stats
|
||||
// packages that are sent by the gateway.
|
||||
GatewayState state = 10;
|
||||
}
|
||||
|
||||
message CreateGatewayRequest {
|
||||
|
8
api/proto/api/internal.proto
vendored
8
api/proto/api/internal.proto
vendored
@ -264,11 +264,11 @@ message GetGatewaysSummaryRequest {
|
||||
}
|
||||
|
||||
message GetGatewaysSummaryResponse {
|
||||
// Active count.
|
||||
uint32 active_count = 1;
|
||||
// Online count.
|
||||
uint32 online_count = 1;
|
||||
|
||||
// Inactive count.
|
||||
uint32 inactive_count = 2;
|
||||
// Offline count.
|
||||
uint32 offline_count = 2;
|
||||
|
||||
// Never seen count.
|
||||
uint32 never_seen_count = 3;
|
||||
|
@ -124,7 +124,7 @@ message DeviceProfile {
|
||||
|
||||
// Uplink interval (seconds).
|
||||
// This defines the expected uplink interval which the device uses for
|
||||
// communication. When the uplink interval has expired and no uplink has
|
||||
// communication. If the uplink interval has expired and no uplink has
|
||||
// been received, the device is considered inactive.
|
||||
uint32 uplink_interval = 11;
|
||||
|
||||
|
@ -66,6 +66,17 @@ service GatewayService {
|
||||
}
|
||||
}
|
||||
|
||||
enum GatewayState {
|
||||
// The gateway has never sent any stats.
|
||||
NEVER_SEEN = 0;
|
||||
|
||||
// Online.
|
||||
ONLINE = 1;
|
||||
|
||||
// Offline.
|
||||
OFFLINE = 2;
|
||||
}
|
||||
|
||||
message Gateway {
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 1;
|
||||
@ -87,6 +98,11 @@ message Gateway {
|
||||
|
||||
// Metadata (provided by the gateway).
|
||||
map<string, string> metadata = 7;
|
||||
|
||||
// Stats interval (seconds).
|
||||
// This defines the expected interval in which the gateway sends its
|
||||
// statistics.
|
||||
uint32 stats_interval = 8;
|
||||
}
|
||||
|
||||
message GatewayListItem {
|
||||
@ -116,6 +132,11 @@ message GatewayListItem {
|
||||
|
||||
// Last seen at timestamp.
|
||||
google.protobuf.Timestamp last_seen_at = 9;
|
||||
|
||||
// Gateway state.
|
||||
// Please note that the state of the gateway is driven by the stats
|
||||
// packages that are sent by the gateway.
|
||||
GatewayState state = 10;
|
||||
}
|
||||
|
||||
message CreateGatewayRequest {
|
||||
|
@ -264,11 +264,11 @@ message GetGatewaysSummaryRequest {
|
||||
}
|
||||
|
||||
message GetGatewaysSummaryResponse {
|
||||
// Active count.
|
||||
uint32 active_count = 1;
|
||||
// Online count.
|
||||
uint32 online_count = 1;
|
||||
|
||||
// Inactive count.
|
||||
uint32 inactive_count = 2;
|
||||
// Offline count.
|
||||
uint32 offline_count = 2;
|
||||
|
||||
// Never seen count.
|
||||
uint32 never_seen_count = 3;
|
||||
|
70
api/python/src/chirpstack_api/api/gateway_pb2.py
vendored
70
api/python/src/chirpstack_api/api/gateway_pb2.py
vendored
@ -17,7 +17,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
||||
from chirpstack_api.common import common_pb2 as chirpstack__api_dot_common_dot_common__pb2
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n chirpstack-api/api/gateway.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"chirpstack-api/common/common.proto\"\xa9\x02\n\x07Gateway\x12\x12\n\ngateway_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\"\n\x08location\x18\x04 \x01(\x0b\x32\x10.common.Location\x12\x11\n\ttenant_id\x18\x05 \x01(\t\x12$\n\x04tags\x18\x06 \x03(\x0b\x32\x16.api.Gateway.TagsEntry\x12,\n\x08metadata\x18\x07 \x03(\x0b\x32\x1a.api.Gateway.MetadataEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xfe\x02\n\x0fGatewayListItem\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x12\n\ngateway_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\"\n\x08location\x18\x05 \x01(\x0b\x32\x10.common.Location\x12\x38\n\nproperties\x18\x06 \x03(\x0b\x32$.api.GatewayListItem.PropertiesEntry\x12.\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0clast_seen_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x31\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"5\n\x14\x43reateGatewayRequest\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\"\'\n\x11GetGatewayRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"\xc5\x01\n\x12GetGatewayResponse\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0clast_seen_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"5\n\x14UpdateGatewayRequest\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\"*\n\x14\x44\x65leteGatewayRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"W\n\x13ListGatewaysRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x0e\n\x06search\x18\x03 \x01(\t\x12\x11\n\ttenant_id\x18\x04 \x01(\t\"Q\n\x14ListGatewaysResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12$\n\x06result\x18\x02 \x03(\x0b\x32\x14.api.GatewayListItem\"=\n\'GenerateGatewayClientCertificateRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"\x8e\x01\n(GenerateGatewayClientCertificateResponse\x12\x10\n\x08tls_cert\x18\x01 \x01(\t\x12\x0f\n\x07tls_key\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61_cert\x18\x03 \x01(\t\x12.\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xac\x01\n\x18GetGatewayMetricsRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\x12)\n\x05start\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\x0b\x61ggregation\x18\x04 \x01(\x0e\x32\x13.common.Aggregation\"\xc2\x02\n\x19GetGatewayMetricsResponse\x12\"\n\nrx_packets\x18\x01 \x01(\x0b\x32\x0e.common.Metric\x12\"\n\ntx_packets\x18\x02 \x01(\x0b\x32\x0e.common.Metric\x12+\n\x13tx_packets_per_freq\x18\x03 \x01(\x0b\x32\x0e.common.Metric\x12+\n\x13rx_packets_per_freq\x18\x04 \x01(\x0b\x32\x0e.common.Metric\x12)\n\x11tx_packets_per_dr\x18\x05 \x01(\x0b\x32\x0e.common.Metric\x12)\n\x11rx_packets_per_dr\x18\x06 \x01(\x0b\x32\x0e.common.Metric\x12-\n\x15tx_packets_per_status\x18\x07 \x01(\x0b\x32\x0e.common.Metric2\x91\x06\n\x0eGatewayService\x12U\n\x06\x43reate\x12\x19.api.CreateGatewayRequest\x1a\x16.google.protobuf.Empty\"\x18\x82\xd3\xe4\x93\x02\x12\"\r/api/gateways:\x01*\x12Z\n\x03Get\x12\x16.api.GetGatewayRequest\x1a\x17.api.GetGatewayResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/gateways/{gateway_id}\x12j\n\x06Update\x12\x19.api.UpdateGatewayRequest\x1a\x16.google.protobuf.Empty\"-\x82\xd3\xe4\x93\x02\'\x1a\"/api/gateways/{gateway.gateway_id}:\x01*\x12_\n\x06\x44\x65lete\x12\x19.api.DeleteGatewayRequest\x1a\x16.google.protobuf.Empty\"\"\x82\xd3\xe4\x93\x02\x1c*\x1a/api/gateways/{gateway_id}\x12R\n\x04List\x12\x18.api.ListGatewaysRequest\x1a\x19.api.ListGatewaysResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\x12\r/api/gateways\x12\xb1\x01\n\x19GenerateClientCertificate\x12,.api.GenerateGatewayClientCertificateRequest\x1a-.api.GenerateGatewayClientCertificateResponse\"7\x82\xd3\xe4\x93\x02\x31\"//api/gateways/{gateway_id}/generate-certificate\x12w\n\nGetMetrics\x12\x1d.api.GetGatewayMetricsRequest\x1a\x1e.api.GetGatewayMetricsResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/api/gateways/{gateway_id}/metricsBS\n\x11io.chirpstack.apiB\x0cGatewayProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/apib\x06proto3')
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n chirpstack-api/api/gateway.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"chirpstack-api/common/common.proto\"\xc1\x02\n\x07Gateway\x12\x12\n\ngateway_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\"\n\x08location\x18\x04 \x01(\x0b\x32\x10.common.Location\x12\x11\n\ttenant_id\x18\x05 \x01(\t\x12$\n\x04tags\x18\x06 \x03(\x0b\x32\x16.api.Gateway.TagsEntry\x12,\n\x08metadata\x18\x07 \x03(\x0b\x32\x1a.api.Gateway.MetadataEntry\x12\x16\n\x0estats_interval\x18\x08 \x01(\r\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa0\x03\n\x0fGatewayListItem\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x12\n\ngateway_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\"\n\x08location\x18\x05 \x01(\x0b\x32\x10.common.Location\x12\x38\n\nproperties\x18\x06 \x03(\x0b\x32$.api.GatewayListItem.PropertiesEntry\x12.\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0clast_seen_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12 \n\x05state\x18\n \x01(\x0e\x32\x11.api.GatewayState\x1a\x31\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"5\n\x14\x43reateGatewayRequest\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\"\'\n\x11GetGatewayRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"\xc5\x01\n\x12GetGatewayResponse\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0clast_seen_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"5\n\x14UpdateGatewayRequest\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\"*\n\x14\x44\x65leteGatewayRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"W\n\x13ListGatewaysRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x0e\n\x06search\x18\x03 \x01(\t\x12\x11\n\ttenant_id\x18\x04 \x01(\t\"Q\n\x14ListGatewaysResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12$\n\x06result\x18\x02 \x03(\x0b\x32\x14.api.GatewayListItem\"=\n\'GenerateGatewayClientCertificateRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"\x8e\x01\n(GenerateGatewayClientCertificateResponse\x12\x10\n\x08tls_cert\x18\x01 \x01(\t\x12\x0f\n\x07tls_key\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61_cert\x18\x03 \x01(\t\x12.\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xac\x01\n\x18GetGatewayMetricsRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\x12)\n\x05start\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\x0b\x61ggregation\x18\x04 \x01(\x0e\x32\x13.common.Aggregation\"\xc2\x02\n\x19GetGatewayMetricsResponse\x12\"\n\nrx_packets\x18\x01 \x01(\x0b\x32\x0e.common.Metric\x12\"\n\ntx_packets\x18\x02 \x01(\x0b\x32\x0e.common.Metric\x12+\n\x13tx_packets_per_freq\x18\x03 \x01(\x0b\x32\x0e.common.Metric\x12+\n\x13rx_packets_per_freq\x18\x04 \x01(\x0b\x32\x0e.common.Metric\x12)\n\x11tx_packets_per_dr\x18\x05 \x01(\x0b\x32\x0e.common.Metric\x12)\n\x11rx_packets_per_dr\x18\x06 \x01(\x0b\x32\x0e.common.Metric\x12-\n\x15tx_packets_per_status\x18\x07 \x01(\x0b\x32\x0e.common.Metric*7\n\x0cGatewayState\x12\x0e\n\nNEVER_SEEN\x10\x00\x12\n\n\x06ONLINE\x10\x01\x12\x0b\n\x07OFFLINE\x10\x02\x32\x91\x06\n\x0eGatewayService\x12U\n\x06\x43reate\x12\x19.api.CreateGatewayRequest\x1a\x16.google.protobuf.Empty\"\x18\x82\xd3\xe4\x93\x02\x12\"\r/api/gateways:\x01*\x12Z\n\x03Get\x12\x16.api.GetGatewayRequest\x1a\x17.api.GetGatewayResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/gateways/{gateway_id}\x12j\n\x06Update\x12\x19.api.UpdateGatewayRequest\x1a\x16.google.protobuf.Empty\"-\x82\xd3\xe4\x93\x02\'\x1a\"/api/gateways/{gateway.gateway_id}:\x01*\x12_\n\x06\x44\x65lete\x12\x19.api.DeleteGatewayRequest\x1a\x16.google.protobuf.Empty\"\"\x82\xd3\xe4\x93\x02\x1c*\x1a/api/gateways/{gateway_id}\x12R\n\x04List\x12\x18.api.ListGatewaysRequest\x1a\x19.api.ListGatewaysResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\x12\r/api/gateways\x12\xb1\x01\n\x19GenerateClientCertificate\x12,.api.GenerateGatewayClientCertificateRequest\x1a-.api.GenerateGatewayClientCertificateResponse\"7\x82\xd3\xe4\x93\x02\x31\"//api/gateways/{gateway_id}/generate-certificate\x12w\n\nGetMetrics\x12\x1d.api.GetGatewayMetricsRequest\x1a\x1e.api.GetGatewayMetricsResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/api/gateways/{gateway_id}/metricsBS\n\x11io.chirpstack.apiB\x0cGatewayProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/apib\x06proto3')
|
||||
|
||||
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
||||
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.gateway_pb2', globals())
|
||||
@ -45,38 +45,40 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
||||
_GATEWAYSERVICE.methods_by_name['GenerateClientCertificate']._serialized_options = b'\202\323\344\223\0021\"//api/gateways/{gateway_id}/generate-certificate'
|
||||
_GATEWAYSERVICE.methods_by_name['GetMetrics']._options = None
|
||||
_GATEWAYSERVICE.methods_by_name['GetMetrics']._serialized_options = b'\202\323\344\223\002$\022\"/api/gateways/{gateway_id}/metrics'
|
||||
_GATEWAYSTATE._serialized_start=2187
|
||||
_GATEWAYSTATE._serialized_end=2242
|
||||
_GATEWAY._serialized_start=170
|
||||
_GATEWAY._serialized_end=467
|
||||
_GATEWAY_TAGSENTRY._serialized_start=375
|
||||
_GATEWAY_TAGSENTRY._serialized_end=418
|
||||
_GATEWAY_METADATAENTRY._serialized_start=420
|
||||
_GATEWAY_METADATAENTRY._serialized_end=467
|
||||
_GATEWAYLISTITEM._serialized_start=470
|
||||
_GATEWAYLISTITEM._serialized_end=852
|
||||
_GATEWAYLISTITEM_PROPERTIESENTRY._serialized_start=803
|
||||
_GATEWAYLISTITEM_PROPERTIESENTRY._serialized_end=852
|
||||
_CREATEGATEWAYREQUEST._serialized_start=854
|
||||
_CREATEGATEWAYREQUEST._serialized_end=907
|
||||
_GETGATEWAYREQUEST._serialized_start=909
|
||||
_GETGATEWAYREQUEST._serialized_end=948
|
||||
_GETGATEWAYRESPONSE._serialized_start=951
|
||||
_GETGATEWAYRESPONSE._serialized_end=1148
|
||||
_UPDATEGATEWAYREQUEST._serialized_start=1150
|
||||
_UPDATEGATEWAYREQUEST._serialized_end=1203
|
||||
_DELETEGATEWAYREQUEST._serialized_start=1205
|
||||
_DELETEGATEWAYREQUEST._serialized_end=1247
|
||||
_LISTGATEWAYSREQUEST._serialized_start=1249
|
||||
_LISTGATEWAYSREQUEST._serialized_end=1336
|
||||
_LISTGATEWAYSRESPONSE._serialized_start=1338
|
||||
_LISTGATEWAYSRESPONSE._serialized_end=1419
|
||||
_GENERATEGATEWAYCLIENTCERTIFICATEREQUEST._serialized_start=1421
|
||||
_GENERATEGATEWAYCLIENTCERTIFICATEREQUEST._serialized_end=1482
|
||||
_GENERATEGATEWAYCLIENTCERTIFICATERESPONSE._serialized_start=1485
|
||||
_GENERATEGATEWAYCLIENTCERTIFICATERESPONSE._serialized_end=1627
|
||||
_GETGATEWAYMETRICSREQUEST._serialized_start=1630
|
||||
_GETGATEWAYMETRICSREQUEST._serialized_end=1802
|
||||
_GETGATEWAYMETRICSRESPONSE._serialized_start=1805
|
||||
_GETGATEWAYMETRICSRESPONSE._serialized_end=2127
|
||||
_GATEWAYSERVICE._serialized_start=2130
|
||||
_GATEWAYSERVICE._serialized_end=2915
|
||||
_GATEWAY._serialized_end=491
|
||||
_GATEWAY_TAGSENTRY._serialized_start=399
|
||||
_GATEWAY_TAGSENTRY._serialized_end=442
|
||||
_GATEWAY_METADATAENTRY._serialized_start=444
|
||||
_GATEWAY_METADATAENTRY._serialized_end=491
|
||||
_GATEWAYLISTITEM._serialized_start=494
|
||||
_GATEWAYLISTITEM._serialized_end=910
|
||||
_GATEWAYLISTITEM_PROPERTIESENTRY._serialized_start=861
|
||||
_GATEWAYLISTITEM_PROPERTIESENTRY._serialized_end=910
|
||||
_CREATEGATEWAYREQUEST._serialized_start=912
|
||||
_CREATEGATEWAYREQUEST._serialized_end=965
|
||||
_GETGATEWAYREQUEST._serialized_start=967
|
||||
_GETGATEWAYREQUEST._serialized_end=1006
|
||||
_GETGATEWAYRESPONSE._serialized_start=1009
|
||||
_GETGATEWAYRESPONSE._serialized_end=1206
|
||||
_UPDATEGATEWAYREQUEST._serialized_start=1208
|
||||
_UPDATEGATEWAYREQUEST._serialized_end=1261
|
||||
_DELETEGATEWAYREQUEST._serialized_start=1263
|
||||
_DELETEGATEWAYREQUEST._serialized_end=1305
|
||||
_LISTGATEWAYSREQUEST._serialized_start=1307
|
||||
_LISTGATEWAYSREQUEST._serialized_end=1394
|
||||
_LISTGATEWAYSRESPONSE._serialized_start=1396
|
||||
_LISTGATEWAYSRESPONSE._serialized_end=1477
|
||||
_GENERATEGATEWAYCLIENTCERTIFICATEREQUEST._serialized_start=1479
|
||||
_GENERATEGATEWAYCLIENTCERTIFICATEREQUEST._serialized_end=1540
|
||||
_GENERATEGATEWAYCLIENTCERTIFICATERESPONSE._serialized_start=1543
|
||||
_GENERATEGATEWAYCLIENTCERTIFICATERESPONSE._serialized_end=1685
|
||||
_GETGATEWAYMETRICSREQUEST._serialized_start=1688
|
||||
_GETGATEWAYMETRICSREQUEST._serialized_end=1860
|
||||
_GETGATEWAYMETRICSRESPONSE._serialized_start=1863
|
||||
_GETGATEWAYMETRICSRESPONSE._serialized_end=2185
|
||||
_GATEWAYSERVICE._serialized_start=2245
|
||||
_GATEWAYSERVICE._serialized_end=3030
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
|
File diff suppressed because one or more lines are too long
@ -124,7 +124,7 @@ message DeviceProfile {
|
||||
|
||||
// Uplink interval (seconds).
|
||||
// This defines the expected uplink interval which the device uses for
|
||||
// communication. When the uplink interval has expired and no uplink has
|
||||
// communication. If the uplink interval has expired and no uplink has
|
||||
// been received, the device is considered inactive.
|
||||
uint32 uplink_interval = 11;
|
||||
|
||||
|
21
api/rust/proto/chirpstack/api/gateway.proto
vendored
21
api/rust/proto/chirpstack/api/gateway.proto
vendored
@ -66,6 +66,17 @@ service GatewayService {
|
||||
}
|
||||
}
|
||||
|
||||
enum GatewayState {
|
||||
// The gateway has never sent any stats.
|
||||
NEVER_SEEN = 0;
|
||||
|
||||
// Online.
|
||||
ONLINE = 1;
|
||||
|
||||
// Offline.
|
||||
OFFLINE = 2;
|
||||
}
|
||||
|
||||
message Gateway {
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 1;
|
||||
@ -87,6 +98,11 @@ message Gateway {
|
||||
|
||||
// Metadata (provided by the gateway).
|
||||
map<string, string> metadata = 7;
|
||||
|
||||
// Stats interval (seconds).
|
||||
// This defines the expected interval in which the gateway sends its
|
||||
// statistics.
|
||||
uint32 stats_interval = 8;
|
||||
}
|
||||
|
||||
message GatewayListItem {
|
||||
@ -116,6 +132,11 @@ message GatewayListItem {
|
||||
|
||||
// Last seen at timestamp.
|
||||
google.protobuf.Timestamp last_seen_at = 9;
|
||||
|
||||
// Gateway state.
|
||||
// Please note that the state of the gateway is driven by the stats
|
||||
// packages that are sent by the gateway.
|
||||
GatewayState state = 10;
|
||||
}
|
||||
|
||||
message CreateGatewayRequest {
|
||||
|
8
api/rust/proto/chirpstack/api/internal.proto
vendored
8
api/rust/proto/chirpstack/api/internal.proto
vendored
@ -264,11 +264,11 @@ message GetGatewaysSummaryRequest {
|
||||
}
|
||||
|
||||
message GetGatewaysSummaryResponse {
|
||||
// Active count.
|
||||
uint32 active_count = 1;
|
||||
// Online count.
|
||||
uint32 online_count = 1;
|
||||
|
||||
// Inactive count.
|
||||
uint32 inactive_count = 2;
|
||||
// Offline count.
|
||||
uint32 offline_count = 2;
|
||||
|
||||
// Never seen count.
|
||||
uint32 never_seen_count = 3;
|
||||
|
@ -2,7 +2,7 @@ use std::collections::HashSet;
|
||||
use std::str::FromStr;
|
||||
use std::time::SystemTime;
|
||||
|
||||
use chrono::{DateTime, Local, Utc};
|
||||
use chrono::{DateTime, Duration, Local, Utc};
|
||||
use tonic::{Request, Response, Status};
|
||||
use uuid::Uuid;
|
||||
|
||||
@ -61,6 +61,7 @@ impl GatewayService for Gateway {
|
||||
longitude: lon,
|
||||
altitude: alt,
|
||||
tags: fields::KeyValue::new(req_gw.tags.clone()),
|
||||
stats_interval_secs: req_gw.stats_interval as i32,
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
@ -103,6 +104,7 @@ impl GatewayService for Gateway {
|
||||
tenant_id: gw.tenant_id.to_string(),
|
||||
tags: gw.tags.into_hashmap(),
|
||||
metadata: gw.properties.into_hashmap(),
|
||||
stats_interval: gw.stats_interval_secs as u32,
|
||||
}),
|
||||
created_at: Some(helpers::datetime_to_prost_timestamp(&gw.created_at)),
|
||||
updated_at: Some(helpers::datetime_to_prost_timestamp(&gw.updated_at)),
|
||||
@ -150,6 +152,7 @@ impl GatewayService for Gateway {
|
||||
longitude: lon,
|
||||
altitude: alt,
|
||||
tags: fields::KeyValue::new(req_gw.tags.clone()),
|
||||
stats_interval_secs: req_gw.stats_interval as i32,
|
||||
..Default::default()
|
||||
})
|
||||
.await
|
||||
@ -242,6 +245,20 @@ impl GatewayService for Gateway {
|
||||
.last_seen_at
|
||||
.as_ref()
|
||||
.map(helpers::datetime_to_prost_timestamp),
|
||||
state: {
|
||||
if let Some(ts) = gw.last_seen_at {
|
||||
if (Utc::now() - ts)
|
||||
> Duration::seconds((gw.stats_interval_secs * 2).into())
|
||||
{
|
||||
api::GatewayState::Offline
|
||||
} else {
|
||||
api::GatewayState::Online
|
||||
}
|
||||
} else {
|
||||
api::GatewayState::NeverSeen
|
||||
}
|
||||
}
|
||||
.into(),
|
||||
})
|
||||
.collect(),
|
||||
});
|
||||
|
@ -568,14 +568,14 @@ impl InternalService for Internal {
|
||||
.await?;
|
||||
}
|
||||
|
||||
let active_inactive = gateway::get_active_inactive(&tenant_id)
|
||||
let counts = gateway::get_counts_by_state(&tenant_id)
|
||||
.await
|
||||
.map_err(|e| e.status())?;
|
||||
|
||||
Ok(Response::new(api::GetGatewaysSummaryResponse {
|
||||
active_count: active_inactive.active_count as u32,
|
||||
inactive_count: active_inactive.inactive_count as u32,
|
||||
never_seen_count: active_inactive.never_seen_count as u32,
|
||||
online_count: counts.online_count as u32,
|
||||
offline_count: counts.offline_count as u32,
|
||||
never_seen_count: counts.never_seen_count as u32,
|
||||
}))
|
||||
}
|
||||
|
||||
|
@ -54,6 +54,7 @@ pub struct GatewayListItem {
|
||||
pub longitude: f64,
|
||||
pub altitude: f32,
|
||||
pub properties: fields::KeyValue,
|
||||
pub stats_interval_secs: i32,
|
||||
}
|
||||
|
||||
#[derive(Queryable, PartialEq, Debug)]
|
||||
@ -73,13 +74,13 @@ pub struct Filters {
|
||||
}
|
||||
|
||||
#[derive(QueryableByName, PartialEq, Eq, Debug)]
|
||||
pub struct GatewaysActiveInactive {
|
||||
pub struct GatewayCountsByState {
|
||||
#[diesel(sql_type = diesel::sql_types::BigInt)]
|
||||
pub never_seen_count: i64,
|
||||
#[diesel(sql_type = diesel::sql_types::BigInt)]
|
||||
pub active_count: i64,
|
||||
pub online_count: i64,
|
||||
#[diesel(sql_type = diesel::sql_types::BigInt)]
|
||||
pub inactive_count: i64,
|
||||
pub offline_count: i64,
|
||||
}
|
||||
|
||||
impl Default for Gateway {
|
||||
@ -340,6 +341,7 @@ pub async fn list(
|
||||
gateway::longitude,
|
||||
gateway::altitude,
|
||||
gateway::properties,
|
||||
gateway::stats_interval_secs,
|
||||
))
|
||||
.into_boxed();
|
||||
|
||||
@ -387,24 +389,22 @@ pub async fn get_meta(gateway_id: &EUI64) -> Result<GatewayMeta, Error> {
|
||||
.await?
|
||||
}
|
||||
|
||||
pub async fn get_active_inactive(
|
||||
tenant_id: &Option<Uuid>,
|
||||
) -> Result<GatewaysActiveInactive, Error> {
|
||||
pub async fn get_counts_by_state(tenant_id: &Option<Uuid>) -> Result<GatewayCountsByState, Error> {
|
||||
task::spawn_blocking({
|
||||
let tenant_id = *tenant_id;
|
||||
move || -> Result<GatewaysActiveInactive, Error> {
|
||||
move || -> Result<GatewayCountsByState, Error> {
|
||||
let mut c = get_db_conn()?;
|
||||
let ai: GatewaysActiveInactive = diesel::sql_query(r#"
|
||||
let counts: GatewayCountsByState = diesel::sql_query(r#"
|
||||
select
|
||||
coalesce(sum(case when last_seen_at is null then 1 end), 0) as never_seen_count,
|
||||
coalesce(sum(case when (now() - make_interval(secs => stats_interval_secs * 1.5)) > last_seen_at then 1 end), 0) as inactive_count,
|
||||
coalesce(sum(case when (now() - make_interval(secs => stats_interval_secs * 1.5)) <= last_seen_at then 1 end), 0) as active_count
|
||||
coalesce(sum(case when (now() - make_interval(secs => stats_interval_secs * 2)) > last_seen_at then 1 end), 0) as offline_count,
|
||||
coalesce(sum(case when (now() - make_interval(secs => stats_interval_secs * 2)) <= last_seen_at then 1 end), 0) as online_count
|
||||
from
|
||||
gateway
|
||||
where
|
||||
$1 is null or tenant_id = $1
|
||||
"#).bind::<diesel::sql_types::Nullable<diesel::sql_types::Uuid>, _>(tenant_id).get_result(&mut c)?;
|
||||
Ok(ai)
|
||||
Ok(counts)
|
||||
}
|
||||
}).await?
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ import {
|
||||
ListGatewaysRequest,
|
||||
ListGatewaysResponse,
|
||||
GatewayListItem,
|
||||
GatewayState,
|
||||
} from "@chirpstack/chirpstack-api-grpc-web/api/gateway_pb";
|
||||
|
||||
import InternalStore from "../../stores/InternalStore";
|
||||
@ -74,14 +75,15 @@ class GatewaysMap extends Component<{}, GatewaysMapState> {
|
||||
let color: MarkerColor = "orange";
|
||||
let lastSeen: string = "Never seen online";
|
||||
|
||||
if (item.getState() === GatewayState.OFFLINE) {
|
||||
color = "red";
|
||||
} else if (item.getState() === GatewayState.ONLINE) {
|
||||
color = "green";
|
||||
}
|
||||
|
||||
if (item.getLastSeenAt() !== undefined) {
|
||||
let ts = moment(item.getLastSeenAt()!.toDate());
|
||||
lastSeen = ts.fromNow();
|
||||
if (ts.isBefore(moment().subtract(5, "minutes"))) {
|
||||
color = "red";
|
||||
} else {
|
||||
color = "green";
|
||||
}
|
||||
}
|
||||
|
||||
markers.push(
|
||||
@ -115,20 +117,20 @@ class GatewaysActiveInactive extends Component<GatewayProps> {
|
||||
if (
|
||||
this.props.summary === undefined ||
|
||||
(this.props.summary.getNeverSeenCount() === 0 &&
|
||||
this.props.summary.getInactiveCount() === 0 &&
|
||||
this.props.summary.getActiveCount() === 0)
|
||||
this.props.summary.getOfflineCount() === 0 &&
|
||||
this.props.summary.getOnlineCount() === 0)
|
||||
) {
|
||||
return <Empty />;
|
||||
}
|
||||
|
||||
const data = {
|
||||
labels: ["Never seen", "Inactive", "Active"],
|
||||
labels: ["Never seen", "Offline", "Online"],
|
||||
datasets: [
|
||||
{
|
||||
data: [
|
||||
this.props.summary.getNeverSeenCount(),
|
||||
this.props.summary.getInactiveCount(),
|
||||
this.props.summary.getActiveCount(),
|
||||
this.props.summary.getOfflineCount(),
|
||||
this.props.summary.getOnlineCount(),
|
||||
],
|
||||
backgroundColor: [presetPalettes.orange.primary, presetPalettes.red.primary, presetPalettes.green.primary],
|
||||
},
|
||||
|
@ -26,7 +26,8 @@ class CreateGateway extends Component<IProps> {
|
||||
};
|
||||
|
||||
render() {
|
||||
const gateway = new Gateway();
|
||||
let gateway = new Gateway();
|
||||
gateway.setStatsInterval(30);
|
||||
|
||||
return (
|
||||
<Space direction="vertical" style={{ width: "100%" }} size="large">
|
||||
|
@ -90,8 +90,8 @@ class GatewayDashboard extends Component<IProps, IState> {
|
||||
<Card>
|
||||
<Descriptions>
|
||||
<Descriptions.Item label="Last seen">{lastSeenAt}</Descriptions.Item>
|
||||
<Descriptions.Item label="Region">
|
||||
{this.props.gateway.getMetadataMap().get("region_name")}
|
||||
<Descriptions.Item label="Region ID">
|
||||
{this.props.gateway.getMetadataMap().get("region_config_id")}
|
||||
</Descriptions.Item>
|
||||
<Descriptions.Item label="Region common-name">
|
||||
{this.props.gateway.getMetadataMap().get("region_common_name")}
|
||||
|
@ -1,6 +1,6 @@
|
||||
import React, { Component } from "react";
|
||||
|
||||
import { Form, Input, Row, Col, Button, Tabs, Space, Card } from "antd";
|
||||
import { Form, Input, InputNumber, Row, Col, Button, Tabs, Space, Card } from "antd";
|
||||
import { MinusCircleOutlined, PlusOutlined } from "@ant-design/icons";
|
||||
|
||||
import { Location } from "@chirpstack/chirpstack-api-grpc-web/common/common_pb";
|
||||
@ -80,6 +80,7 @@ class GatewayForm extends Component<IProps, IState> {
|
||||
gw.setName(v.name);
|
||||
gw.setDescription(v.description);
|
||||
gw.setGatewayId(v.gatewayId);
|
||||
gw.setStatsInterval(v.statsInterval);
|
||||
gw.setLocation(loc);
|
||||
|
||||
// tags
|
||||
@ -129,14 +130,28 @@ class GatewayForm extends Component<IProps, IState> {
|
||||
<Form.Item label="Description" name="description">
|
||||
<Input.TextArea disabled={this.props.disabled} />
|
||||
</Form.Item>
|
||||
<EuiInput
|
||||
label="Gateway ID (EUI64)"
|
||||
name="gatewayId"
|
||||
value={this.props.initialValues.getGatewayId()}
|
||||
formRef={this.formRef}
|
||||
disabled={this.props.update || this.props.disabled}
|
||||
required
|
||||
/>
|
||||
<Row gutter={24}>
|
||||
<Col span={12}>
|
||||
<EuiInput
|
||||
label="Gateway ID (EUI64)"
|
||||
name="gatewayId"
|
||||
value={this.props.initialValues.getGatewayId()}
|
||||
formRef={this.formRef}
|
||||
disabled={this.props.update || this.props.disabled}
|
||||
required
|
||||
/>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Form.Item
|
||||
label="Stats interval (secs)"
|
||||
tooltip="The expected interval in seconds in which the gateway sends its statistics"
|
||||
name="statsInterval"
|
||||
rules={[{ required: true, message: "Please enter a stats interval!" }]}
|
||||
>
|
||||
<InputNumber min={0} disabled={this.props.disabled} />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
</Row>
|
||||
<Form.Item label="Location">
|
||||
<Form.Item name={["location", "latitude"]} noStyle>
|
||||
<Input hidden />
|
||||
|
@ -2,13 +2,14 @@ import React, { Component } from "react";
|
||||
import { Link } from "react-router-dom";
|
||||
|
||||
import moment from "moment";
|
||||
import { Space, Breadcrumb, Button, PageHeader } from "antd";
|
||||
import { Space, Breadcrumb, Button, PageHeader, Badge } from "antd";
|
||||
import { ColumnsType } from "antd/es/table";
|
||||
|
||||
import {
|
||||
ListGatewaysRequest,
|
||||
ListGatewaysResponse,
|
||||
GatewayListItem,
|
||||
GatewayState,
|
||||
} from "@chirpstack/chirpstack-api-grpc-web/api/gateway_pb";
|
||||
import { Tenant } from "@chirpstack/chirpstack-api-grpc-web/api/tenant_pb";
|
||||
|
||||
@ -23,6 +24,21 @@ interface IProps {
|
||||
class ListGateways extends Component<IProps> {
|
||||
columns = (): ColumnsType<GatewayListItem.AsObject> => {
|
||||
return [
|
||||
{
|
||||
title: "",
|
||||
dataIndex: "state",
|
||||
key: "state",
|
||||
width: 150,
|
||||
render: (text, record) => {
|
||||
if (record.state === GatewayState.NEVER_SEEN) {
|
||||
return <Badge status="warning" text="Never seen" />;
|
||||
} else if (record.state === GatewayState.OFFLINE) {
|
||||
return <Badge status="error" text="Offline" />;
|
||||
} else if (record.state === GatewayState.ONLINE) {
|
||||
return <Badge status="success" text="Online" />;
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
title: "Last seen",
|
||||
dataIndex: "lastSeenAt",
|
||||
@ -34,7 +50,6 @@ class ListGateways extends Component<IProps> {
|
||||
ts.setUTCSeconds(record.lastSeenAt.seconds);
|
||||
return moment(ts).format("YYYY-MM-DD HH:mm:ss");
|
||||
}
|
||||
return "Never";
|
||||
},
|
||||
},
|
||||
{
|
||||
|
@ -22,6 +22,7 @@ import {
|
||||
ListGatewaysRequest,
|
||||
ListGatewaysResponse,
|
||||
GatewayListItem,
|
||||
GatewayState,
|
||||
} from "@chirpstack/chirpstack-api-grpc-web/api/gateway_pb";
|
||||
|
||||
import InternalStore from "../../stores/InternalStore";
|
||||
@ -58,14 +59,15 @@ class GatewaysMap extends Component<GatewaysMapProps> {
|
||||
let color: MarkerColor = "orange";
|
||||
let lastSeen: string = "Never seen online";
|
||||
|
||||
if (item.getState() === GatewayState.OFFLINE) {
|
||||
color = "red";
|
||||
} else if (item.getState() === GatewayState.ONLINE) {
|
||||
color = "green";
|
||||
}
|
||||
|
||||
if (item.getLastSeenAt() !== undefined) {
|
||||
let ts = moment(item.getLastSeenAt()!.toDate());
|
||||
lastSeen = ts.fromNow();
|
||||
if (ts.isBefore(moment().subtract(5, "minutes"))) {
|
||||
color = "red";
|
||||
} else {
|
||||
color = "green";
|
||||
}
|
||||
}
|
||||
|
||||
markers.push(
|
||||
@ -99,20 +101,20 @@ class GatewaysActiveInactive extends Component<GatewayProps> {
|
||||
if (
|
||||
this.props.summary === undefined ||
|
||||
(this.props.summary.getNeverSeenCount() === 0 &&
|
||||
this.props.summary.getInactiveCount() === 0 &&
|
||||
this.props.summary.getActiveCount() === 0)
|
||||
this.props.summary.getOfflineCount() === 0 &&
|
||||
this.props.summary.getOnlineCount() === 0)
|
||||
) {
|
||||
return <Empty />;
|
||||
}
|
||||
|
||||
const data = {
|
||||
labels: ["Never seen", "Inactive", "Active"],
|
||||
labels: ["Never seen", "Offline", "Online"],
|
||||
datasets: [
|
||||
{
|
||||
data: [
|
||||
this.props.summary.getNeverSeenCount(),
|
||||
this.props.summary.getInactiveCount(),
|
||||
this.props.summary.getActiveCount(),
|
||||
this.props.summary.getOfflineCount(),
|
||||
this.props.summary.getOnlineCount(),
|
||||
],
|
||||
backgroundColor: [presetPalettes.orange.primary, presetPalettes.red.primary, presetPalettes.green.primary],
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user