Compare commits

...

84 Commits

Author SHA1 Message Date
ed11c88307 Bump version to 4.10.1-test.1 2024-11-04 12:33:08 +00:00
0ed78a1d0a Fix incorrect systemd service-name after #540.
Currently, cargo-deb does not use the variant name option as systemd
service-name, causing the postgres variant with name 'chirpstack' to
install a 'chirpstack-postgres' systemd service. See also
https://github.com/kornelski/cargo-deb/issues/150.

This also fixes the RPM systemd service-name for the sqlite variant.
2024-11-04 12:19:19 +00:00
fdf168bd09 Bump version to 4.10.0 2024-11-04 09:09:44 +00:00
dddb471878 Update dependencies. 2024-11-01 13:45:59 +00:00
f265a815a6 Bump version to 4.10.0-test.7 2024-10-30 14:20:21 +00:00
9bf78eebfd Attempt #3 to fix matrix.database Docker image suffix. 2024-10-30 11:58:35 +00:00
3d470c6a14 Update dependencies. 2024-10-29 16:21:24 +00:00
2b5b54a7b7 Bump version to 4.10.0-test.6 2024-10-29 16:04:44 +00:00
905db6e9b7 Attempt #2 to fix matrix.database Docker image suffix. 2024-10-29 15:58:54 +00:00
1245386f38 Bump version to 4.10.0-test.5 2024-10-29 12:27:29 +00:00
49e7c1ccb9 Try fix matrix.database == 'postgres'. 2024-10-29 12:16:15 +00:00
eafda74526 Bump version to 4.10.0-test.4 2024-10-29 11:06:48 +00:00
3378a81a37 Fix GitHub workflow. 2024-10-29 11:00:16 +00:00
04e676cad6 Bump version to 4.10.0-test.3 2024-10-29 10:52:37 +00:00
e3b83066b7 Build separate Docker image for SQLite. 2024-10-29 10:48:28 +00:00
dcf6ea14bd Bump version to 4.10.0-test.2 2024-10-29 09:30:29 +00:00
b1766e506d Remove debug println. 2024-10-23 13:45:02 +01:00
87c918bc35 api: Add C support (#549) 2024-10-23 13:24:07 +01:00
d5929e0523 lrwn-filters: Expose is_match method on prefix types. 2024-10-17 15:41:20 +01:00
d69f18edad Build/archive package for both Postgres and SQLite (#540) 2024-10-17 15:39:49 +01:00
6621a23652 ui: Update page-title according to page. (#539) 2024-10-15 10:48:33 +01:00
20ec2877f2 Fix fmt after clippy fixes. 2024-10-14 15:30:15 +01:00
10cbdb1e00 Fix clippy feedback. 2024-10-14 15:12:33 +01:00
d24b8241c5 api: Rename compile > compile_protos. 2024-10-14 15:12:33 +01:00
eecdeeb092 Bump rollup from 4.18.1 to 4.22.4 in /ui (#526)
Bumps [rollup](https://github.com/rollup/rollup) from 4.18.1 to 4.22.4.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.18.1...v4.22.4)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-14 14:38:14 +01:00
20e9e087ed Update dependencies. 2024-10-14 14:35:11 +01:00
c9bdea87f1 Fix validate_mic clause. 2024-10-04 08:41:00 +01:00
11fdd33139 Bump version to 4.10.0-test.1 2024-09-19 12:19:22 +01:00
07364fb05d Return with abort instead of error.
This is not an operational error, we are already logging the message as
warn, which is more appropriate as it is caused by user-input.
2024-09-19 12:06:08 +01:00
3b42b9ffdb Update dependencies. 2024-09-19 10:44:26 +01:00
af139ebabd Bump micromatch from 4.0.7 to 4.0.8 in /ui (#501)
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.7 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/4.0.8/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.7...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-19 10:24:33 +01:00
bf74c9d91d Bump vite from 5.3.3 to 5.3.6 in /ui (#516)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.3.3 to 5.3.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.3.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-19 10:24:17 +01:00
4d7a4b22e1 ui: Implement queue-item expires-at timestamp in UI. 2024-09-19 10:17:42 +01:00
3829f591e4 Add expires_at to queue-items (unicast & multicast).
This makes it possible to automatically remove items from the queue in
case the expires_at timestamp has reached. This field is optional and
the default remains to never expire queue-items.
2024-09-17 11:54:29 +01:00
2919fb79e5 Fix escaping issue in TOML template.
Closes #486.
2024-09-13 12:59:09 +01:00
61d794b680 Remove OFF, which is not a valid tracing Level. 2024-09-12 14:42:51 +01:00
29b57fb72a Implement importer for lorawan-device-profiles repo. 2024-09-12 14:22:09 +01:00
190d977bf5 lrwn: Update Deserialize trait implementation. 2024-09-12 14:20:59 +01:00
9d04a74a94 Update dependencies. 2024-09-09 13:36:59 +01:00
5f8ddca7b7 api: Re-export pbjson_types and tonic.
Closes #504.
2024-09-09 11:59:51 +01:00
e04515f647 ui: Run make format to format ui code. 2024-08-28 14:44:22 +01:00
d69a0eee75 ui: Fix tooltip date formatting.
With the migration from moment to date-fns (#460) some of the formatting
strings were not updated accordingly.

Fixes #503.
2024-08-28 14:44:07 +01:00
e63296573b Implement support for SQLite database backend. (#418) (#500)
This feature makes it possible to select between PostgreSQL and SQLite as database backend using a compile feature-flag. It is not possible to enable both at the same time.

---------

Co-authored-by: Momo Bel <plopyomomo@gmail.com>
2024-08-26 13:22:35 +01:00
800d7d0efe api: Upgrade io.grpc dependencies in Java API. (#494)
This fixes a compatibility issue with Netty.

---
Co-authored-by: Guillaume Milani <guillaume.milani@sontex.ch>
2024-08-21 14:49:08 +01:00
489a35e0ec Bump version to 4.9.0 2024-08-15 09:06:19 +01:00
1848097e6c Fix missing last_seen_at field update of relay gateway. 2024-08-13 15:54:51 +01:00
76b7ec4881 Add signal handling.
Fixes #480.
2024-08-13 13:04:06 +01:00
3aaa114f46 Update deadpool-redis. 2024-08-08 16:53:07 +01:00
a811ec5c80 Bump version to 4.9.0-test.6 2024-08-07 15:11:09 +01:00
5794f41324 Fix clippy feedback (cargo clippy --fix). 2024-08-07 14:59:25 +01:00
7158c0c610 ui: Update codec template with JSDoc (#473) 2024-08-05 11:17:13 +01:00
eda6646b18 Update dependencies. 2024-08-05 10:15:23 +01:00
40a2b83bf5 Update redis dependency. 2024-08-05 10:06:48 +01:00
4e0106a4e8 Replace warp with axum.
The warp dependency was causing some issues with upgrading dependencies
as it depends on http v0.2, where other dependencies (e.g. tonic) have
already upgraded to http v1+.
2024-08-01 11:33:57 +01:00
98978135c4 ui: Fix formatting template after merging #460. 2024-07-30 11:18:52 +01:00
6a691c62e2 Update dependencies. 2024-07-24 14:12:50 +01:00
66ab41036b Update lapin crate.
This disables the default features (rustls), because lapin enables the
default rustls features, which pulls in the aws-lc-rs dependency besides
ring.

Most likely, the next lapin version will fix this by exposing feature
flags to either enable aws-lc-rs or ring backend for rustls.
2024-07-24 14:05:46 +01:00
dc57e6fe51 Update rustls to 0.23. 2024-07-23 14:03:09 +01:00
ebc4065ca2 Bump version to 4.9.0-test.5 2024-07-23 11:03:39 +01:00
a23797ddbb Fix updating dependencies.
The previous update dependencies commit contained a dependency that
pulled in the aws-lc-rs crate, which fails to build on ARMv7. See also
370b84cb09f0d55c9cc1d993df2474e579e7fa94.

This commit reverts the updates and only updates part of the crates.

A proper fix will be to update all dependencies to rustls 0.23 such that
we can enable the ring feature flag (which is the 0.22 default).
2024-07-23 10:39:58 +01:00
8fabfd925e Bump version to 4.9.0-test.4 2024-07-22 14:40:01 +01:00
2eb17bde92 Update install-nix-action workflow step. 2024-07-22 11:51:00 +01:00
a22ed43883 Update dependencies.
There are still a few dependencies left to update, but these updates
require additional code changes.
2024-07-22 11:48:08 +01:00
de656cf885 Add user_info config to region_... + format TOML.
Closes #462.
2024-07-22 10:48:43 +01:00
2a8e49bf8d ui: Replace moment with date-fns. (#460) 2024-07-22 10:16:08 +01:00
262f51da3f Update main.yml workflow. (#461) 2024-07-22 10:14:37 +01:00
4f0d2126d8 ui: Migrate from create-react-app to vite (#459) 2024-07-16 14:10:19 +01:00
3777de706d Make OIDC and OAuth2 scopes configurable. (#445)
Co-authored-by: Orne Brocaar <info@brocaar.com>
2024-07-11 10:51:37 +01:00
f76a4b7f83 lrwn: Allow empty string for AES128Key, DevAddr, EUI64 and NetID.
In case an empty string is provided, the default "null" value will be
used.

Fixes #453.
2024-07-11 10:05:23 +01:00
920f485734 Update openidconnect dependency.
Fixes #423.
2024-07-11 09:56:13 +01:00
2737284d2d Update oauth2 dependency. 2024-07-11 09:56:13 +01:00
d39fbea7af Fix typo in gateway stats handling. (#458) 2024-07-11 09:01:20 +01:00
15461d8cc5 Improved device activation api documentation (#454) 2024-07-10 15:06:01 +01:00
ad2fecd1d2 ui: Make tileserver + attribution configurable. (#451)
Co-authored-by: Orne Brocaar <info@brocaar.com>
2024-07-10 15:05:33 +01:00
4ef0fbbd8f Bump curve25519-dalek from 4.1.2 to 4.1.3 (#442)
Bumps [curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/dalek-cryptography/curve25519-dalek/releases)
- [Commits](https://github.com/dalek-cryptography/curve25519-dalek/compare/curve25519-4.1.2...curve25519-4.1.3)

---
updated-dependencies:
- dependency-name: curve25519-dalek
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-09 12:22:35 +01:00
264f51a190 Bump ws from 7.5.9 to 7.5.10 in /ui (#441)
Bumps [ws](https://github.com/websockets/ws) from 7.5.9 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.9...7.5.10)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-09 12:21:54 +01:00
abde97f46d Bump braces from 3.0.2 to 3.0.3 in /ui (#436)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-09 12:21:35 +01:00
6c8e87f505 Bump @grpc/grpc-js from 1.10.4 to 1.10.9 in /api/js (#434)
Bumps [@grpc/grpc-js](https://github.com/grpc/grpc-node) from 1.10.4 to 1.10.9.
- [Release notes](https://github.com/grpc/grpc-node/releases)
- [Commits](https://github.com/grpc/grpc-node/compare/@grpc/grpc-js@1.10.4...@grpc/grpc-js@1.10.9)

---
updated-dependencies:
- dependency-name: "@grpc/grpc-js"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-09 12:21:16 +01:00
c173ace8bc api: Remove generated PHP code. (#452) 2024-07-09 12:15:16 +01:00
f153eb8ca0 lrwn: Fix typo in snr clamp. 2024-07-09 11:57:20 +01:00
4a33f67ed6 lrwn: Fix cargo clippy feedback. 2024-07-09 11:39:32 +01:00
63bc1b57de ui: Fix isGatewayAdmin build error. 2024-07-09 11:25:10 +01:00
f854236b79 Bump version to 4.9.0-test.3 2024-06-26 14:57:17 +01:00
d25cc3ca6d Update mesh heartbeat MQTT topic. 2024-06-25 13:57:13 +01:00
800 changed files with 14257 additions and 72795 deletions

View File

@ -13,18 +13,25 @@ env:
jobs:
tests:
runs-on: ubuntu-latest
strategy:
matrix:
database:
- postgres
- sqlite
env:
DATABASE: ${{ matrix.database }}
steps:
-
name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
-
name: Install Nix
uses: cachix/install-nix-action@v20
uses: cachix/install-nix-action@v27
with:
nix_path: nixpkgs=channel:nixos-22.11
nix_path: nixpkgs=channel:nixos-24.05
-
name: Cargo cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
@ -32,7 +39,7 @@ jobs:
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}
key: ${{ runner.os }}-cargo-test-${{ matrix.database }}-${{ hashFiles('**/Cargo.lock') }}
-
name: Start dependency services
run: docker compose up -d
@ -47,18 +54,25 @@ jobs:
needs: tests
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
strategy:
matrix:
database:
- postgres
- sqlite
env:
DATABASE: ${{ matrix.database }}
steps:
-
name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
-
name: Install Nix
uses: cachix/install-nix-action@v20
uses: cachix/install-nix-action@v27
with:
nix_path: nixpkgs=channel:nixos-22.11
nix_path: nixpkgs=channel:nixos-24.05
-
name: Cargo cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
@ -94,7 +108,7 @@ jobs:
uses: docker/metadata-action@v3
with:
images: |
chirpstack/${{ github.event.repository.name }}
chirpstack/${{ github.event.repository.name }}${{ matrix.database != 'postgres' && format('-{0}', matrix.database) || '' }}
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}

4
.gitignore vendored
View File

@ -11,8 +11,12 @@
# Binary packages
/dist
# SQLite databases
*.sqlite
# Rust target directory
**/target
**/target-sqlite
# Certificates
/chirpstack/configuration/certs/*

2369
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,19 +1,15 @@
[workspace]
resolver = "2"
members = [
"chirpstack",
"chirpstack-integration",
"lrwn",
"lrwn-filters",
"backend",
"api/rust",
]
resolver = "2"
members = [
"chirpstack",
"chirpstack-integration",
"lrwn",
"lrwn-filters",
"backend",
"api/rust",
]
[profile.release]
opt-level = 'z'
lto = true
codegen-units = 1
[patch.crates-io]
# Remove if diesel-async > 0.4.1
diesel-async = { git = "https://github.com/weiznich/diesel_async.git", rev = "017ebe2fb7a2709ab5db92148dea5ce812a35e09" }
opt-level = 'z'
lto = true
codegen-units = 1

View File

@ -8,7 +8,7 @@ dist:
# Install dev dependencies
dev-dependencies:
cargo install cross --version 0.2.5
cargo install diesel_cli --version 2.2.1 --no-default-features --features postgres
cargo install diesel_cli --version 2.2.1 --no-default-features --features postgres,sqlite
cargo install cargo-deb --version 1.43.1
cargo install cargo-generate-rpm --version 0.12.1

View File

@ -84,7 +84,11 @@ docker compose up -d
Run the following command to run the ChirpStack tests:
```bash
# Test (with PostgresQL database backend)
make test
# Test with SQLite database backend
DATABASE=sqlite make test
```
### Building ChirpStack binaries
@ -109,6 +113,34 @@ make release-amd64
make dist
```
By default the above commands will build ChirpStack with the PostgresQL database
database backend. Set the `DATABASE=sqlite` env. variable to compile ChirpStack
with the SQLite database backend.
### Database migrations
To create a new database migration, execute:
```
make migration-generate NAME=test-migration
```
To apply migrations, execute:
```
make migration-run
```
To revert a migration, execute:
```
make migration-revert
```
By default the above commands will execute the migration commands using the
PostgresQL database backend. To execute migration commands for the SQLite
database backend, set the `DATABASE=sqlite` env. variable.
## License
ChirpStack Network Server is distributed under the MIT license. See also

16
api/Dockerfile-c vendored Normal file
View File

@ -0,0 +1,16 @@
FROM alpine:latest
ENV PROJECT_PATH=/chirpstack/api
RUN apk add --no-cache make git bash protobuf protobuf-dev pkgconfig autoconf automake libtool gcc g++
# Install protobuf implementation for C
RUN git clone --depth=1 https://github.com/protobuf-c/protobuf-c.git /protobuf-c
RUN cd /protobuf-c && ./autogen.sh && ./configure && make && make install
# Proto dependencies stuff
RUN git clone --depth=1 https://github.com/protocolbuffers/protobuf.git /protobuf
RUN git clone --depth=1 https://github.com/googleapis/googleapis.git /googleapis
RUN mkdir -p PROJECT_PATH
WORKDIR $PROJECT_PATH

9
api/Makefile vendored
View File

@ -1,6 +1,6 @@
.PHONY: rust grpc-web go js python md java kotlin csharp php
.PHONY: rust grpc-web go js python md java kotlin csharp php c
all: rust grpc-web go js python md java kotlin csharp php
all: rust grpc-web go js python md java kotlin csharp php c
rust:
cd rust && make
@ -30,4 +30,7 @@ csharp:
docker compose run --rm chirpstack-csharp
php:
docker compose run --rm chirpstack-api-php
docker compose run --rm chirpstack-api-php
c:
docker compose run --rm chirpstack-api-c

2
api/c/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
/src/
/proto/

34
api/c/Makefile vendored Normal file
View File

@ -0,0 +1,34 @@
.PHONY: all pre-build
PROTOC := protoc-c
PROTOC_ARGS := -I=proto -I=proto/chirpstack-api --c_out=./src
GOOGLE_PROTOBUF_REQUIREMENTS =
GOOGLE_PROTOBUF_REQUIREMENTS += timestamp.proto
GOOGLE_PROTOBUF_REQUIREMENTS += duration.proto
GOOGLE_PROTOBUF_REQUIREMENTS += struct.proto
GOOGLE_PROTOBUF_REQUIREMENTS += empty.proto
GOOGLE_PROTOBUF_REQUIREMENTS += descriptor.proto
GOOGLE_PROTOBUF_OUTPUT = $(patsubst %.proto, src/google/protobuf/%.pb-c.h, $(GOOGLE_PROTOBUF_REQUIREMENTS))
all: pre-build $(GOOGLE_PROTOBUF_OUTPUT) build
pre-build:
rm -rf proto src
mkdir -p proto/chirpstack-api
mkdir -p proto/google/protobuf
cp -r ../proto/* proto/chirpstack-api/
mv proto/chirpstack-api/google/api proto/google/api
mkdir -p src
sed -i \
-r 's/(\s+bytes std)(in|out|err)(\s+=.*)/\1_\2\3/' \
proto/chirpstack-api/gw/gw.proto
src/google/protobuf/%.pb-c.h: /protobuf/src/google/protobuf/%.proto
cp $< proto/google/protobuf/
build:
find proto \
-name '*.proto' \
-type f \
-exec $(PROTOC) $(PROTOC_ARGS) {} \;

View File

@ -49,3 +49,10 @@ services:
command: bash -c "cd php && make all"
volumes:
- ./:/chirpstack/api
chirpstack-api-c:
build:
context: .
dockerfile: Dockerfile-c
command: bash -c "cd c && make all"
volumes:
- ./:/chirpstack/api

View File

@ -1116,6 +1116,8 @@ type DeviceActivation struct {
// Application session key (HEX encoded).
AppSKey string `protobuf:"bytes,3,opt,name=app_s_key,json=appSKey,proto3" json:"app_s_key,omitempty"`
// Network session encryption key (HEX encoded).
// Note: For ABP in LoRaWAN 1.0.x, use this, the serving and the forwarding
// network session integrity key fields with the LoRaWAN 1.0.x 'NwkSKey`!
NwkSEncKey string `protobuf:"bytes,4,opt,name=nwk_s_enc_key,json=nwkSEncKey,proto3" json:"nwk_s_enc_key,omitempty"`
// Serving network session integrity key (HEX encoded).
SNwkSIntKey string `protobuf:"bytes,8,opt,name=s_nwk_s_int_key,json=sNwkSIntKey,proto3" json:"s_nwk_s_int_key,omitempty"`
@ -1912,6 +1914,9 @@ type DeviceQueueItem struct {
// the data payload. In this case, the f_cnt_down field must be set to
// the corresponding frame-counter which has been used during the encryption.
IsEncrypted bool `protobuf:"varint,9,opt,name=is_encrypted,json=isEncrypted,proto3" json:"is_encrypted,omitempty"`
// Expires at (optional).
// Expired queue-items will be automatically removed from the queue.
ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
}
func (x *DeviceQueueItem) Reset() {
@ -2009,6 +2014,13 @@ func (x *DeviceQueueItem) GetIsEncrypted() bool {
return false
}
func (x *DeviceQueueItem) GetExpiresAt() *timestamppb.Timestamp {
if x != nil {
return x.ExpiresAt
}
return nil
}
type EnqueueDeviceQueueItemRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -2693,7 +2705,7 @@ var file_api_device_proto_rawDesc = []byte{
0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0e, 0x72, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73,
0x50, 0x65, 0x72, 0x44, 0x72, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18,
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d,
0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x94, 0x02,
0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0xcf, 0x02,
0x0a, 0x0f, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65,
0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
0x64, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x02, 0x20, 0x01,
@ -2711,193 +2723,197 @@ var file_api_device_proto_rawDesc = []byte{
0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x66, 0x43, 0x6e, 0x74, 0x44, 0x6f, 0x77,
0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65,
0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45, 0x6e, 0x63, 0x72, 0x79,
0x70, 0x74, 0x65, 0x64, 0x22, 0x54, 0x0a, 0x1d, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x44,
0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69,
0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x70, 0x74, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f,
0x61, 0x74, 0x18, 0x0a, 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, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x22,
0x54, 0x0a, 0x1d, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x33, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75,
0x65, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x30, 0x0a, 0x1e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65,
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52,
0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x30, 0x0a, 0x1e, 0x45, 0x6e,
0x71, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65,
0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x32, 0x0a, 0x17,
0x46, 0x6c, 0x75, 0x73, 0x68, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65,
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, 0x54, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65,
0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 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, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x6c, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61,
0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x72, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x22, 0x30, 0x0a, 0x15, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x44, 0x65, 0x76,
0x4e, 0x6f, 0x6e, 0x63, 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, 0x37, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x46, 0x43, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 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,
0x3d, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x65, 0x78, 0x74,
0x46, 0x43, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x5f, 0x63, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x66, 0x43, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x32, 0xe2,
0x11, 0x0a, 0x0d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x12, 0x53, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 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, 0x17, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65,
0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x12, 0x64, 0x0a, 0x06, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x32, 0x0a, 0x17, 0x46, 0x6c, 0x75, 0x73, 0x68,
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 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, 0x54, 0x0a, 0x1a, 0x47,
0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65,
0x6d, 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, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x79,
0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x6e, 0x6c,
0x79, 0x22, 0x6c, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75,
0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75,
0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22,
0x30, 0x0a, 0x15, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x44, 0x65, 0x76, 0x4e, 0x6f, 0x6e, 0x63, 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, 0x37, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x65,
0x78, 0x74, 0x46, 0x43, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 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, 0x3d, 0x0a, 0x1d, 0x47, 0x65,
0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x46, 0x43, 0x6e, 0x74, 0x44,
0x6f, 0x77, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x66,
0x5f, 0x63, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x08, 0x66, 0x43, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x32, 0xe2, 0x11, 0x0a, 0x0d, 0x44, 0x65,
0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x06, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 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, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a,
0x01, 0x2a, 0x1a, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73,
0x2f, 0x7b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69,
0x7d, 0x12, 0x5a, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 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, 0x1e, 0x82,
0xd3, 0xe4, 0x93, 0x02, 0x18, 0x2a, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69,
0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x12, 0x4f, 0x0a,
0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74,
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18,
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e,
0x12, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x76,
0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1c, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4b,
0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a,
0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73,
0x12, 0x54, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65,
0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65,
0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x12, 0x64, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 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, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f,
0x74, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x1a, 0x1d, 0x2f,
0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76,
0x69, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69,
0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x65, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79,
0x73, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61,
0x69, 0x63, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x12, 0x5a, 0x0a, 0x06,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 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, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18,
0x2a, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b,
0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x12, 0x4f, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74,
0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x76, 0x0a, 0x0a, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, 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, 0x32, 0x82,
0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64,
0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6b,
0x65, 0x79, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x6b, 0x65, 0x79,
0x73, 0x12, 0x65, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x19, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d,
0x12, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b,
0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x76, 0x0a,
0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1c, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4b, 0x65,
0x79, 0x73, 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, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x1a, 0x27, 0x2f, 0x61,
0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x69,
0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d,
0x2f, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x67, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b,
0x65, 0x79, 0x73, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, 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, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x1d, 0x2a, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f,
0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x6f,
0x0a, 0x0e, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x44, 0x65, 0x76, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73,
0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x44, 0x65, 0x76, 0x4e,
0x6f, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65,
0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65,
0x75, 0x69, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x76, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, 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, 0x32, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x1a, 0x27, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65,
0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6b, 0x65,
0x79, 0x73, 0x2e, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x73,
0x12, 0x67, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1c,
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 0x4b, 0x65, 0x79, 0x73, 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, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x2a, 0x21, 0x2f, 0x61,
0x6d, 0x70, 0x74, 0x79, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x2a, 0x1b, 0x2f, 0x61,
0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f,
0x65, 0x75, 0x69, 0x7d, 0x2f, 0x64, 0x65, 0x76, 0x2d, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x12,
0x7c, 0x0a, 0x08, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
0x65, 0x75, 0x69, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x6f, 0x0a, 0x0e, 0x46, 0x6c, 0x75,
0x73, 0x68, 0x44, 0x65, 0x76, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x44, 0x65, 0x76, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73,
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,
0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x3a, 0x01, 0x2a, 0x22, 0x31, 0x2f, 0x61, 0x70, 0x69,
0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x64, 0x65, 0x76, 0x5f,
0x65, 0x75, 0x69, 0x7d, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x6d, 0x0a,
0x0a, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69,
0x63, 0x65, 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, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x2a, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69,
0x7d, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7d, 0x0a, 0x0d,
0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e,
0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74,
0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20,
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64,
0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d,
0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x83, 0x01, 0x0a, 0x10,
0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x44, 0x65, 0x76, 0x41, 0x64, 0x64, 0x72,
0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d,
0x44, 0x65, 0x76, 0x41, 0x64, 0x64, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x44, 0x65,
0x76, 0x41, 0x64, 0x64, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82,
0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x22, 0x2a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69,
0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x67, 0x65,
0x74, 0x2d, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2d, 0x64, 0x65, 0x76, 0x2d, 0x61, 0x64, 0x64,
0x72, 0x12, 0x71, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12,
0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d,
0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74,
0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63,
0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x6d, 0x65, 0x74,
0x72, 0x69, 0x63, 0x73, 0x12, 0x82, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6e, 0x6b,
0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65,
0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x65, 0x74,
0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63,
0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x6c, 0x69, 0x6e,
0x6b, 0x2d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x07, 0x45, 0x6e,
0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x71, 0x75,
0x65, 0x75, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74,
0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65,
0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32,
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69,
0x74, 0x65, 0x6d, 0x2e, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x71, 0x75, 0x65,
0x75, 0x65, 0x12, 0x68, 0x0a, 0x0a, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x51, 0x75, 0x65, 0x75, 0x65,
0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x44, 0x65, 0x76, 0x69,
0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 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, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x2a, 0x1c,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65,
0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x73, 0x0a, 0x08,
0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47,
0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65,
0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74,
0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x71, 0x75, 0x65, 0x75,
0x65, 0x12, 0x8f, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x46, 0x43, 0x6e,
0x74, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44,
0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x46, 0x43, 0x6e, 0x74, 0x44, 0x6f, 0x77,
0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47,
0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x46, 0x43, 0x6e, 0x74,
0x44, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, 0x2a, 0x22, 0x2a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65,
0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x2a, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65,
0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f,
0x67, 0x65, 0x74, 0x2d, 0x6e, 0x65, 0x78, 0x74, 0x2d, 0x66, 0x2d, 0x63, 0x6e, 0x74, 0x2d, 0x64,
0x6f, 0x77, 0x6e, 0x42, 0x91, 0x01, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70,
0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0b, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 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, 0xaa, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70,
0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70, 0x69, 0xca, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72,
0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0xe2, 0x02, 0x1a, 0x47, 0x50, 0x42,
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74,
0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x64, 0x65, 0x76, 0x2d, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x7c, 0x0a, 0x08, 0x41, 0x63,
0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x74,
0x69, 0x76, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 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, 0x3c, 0x82, 0xd3, 0xe4, 0x93,
0x02, 0x36, 0x3a, 0x01, 0x2a, 0x22, 0x31, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69,
0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69,
0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f,
0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x6d, 0x0a, 0x0a, 0x44, 0x65, 0x61, 0x63,
0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x61,
0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 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, 0x29, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x23, 0x2a, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63,
0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x61, 0x63, 0x74,
0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7d, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63,
0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47,
0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x61, 0x63, 0x74, 0x69,
0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x61,
0x6e, 0x64, 0x6f, 0x6d, 0x44, 0x65, 0x76, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1c, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x44, 0x65, 0x76, 0x41, 0x64,
0x64, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x44, 0x65, 0x76, 0x41, 0x64, 0x64, 0x72,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c,
0x22, 0x2a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b,
0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x2d, 0x72, 0x61, 0x6e,
0x64, 0x6f, 0x6d, 0x2d, 0x64, 0x65, 0x76, 0x2d, 0x61, 0x64, 0x64, 0x72, 0x12, 0x71, 0x0a, 0x0a,
0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47,
0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12,
0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64,
0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12,
0x82, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x73, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69,
0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65,
0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12,
0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64,
0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x2d, 0x6d, 0x65, 0x74,
0x72, 0x69, 0x63, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x07, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65,
0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65,
0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65,
0x75, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65,
0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63,
0x65, 0x73, 0x2f, 0x7b, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x64,
0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x68, 0x0a,
0x0a, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1c, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65,
0x75, 0x65, 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, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x2a, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69,
0x7d, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x73, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x51, 0x75,
0x65, 0x75, 0x65, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65,
0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65,
0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x8f, 0x01, 0x0a,
0x0f, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x46, 0x43, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e,
0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
0x4e, 0x65, 0x78, 0x74, 0x46, 0x43, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x46, 0x43, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a,
0x01, 0x2a, 0x22, 0x2a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73,
0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x2d, 0x6e,
0x65, 0x78, 0x74, 0x2d, 0x66, 0x2d, 0x63, 0x6e, 0x74, 0x2d, 0x64, 0x6f, 0x77, 0x6e, 0x42, 0x91,
0x01, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b,
0x2e, 0x61, 0x70, 0x69, 0x42, 0x0b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 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, 0xaa, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b,
0x2e, 0x41, 0x70, 0x69, 0xca, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63,
0x6b, 0x5c, 0x41, 0x70, 0x69, 0xe2, 0x02, 0x1a, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64,
0x61, 0x74, 0x61, 0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41,
0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -3002,55 +3018,56 @@ var file_api_device_proto_depIdxs = []int32{
45, // 35: api.GetDeviceLinkMetricsResponse.rx_packets_per_dr:type_name -> common.Metric
45, // 36: api.GetDeviceLinkMetricsResponse.errors:type_name -> common.Metric
46, // 37: api.DeviceQueueItem.object:type_name -> google.protobuf.Struct
28, // 38: api.EnqueueDeviceQueueItemRequest.queue_item:type_name -> api.DeviceQueueItem
28, // 39: api.GetDeviceQueueItemsResponse.result:type_name -> api.DeviceQueueItem
45, // 40: api.GetDeviceMetricsResponse.MetricsEntry.value:type_name -> common.Metric
25, // 41: api.GetDeviceMetricsResponse.StatesEntry.value:type_name -> api.DeviceState
4, // 42: api.DeviceService.Create:input_type -> api.CreateDeviceRequest
5, // 43: api.DeviceService.Get:input_type -> api.GetDeviceRequest
7, // 44: api.DeviceService.Update:input_type -> api.UpdateDeviceRequest
8, // 45: api.DeviceService.Delete:input_type -> api.DeleteDeviceRequest
9, // 46: api.DeviceService.List:input_type -> api.ListDevicesRequest
11, // 47: api.DeviceService.CreateKeys:input_type -> api.CreateDeviceKeysRequest
12, // 48: api.DeviceService.GetKeys:input_type -> api.GetDeviceKeysRequest
14, // 49: api.DeviceService.UpdateKeys:input_type -> api.UpdateDeviceKeysRequest
15, // 50: api.DeviceService.DeleteKeys:input_type -> api.DeleteDeviceKeysRequest
34, // 51: api.DeviceService.FlushDevNonces:input_type -> api.FlushDevNoncesRequest
17, // 52: api.DeviceService.Activate:input_type -> api.ActivateDeviceRequest
18, // 53: api.DeviceService.Deactivate:input_type -> api.DeactivateDeviceRequest
19, // 54: api.DeviceService.GetActivation:input_type -> api.GetDeviceActivationRequest
21, // 55: api.DeviceService.GetRandomDevAddr:input_type -> api.GetRandomDevAddrRequest
23, // 56: api.DeviceService.GetMetrics:input_type -> api.GetDeviceMetricsRequest
26, // 57: api.DeviceService.GetLinkMetrics:input_type -> api.GetDeviceLinkMetricsRequest
29, // 58: api.DeviceService.Enqueue:input_type -> api.EnqueueDeviceQueueItemRequest
31, // 59: api.DeviceService.FlushQueue:input_type -> api.FlushDeviceQueueRequest
32, // 60: api.DeviceService.GetQueue:input_type -> api.GetDeviceQueueItemsRequest
35, // 61: api.DeviceService.GetNextFCntDown:input_type -> api.GetDeviceNextFCntDownRequest
47, // 62: api.DeviceService.Create:output_type -> google.protobuf.Empty
6, // 63: api.DeviceService.Get:output_type -> api.GetDeviceResponse
47, // 64: api.DeviceService.Update:output_type -> google.protobuf.Empty
47, // 65: api.DeviceService.Delete:output_type -> google.protobuf.Empty
10, // 66: api.DeviceService.List:output_type -> api.ListDevicesResponse
47, // 67: api.DeviceService.CreateKeys:output_type -> google.protobuf.Empty
13, // 68: api.DeviceService.GetKeys:output_type -> api.GetDeviceKeysResponse
47, // 69: api.DeviceService.UpdateKeys:output_type -> google.protobuf.Empty
47, // 70: api.DeviceService.DeleteKeys:output_type -> google.protobuf.Empty
47, // 71: api.DeviceService.FlushDevNonces:output_type -> google.protobuf.Empty
47, // 72: api.DeviceService.Activate:output_type -> google.protobuf.Empty
47, // 73: api.DeviceService.Deactivate:output_type -> google.protobuf.Empty
20, // 74: api.DeviceService.GetActivation:output_type -> api.GetDeviceActivationResponse
22, // 75: api.DeviceService.GetRandomDevAddr:output_type -> api.GetRandomDevAddrResponse
24, // 76: api.DeviceService.GetMetrics:output_type -> api.GetDeviceMetricsResponse
27, // 77: api.DeviceService.GetLinkMetrics:output_type -> api.GetDeviceLinkMetricsResponse
30, // 78: api.DeviceService.Enqueue:output_type -> api.EnqueueDeviceQueueItemResponse
47, // 79: api.DeviceService.FlushQueue:output_type -> google.protobuf.Empty
33, // 80: api.DeviceService.GetQueue:output_type -> api.GetDeviceQueueItemsResponse
36, // 81: api.DeviceService.GetNextFCntDown:output_type -> api.GetDeviceNextFCntDownResponse
62, // [62:82] is the sub-list for method output_type
42, // [42:62] is the sub-list for method input_type
42, // [42:42] is the sub-list for extension type_name
42, // [42:42] is the sub-list for extension extendee
0, // [0:42] is the sub-list for field type_name
41, // 38: api.DeviceQueueItem.expires_at:type_name -> google.protobuf.Timestamp
28, // 39: api.EnqueueDeviceQueueItemRequest.queue_item:type_name -> api.DeviceQueueItem
28, // 40: api.GetDeviceQueueItemsResponse.result:type_name -> api.DeviceQueueItem
45, // 41: api.GetDeviceMetricsResponse.MetricsEntry.value:type_name -> common.Metric
25, // 42: api.GetDeviceMetricsResponse.StatesEntry.value:type_name -> api.DeviceState
4, // 43: api.DeviceService.Create:input_type -> api.CreateDeviceRequest
5, // 44: api.DeviceService.Get:input_type -> api.GetDeviceRequest
7, // 45: api.DeviceService.Update:input_type -> api.UpdateDeviceRequest
8, // 46: api.DeviceService.Delete:input_type -> api.DeleteDeviceRequest
9, // 47: api.DeviceService.List:input_type -> api.ListDevicesRequest
11, // 48: api.DeviceService.CreateKeys:input_type -> api.CreateDeviceKeysRequest
12, // 49: api.DeviceService.GetKeys:input_type -> api.GetDeviceKeysRequest
14, // 50: api.DeviceService.UpdateKeys:input_type -> api.UpdateDeviceKeysRequest
15, // 51: api.DeviceService.DeleteKeys:input_type -> api.DeleteDeviceKeysRequest
34, // 52: api.DeviceService.FlushDevNonces:input_type -> api.FlushDevNoncesRequest
17, // 53: api.DeviceService.Activate:input_type -> api.ActivateDeviceRequest
18, // 54: api.DeviceService.Deactivate:input_type -> api.DeactivateDeviceRequest
19, // 55: api.DeviceService.GetActivation:input_type -> api.GetDeviceActivationRequest
21, // 56: api.DeviceService.GetRandomDevAddr:input_type -> api.GetRandomDevAddrRequest
23, // 57: api.DeviceService.GetMetrics:input_type -> api.GetDeviceMetricsRequest
26, // 58: api.DeviceService.GetLinkMetrics:input_type -> api.GetDeviceLinkMetricsRequest
29, // 59: api.DeviceService.Enqueue:input_type -> api.EnqueueDeviceQueueItemRequest
31, // 60: api.DeviceService.FlushQueue:input_type -> api.FlushDeviceQueueRequest
32, // 61: api.DeviceService.GetQueue:input_type -> api.GetDeviceQueueItemsRequest
35, // 62: api.DeviceService.GetNextFCntDown:input_type -> api.GetDeviceNextFCntDownRequest
47, // 63: api.DeviceService.Create:output_type -> google.protobuf.Empty
6, // 64: api.DeviceService.Get:output_type -> api.GetDeviceResponse
47, // 65: api.DeviceService.Update:output_type -> google.protobuf.Empty
47, // 66: api.DeviceService.Delete:output_type -> google.protobuf.Empty
10, // 67: api.DeviceService.List:output_type -> api.ListDevicesResponse
47, // 68: api.DeviceService.CreateKeys:output_type -> google.protobuf.Empty
13, // 69: api.DeviceService.GetKeys:output_type -> api.GetDeviceKeysResponse
47, // 70: api.DeviceService.UpdateKeys:output_type -> google.protobuf.Empty
47, // 71: api.DeviceService.DeleteKeys:output_type -> google.protobuf.Empty
47, // 72: api.DeviceService.FlushDevNonces:output_type -> google.protobuf.Empty
47, // 73: api.DeviceService.Activate:output_type -> google.protobuf.Empty
47, // 74: api.DeviceService.Deactivate:output_type -> google.protobuf.Empty
20, // 75: api.DeviceService.GetActivation:output_type -> api.GetDeviceActivationResponse
22, // 76: api.DeviceService.GetRandomDevAddr:output_type -> api.GetRandomDevAddrResponse
24, // 77: api.DeviceService.GetMetrics:output_type -> api.GetDeviceMetricsResponse
27, // 78: api.DeviceService.GetLinkMetrics:output_type -> api.GetDeviceLinkMetricsResponse
30, // 79: api.DeviceService.Enqueue:output_type -> api.EnqueueDeviceQueueItemResponse
47, // 80: api.DeviceService.FlushQueue:output_type -> google.protobuf.Empty
33, // 81: api.DeviceService.GetQueue:output_type -> api.GetDeviceQueueItemsResponse
36, // 82: api.DeviceService.GetNextFCntDown:output_type -> api.GetDeviceNextFCntDownResponse
63, // [63:83] is the sub-list for method output_type
43, // [43:63] is the sub-list for method input_type
43, // [43:43] is the sub-list for extension type_name
43, // [43:43] is the sub-list for extension extendee
0, // [0:43] is the sub-list for field type_name
}
func init() { file_api_device_proto_init() }

View File

@ -893,6 +893,10 @@ type SettingsResponse struct {
OpenidConnect *OpenIdConnect `protobuf:"bytes,1,opt,name=openid_connect,json=openidConnect,proto3" json:"openid_connect,omitempty"`
// OAuth2 settings.
Oauth2 *OAuth2 `protobuf:"bytes,2,opt,name=oauth2,proto3" json:"oauth2,omitempty"`
// Tileserver URL.
TileserverUrl string `protobuf:"bytes,3,opt,name=tileserver_url,json=tileserverUrl,proto3" json:"tileserver_url,omitempty"`
// Map attribution.
MapAttribution string `protobuf:"bytes,4,opt,name=map_attribution,json=mapAttribution,proto3" json:"map_attribution,omitempty"`
}
func (x *SettingsResponse) Reset() {
@ -941,6 +945,20 @@ func (x *SettingsResponse) GetOauth2() *OAuth2 {
return nil
}
func (x *SettingsResponse) GetTileserverUrl() string {
if x != nil {
return x.TileserverUrl
}
return ""
}
func (x *SettingsResponse) GetMapAttribution() string {
if x != nil {
return x.MapAttribution
}
return ""
}
type OpenIdConnect struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -2301,245 +2319,250 @@ var file_api_internal_proto_rawDesc = []byte{
0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x61, 0x74, 0x65, 0x77,
0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x72, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0e, 0x6f, 0x70,
0x65, 0x6e, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x43,
0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x43, 0x6f,
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x06, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x41, 0x75, 0x74,
0x68, 0x32, 0x52, 0x06, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x22, 0xad, 0x01, 0x0a, 0x0d, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f,
0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e,
0x55, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x62,
0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x4c,
0x61, 0x62, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x75,
0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74,
0x55, 0x72, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x64,
0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x6f, 0x67,
0x69, 0x6e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x22, 0xa6, 0x01, 0x0a, 0x06, 0x4f,
0x41, 0x75, 0x74, 0x68, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12,
0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b,
0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1d, 0x0a,
0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x25, 0x0a, 0x0e,
0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x05,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x69, 0x72,
0x65, 0x63, 0x74, 0x22, 0x45, 0x0a, 0x19, 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,
0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x32, 0x0a, 0x1a, 0x4f, 0x70,
0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xc2, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0e, 0x6f,
0x70, 0x65, 0x6e, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64,
0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x43,
0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x06, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x41, 0x75,
0x74, 0x68, 0x32, 0x52, 0x06, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x12, 0x25, 0x0a, 0x0e, 0x74,
0x69, 0x6c, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55,
0x72, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x70,
0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x0d,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a,
0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x69, 0x6e,
0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x69,
0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6c, 0x61,
0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e,
0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f,
0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x6f, 0x75,
0x74, 0x55, 0x72, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65,
0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x6f,
0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x22, 0xa6, 0x01, 0x0a, 0x06,
0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1f, 0x0a,
0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1d,
0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x25, 0x0a,
0x0e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18,
0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x69,
0x72, 0x65, 0x63, 0x74, 0x22, 0x45, 0x0a, 0x19, 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, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x32, 0x0a, 0x1a, 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, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b,
0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
0x3e, 0x0a, 0x12, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61,
0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22,
0x2b, 0x0a, 0x13, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x37, 0x0a, 0x18,
0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 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, 0x93, 0x02, 0x0a, 0x19, 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, 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, 0x46, 0x0a,
0x08, 0x64, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x2b, 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, 0x2e,
0x44, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x64, 0x72,
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, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x0e, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x53, 0x65, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a,
0x3a, 0x0a, 0x0c, 0x44, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x19, 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, 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, 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, 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, 0x22, 0x2e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xb9, 0x09, 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,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3e,
0x0a, 0x12, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x2b,
0x0a, 0x13, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x37, 0x0a, 0x18, 0x47,
0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 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, 0x93, 0x02, 0x0a, 0x19, 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, 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, 0x46, 0x0a, 0x08,
0x64, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b,
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, 0x2e, 0x44,
0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x64, 0x72, 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, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e,
0x6e, 0x65, 0x76, 0x65, 0x72, 0x53, 0x65, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x3a,
0x0a, 0x0c, 0x44, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x19, 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, 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, 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, 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, 0x22, 0x2e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xb9, 0x09, 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, 0x42, 0x0a, 0x0b, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x4c, 0x6f, 0x67, 0x69,
0x6e, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x4c, 0x6f,
0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 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,
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, 0x42, 0x0a, 0x0b, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x4c, 0x6f, 0x67,
0x69, 0x6e, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x4c,
0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 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, 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,
0x12, 0x3f, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74,
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x00, 0x42, 0x93, 0x01, 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, 0xaa, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70,
0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70, 0x69, 0xca, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72,
0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0xe2, 0x02, 0x1a, 0x47, 0x50, 0x42,
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74,
0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
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, 0x12, 0x3f, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65,
0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x00, 0x42, 0x93, 0x01, 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, 0xaa, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72,
0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70, 0x69, 0xca, 0x02, 0x0e, 0x43, 0x68, 0x69,
0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0xe2, 0x02, 0x1a, 0x47, 0x50,
0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73,
0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -1069,6 +1069,9 @@ type MulticastGroupQueueItem struct {
FPort uint32 `protobuf:"varint,3,opt,name=f_port,json=fPort,proto3" json:"f_port,omitempty"`
// Payload.
Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
// Expires at (optional).
// Expired queue-items will be automatically removed from the queue.
ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
}
func (x *MulticastGroupQueueItem) Reset() {
@ -1131,6 +1134,13 @@ func (x *MulticastGroupQueueItem) GetData() []byte {
return nil
}
func (x *MulticastGroupQueueItem) GetExpiresAt() *timestamppb.Timestamp {
if x != nil {
return x.ExpiresAt
}
return nil
}
type EnqueueMulticastGroupQueueItemRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -1511,7 +1521,7 @@ var file_api_multicast_group_proto_rawDesc = []byte{
0x28, 0x09, 0x52, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f,
0x75, 0x70, 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, 0x22, 0x87, 0x01, 0x0a, 0x17, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73,
0x79, 0x49, 0x64, 0x22, 0xc2, 0x01, 0x0a, 0x17, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73,
0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12,
0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x75, 0x6c,
@ -1519,152 +1529,156 @@ var file_api_multicast_group_proto_rawDesc = []byte{
0x05, 0x66, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x43,
0x6e, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x66, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x05, 0x66, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74,
0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x64, 0x0a,
0x25, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73,
0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f,
0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51,
0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x49,
0x74, 0x65, 0x6d, 0x22, 0x3d, 0x0a, 0x26, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x75,
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75,
0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x13, 0x0a,
0x05, 0x66, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x43,
0x6e, 0x74, 0x22, 0x4f, 0x0a, 0x1f, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x4d, 0x75, 0x6c, 0x74, 0x69,
0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69,
0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69,
0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x75, 0x6c, 0x74,
0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a,
0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x05, 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, 0x65,
0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x22, 0x64, 0x0a, 0x25, 0x45, 0x6e, 0x71, 0x75,
0x65, 0x75, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x75, 0x6c, 0x74,
0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49,
0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2a, 0x2e, 0x0a, 0x12, 0x4d, 0x75,
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65,
0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x43, 0x10, 0x00, 0x12, 0x0b, 0x0a,
0x07, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x42, 0x10, 0x01, 0x2a, 0x37, 0x0a, 0x1c, 0x4d, 0x75,
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45,
0x4c, 0x41, 0x59, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x50, 0x53, 0x5f, 0x54, 0x49, 0x4d,
0x45, 0x10, 0x01, 0x32, 0xdd, 0x0c, 0x0a, 0x15, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73,
0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6f, 0x0a,
0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75,
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x68,
0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d,
0x74, 0x65, 0x6d, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x3d,
0x0a, 0x26, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x66, 0x5f, 0x63, 0x6e,
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x43, 0x6e, 0x74, 0x22, 0x4f, 0x0a,
0x1f, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x75,
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x4e,
0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x75,
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x55,
0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05,
0x69, 0x74, 0x65, 0x6d, 0x73, 0x2a, 0x2e, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x43,
0x4c, 0x41, 0x53, 0x53, 0x5f, 0x43, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4c, 0x41, 0x53,
0x53, 0x5f, 0x42, 0x10, 0x01, 0x2a, 0x37, 0x0a, 0x1c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e,
0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x00,
0x12, 0x0c, 0x0a, 0x08, 0x47, 0x50, 0x53, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x01, 0x32, 0xdd,
0x0c, 0x0a, 0x15, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6f, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d,
0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x75,
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x61,
0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x79, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d,
0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0x35, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, 0x2a, 0x1a, 0x2a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a,
0x01, 0x2a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x68, 0x0a, 0x03, 0x47, 0x65, 0x74,
0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63,
0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75,
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b,
0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e,
0x69, 0x64, 0x7d, 0x12, 0x66, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x20, 0x2e,
0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63,
0x69, 0x64, 0x7d, 0x12, 0x79, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x20, 0x2e,
0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63,
0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x68, 0x0a, 0x04, 0x4c,
0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75,
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d,
0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 0x12, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 0x54, 0x6f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72,
0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a,
0x01, 0x2a, 0x1a, 0x2a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69,
0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x69, 0x64, 0x7d, 0x12, 0x66,
0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72,
0x6f, 0x75, 0x70, 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, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01, 0x2a, 0x22, 0x32, 0x2f,
0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
0x73, 0x12, 0x98, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69,
0x63, 0x65, 0x12, 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44,
0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
0x74, 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x2a, 0x1a, 0x2f, 0x61, 0x70, 0x69,
0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x68, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f,
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63,
0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73,
0x12, 0x89, 0x01, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x25,
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x6f,
0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0x3d, 0x82,
0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01, 0x2a, 0x22, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d,
0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f,
0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x98, 0x01, 0x0a,
0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x2e,
0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f,
0x75, 0x70, 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, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x2a, 0x3c, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73,
0x2f, 0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64,
0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x12, 0x8c, 0x01, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x47,
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x26, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64,
0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x54, 0x6f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x2a, 0x3c,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74,
0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63,
0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x12, 0x8c, 0x01, 0x0a,
0x0a, 0x41, 0x64, 0x64, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x26, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x41, 0x64, 0x64, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x54, 0x6f, 0x4d, 0x75,
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0x3e, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x38, 0x3a, 0x01, 0x2a, 0x22, 0x33, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c,
0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6d,
0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69,
0x64, 0x7d, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x0d,
0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x2b, 0x2e,
0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
0x79, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72,
0x6f, 0x75, 0x70, 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, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x2a, 0x40, 0x2f, 0x61, 0x70, 0x69,
0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x73, 0x2f, 0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f,
0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xaa, 0x01, 0x0a,
0x07, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45,
0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65,
0x75, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x3a, 0x01, 0x2a, 0x22, 0x3b, 0x2f, 0x61,
0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x73, 0x2f, 0x7b, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x2e,
0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
0x69, 0x64, 0x7d, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x0a, 0x46, 0x6c,
0x75, 0x73, 0x68, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46,
0x6c, 0x75, 0x73, 0x68, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 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, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x2a, 0x30,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74,
0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65,
0x12, 0x90, 0x01, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x23,
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75,
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75,
0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x32, 0x12, 0x30, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73,
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x3a, 0x01,
0x2a, 0x22, 0x33, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73,
0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63,
0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x71, 0x75,
0x65, 0x75, 0x65, 0x42, 0x99, 0x01, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70,
0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x13, 0x4d, 0x75, 0x6c, 0x74, 0x69,
0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 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,
0xaa, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70,
0x69, 0xca, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41,
0x70, 0x69, 0xe2, 0x02, 0x1a, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x61,
0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76,
0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x2b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52,
0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x72, 0x6f, 0x6d,
0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0x48, 0x82,
0xd3, 0xe4, 0x93, 0x02, 0x42, 0x2a, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74,
0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6d, 0x75,
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64,
0x7d, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65,
0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xaa, 0x01, 0x0a, 0x07, 0x45, 0x6e, 0x71, 0x75,
0x65, 0x75, 0x65, 0x12, 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75,
0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51,
0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x2b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x75, 0x6c,
0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65,
0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x40, 0x3a, 0x01, 0x2a, 0x22, 0x3b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75,
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b,
0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69,
0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x71,
0x75, 0x65, 0x75, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x0a, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x51, 0x75,
0x65, 0x75, 0x65, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x4d,
0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65,
0x75, 0x65, 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, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x2a, 0x30, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73,
0x2f, 0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x09,
0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24,
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x61,
0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x42, 0x99,
0x01, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b,
0x2e, 0x61, 0x70, 0x69, 0x42, 0x13, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47,
0x72, 0x6f, 0x75, 0x70, 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, 0xaa, 0x02, 0x0e, 0x43, 0x68,
0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70, 0x69, 0xca, 0x02, 0x0e, 0x43,
0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0xe2, 0x02, 0x1a,
0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5c, 0x43, 0x68, 0x69, 0x72,
0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
}
var (
@ -1722,37 +1736,38 @@ var file_api_multicast_group_proto_depIdxs = []int32{
23, // 10: api.GetMulticastGroupResponse.updated_at:type_name -> google.protobuf.Timestamp
2, // 11: api.UpdateMulticastGroupRequest.multicast_group:type_name -> api.MulticastGroup
3, // 12: api.ListMulticastGroupsResponse.result:type_name -> api.MulticastGroupListItem
16, // 13: api.EnqueueMulticastGroupQueueItemRequest.queue_item:type_name -> api.MulticastGroupQueueItem
16, // 14: api.ListMulticastGroupQueueResponse.items:type_name -> api.MulticastGroupQueueItem
4, // 15: api.MulticastGroupService.Create:input_type -> api.CreateMulticastGroupRequest
6, // 16: api.MulticastGroupService.Get:input_type -> api.GetMulticastGroupRequest
8, // 17: api.MulticastGroupService.Update:input_type -> api.UpdateMulticastGroupRequest
9, // 18: api.MulticastGroupService.Delete:input_type -> api.DeleteMulticastGroupRequest
10, // 19: api.MulticastGroupService.List:input_type -> api.ListMulticastGroupsRequest
12, // 20: api.MulticastGroupService.AddDevice:input_type -> api.AddDeviceToMulticastGroupRequest
13, // 21: api.MulticastGroupService.RemoveDevice:input_type -> api.RemoveDeviceFromMulticastGroupRequest
14, // 22: api.MulticastGroupService.AddGateway:input_type -> api.AddGatewayToMulticastGroupRequest
15, // 23: api.MulticastGroupService.RemoveGateway:input_type -> api.RemoveGatewayFromMulticastGroupRequest
17, // 24: api.MulticastGroupService.Enqueue:input_type -> api.EnqueueMulticastGroupQueueItemRequest
19, // 25: api.MulticastGroupService.FlushQueue:input_type -> api.FlushMulticastGroupQueueRequest
20, // 26: api.MulticastGroupService.ListQueue:input_type -> api.ListMulticastGroupQueueRequest
5, // 27: api.MulticastGroupService.Create:output_type -> api.CreateMulticastGroupResponse
7, // 28: api.MulticastGroupService.Get:output_type -> api.GetMulticastGroupResponse
24, // 29: api.MulticastGroupService.Update:output_type -> google.protobuf.Empty
24, // 30: api.MulticastGroupService.Delete:output_type -> google.protobuf.Empty
11, // 31: api.MulticastGroupService.List:output_type -> api.ListMulticastGroupsResponse
24, // 32: api.MulticastGroupService.AddDevice:output_type -> google.protobuf.Empty
24, // 33: api.MulticastGroupService.RemoveDevice:output_type -> google.protobuf.Empty
24, // 34: api.MulticastGroupService.AddGateway:output_type -> google.protobuf.Empty
24, // 35: api.MulticastGroupService.RemoveGateway:output_type -> google.protobuf.Empty
18, // 36: api.MulticastGroupService.Enqueue:output_type -> api.EnqueueMulticastGroupQueueItemResponse
24, // 37: api.MulticastGroupService.FlushQueue:output_type -> google.protobuf.Empty
21, // 38: api.MulticastGroupService.ListQueue:output_type -> api.ListMulticastGroupQueueResponse
27, // [27:39] is the sub-list for method output_type
15, // [15:27] is the sub-list for method input_type
15, // [15:15] is the sub-list for extension type_name
15, // [15:15] is the sub-list for extension extendee
0, // [0:15] is the sub-list for field type_name
23, // 13: api.MulticastGroupQueueItem.expires_at:type_name -> google.protobuf.Timestamp
16, // 14: api.EnqueueMulticastGroupQueueItemRequest.queue_item:type_name -> api.MulticastGroupQueueItem
16, // 15: api.ListMulticastGroupQueueResponse.items:type_name -> api.MulticastGroupQueueItem
4, // 16: api.MulticastGroupService.Create:input_type -> api.CreateMulticastGroupRequest
6, // 17: api.MulticastGroupService.Get:input_type -> api.GetMulticastGroupRequest
8, // 18: api.MulticastGroupService.Update:input_type -> api.UpdateMulticastGroupRequest
9, // 19: api.MulticastGroupService.Delete:input_type -> api.DeleteMulticastGroupRequest
10, // 20: api.MulticastGroupService.List:input_type -> api.ListMulticastGroupsRequest
12, // 21: api.MulticastGroupService.AddDevice:input_type -> api.AddDeviceToMulticastGroupRequest
13, // 22: api.MulticastGroupService.RemoveDevice:input_type -> api.RemoveDeviceFromMulticastGroupRequest
14, // 23: api.MulticastGroupService.AddGateway:input_type -> api.AddGatewayToMulticastGroupRequest
15, // 24: api.MulticastGroupService.RemoveGateway:input_type -> api.RemoveGatewayFromMulticastGroupRequest
17, // 25: api.MulticastGroupService.Enqueue:input_type -> api.EnqueueMulticastGroupQueueItemRequest
19, // 26: api.MulticastGroupService.FlushQueue:input_type -> api.FlushMulticastGroupQueueRequest
20, // 27: api.MulticastGroupService.ListQueue:input_type -> api.ListMulticastGroupQueueRequest
5, // 28: api.MulticastGroupService.Create:output_type -> api.CreateMulticastGroupResponse
7, // 29: api.MulticastGroupService.Get:output_type -> api.GetMulticastGroupResponse
24, // 30: api.MulticastGroupService.Update:output_type -> google.protobuf.Empty
24, // 31: api.MulticastGroupService.Delete:output_type -> google.protobuf.Empty
11, // 32: api.MulticastGroupService.List:output_type -> api.ListMulticastGroupsResponse
24, // 33: api.MulticastGroupService.AddDevice:output_type -> google.protobuf.Empty
24, // 34: api.MulticastGroupService.RemoveDevice:output_type -> google.protobuf.Empty
24, // 35: api.MulticastGroupService.AddGateway:output_type -> google.protobuf.Empty
24, // 36: api.MulticastGroupService.RemoveGateway:output_type -> google.protobuf.Empty
18, // 37: api.MulticastGroupService.Enqueue:output_type -> api.EnqueueMulticastGroupQueueItemResponse
24, // 38: api.MulticastGroupService.FlushQueue:output_type -> google.protobuf.Empty
21, // 39: api.MulticastGroupService.ListQueue:output_type -> api.ListMulticastGroupQueueResponse
28, // [28:40] is the sub-list for method output_type
16, // [16:28] is the sub-list for method input_type
16, // [16:16] is the sub-list for extension type_name
16, // [16:16] is the sub-list for extension extendee
0, // [0:16] is the sub-list for field type_name
}
func init() { file_api_multicast_group_proto_init() }

View File

@ -102,6 +102,8 @@ const (
LogCode_RELAY_NEW_END_DEVICE LogCode = 9
// Downlink frame-counter.
LogCode_F_CNT_DOWN LogCode = 10
// Downlink has expired.
LogCode_EXPIRED LogCode = 11
)
// Enum value maps for LogCode.
@ -118,6 +120,7 @@ var (
8: "DOWNLINK_GATEWAY",
9: "RELAY_NEW_END_DEVICE",
10: "F_CNT_DOWN",
11: "EXPIRED",
}
LogCode_value = map[string]int32{
"UNKNOWN": 0,
@ -131,6 +134,7 @@ var (
"DOWNLINK_GATEWAY": 8,
"RELAY_NEW_END_DEVICE": 9,
"F_CNT_DOWN": 10,
"EXPIRED": 11,
}
)
@ -1566,7 +1570,7 @@ var file_integration_integration_proto_rawDesc = []byte{
0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2a, 0x2c, 0x0a,
0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46,
0x4f, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01,
0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x2a, 0xea, 0x01, 0x0a, 0x07,
0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x2a, 0xf7, 0x01, 0x0a, 0x07,
0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
0x57, 0x4e, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x49, 0x4e, 0x4b,
0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x01, 0x12,
@ -1581,20 +1585,20 @@ var file_integration_integration_proto_rawDesc = []byte{
0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, 0x41, 0x59, 0x10, 0x08, 0x12, 0x18,
0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x45, 0x4e, 0x44, 0x5f,
0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x46, 0x5f, 0x43, 0x4e,
0x54, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x0a, 0x42, 0xbf, 0x01, 0x0a, 0x1d, 0x69, 0x6f, 0x2e,
0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69,
0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x49, 0x6e, 0x74, 0x65,
0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x33,
0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x72, 0x6f, 0x63, 0x61,
0x61, 0x72, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0xaa, 0x02, 0x16, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b,
0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xca, 0x02, 0x16, 0x43,
0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0xe2, 0x02, 0x22, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64,
0x61, 0x74, 0x61, 0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x49,
0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
0x54, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49,
0x52, 0x45, 0x44, 0x10, 0x0b, 0x42, 0xbf, 0x01, 0x0a, 0x1d, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69,
0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x74, 0x65,
0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x33, 0x67, 0x69, 0x74,
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x72, 0x6f, 0x63, 0x61, 0x61, 0x72, 0x2f,
0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67,
0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0xaa, 0x02, 0x16, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x49, 0x6e,
0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xca, 0x02, 0x16, 0x43, 0x68, 0x69, 0x72,
0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0xe2, 0x02, 0x22, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x49, 0x6e, 0x74, 0x65,
0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

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

View File

@ -8,7 +8,7 @@ plugins {
}
group = "io.chirpstack"
version = "4.9.0-test.2"
version = "4.10.1-test.1"
repositories {
mavenCentral()
@ -21,10 +21,10 @@ buildscript {
}
dependencies {
api("io.grpc:grpc-protobuf:1.51.0")
api("io.grpc:grpc-api:1.51.0")
api("io.grpc:grpc-stub:1.51.0")
api("io.grpc:grpc-netty:1.51.0")
api("io.grpc:grpc-protobuf:1.59.1")
api("io.grpc:grpc-api:1.59.1")
api("io.grpc:grpc-stub:1.59.1")
api("io.grpc:grpc-netty:1.59.1")
implementation("javax.annotation:javax.annotation-api:1.3.2")
}

2
api/js/package.json vendored
View File

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

26
api/js/yarn.lock vendored
View File

@ -3,21 +3,21 @@
"@grpc/grpc-js@^1.10.4":
version "1.10.4"
resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.10.4.tgz#a33f743f69ed531e917c9eafb4fd8bc3e5f2e617"
integrity sha512-MqBisuxTkYvPFnEiu+dag3xG/NBUDzSbAFAWlzfkGnQkjVZ6by3h4atbBc+Ikqup1z5BfB4BN18gKWR1YyppNw==
version "1.10.9"
resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.10.9.tgz#468cc1549a3fe37b760a16745fb7685d91f4f10c"
integrity sha512-5tcgUctCG0qoNyfChZifz2tJqbRbXVO9J7X6duFcOjY3HUNCxg5D0ZCK7EP9vIcZ0zRpLU9bWkyCqVCLZ46IbQ==
dependencies:
"@grpc/proto-loader" "^0.7.10"
"@grpc/proto-loader" "^0.7.13"
"@js-sdsl/ordered-map" "^4.4.2"
"@grpc/proto-loader@^0.7.10":
version "0.7.12"
resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.12.tgz#787b58e3e3771df30b1567c057b6ab89e3a42911"
integrity sha512-DCVwMxqYzpUCiDMl7hQ384FqP4T3DbNpXU8pt681l3UWCip1WUiD5JrkImUwCB9a7f2cq4CUTmi5r/xIMRPY1Q==
"@grpc/proto-loader@^0.7.13":
version "0.7.13"
resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.13.tgz#f6a44b2b7c9f7b609f5748c6eac2d420e37670cf"
integrity sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==
dependencies:
lodash.camelcase "^4.3.0"
long "^5.0.0"
protobufjs "^7.2.4"
protobufjs "^7.2.5"
yargs "^17.7.2"
"@js-sdsl/ordered-map@^4.4.2":
@ -410,10 +410,10 @@ path-is-absolute@^1.0.0:
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
protobufjs@^7.2.4:
version "7.2.6"
resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.6.tgz#4a0ccd79eb292717aacf07530a07e0ed20278215"
integrity sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==
protobufjs@^7.2.5:
version "7.3.0"
resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.3.0.tgz#a32ec0422c039798c41a0700306a6e305b9cb32c"
integrity sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==
dependencies:
"@protobufjs/aspromise" "^1.1.2"
"@protobufjs/base64" "^1.1.2"

View File

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

1
api/php/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/generated

View File

@ -3,7 +3,7 @@
"description": "Chirpstack PHP API",
"license": "MIT",
"type": "library",
"version": "4.9.0-test.2",
"version": "4.10.1-test.1",
"require": {
"php": ">=7.0.0",
"grpc/grpc": "^v1.57.0",

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.ActivateDeviceRequest</code>
*/
class ActivateDeviceRequest extends \Google\Protobuf\Internal\Message
{
/**
* Device activation object.
*
* Generated from protobuf field <code>.api.DeviceActivation device_activation = 1;</code>
*/
protected $device_activation = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\DeviceActivation $device_activation
* Device activation object.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Device::initOnce();
parent::__construct($data);
}
/**
* Device activation object.
*
* Generated from protobuf field <code>.api.DeviceActivation device_activation = 1;</code>
* @return \Chirpstack\Api\DeviceActivation|null
*/
public function getDeviceActivation()
{
return $this->device_activation;
}
public function hasDeviceActivation()
{
return isset($this->device_activation);
}
public function clearDeviceActivation()
{
unset($this->device_activation);
}
/**
* Device activation object.
*
* Generated from protobuf field <code>.api.DeviceActivation device_activation = 1;</code>
* @param \Chirpstack\Api\DeviceActivation $var
* @return $this
*/
public function setDeviceActivation($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\DeviceActivation::class);
$this->device_activation = $var;
return $this;
}
}

View File

@ -1,99 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/multicast_group.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.AddDeviceToMulticastGroupRequest</code>
*/
class AddDeviceToMulticastGroupRequest extends \Google\Protobuf\Internal\Message
{
/**
* Multicast group ID.
*
* Generated from protobuf field <code>string multicast_group_id = 1;</code>
*/
protected $multicast_group_id = '';
/**
* Device EUI (HEX encoded).
*
* Generated from protobuf field <code>string dev_eui = 2;</code>
*/
protected $dev_eui = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $multicast_group_id
* Multicast group ID.
* @type string $dev_eui
* Device EUI (HEX encoded).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\MulticastGroup::initOnce();
parent::__construct($data);
}
/**
* Multicast group ID.
*
* Generated from protobuf field <code>string multicast_group_id = 1;</code>
* @return string
*/
public function getMulticastGroupId()
{
return $this->multicast_group_id;
}
/**
* Multicast group ID.
*
* Generated from protobuf field <code>string multicast_group_id = 1;</code>
* @param string $var
* @return $this
*/
public function setMulticastGroupId($var)
{
GPBUtil::checkString($var, True);
$this->multicast_group_id = $var;
return $this;
}
/**
* Device EUI (HEX encoded).
*
* Generated from protobuf field <code>string dev_eui = 2;</code>
* @return string
*/
public function getDevEui()
{
return $this->dev_eui;
}
/**
* Device EUI (HEX encoded).
*
* Generated from protobuf field <code>string dev_eui = 2;</code>
* @param string $var
* @return $this
*/
public function setDevEui($var)
{
GPBUtil::checkString($var, True);
$this->dev_eui = $var;
return $this;
}
}

View File

@ -1,99 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/multicast_group.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.AddGatewayToMulticastGroupRequest</code>
*/
class AddGatewayToMulticastGroupRequest extends \Google\Protobuf\Internal\Message
{
/**
* Multicast group ID.
*
* Generated from protobuf field <code>string multicast_group_id = 1;</code>
*/
protected $multicast_group_id = '';
/**
* Gateway ID (HEX encoded).
*
* Generated from protobuf field <code>string gateway_id = 2;</code>
*/
protected $gateway_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $multicast_group_id
* Multicast group ID.
* @type string $gateway_id
* Gateway ID (HEX encoded).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\MulticastGroup::initOnce();
parent::__construct($data);
}
/**
* Multicast group ID.
*
* Generated from protobuf field <code>string multicast_group_id = 1;</code>
* @return string
*/
public function getMulticastGroupId()
{
return $this->multicast_group_id;
}
/**
* Multicast group ID.
*
* Generated from protobuf field <code>string multicast_group_id = 1;</code>
* @param string $var
* @return $this
*/
public function setMulticastGroupId($var)
{
GPBUtil::checkString($var, True);
$this->multicast_group_id = $var;
return $this;
}
/**
* Gateway ID (HEX encoded).
*
* Generated from protobuf field <code>string gateway_id = 2;</code>
* @return string
*/
public function getGatewayId()
{
return $this->gateway_id;
}
/**
* Gateway ID (HEX encoded).
*
* Generated from protobuf field <code>string gateway_id = 2;</code>
* @param string $var
* @return $this
*/
public function setGatewayId($var)
{
GPBUtil::checkString($var, True);
$this->gateway_id = $var;
return $this;
}
}

View File

@ -1,99 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/relay.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.AddRelayDeviceRequest</code>
*/
class AddRelayDeviceRequest extends \Google\Protobuf\Internal\Message
{
/**
* Relay DevEUI (EUI64).
*
* Generated from protobuf field <code>string relay_dev_eui = 1;</code>
*/
protected $relay_dev_eui = '';
/**
* Device DevEUI (EUI64).
*
* Generated from protobuf field <code>string device_dev_eui = 2;</code>
*/
protected $device_dev_eui = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $relay_dev_eui
* Relay DevEUI (EUI64).
* @type string $device_dev_eui
* Device DevEUI (EUI64).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Relay::initOnce();
parent::__construct($data);
}
/**
* Relay DevEUI (EUI64).
*
* Generated from protobuf field <code>string relay_dev_eui = 1;</code>
* @return string
*/
public function getRelayDevEui()
{
return $this->relay_dev_eui;
}
/**
* Relay DevEUI (EUI64).
*
* Generated from protobuf field <code>string relay_dev_eui = 1;</code>
* @param string $var
* @return $this
*/
public function setRelayDevEui($var)
{
GPBUtil::checkString($var, True);
$this->relay_dev_eui = $var;
return $this;
}
/**
* Device DevEUI (EUI64).
*
* Generated from protobuf field <code>string device_dev_eui = 2;</code>
* @return string
*/
public function getDeviceDevEui()
{
return $this->device_dev_eui;
}
/**
* Device DevEUI (EUI64).
*
* Generated from protobuf field <code>string device_dev_eui = 2;</code>
* @param string $var
* @return $this
*/
public function setDeviceDevEui($var)
{
GPBUtil::checkString($var, True);
$this->device_dev_eui = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/tenant.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.AddTenantUserRequest</code>
*/
class AddTenantUserRequest extends \Google\Protobuf\Internal\Message
{
/**
* Tenant user object.
*
* Generated from protobuf field <code>.api.TenantUser tenant_user = 1;</code>
*/
protected $tenant_user = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\TenantUser $tenant_user
* Tenant user object.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Tenant::initOnce();
parent::__construct($data);
}
/**
* Tenant user object.
*
* Generated from protobuf field <code>.api.TenantUser tenant_user = 1;</code>
* @return \Chirpstack\Api\TenantUser|null
*/
public function getTenantUser()
{
return $this->tenant_user;
}
public function hasTenantUser()
{
return isset($this->tenant_user);
}
public function clearTenantUser()
{
unset($this->tenant_user);
}
/**
* Tenant user object.
*
* Generated from protobuf field <code>.api.TenantUser tenant_user = 1;</code>
* @param \Chirpstack\Api\TenantUser $var
* @return $this
*/
public function setTenantUser($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\TenantUser::class);
$this->tenant_user = $var;
return $this;
}
}

View File

@ -1,99 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device_profile.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.AdrAlgorithmListItem</code>
*/
class AdrAlgorithmListItem extends \Google\Protobuf\Internal\Message
{
/**
* Algorithm ID.
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Algorithm name.
*
* Generated from protobuf field <code>string name = 2;</code>
*/
protected $name = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* Algorithm ID.
* @type string $name
* Algorithm name.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\DeviceProfile::initOnce();
parent::__construct($data);
}
/**
* Algorithm ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* Algorithm ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
/**
* Algorithm name.
*
* Generated from protobuf field <code>string name = 2;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Algorithm name.
*
* Generated from protobuf field <code>string name = 2;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
}

View File

@ -1,175 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/internal.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.ApiKey</code>
*/
class ApiKey extends \Google\Protobuf\Internal\Message
{
/**
* API key ID.
* This value will be automatically generated on create.
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Name.
*
* Generated from protobuf field <code>string name = 2;</code>
*/
protected $name = '';
/**
* Is global admin key.
*
* Generated from protobuf field <code>bool is_admin = 3;</code>
*/
protected $is_admin = false;
/**
* Tenant ID.
* In case the API key is intended to manage resources under a single tenant.
*
* Generated from protobuf field <code>string tenant_id = 4;</code>
*/
protected $tenant_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* API key ID.
* This value will be automatically generated on create.
* @type string $name
* Name.
* @type bool $is_admin
* Is global admin key.
* @type string $tenant_id
* Tenant ID.
* In case the API key is intended to manage resources under a single tenant.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Internal::initOnce();
parent::__construct($data);
}
/**
* API key ID.
* This value will be automatically generated on create.
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* API key ID.
* This value will be automatically generated on create.
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
/**
* Name.
*
* Generated from protobuf field <code>string name = 2;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Name.
*
* Generated from protobuf field <code>string name = 2;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Is global admin key.
*
* Generated from protobuf field <code>bool is_admin = 3;</code>
* @return bool
*/
public function getIsAdmin()
{
return $this->is_admin;
}
/**
* Is global admin key.
*
* Generated from protobuf field <code>bool is_admin = 3;</code>
* @param bool $var
* @return $this
*/
public function setIsAdmin($var)
{
GPBUtil::checkBool($var);
$this->is_admin = $var;
return $this;
}
/**
* Tenant ID.
* In case the API key is intended to manage resources under a single tenant.
*
* Generated from protobuf field <code>string tenant_id = 4;</code>
* @return string
*/
public function getTenantId()
{
return $this->tenant_id;
}
/**
* Tenant ID.
* In case the API key is intended to manage resources under a single tenant.
*
* Generated from protobuf field <code>string tenant_id = 4;</code>
* @param string $var
* @return $this
*/
public function setTenantId($var)
{
GPBUtil::checkString($var, True);
$this->tenant_id = $var;
return $this;
}
}

View File

@ -1,217 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.Application</code>
*/
class Application extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
* Note: on create this will be automatically generated.
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Application name.
*
* Generated from protobuf field <code>string name = 2;</code>
*/
protected $name = '';
/**
* Application description.
*
* Generated from protobuf field <code>string description = 3;</code>
*/
protected $description = '';
/**
* Tenant ID (UUID).
*
* Generated from protobuf field <code>string tenant_id = 4;</code>
*/
protected $tenant_id = '';
/**
* Tags (user defined).
* These tags can be used to add additional information to the application.
* These tags are exposed in all the integration events of devices under
* this application.
*
* Generated from protobuf field <code>map<string, string> tags = 5;</code>
*/
private $tags;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* Application ID (UUID).
* Note: on create this will be automatically generated.
* @type string $name
* Application name.
* @type string $description
* Application description.
* @type string $tenant_id
* Tenant ID (UUID).
* @type array|\Google\Protobuf\Internal\MapField $tags
* Tags (user defined).
* These tags can be used to add additional information to the application.
* These tags are exposed in all the integration events of devices under
* this application.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
* Note: on create this will be automatically generated.
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* Application ID (UUID).
* Note: on create this will be automatically generated.
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
/**
* Application name.
*
* Generated from protobuf field <code>string name = 2;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Application name.
*
* Generated from protobuf field <code>string name = 2;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Application description.
*
* Generated from protobuf field <code>string description = 3;</code>
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Application description.
*
* Generated from protobuf field <code>string description = 3;</code>
* @param string $var
* @return $this
*/
public function setDescription($var)
{
GPBUtil::checkString($var, True);
$this->description = $var;
return $this;
}
/**
* Tenant ID (UUID).
*
* Generated from protobuf field <code>string tenant_id = 4;</code>
* @return string
*/
public function getTenantId()
{
return $this->tenant_id;
}
/**
* Tenant ID (UUID).
*
* Generated from protobuf field <code>string tenant_id = 4;</code>
* @param string $var
* @return $this
*/
public function setTenantId($var)
{
GPBUtil::checkString($var, True);
$this->tenant_id = $var;
return $this;
}
/**
* Tags (user defined).
* These tags can be used to add additional information to the application.
* These tags are exposed in all the integration events of devices under
* this application.
*
* Generated from protobuf field <code>map<string, string> tags = 5;</code>
* @return \Google\Protobuf\Internal\MapField
*/
public function getTags()
{
return $this->tags;
}
/**
* Tags (user defined).
* These tags can be used to add additional information to the application.
* These tags are exposed in all the integration events of devices under
* this application.
*
* Generated from protobuf field <code>map<string, string> tags = 5;</code>
* @param array|\Google\Protobuf\Internal\MapField $var
* @return $this
*/
public function setTags($var)
{
$arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::STRING);
$this->tags = $arr;
return $this;
}
}

View File

@ -1,221 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.ApplicationListItem</code>
*/
class ApplicationListItem extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Created at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 2;</code>
*/
protected $created_at = null;
/**
* Last update timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp updated_at = 3;</code>
*/
protected $updated_at = null;
/**
* Application name.
*
* Generated from protobuf field <code>string name = 4;</code>
*/
protected $name = '';
/**
* Application description.
*
* Generated from protobuf field <code>string description = 5;</code>
*/
protected $description = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* Application ID (UUID).
* @type \Google\Protobuf\Timestamp $created_at
* Created at timestamp.
* @type \Google\Protobuf\Timestamp $updated_at
* Last update timestamp.
* @type string $name
* Application name.
* @type string $description
* Application description.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
/**
* Created at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 2;</code>
* @return \Google\Protobuf\Timestamp|null
*/
public function getCreatedAt()
{
return $this->created_at;
}
public function hasCreatedAt()
{
return isset($this->created_at);
}
public function clearCreatedAt()
{
unset($this->created_at);
}
/**
* Created at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 2;</code>
* @param \Google\Protobuf\Timestamp $var
* @return $this
*/
public function setCreatedAt($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
$this->created_at = $var;
return $this;
}
/**
* Last update timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp updated_at = 3;</code>
* @return \Google\Protobuf\Timestamp|null
*/
public function getUpdatedAt()
{
return $this->updated_at;
}
public function hasUpdatedAt()
{
return isset($this->updated_at);
}
public function clearUpdatedAt()
{
unset($this->updated_at);
}
/**
* Last update timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp updated_at = 3;</code>
* @param \Google\Protobuf\Timestamp $var
* @return $this
*/
public function setUpdatedAt($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
$this->updated_at = $var;
return $this;
}
/**
* Application name.
*
* Generated from protobuf field <code>string name = 4;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Application name.
*
* Generated from protobuf field <code>string name = 4;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Application description.
*
* Generated from protobuf field <code>string description = 5;</code>
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Application description.
*
* Generated from protobuf field <code>string description = 5;</code>
* @param string $var
* @return $this
*/
public function setDescription($var)
{
GPBUtil::checkString($var, True);
$this->description = $var;
return $this;
}
}

View File

@ -1,726 +0,0 @@
<?php
// GENERATED CODE -- DO NOT EDIT!
namespace Chirpstack\Api;
/**
* ApplicationService is the service providing API methods for managing
* applications.
*/
class ApplicationServiceClient extends \Grpc\BaseStub {
/**
* @param string $hostname hostname
* @param array $opts channel options
* @param \Grpc\Channel $channel (optional) re-use channel object
*/
public function __construct($hostname, $opts, $channel = null) {
parent::__construct($hostname, $opts, $channel);
}
/**
* Create creates the given application.
* @param \Chirpstack\Api\CreateApplicationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Create(\Chirpstack\Api\CreateApplicationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/Create',
$argument,
['\Chirpstack\Api\CreateApplicationResponse', 'decode'],
$metadata, $options);
}
/**
* Get the application for the given ID.
* @param \Chirpstack\Api\GetApplicationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Get(\Chirpstack\Api\GetApplicationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/Get',
$argument,
['\Chirpstack\Api\GetApplicationResponse', 'decode'],
$metadata, $options);
}
/**
* Update updates the given application.
* @param \Chirpstack\Api\UpdateApplicationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Update(\Chirpstack\Api\UpdateApplicationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/Update',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete the application for the given ID.
* @param \Chirpstack\Api\DeleteApplicationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Delete(\Chirpstack\Api\DeleteApplicationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/Delete',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get the list of applications.
* @param \Chirpstack\Api\ListApplicationsRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function List(\Chirpstack\Api\ListApplicationsRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/List',
$argument,
['\Chirpstack\Api\ListApplicationsResponse', 'decode'],
$metadata, $options);
}
/**
* List all configured integrations.
* @param \Chirpstack\Api\ListIntegrationsRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function ListIntegrations(\Chirpstack\Api\ListIntegrationsRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/ListIntegrations',
$argument,
['\Chirpstack\Api\ListIntegrationsResponse', 'decode'],
$metadata, $options);
}
/**
* Create HTTP integration.
* @param \Chirpstack\Api\CreateHttpIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function CreateHttpIntegration(\Chirpstack\Api\CreateHttpIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/CreateHttpIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get the configured HTTP integration.
* @param \Chirpstack\Api\GetHttpIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetHttpIntegration(\Chirpstack\Api\GetHttpIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/GetHttpIntegration',
$argument,
['\Chirpstack\Api\GetHttpIntegrationResponse', 'decode'],
$metadata, $options);
}
/**
* Update the HTTP integration.
* @param \Chirpstack\Api\UpdateHttpIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function UpdateHttpIntegration(\Chirpstack\Api\UpdateHttpIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/UpdateHttpIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete the HTTP integration.
* @param \Chirpstack\Api\DeleteHttpIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function DeleteHttpIntegration(\Chirpstack\Api\DeleteHttpIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/DeleteHttpIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Create InfluxDb integration.
* @param \Chirpstack\Api\CreateInfluxDbIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function CreateInfluxDbIntegration(\Chirpstack\Api\CreateInfluxDbIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/CreateInfluxDbIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get InfluxDb integration.
* @param \Chirpstack\Api\GetInfluxDbIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetInfluxDbIntegration(\Chirpstack\Api\GetInfluxDbIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/GetInfluxDbIntegration',
$argument,
['\Chirpstack\Api\GetInfluxDbIntegrationResponse', 'decode'],
$metadata, $options);
}
/**
* Update InfluxDb integration.
* @param \Chirpstack\Api\UpdateInfluxDbIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function UpdateInfluxDbIntegration(\Chirpstack\Api\UpdateInfluxDbIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/UpdateInfluxDbIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete InfluxDb integration.
* @param \Chirpstack\Api\DeleteInfluxDbIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function DeleteInfluxDbIntegration(\Chirpstack\Api\DeleteInfluxDbIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/DeleteInfluxDbIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Create ThingsBoard integration.
* @param \Chirpstack\Api\CreateThingsBoardIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function CreateThingsBoardIntegration(\Chirpstack\Api\CreateThingsBoardIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/CreateThingsBoardIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get ThingsBoard integration.
* @param \Chirpstack\Api\GetThingsBoardIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetThingsBoardIntegration(\Chirpstack\Api\GetThingsBoardIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/GetThingsBoardIntegration',
$argument,
['\Chirpstack\Api\GetThingsBoardIntegrationResponse', 'decode'],
$metadata, $options);
}
/**
* Update ThingsBoard integration.
* @param \Chirpstack\Api\UpdateThingsBoardIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function UpdateThingsBoardIntegration(\Chirpstack\Api\UpdateThingsBoardIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/UpdateThingsBoardIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete ThingsBoard integration.
* @param \Chirpstack\Api\DeleteThingsBoardIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function DeleteThingsBoardIntegration(\Chirpstack\Api\DeleteThingsBoardIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/DeleteThingsBoardIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Create myDevices integration.
* @param \Chirpstack\Api\CreateMyDevicesIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function CreateMyDevicesIntegration(\Chirpstack\Api\CreateMyDevicesIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/CreateMyDevicesIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get myDevices integration.
* @param \Chirpstack\Api\GetMyDevicesIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetMyDevicesIntegration(\Chirpstack\Api\GetMyDevicesIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/GetMyDevicesIntegration',
$argument,
['\Chirpstack\Api\GetMyDevicesIntegrationResponse', 'decode'],
$metadata, $options);
}
/**
* Update myDevices integration.
* @param \Chirpstack\Api\UpdateMyDevicesIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function UpdateMyDevicesIntegration(\Chirpstack\Api\UpdateMyDevicesIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/UpdateMyDevicesIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete myDevices integration.
* @param \Chirpstack\Api\DeleteMyDevicesIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function DeleteMyDevicesIntegration(\Chirpstack\Api\DeleteMyDevicesIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/DeleteMyDevicesIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Create LoRaCloud integration.
* @param \Chirpstack\Api\CreateLoraCloudIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function CreateLoraCloudIntegration(\Chirpstack\Api\CreateLoraCloudIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/CreateLoraCloudIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get LoRaCloud integration.
* @param \Chirpstack\Api\GetLoraCloudIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetLoraCloudIntegration(\Chirpstack\Api\GetLoraCloudIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/GetLoraCloudIntegration',
$argument,
['\Chirpstack\Api\GetLoraCloudIntegrationResponse', 'decode'],
$metadata, $options);
}
/**
* Update LoRaCloud integration.
* @param \Chirpstack\Api\UpdateLoraCloudIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function UpdateLoraCloudIntegration(\Chirpstack\Api\UpdateLoraCloudIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/UpdateLoraCloudIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete LoRaCloud integration.
* @param \Chirpstack\Api\DeleteLoraCloudIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function DeleteLoraCloudIntegration(\Chirpstack\Api\DeleteLoraCloudIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/DeleteLoraCloudIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Create GCP Pub/Sub integration.
* @param \Chirpstack\Api\CreateGcpPubSubIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function CreateGcpPubSubIntegration(\Chirpstack\Api\CreateGcpPubSubIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/CreateGcpPubSubIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get GCP Pub/Sub integration.
* @param \Chirpstack\Api\GetGcpPubSubIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetGcpPubSubIntegration(\Chirpstack\Api\GetGcpPubSubIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/GetGcpPubSubIntegration',
$argument,
['\Chirpstack\Api\GetGcpPubSubIntegrationResponse', 'decode'],
$metadata, $options);
}
/**
* Update GCP Pub/Sub integration.
* @param \Chirpstack\Api\UpdateGcpPubSubIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function UpdateGcpPubSubIntegration(\Chirpstack\Api\UpdateGcpPubSubIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/UpdateGcpPubSubIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete GCP Pub/Sub integration.
* @param \Chirpstack\Api\DeleteGcpPubSubIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function DeleteGcpPubSubIntegration(\Chirpstack\Api\DeleteGcpPubSubIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/DeleteGcpPubSubIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Create AWS SNS integration.
* @param \Chirpstack\Api\CreateAwsSnsIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function CreateAwsSnsIntegration(\Chirpstack\Api\CreateAwsSnsIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/CreateAwsSnsIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get AWS SNS integration.
* @param \Chirpstack\Api\GetAwsSnsIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetAwsSnsIntegration(\Chirpstack\Api\GetAwsSnsIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/GetAwsSnsIntegration',
$argument,
['\Chirpstack\Api\GetAwsSnsIntegrationResponse', 'decode'],
$metadata, $options);
}
/**
* Update AWS SNS integration.
* @param \Chirpstack\Api\UpdateAwsSnsIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function UpdateAwsSnsIntegration(\Chirpstack\Api\UpdateAwsSnsIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/UpdateAwsSnsIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete AWS SNS integration.
* @param \Chirpstack\Api\DeleteAwsSnsIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function DeleteAwsSnsIntegration(\Chirpstack\Api\DeleteAwsSnsIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/DeleteAwsSnsIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Create Azure Service-Bus integration.
* @param \Chirpstack\Api\CreateAzureServiceBusIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function CreateAzureServiceBusIntegration(\Chirpstack\Api\CreateAzureServiceBusIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/CreateAzureServiceBusIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get Azure Service-Bus integration.
* @param \Chirpstack\Api\GetAzureServiceBusIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetAzureServiceBusIntegration(\Chirpstack\Api\GetAzureServiceBusIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/GetAzureServiceBusIntegration',
$argument,
['\Chirpstack\Api\GetAzureServiceBusIntegrationResponse', 'decode'],
$metadata, $options);
}
/**
* Update Azure Service-Bus integration.
* @param \Chirpstack\Api\UpdateAzureServiceBusIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function UpdateAzureServiceBusIntegration(\Chirpstack\Api\UpdateAzureServiceBusIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/UpdateAzureServiceBusIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete Azure Service-Bus integration.
* @param \Chirpstack\Api\DeleteAzureServiceBusIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function DeleteAzureServiceBusIntegration(\Chirpstack\Api\DeleteAzureServiceBusIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/DeleteAzureServiceBusIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Create Pilot Things integration.
* @param \Chirpstack\Api\CreatePilotThingsIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function CreatePilotThingsIntegration(\Chirpstack\Api\CreatePilotThingsIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/CreatePilotThingsIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get Pilot Things integration.
* @param \Chirpstack\Api\GetPilotThingsIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetPilotThingsIntegration(\Chirpstack\Api\GetPilotThingsIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/GetPilotThingsIntegration',
$argument,
['\Chirpstack\Api\GetPilotThingsIntegrationResponse', 'decode'],
$metadata, $options);
}
/**
* Update Pilot Things integration.
* @param \Chirpstack\Api\UpdatePilotThingsIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function UpdatePilotThingsIntegration(\Chirpstack\Api\UpdatePilotThingsIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/UpdatePilotThingsIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete Pilot Things integration.
* @param \Chirpstack\Api\DeletePilotThingsIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function DeletePilotThingsIntegration(\Chirpstack\Api\DeletePilotThingsIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/DeletePilotThingsIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Create IFTTT integration.
* @param \Chirpstack\Api\CreateIftttIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function CreateIftttIntegration(\Chirpstack\Api\CreateIftttIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/CreateIftttIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get IFTTT integration.
* @param \Chirpstack\Api\GetIftttIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetIftttIntegration(\Chirpstack\Api\GetIftttIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/GetIftttIntegration',
$argument,
['\Chirpstack\Api\GetIftttIntegrationResponse', 'decode'],
$metadata, $options);
}
/**
* Update IFTTT integration.
* @param \Chirpstack\Api\UpdateIftttIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function UpdateIftttIntegration(\Chirpstack\Api\UpdateIftttIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/UpdateIftttIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete IFTTT integration.
* @param \Chirpstack\Api\DeleteIftttIntegrationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function DeleteIftttIntegration(\Chirpstack\Api\DeleteIftttIntegrationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/DeleteIftttIntegration',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Generates application ID specific client-certificate.
* @param \Chirpstack\Api\GenerateMqttIntegrationClientCertificateRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GenerateMqttIntegrationClientCertificate(\Chirpstack\Api\GenerateMqttIntegrationClientCertificateRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.ApplicationService/GenerateMqttIntegrationClientCertificate',
$argument,
['\Chirpstack\Api\GenerateMqttIntegrationClientCertificateResponse', 'decode'],
$metadata, $options);
}
}

View File

@ -1,235 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.AwsSnsIntegration</code>
*/
class AwsSnsIntegration extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
*/
protected $application_id = '';
/**
* Encoding.
*
* Generated from protobuf field <code>.api.Encoding encoding = 2;</code>
*/
protected $encoding = 0;
/**
* AWS region.
*
* Generated from protobuf field <code>string region = 3;</code>
*/
protected $region = '';
/**
* AWS Access Key ID.
*
* Generated from protobuf field <code>string access_key_id = 4;</code>
*/
protected $access_key_id = '';
/**
* AWS Secret Access Key.
*
* Generated from protobuf field <code>string secret_access_key = 5;</code>
*/
protected $secret_access_key = '';
/**
* Topic ARN.
*
* Generated from protobuf field <code>string topic_arn = 6;</code>
*/
protected $topic_arn = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $application_id
* Application ID (UUID).
* @type int $encoding
* Encoding.
* @type string $region
* AWS region.
* @type string $access_key_id
* AWS Access Key ID.
* @type string $secret_access_key
* AWS Secret Access Key.
* @type string $topic_arn
* Topic ARN.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @return string
*/
public function getApplicationId()
{
return $this->application_id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @param string $var
* @return $this
*/
public function setApplicationId($var)
{
GPBUtil::checkString($var, True);
$this->application_id = $var;
return $this;
}
/**
* Encoding.
*
* Generated from protobuf field <code>.api.Encoding encoding = 2;</code>
* @return int
*/
public function getEncoding()
{
return $this->encoding;
}
/**
* Encoding.
*
* Generated from protobuf field <code>.api.Encoding encoding = 2;</code>
* @param int $var
* @return $this
*/
public function setEncoding($var)
{
GPBUtil::checkEnum($var, \Chirpstack\Api\Encoding::class);
$this->encoding = $var;
return $this;
}
/**
* AWS region.
*
* Generated from protobuf field <code>string region = 3;</code>
* @return string
*/
public function getRegion()
{
return $this->region;
}
/**
* AWS region.
*
* Generated from protobuf field <code>string region = 3;</code>
* @param string $var
* @return $this
*/
public function setRegion($var)
{
GPBUtil::checkString($var, True);
$this->region = $var;
return $this;
}
/**
* AWS Access Key ID.
*
* Generated from protobuf field <code>string access_key_id = 4;</code>
* @return string
*/
public function getAccessKeyId()
{
return $this->access_key_id;
}
/**
* AWS Access Key ID.
*
* Generated from protobuf field <code>string access_key_id = 4;</code>
* @param string $var
* @return $this
*/
public function setAccessKeyId($var)
{
GPBUtil::checkString($var, True);
$this->access_key_id = $var;
return $this;
}
/**
* AWS Secret Access Key.
*
* Generated from protobuf field <code>string secret_access_key = 5;</code>
* @return string
*/
public function getSecretAccessKey()
{
return $this->secret_access_key;
}
/**
* AWS Secret Access Key.
*
* Generated from protobuf field <code>string secret_access_key = 5;</code>
* @param string $var
* @return $this
*/
public function setSecretAccessKey($var)
{
GPBUtil::checkString($var, True);
$this->secret_access_key = $var;
return $this;
}
/**
* Topic ARN.
*
* Generated from protobuf field <code>string topic_arn = 6;</code>
* @return string
*/
public function getTopicArn()
{
return $this->topic_arn;
}
/**
* Topic ARN.
*
* Generated from protobuf field <code>string topic_arn = 6;</code>
* @param string $var
* @return $this
*/
public function setTopicArn($var)
{
GPBUtil::checkString($var, True);
$this->topic_arn = $var;
return $this;
}
}

View File

@ -1,171 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.AzureServiceBusIntegration</code>
*/
class AzureServiceBusIntegration extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
*/
protected $application_id = '';
/**
* Encoding.
*
* Generated from protobuf field <code>.api.Encoding encoding = 2;</code>
*/
protected $encoding = 0;
/**
* Connection string.
*
* Generated from protobuf field <code>string connection_string = 3;</code>
*/
protected $connection_string = '';
/**
* Publish name.
* This is the name of the topic or queue.
*
* Generated from protobuf field <code>string publish_name = 4;</code>
*/
protected $publish_name = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $application_id
* Application ID (UUID).
* @type int $encoding
* Encoding.
* @type string $connection_string
* Connection string.
* @type string $publish_name
* Publish name.
* This is the name of the topic or queue.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @return string
*/
public function getApplicationId()
{
return $this->application_id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @param string $var
* @return $this
*/
public function setApplicationId($var)
{
GPBUtil::checkString($var, True);
$this->application_id = $var;
return $this;
}
/**
* Encoding.
*
* Generated from protobuf field <code>.api.Encoding encoding = 2;</code>
* @return int
*/
public function getEncoding()
{
return $this->encoding;
}
/**
* Encoding.
*
* Generated from protobuf field <code>.api.Encoding encoding = 2;</code>
* @param int $var
* @return $this
*/
public function setEncoding($var)
{
GPBUtil::checkEnum($var, \Chirpstack\Api\Encoding::class);
$this->encoding = $var;
return $this;
}
/**
* Connection string.
*
* Generated from protobuf field <code>string connection_string = 3;</code>
* @return string
*/
public function getConnectionString()
{
return $this->connection_string;
}
/**
* Connection string.
*
* Generated from protobuf field <code>string connection_string = 3;</code>
* @param string $var
* @return $this
*/
public function setConnectionString($var)
{
GPBUtil::checkString($var, True);
$this->connection_string = $var;
return $this;
}
/**
* Publish name.
* This is the name of the topic or queue.
*
* Generated from protobuf field <code>string publish_name = 4;</code>
* @return string
*/
public function getPublishName()
{
return $this->publish_name;
}
/**
* Publish name.
* This is the name of the topic or queue.
*
* Generated from protobuf field <code>string publish_name = 4;</code>
* @param string $var
* @return $this
*/
public function setPublishName($var)
{
GPBUtil::checkString($var, True);
$this->publish_name = $var;
return $this;
}
}

View File

@ -1,80 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device_profile.proto
namespace Chirpstack\Api;
use UnexpectedValueException;
/**
* Protobuf type <code>api.CadPeriodicity</code>
*/
class CadPeriodicity
{
/**
* 1 second.
*
* Generated from protobuf enum <code>SEC_1 = 0;</code>
*/
const SEC_1 = 0;
/**
* 500 milliseconds
*
* Generated from protobuf enum <code>MS_500 = 1;</code>
*/
const MS_500 = 1;
/**
* 250 milliseconds
*
* Generated from protobuf enum <code>MS_250 = 2;</code>
*/
const MS_250 = 2;
/**
* 100 milliseconds
*
* Generated from protobuf enum <code>MS_100 = 3;</code>
*/
const MS_100 = 3;
/**
* 50 milliseconds
*
* Generated from protobuf enum <code>MS_50 = 4;</code>
*/
const MS_50 = 4;
/**
* 20 milliseconds
*
* Generated from protobuf enum <code>MS_20 = 5;</code>
*/
const MS_20 = 5;
private static $valueToName = [
self::SEC_1 => 'SEC_1',
self::MS_500 => 'MS_500',
self::MS_250 => 'MS_250',
self::MS_100 => 'MS_100',
self::MS_50 => 'MS_50',
self::MS_20 => 'MS_20',
];
public static function name($value)
{
if (!isset(self::$valueToName[$value])) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no name defined for value %s', __CLASS__, $value));
}
return self::$valueToName[$value];
}
public static function value($name)
{
$const = __CLASS__ . '::' . strtoupper($name);
if (!defined($const)) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no value defined for name %s', __CLASS__, $name));
}
return constant($const);
}
}

View File

@ -1,59 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device_profile.proto
namespace Chirpstack\Api;
use UnexpectedValueException;
/**
* Protobuf type <code>api.CodecRuntime</code>
*/
class CodecRuntime
{
/**
* None.
*
* Generated from protobuf enum <code>NONE = 0;</code>
*/
const NONE = 0;
/**
* Cayenne LPP.
*
* Generated from protobuf enum <code>CAYENNE_LPP = 1;</code>
*/
const CAYENNE_LPP = 1;
/**
* JavaScript.
*
* Generated from protobuf enum <code>JS = 2;</code>
*/
const JS = 2;
private static $valueToName = [
self::NONE => 'NONE',
self::CAYENNE_LPP => 'CAYENNE_LPP',
self::JS => 'JS',
];
public static function name($value)
{
if (!isset(self::$valueToName[$value])) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no name defined for value %s', __CLASS__, $value));
}
return self::$valueToName[$value];
}
public static function value($name)
{
$const = __CLASS__ . '::' . strtoupper($name);
if (!defined($const)) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no value defined for name %s', __CLASS__, $name));
}
return constant($const);
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/internal.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateApiKeyRequest</code>
*/
class CreateApiKeyRequest extends \Google\Protobuf\Internal\Message
{
/**
* The API key to create.
*
* Generated from protobuf field <code>.api.ApiKey api_key = 1;</code>
*/
protected $api_key = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\ApiKey $api_key
* The API key to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Internal::initOnce();
parent::__construct($data);
}
/**
* The API key to create.
*
* Generated from protobuf field <code>.api.ApiKey api_key = 1;</code>
* @return \Chirpstack\Api\ApiKey|null
*/
public function getApiKey()
{
return $this->api_key;
}
public function hasApiKey()
{
return isset($this->api_key);
}
public function clearApiKey()
{
unset($this->api_key);
}
/**
* The API key to create.
*
* Generated from protobuf field <code>.api.ApiKey api_key = 1;</code>
* @param \Chirpstack\Api\ApiKey $var
* @return $this
*/
public function setApiKey($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\ApiKey::class);
$this->api_key = $var;
return $this;
}
}

View File

@ -1,99 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/internal.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateApiKeyResponse</code>
*/
class CreateApiKeyResponse extends \Google\Protobuf\Internal\Message
{
/**
* API key ID.
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* API token for authentication API requests.
*
* Generated from protobuf field <code>string token = 2;</code>
*/
protected $token = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* API key ID.
* @type string $token
* API token for authentication API requests.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Internal::initOnce();
parent::__construct($data);
}
/**
* API key ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* API key ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
/**
* API token for authentication API requests.
*
* Generated from protobuf field <code>string token = 2;</code>
* @return string
*/
public function getToken()
{
return $this->token;
}
/**
* API token for authentication API requests.
*
* Generated from protobuf field <code>string token = 2;</code>
* @param string $var
* @return $this
*/
public function setToken($var)
{
GPBUtil::checkString($var, True);
$this->token = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateApplicationRequest</code>
*/
class CreateApplicationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Application object to create.
*
* Generated from protobuf field <code>.api.Application application = 1;</code>
*/
protected $application = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\Application $application
* Application object to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application object to create.
*
* Generated from protobuf field <code>.api.Application application = 1;</code>
* @return \Chirpstack\Api\Application|null
*/
public function getApplication()
{
return $this->application;
}
public function hasApplication()
{
return isset($this->application);
}
public function clearApplication()
{
unset($this->application);
}
/**
* Application object to create.
*
* Generated from protobuf field <code>.api.Application application = 1;</code>
* @param \Chirpstack\Api\Application $var
* @return $this
*/
public function setApplication($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\Application::class);
$this->application = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateApplicationResponse</code>
*/
class CreateApplicationResponse extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* Application ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateAwsSnsIntegrationRequest</code>
*/
class CreateAwsSnsIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.AwsSnsIntegration integration = 1;</code>
*/
protected $integration = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\AwsSnsIntegration $integration
* Integration object to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.AwsSnsIntegration integration = 1;</code>
* @return \Chirpstack\Api\AwsSnsIntegration|null
*/
public function getIntegration()
{
return $this->integration;
}
public function hasIntegration()
{
return isset($this->integration);
}
public function clearIntegration()
{
unset($this->integration);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.AwsSnsIntegration integration = 1;</code>
* @param \Chirpstack\Api\AwsSnsIntegration $var
* @return $this
*/
public function setIntegration($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\AwsSnsIntegration::class);
$this->integration = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateAzureServiceBusIntegrationRequest</code>
*/
class CreateAzureServiceBusIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.AzureServiceBusIntegration integration = 1;</code>
*/
protected $integration = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\AzureServiceBusIntegration $integration
* Integration object to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.AzureServiceBusIntegration integration = 1;</code>
* @return \Chirpstack\Api\AzureServiceBusIntegration|null
*/
public function getIntegration()
{
return $this->integration;
}
public function hasIntegration()
{
return isset($this->integration);
}
public function clearIntegration()
{
unset($this->integration);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.AzureServiceBusIntegration integration = 1;</code>
* @param \Chirpstack\Api\AzureServiceBusIntegration $var
* @return $this
*/
public function setIntegration($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\AzureServiceBusIntegration::class);
$this->integration = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateDeviceKeysRequest</code>
*/
class CreateDeviceKeysRequest extends \Google\Protobuf\Internal\Message
{
/**
* Device-keys object.
*
* Generated from protobuf field <code>.api.DeviceKeys device_keys = 1;</code>
*/
protected $device_keys = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\DeviceKeys $device_keys
* Device-keys object.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Device::initOnce();
parent::__construct($data);
}
/**
* Device-keys object.
*
* Generated from protobuf field <code>.api.DeviceKeys device_keys = 1;</code>
* @return \Chirpstack\Api\DeviceKeys|null
*/
public function getDeviceKeys()
{
return $this->device_keys;
}
public function hasDeviceKeys()
{
return isset($this->device_keys);
}
public function clearDeviceKeys()
{
unset($this->device_keys);
}
/**
* Device-keys object.
*
* Generated from protobuf field <code>.api.DeviceKeys device_keys = 1;</code>
* @param \Chirpstack\Api\DeviceKeys $var
* @return $this
*/
public function setDeviceKeys($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\DeviceKeys::class);
$this->device_keys = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device_profile.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateDeviceProfileRequest</code>
*/
class CreateDeviceProfileRequest extends \Google\Protobuf\Internal\Message
{
/**
* Object to create.
*
* Generated from protobuf field <code>.api.DeviceProfile device_profile = 1;</code>
*/
protected $device_profile = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\DeviceProfile $device_profile
* Object to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\DeviceProfile::initOnce();
parent::__construct($data);
}
/**
* Object to create.
*
* Generated from protobuf field <code>.api.DeviceProfile device_profile = 1;</code>
* @return \Chirpstack\Api\DeviceProfile|null
*/
public function getDeviceProfile()
{
return $this->device_profile;
}
public function hasDeviceProfile()
{
return isset($this->device_profile);
}
public function clearDeviceProfile()
{
unset($this->device_profile);
}
/**
* Object to create.
*
* Generated from protobuf field <code>.api.DeviceProfile device_profile = 1;</code>
* @param \Chirpstack\Api\DeviceProfile $var
* @return $this
*/
public function setDeviceProfile($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\DeviceProfile::class);
$this->device_profile = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device_profile.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateDeviceProfileResponse</code>
*/
class CreateDeviceProfileResponse extends \Google\Protobuf\Internal\Message
{
/**
* ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\DeviceProfile::initOnce();
parent::__construct($data);
}
/**
* ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device_profile_template.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateDeviceProfileTemplateRequest</code>
*/
class CreateDeviceProfileTemplateRequest extends \Google\Protobuf\Internal\Message
{
/**
* Object to create.
*
* Generated from protobuf field <code>.api.DeviceProfileTemplate device_profile_template = 1;</code>
*/
protected $device_profile_template = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\DeviceProfileTemplate $device_profile_template
* Object to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\DeviceProfileTemplate::initOnce();
parent::__construct($data);
}
/**
* Object to create.
*
* Generated from protobuf field <code>.api.DeviceProfileTemplate device_profile_template = 1;</code>
* @return \Chirpstack\Api\DeviceProfileTemplate|null
*/
public function getDeviceProfileTemplate()
{
return $this->device_profile_template;
}
public function hasDeviceProfileTemplate()
{
return isset($this->device_profile_template);
}
public function clearDeviceProfileTemplate()
{
unset($this->device_profile_template);
}
/**
* Object to create.
*
* Generated from protobuf field <code>.api.DeviceProfileTemplate device_profile_template = 1;</code>
* @param \Chirpstack\Api\DeviceProfileTemplate $var
* @return $this
*/
public function setDeviceProfileTemplate($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\DeviceProfileTemplate::class);
$this->device_profile_template = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateDeviceRequest</code>
*/
class CreateDeviceRequest extends \Google\Protobuf\Internal\Message
{
/**
* Device object.
*
* Generated from protobuf field <code>.api.Device device = 1;</code>
*/
protected $device = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\Device $device
* Device object.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Device::initOnce();
parent::__construct($data);
}
/**
* Device object.
*
* Generated from protobuf field <code>.api.Device device = 1;</code>
* @return \Chirpstack\Api\Device|null
*/
public function getDevice()
{
return $this->device;
}
public function hasDevice()
{
return isset($this->device);
}
public function clearDevice()
{
unset($this->device);
}
/**
* Device object.
*
* Generated from protobuf field <code>.api.Device device = 1;</code>
* @param \Chirpstack\Api\Device $var
* @return $this
*/
public function setDevice($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\Device::class);
$this->device = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/gateway.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateGatewayRequest</code>
*/
class CreateGatewayRequest extends \Google\Protobuf\Internal\Message
{
/**
* Gateway object.
*
* Generated from protobuf field <code>.api.Gateway gateway = 1;</code>
*/
protected $gateway = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\Gateway $gateway
* Gateway object.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Gateway::initOnce();
parent::__construct($data);
}
/**
* Gateway object.
*
* Generated from protobuf field <code>.api.Gateway gateway = 1;</code>
* @return \Chirpstack\Api\Gateway|null
*/
public function getGateway()
{
return $this->gateway;
}
public function hasGateway()
{
return isset($this->gateway);
}
public function clearGateway()
{
unset($this->gateway);
}
/**
* Gateway object.
*
* Generated from protobuf field <code>.api.Gateway gateway = 1;</code>
* @param \Chirpstack\Api\Gateway $var
* @return $this
*/
public function setGateway($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\Gateway::class);
$this->gateway = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateGcpPubSubIntegrationRequest</code>
*/
class CreateGcpPubSubIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.GcpPubSubIntegration integration = 1;</code>
*/
protected $integration = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\GcpPubSubIntegration $integration
* Integration object to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.GcpPubSubIntegration integration = 1;</code>
* @return \Chirpstack\Api\GcpPubSubIntegration|null
*/
public function getIntegration()
{
return $this->integration;
}
public function hasIntegration()
{
return isset($this->integration);
}
public function clearIntegration()
{
unset($this->integration);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.GcpPubSubIntegration integration = 1;</code>
* @param \Chirpstack\Api\GcpPubSubIntegration $var
* @return $this
*/
public function setIntegration($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\GcpPubSubIntegration::class);
$this->integration = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateHttpIntegrationRequest</code>
*/
class CreateHttpIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.HttpIntegration integration = 1;</code>
*/
protected $integration = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\HttpIntegration $integration
* Integration object to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.HttpIntegration integration = 1;</code>
* @return \Chirpstack\Api\HttpIntegration|null
*/
public function getIntegration()
{
return $this->integration;
}
public function hasIntegration()
{
return isset($this->integration);
}
public function clearIntegration()
{
unset($this->integration);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.HttpIntegration integration = 1;</code>
* @param \Chirpstack\Api\HttpIntegration $var
* @return $this
*/
public function setIntegration($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\HttpIntegration::class);
$this->integration = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateIftttIntegrationRequest</code>
*/
class CreateIftttIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Integration object.
*
* Generated from protobuf field <code>.api.IftttIntegration integration = 1;</code>
*/
protected $integration = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\IftttIntegration $integration
* Integration object.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Integration object.
*
* Generated from protobuf field <code>.api.IftttIntegration integration = 1;</code>
* @return \Chirpstack\Api\IftttIntegration|null
*/
public function getIntegration()
{
return $this->integration;
}
public function hasIntegration()
{
return isset($this->integration);
}
public function clearIntegration()
{
unset($this->integration);
}
/**
* Integration object.
*
* Generated from protobuf field <code>.api.IftttIntegration integration = 1;</code>
* @param \Chirpstack\Api\IftttIntegration $var
* @return $this
*/
public function setIntegration($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\IftttIntegration::class);
$this->integration = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateInfluxDbIntegrationRequest</code>
*/
class CreateInfluxDbIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.InfluxDbIntegration integration = 1;</code>
*/
protected $integration = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\InfluxDbIntegration $integration
* Integration object to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.InfluxDbIntegration integration = 1;</code>
* @return \Chirpstack\Api\InfluxDbIntegration|null
*/
public function getIntegration()
{
return $this->integration;
}
public function hasIntegration()
{
return isset($this->integration);
}
public function clearIntegration()
{
unset($this->integration);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.InfluxDbIntegration integration = 1;</code>
* @param \Chirpstack\Api\InfluxDbIntegration $var
* @return $this
*/
public function setIntegration($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\InfluxDbIntegration::class);
$this->integration = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateLoraCloudIntegrationRequest</code>
*/
class CreateLoraCloudIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.LoraCloudIntegration integration = 1;</code>
*/
protected $integration = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\LoraCloudIntegration $integration
* Integration object to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.LoraCloudIntegration integration = 1;</code>
* @return \Chirpstack\Api\LoraCloudIntegration|null
*/
public function getIntegration()
{
return $this->integration;
}
public function hasIntegration()
{
return isset($this->integration);
}
public function clearIntegration()
{
unset($this->integration);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.LoraCloudIntegration integration = 1;</code>
* @param \Chirpstack\Api\LoraCloudIntegration $var
* @return $this
*/
public function setIntegration($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\LoraCloudIntegration::class);
$this->integration = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/multicast_group.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateMulticastGroupRequest</code>
*/
class CreateMulticastGroupRequest extends \Google\Protobuf\Internal\Message
{
/**
* Multicast group to create.
*
* Generated from protobuf field <code>.api.MulticastGroup multicast_group = 1;</code>
*/
protected $multicast_group = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\MulticastGroup $multicast_group
* Multicast group to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\MulticastGroup::initOnce();
parent::__construct($data);
}
/**
* Multicast group to create.
*
* Generated from protobuf field <code>.api.MulticastGroup multicast_group = 1;</code>
* @return \Chirpstack\Api\MulticastGroup|null
*/
public function getMulticastGroup()
{
return $this->multicast_group;
}
public function hasMulticastGroup()
{
return isset($this->multicast_group);
}
public function clearMulticastGroup()
{
unset($this->multicast_group);
}
/**
* Multicast group to create.
*
* Generated from protobuf field <code>.api.MulticastGroup multicast_group = 1;</code>
* @param \Chirpstack\Api\MulticastGroup $var
* @return $this
*/
public function setMulticastGroup($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\MulticastGroup::class);
$this->multicast_group = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/multicast_group.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateMulticastGroupResponse</code>
*/
class CreateMulticastGroupResponse extends \Google\Protobuf\Internal\Message
{
/**
* ID of created multicast group (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* ID of created multicast group (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\MulticastGroup::initOnce();
parent::__construct($data);
}
/**
* ID of created multicast group (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* ID of created multicast group (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateMyDevicesIntegrationRequest</code>
*/
class CreateMyDevicesIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.MyDevicesIntegration integration = 1;</code>
*/
protected $integration = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\MyDevicesIntegration $integration
* Integration object to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.MyDevicesIntegration integration = 1;</code>
* @return \Chirpstack\Api\MyDevicesIntegration|null
*/
public function getIntegration()
{
return $this->integration;
}
public function hasIntegration()
{
return isset($this->integration);
}
public function clearIntegration()
{
unset($this->integration);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.MyDevicesIntegration integration = 1;</code>
* @param \Chirpstack\Api\MyDevicesIntegration $var
* @return $this
*/
public function setIntegration($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\MyDevicesIntegration::class);
$this->integration = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreatePilotThingsIntegrationRequest</code>
*/
class CreatePilotThingsIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.PilotThingsIntegration integration = 1;</code>
*/
protected $integration = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\PilotThingsIntegration $integration
* Integration object to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.PilotThingsIntegration integration = 1;</code>
* @return \Chirpstack\Api\PilotThingsIntegration|null
*/
public function getIntegration()
{
return $this->integration;
}
public function hasIntegration()
{
return isset($this->integration);
}
public function clearIntegration()
{
unset($this->integration);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.PilotThingsIntegration integration = 1;</code>
* @param \Chirpstack\Api\PilotThingsIntegration $var
* @return $this
*/
public function setIntegration($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\PilotThingsIntegration::class);
$this->integration = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/tenant.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateTenantRequest</code>
*/
class CreateTenantRequest extends \Google\Protobuf\Internal\Message
{
/**
* Tenant object to create.
*
* Generated from protobuf field <code>.api.Tenant tenant = 1;</code>
*/
protected $tenant = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\Tenant $tenant
* Tenant object to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Tenant::initOnce();
parent::__construct($data);
}
/**
* Tenant object to create.
*
* Generated from protobuf field <code>.api.Tenant tenant = 1;</code>
* @return \Chirpstack\Api\Tenant|null
*/
public function getTenant()
{
return $this->tenant;
}
public function hasTenant()
{
return isset($this->tenant);
}
public function clearTenant()
{
unset($this->tenant);
}
/**
* Tenant object to create.
*
* Generated from protobuf field <code>.api.Tenant tenant = 1;</code>
* @param \Chirpstack\Api\Tenant $var
* @return $this
*/
public function setTenant($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\Tenant::class);
$this->tenant = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/tenant.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateTenantResponse</code>
*/
class CreateTenantResponse extends \Google\Protobuf\Internal\Message
{
/**
* Tenant ID.
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* Tenant ID.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Tenant::initOnce();
parent::__construct($data);
}
/**
* Tenant ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* Tenant ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
}

View File

@ -1,75 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateThingsBoardIntegrationRequest</code>
*/
class CreateThingsBoardIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.ThingsBoardIntegration integration = 1;</code>
*/
protected $integration = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\ThingsBoardIntegration $integration
* Integration object to create.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.ThingsBoardIntegration integration = 1;</code>
* @return \Chirpstack\Api\ThingsBoardIntegration|null
*/
public function getIntegration()
{
return $this->integration;
}
public function hasIntegration()
{
return isset($this->integration);
}
public function clearIntegration()
{
unset($this->integration);
}
/**
* Integration object to create.
*
* Generated from protobuf field <code>.api.ThingsBoardIntegration integration = 1;</code>
* @param \Chirpstack\Api\ThingsBoardIntegration $var
* @return $this
*/
public function setIntegration($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\ThingsBoardIntegration::class);
$this->integration = $var;
return $this;
}
}

View File

@ -1,143 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/user.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateUserRequest</code>
*/
class CreateUserRequest extends \Google\Protobuf\Internal\Message
{
/**
* User object to create.
*
* Generated from protobuf field <code>.api.User user = 1;</code>
*/
protected $user = null;
/**
* Password to set for the user.
*
* Generated from protobuf field <code>string password = 2;</code>
*/
protected $password = '';
/**
* Add the user to the following tenants.
*
* Generated from protobuf field <code>repeated .api.UserTenant tenants = 3;</code>
*/
private $tenants;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type \Chirpstack\Api\User $user
* User object to create.
* @type string $password
* Password to set for the user.
* @type array<\Chirpstack\Api\UserTenant>|\Google\Protobuf\Internal\RepeatedField $tenants
* Add the user to the following tenants.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\User::initOnce();
parent::__construct($data);
}
/**
* User object to create.
*
* Generated from protobuf field <code>.api.User user = 1;</code>
* @return \Chirpstack\Api\User|null
*/
public function getUser()
{
return $this->user;
}
public function hasUser()
{
return isset($this->user);
}
public function clearUser()
{
unset($this->user);
}
/**
* User object to create.
*
* Generated from protobuf field <code>.api.User user = 1;</code>
* @param \Chirpstack\Api\User $var
* @return $this
*/
public function setUser($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\User::class);
$this->user = $var;
return $this;
}
/**
* Password to set for the user.
*
* Generated from protobuf field <code>string password = 2;</code>
* @return string
*/
public function getPassword()
{
return $this->password;
}
/**
* Password to set for the user.
*
* Generated from protobuf field <code>string password = 2;</code>
* @param string $var
* @return $this
*/
public function setPassword($var)
{
GPBUtil::checkString($var, True);
$this->password = $var;
return $this;
}
/**
* Add the user to the following tenants.
*
* Generated from protobuf field <code>repeated .api.UserTenant tenants = 3;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getTenants()
{
return $this->tenants;
}
/**
* Add the user to the following tenants.
*
* Generated from protobuf field <code>repeated .api.UserTenant tenants = 3;</code>
* @param array<\Chirpstack\Api\UserTenant>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setTenants($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Chirpstack\Api\UserTenant::class);
$this->tenants = $arr;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/user.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.CreateUserResponse</code>
*/
class CreateUserResponse extends \Google\Protobuf\Internal\Message
{
/**
* User ID.
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* User ID.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\User::initOnce();
parent::__construct($data);
}
/**
* User ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* User ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeactivateDeviceRequest</code>
*/
class DeactivateDeviceRequest extends \Google\Protobuf\Internal\Message
{
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
*/
protected $dev_eui = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $dev_eui
* DevEUI (EUI64).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Device::initOnce();
parent::__construct($data);
}
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
* @return string
*/
public function getDevEui()
{
return $this->dev_eui;
}
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
* @param string $var
* @return $this
*/
public function setDevEui($var)
{
GPBUtil::checkString($var, True);
$this->dev_eui = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/internal.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteApiKeyRequest</code>
*/
class DeleteApiKeyRequest extends \Google\Protobuf\Internal\Message
{
/**
* API key ID.
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* API key ID.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Internal::initOnce();
parent::__construct($data);
}
/**
* API key ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* API key ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteApplicationRequest</code>
*/
class DeleteApplicationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* Application ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteAwsSnsIntegrationRequest</code>
*/
class DeleteAwsSnsIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
*/
protected $application_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $application_id
* Application ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @return string
*/
public function getApplicationId()
{
return $this->application_id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @param string $var
* @return $this
*/
public function setApplicationId($var)
{
GPBUtil::checkString($var, True);
$this->application_id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteAzureServiceBusIntegrationRequest</code>
*/
class DeleteAzureServiceBusIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
*/
protected $application_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $application_id
* Application ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @return string
*/
public function getApplicationId()
{
return $this->application_id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @param string $var
* @return $this
*/
public function setApplicationId($var)
{
GPBUtil::checkString($var, True);
$this->application_id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteDeviceKeysRequest</code>
*/
class DeleteDeviceKeysRequest extends \Google\Protobuf\Internal\Message
{
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
*/
protected $dev_eui = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $dev_eui
* DevEUI (EUI64).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Device::initOnce();
parent::__construct($data);
}
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
* @return string
*/
public function getDevEui()
{
return $this->dev_eui;
}
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
* @param string $var
* @return $this
*/
public function setDevEui($var)
{
GPBUtil::checkString($var, True);
$this->dev_eui = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device_profile.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteDeviceProfileRequest</code>
*/
class DeleteDeviceProfileRequest extends \Google\Protobuf\Internal\Message
{
/**
* ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\DeviceProfile::initOnce();
parent::__construct($data);
}
/**
* ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device_profile_template.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteDeviceProfileTemplateRequest</code>
*/
class DeleteDeviceProfileTemplateRequest extends \Google\Protobuf\Internal\Message
{
/**
* ID.
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* ID.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\DeviceProfileTemplate::initOnce();
parent::__construct($data);
}
/**
* ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteDeviceRequest</code>
*/
class DeleteDeviceRequest extends \Google\Protobuf\Internal\Message
{
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
*/
protected $dev_eui = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $dev_eui
* DevEUI (EUI64).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Device::initOnce();
parent::__construct($data);
}
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
* @return string
*/
public function getDevEui()
{
return $this->dev_eui;
}
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
* @param string $var
* @return $this
*/
public function setDevEui($var)
{
GPBUtil::checkString($var, True);
$this->dev_eui = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/gateway.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteGatewayRequest</code>
*/
class DeleteGatewayRequest extends \Google\Protobuf\Internal\Message
{
/**
* Gateway ID (EUI64).
*
* Generated from protobuf field <code>string gateway_id = 1;</code>
*/
protected $gateway_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $gateway_id
* Gateway ID (EUI64).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Gateway::initOnce();
parent::__construct($data);
}
/**
* Gateway ID (EUI64).
*
* Generated from protobuf field <code>string gateway_id = 1;</code>
* @return string
*/
public function getGatewayId()
{
return $this->gateway_id;
}
/**
* Gateway ID (EUI64).
*
* Generated from protobuf field <code>string gateway_id = 1;</code>
* @param string $var
* @return $this
*/
public function setGatewayId($var)
{
GPBUtil::checkString($var, True);
$this->gateway_id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteGcpPubSubIntegrationRequest</code>
*/
class DeleteGcpPubSubIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
*/
protected $application_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $application_id
* Application ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @return string
*/
public function getApplicationId()
{
return $this->application_id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @param string $var
* @return $this
*/
public function setApplicationId($var)
{
GPBUtil::checkString($var, True);
$this->application_id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteHttpIntegrationRequest</code>
*/
class DeleteHttpIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
*/
protected $application_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $application_id
* Application ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @return string
*/
public function getApplicationId()
{
return $this->application_id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @param string $var
* @return $this
*/
public function setApplicationId($var)
{
GPBUtil::checkString($var, True);
$this->application_id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteIftttIntegrationRequest</code>
*/
class DeleteIftttIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
*/
protected $application_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $application_id
* Application ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @return string
*/
public function getApplicationId()
{
return $this->application_id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @param string $var
* @return $this
*/
public function setApplicationId($var)
{
GPBUtil::checkString($var, True);
$this->application_id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteInfluxDbIntegrationRequest</code>
*/
class DeleteInfluxDbIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
*/
protected $application_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $application_id
* Application ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @return string
*/
public function getApplicationId()
{
return $this->application_id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @param string $var
* @return $this
*/
public function setApplicationId($var)
{
GPBUtil::checkString($var, True);
$this->application_id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteLoraCloudIntegrationRequest</code>
*/
class DeleteLoraCloudIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
*/
protected $application_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $application_id
* Application ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @return string
*/
public function getApplicationId()
{
return $this->application_id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @param string $var
* @return $this
*/
public function setApplicationId($var)
{
GPBUtil::checkString($var, True);
$this->application_id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/multicast_group.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteMulticastGroupRequest</code>
*/
class DeleteMulticastGroupRequest extends \Google\Protobuf\Internal\Message
{
/**
* Multicast group iD.
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* Multicast group iD.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\MulticastGroup::initOnce();
parent::__construct($data);
}
/**
* Multicast group iD.
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* Multicast group iD.
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteMyDevicesIntegrationRequest</code>
*/
class DeleteMyDevicesIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
*/
protected $application_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $application_id
* Application ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @return string
*/
public function getApplicationId()
{
return $this->application_id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @param string $var
* @return $this
*/
public function setApplicationId($var)
{
GPBUtil::checkString($var, True);
$this->application_id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeletePilotThingsIntegrationRequest</code>
*/
class DeletePilotThingsIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
*/
protected $application_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $application_id
* Application ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @return string
*/
public function getApplicationId()
{
return $this->application_id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @param string $var
* @return $this
*/
public function setApplicationId($var)
{
GPBUtil::checkString($var, True);
$this->application_id = $var;
return $this;
}
}

View File

@ -1,99 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/gateway.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteRelayGatewayRequest</code>
*/
class DeleteRelayGatewayRequest extends \Google\Protobuf\Internal\Message
{
/**
* Tenant ID.
*
* Generated from protobuf field <code>string tenant_id = 1;</code>
*/
protected $tenant_id = '';
/**
* Relay ID (4 byte HEX).
*
* Generated from protobuf field <code>string relay_id = 2;</code>
*/
protected $relay_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $tenant_id
* Tenant ID.
* @type string $relay_id
* Relay ID (4 byte HEX).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Gateway::initOnce();
parent::__construct($data);
}
/**
* Tenant ID.
*
* Generated from protobuf field <code>string tenant_id = 1;</code>
* @return string
*/
public function getTenantId()
{
return $this->tenant_id;
}
/**
* Tenant ID.
*
* Generated from protobuf field <code>string tenant_id = 1;</code>
* @param string $var
* @return $this
*/
public function setTenantId($var)
{
GPBUtil::checkString($var, True);
$this->tenant_id = $var;
return $this;
}
/**
* Relay ID (4 byte HEX).
*
* Generated from protobuf field <code>string relay_id = 2;</code>
* @return string
*/
public function getRelayId()
{
return $this->relay_id;
}
/**
* Relay ID (4 byte HEX).
*
* Generated from protobuf field <code>string relay_id = 2;</code>
* @param string $var
* @return $this
*/
public function setRelayId($var)
{
GPBUtil::checkString($var, True);
$this->relay_id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/tenant.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteTenantRequest</code>
*/
class DeleteTenantRequest extends \Google\Protobuf\Internal\Message
{
/**
* Tenant ID.
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* Tenant ID.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Tenant::initOnce();
parent::__construct($data);
}
/**
* Tenant ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* Tenant ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
}

View File

@ -1,99 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/tenant.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteTenantUserRequest</code>
*/
class DeleteTenantUserRequest extends \Google\Protobuf\Internal\Message
{
/**
* Tenant ID (UUID).
*
* Generated from protobuf field <code>string tenant_id = 1;</code>
*/
protected $tenant_id = '';
/**
* User ID (UUID).
*
* Generated from protobuf field <code>string user_id = 2;</code>
*/
protected $user_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $tenant_id
* Tenant ID (UUID).
* @type string $user_id
* User ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Tenant::initOnce();
parent::__construct($data);
}
/**
* Tenant ID (UUID).
*
* Generated from protobuf field <code>string tenant_id = 1;</code>
* @return string
*/
public function getTenantId()
{
return $this->tenant_id;
}
/**
* Tenant ID (UUID).
*
* Generated from protobuf field <code>string tenant_id = 1;</code>
* @param string $var
* @return $this
*/
public function setTenantId($var)
{
GPBUtil::checkString($var, True);
$this->tenant_id = $var;
return $this;
}
/**
* User ID (UUID).
*
* Generated from protobuf field <code>string user_id = 2;</code>
* @return string
*/
public function getUserId()
{
return $this->user_id;
}
/**
* User ID (UUID).
*
* Generated from protobuf field <code>string user_id = 2;</code>
* @param string $var
* @return $this
*/
public function setUserId($var)
{
GPBUtil::checkString($var, True);
$this->user_id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteThingsBoardIntegrationRequest</code>
*/
class DeleteThingsBoardIntegrationRequest extends \Google\Protobuf\Internal\Message
{
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
*/
protected $application_id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $application_id
* Application ID (UUID).
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Application::initOnce();
parent::__construct($data);
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @return string
*/
public function getApplicationId()
{
return $this->application_id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 1;</code>
* @param string $var
* @return $this
*/
public function setApplicationId($var)
{
GPBUtil::checkString($var, True);
$this->application_id = $var;
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/user.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeleteUserRequest</code>
*/
class DeleteUserRequest extends \Google\Protobuf\Internal\Message
{
/**
* User ID.
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* User ID.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\User::initOnce();
parent::__construct($data);
}
/**
* User ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* User ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
}

View File

@ -1,411 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.Device</code>
*/
class Device extends \Google\Protobuf\Internal\Message
{
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
*/
protected $dev_eui = '';
/**
* Name.
*
* Generated from protobuf field <code>string name = 2;</code>
*/
protected $name = '';
/**
* Description.
*
* Generated from protobuf field <code>string description = 3;</code>
*/
protected $description = '';
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 4;</code>
*/
protected $application_id = '';
/**
* Device-profile ID (UUID).
*
* Generated from protobuf field <code>string device_profile_id = 5;</code>
*/
protected $device_profile_id = '';
/**
* Skip frame-counter checks (this is insecure, but could be helpful for
* debugging).
*
* Generated from protobuf field <code>bool skip_fcnt_check = 6;</code>
*/
protected $skip_fcnt_check = false;
/**
* Device is disabled.
*
* Generated from protobuf field <code>bool is_disabled = 7;</code>
*/
protected $is_disabled = false;
/**
* Variables (user defined).
* These variables can be used together with integrations to store tokens /
* secrets that must be configured per device. These variables are not
* exposed in the event payloads.
*
* Generated from protobuf field <code>map<string, string> variables = 8;</code>
*/
private $variables;
/**
* Tags (user defined).
* These tags can be used to add additional information to the device.
* These tags are exposed in all the integration events.
*
* Generated from protobuf field <code>map<string, string> tags = 9;</code>
*/
private $tags;
/**
* JoinEUI (optional, EUI64).
* This field will be automatically set / updated on OTAA. However, in some
* cases it must be pre-configured. For example to allow OTAA using a Relay.
* In this case the Relay needs to know the JoinEUI + DevEUI combinations
* of the devices for which it needs to forward uplinks.
*
* Generated from protobuf field <code>string join_eui = 10;</code>
*/
protected $join_eui = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $dev_eui
* DevEUI (EUI64).
* @type string $name
* Name.
* @type string $description
* Description.
* @type string $application_id
* Application ID (UUID).
* @type string $device_profile_id
* Device-profile ID (UUID).
* @type bool $skip_fcnt_check
* Skip frame-counter checks (this is insecure, but could be helpful for
* debugging).
* @type bool $is_disabled
* Device is disabled.
* @type array|\Google\Protobuf\Internal\MapField $variables
* Variables (user defined).
* These variables can be used together with integrations to store tokens /
* secrets that must be configured per device. These variables are not
* exposed in the event payloads.
* @type array|\Google\Protobuf\Internal\MapField $tags
* Tags (user defined).
* These tags can be used to add additional information to the device.
* These tags are exposed in all the integration events.
* @type string $join_eui
* JoinEUI (optional, EUI64).
* This field will be automatically set / updated on OTAA. However, in some
* cases it must be pre-configured. For example to allow OTAA using a Relay.
* In this case the Relay needs to know the JoinEUI + DevEUI combinations
* of the devices for which it needs to forward uplinks.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Device::initOnce();
parent::__construct($data);
}
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
* @return string
*/
public function getDevEui()
{
return $this->dev_eui;
}
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
* @param string $var
* @return $this
*/
public function setDevEui($var)
{
GPBUtil::checkString($var, True);
$this->dev_eui = $var;
return $this;
}
/**
* Name.
*
* Generated from protobuf field <code>string name = 2;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Name.
*
* Generated from protobuf field <code>string name = 2;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Description.
*
* Generated from protobuf field <code>string description = 3;</code>
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Description.
*
* Generated from protobuf field <code>string description = 3;</code>
* @param string $var
* @return $this
*/
public function setDescription($var)
{
GPBUtil::checkString($var, True);
$this->description = $var;
return $this;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 4;</code>
* @return string
*/
public function getApplicationId()
{
return $this->application_id;
}
/**
* Application ID (UUID).
*
* Generated from protobuf field <code>string application_id = 4;</code>
* @param string $var
* @return $this
*/
public function setApplicationId($var)
{
GPBUtil::checkString($var, True);
$this->application_id = $var;
return $this;
}
/**
* Device-profile ID (UUID).
*
* Generated from protobuf field <code>string device_profile_id = 5;</code>
* @return string
*/
public function getDeviceProfileId()
{
return $this->device_profile_id;
}
/**
* Device-profile ID (UUID).
*
* Generated from protobuf field <code>string device_profile_id = 5;</code>
* @param string $var
* @return $this
*/
public function setDeviceProfileId($var)
{
GPBUtil::checkString($var, True);
$this->device_profile_id = $var;
return $this;
}
/**
* Skip frame-counter checks (this is insecure, but could be helpful for
* debugging).
*
* Generated from protobuf field <code>bool skip_fcnt_check = 6;</code>
* @return bool
*/
public function getSkipFcntCheck()
{
return $this->skip_fcnt_check;
}
/**
* Skip frame-counter checks (this is insecure, but could be helpful for
* debugging).
*
* Generated from protobuf field <code>bool skip_fcnt_check = 6;</code>
* @param bool $var
* @return $this
*/
public function setSkipFcntCheck($var)
{
GPBUtil::checkBool($var);
$this->skip_fcnt_check = $var;
return $this;
}
/**
* Device is disabled.
*
* Generated from protobuf field <code>bool is_disabled = 7;</code>
* @return bool
*/
public function getIsDisabled()
{
return $this->is_disabled;
}
/**
* Device is disabled.
*
* Generated from protobuf field <code>bool is_disabled = 7;</code>
* @param bool $var
* @return $this
*/
public function setIsDisabled($var)
{
GPBUtil::checkBool($var);
$this->is_disabled = $var;
return $this;
}
/**
* Variables (user defined).
* These variables can be used together with integrations to store tokens /
* secrets that must be configured per device. These variables are not
* exposed in the event payloads.
*
* Generated from protobuf field <code>map<string, string> variables = 8;</code>
* @return \Google\Protobuf\Internal\MapField
*/
public function getVariables()
{
return $this->variables;
}
/**
* Variables (user defined).
* These variables can be used together with integrations to store tokens /
* secrets that must be configured per device. These variables are not
* exposed in the event payloads.
*
* Generated from protobuf field <code>map<string, string> variables = 8;</code>
* @param array|\Google\Protobuf\Internal\MapField $var
* @return $this
*/
public function setVariables($var)
{
$arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::STRING);
$this->variables = $arr;
return $this;
}
/**
* Tags (user defined).
* These tags can be used to add additional information to the device.
* These tags are exposed in all the integration events.
*
* Generated from protobuf field <code>map<string, string> tags = 9;</code>
* @return \Google\Protobuf\Internal\MapField
*/
public function getTags()
{
return $this->tags;
}
/**
* Tags (user defined).
* These tags can be used to add additional information to the device.
* These tags are exposed in all the integration events.
*
* Generated from protobuf field <code>map<string, string> tags = 9;</code>
* @param array|\Google\Protobuf\Internal\MapField $var
* @return $this
*/
public function setTags($var)
{
$arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::STRING);
$this->tags = $arr;
return $this;
}
/**
* JoinEUI (optional, EUI64).
* This field will be automatically set / updated on OTAA. However, in some
* cases it must be pre-configured. For example to allow OTAA using a Relay.
* In this case the Relay needs to know the JoinEUI + DevEUI combinations
* of the devices for which it needs to forward uplinks.
*
* Generated from protobuf field <code>string join_eui = 10;</code>
* @return string
*/
public function getJoinEui()
{
return $this->join_eui;
}
/**
* JoinEUI (optional, EUI64).
* This field will be automatically set / updated on OTAA. However, in some
* cases it must be pre-configured. For example to allow OTAA using a Relay.
* In this case the Relay needs to know the JoinEUI + DevEUI combinations
* of the devices for which it needs to forward uplinks.
*
* Generated from protobuf field <code>string join_eui = 10;</code>
* @param string $var
* @return $this
*/
public function setJoinEui($var)
{
GPBUtil::checkString($var, True);
$this->join_eui = $var;
return $this;
}
}

View File

@ -1,337 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeviceActivation</code>
*/
class DeviceActivation extends \Google\Protobuf\Internal\Message
{
/**
* Device EUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
*/
protected $dev_eui = '';
/**
* Device address (HEX encoded).
*
* Generated from protobuf field <code>string dev_addr = 2;</code>
*/
protected $dev_addr = '';
/**
* Application session key (HEX encoded).
*
* Generated from protobuf field <code>string app_s_key = 3;</code>
*/
protected $app_s_key = '';
/**
* Network session encryption key (HEX encoded).
*
* Generated from protobuf field <code>string nwk_s_enc_key = 4;</code>
*/
protected $nwk_s_enc_key = '';
/**
* Serving network session integrity key (HEX encoded).
*
* Generated from protobuf field <code>string s_nwk_s_int_key = 8;</code>
*/
protected $s_nwk_s_int_key = '';
/**
* Forwarding network session integrity key (HEX encoded).
*
* Generated from protobuf field <code>string f_nwk_s_int_key = 9;</code>
*/
protected $f_nwk_s_int_key = '';
/**
* Uplink frame-counter.
*
* Generated from protobuf field <code>uint32 f_cnt_up = 5;</code>
*/
protected $f_cnt_up = 0;
/**
* Downlink network frame-counter.
*
* Generated from protobuf field <code>uint32 n_f_cnt_down = 6;</code>
*/
protected $n_f_cnt_down = 0;
/**
* Downlink application frame-counter.
*
* Generated from protobuf field <code>uint32 a_f_cnt_down = 10;</code>
*/
protected $a_f_cnt_down = 0;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $dev_eui
* Device EUI (EUI64).
* @type string $dev_addr
* Device address (HEX encoded).
* @type string $app_s_key
* Application session key (HEX encoded).
* @type string $nwk_s_enc_key
* Network session encryption key (HEX encoded).
* @type string $s_nwk_s_int_key
* Serving network session integrity key (HEX encoded).
* @type string $f_nwk_s_int_key
* Forwarding network session integrity key (HEX encoded).
* @type int $f_cnt_up
* Uplink frame-counter.
* @type int $n_f_cnt_down
* Downlink network frame-counter.
* @type int $a_f_cnt_down
* Downlink application frame-counter.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Device::initOnce();
parent::__construct($data);
}
/**
* Device EUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
* @return string
*/
public function getDevEui()
{
return $this->dev_eui;
}
/**
* Device EUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
* @param string $var
* @return $this
*/
public function setDevEui($var)
{
GPBUtil::checkString($var, True);
$this->dev_eui = $var;
return $this;
}
/**
* Device address (HEX encoded).
*
* Generated from protobuf field <code>string dev_addr = 2;</code>
* @return string
*/
public function getDevAddr()
{
return $this->dev_addr;
}
/**
* Device address (HEX encoded).
*
* Generated from protobuf field <code>string dev_addr = 2;</code>
* @param string $var
* @return $this
*/
public function setDevAddr($var)
{
GPBUtil::checkString($var, True);
$this->dev_addr = $var;
return $this;
}
/**
* Application session key (HEX encoded).
*
* Generated from protobuf field <code>string app_s_key = 3;</code>
* @return string
*/
public function getAppSKey()
{
return $this->app_s_key;
}
/**
* Application session key (HEX encoded).
*
* Generated from protobuf field <code>string app_s_key = 3;</code>
* @param string $var
* @return $this
*/
public function setAppSKey($var)
{
GPBUtil::checkString($var, True);
$this->app_s_key = $var;
return $this;
}
/**
* Network session encryption key (HEX encoded).
*
* Generated from protobuf field <code>string nwk_s_enc_key = 4;</code>
* @return string
*/
public function getNwkSEncKey()
{
return $this->nwk_s_enc_key;
}
/**
* Network session encryption key (HEX encoded).
*
* Generated from protobuf field <code>string nwk_s_enc_key = 4;</code>
* @param string $var
* @return $this
*/
public function setNwkSEncKey($var)
{
GPBUtil::checkString($var, True);
$this->nwk_s_enc_key = $var;
return $this;
}
/**
* Serving network session integrity key (HEX encoded).
*
* Generated from protobuf field <code>string s_nwk_s_int_key = 8;</code>
* @return string
*/
public function getSNwkSIntKey()
{
return $this->s_nwk_s_int_key;
}
/**
* Serving network session integrity key (HEX encoded).
*
* Generated from protobuf field <code>string s_nwk_s_int_key = 8;</code>
* @param string $var
* @return $this
*/
public function setSNwkSIntKey($var)
{
GPBUtil::checkString($var, True);
$this->s_nwk_s_int_key = $var;
return $this;
}
/**
* Forwarding network session integrity key (HEX encoded).
*
* Generated from protobuf field <code>string f_nwk_s_int_key = 9;</code>
* @return string
*/
public function getFNwkSIntKey()
{
return $this->f_nwk_s_int_key;
}
/**
* Forwarding network session integrity key (HEX encoded).
*
* Generated from protobuf field <code>string f_nwk_s_int_key = 9;</code>
* @param string $var
* @return $this
*/
public function setFNwkSIntKey($var)
{
GPBUtil::checkString($var, True);
$this->f_nwk_s_int_key = $var;
return $this;
}
/**
* Uplink frame-counter.
*
* Generated from protobuf field <code>uint32 f_cnt_up = 5;</code>
* @return int
*/
public function getFCntUp()
{
return $this->f_cnt_up;
}
/**
* Uplink frame-counter.
*
* Generated from protobuf field <code>uint32 f_cnt_up = 5;</code>
* @param int $var
* @return $this
*/
public function setFCntUp($var)
{
GPBUtil::checkUint32($var);
$this->f_cnt_up = $var;
return $this;
}
/**
* Downlink network frame-counter.
*
* Generated from protobuf field <code>uint32 n_f_cnt_down = 6;</code>
* @return int
*/
public function getNFCntDown()
{
return $this->n_f_cnt_down;
}
/**
* Downlink network frame-counter.
*
* Generated from protobuf field <code>uint32 n_f_cnt_down = 6;</code>
* @param int $var
* @return $this
*/
public function setNFCntDown($var)
{
GPBUtil::checkUint32($var);
$this->n_f_cnt_down = $var;
return $this;
}
/**
* Downlink application frame-counter.
*
* Generated from protobuf field <code>uint32 a_f_cnt_down = 10;</code>
* @return int
*/
public function getAFCntDown()
{
return $this->a_f_cnt_down;
}
/**
* Downlink application frame-counter.
*
* Generated from protobuf field <code>uint32 a_f_cnt_down = 10;</code>
* @param int $var
* @return $this
*/
public function setAFCntDown($var)
{
GPBUtil::checkUint32($var);
$this->a_f_cnt_down = $var;
return $this;
}
}

View File

@ -1,141 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeviceKeys</code>
*/
class DeviceKeys extends \Google\Protobuf\Internal\Message
{
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
*/
protected $dev_eui = '';
/**
* Network root key (128 bit).
* Note: For LoRaWAN 1.0.x, use this field for the LoRaWAN 1.0.x 'AppKey`!
*
* Generated from protobuf field <code>string nwk_key = 2;</code>
*/
protected $nwk_key = '';
/**
* Application root key (128 bit).
* Note: This field only needs to be set for LoRaWAN 1.1.x devices!
*
* Generated from protobuf field <code>string app_key = 3;</code>
*/
protected $app_key = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $dev_eui
* DevEUI (EUI64).
* @type string $nwk_key
* Network root key (128 bit).
* Note: For LoRaWAN 1.0.x, use this field for the LoRaWAN 1.0.x 'AppKey`!
* @type string $app_key
* Application root key (128 bit).
* Note: This field only needs to be set for LoRaWAN 1.1.x devices!
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Device::initOnce();
parent::__construct($data);
}
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
* @return string
*/
public function getDevEui()
{
return $this->dev_eui;
}
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
* @param string $var
* @return $this
*/
public function setDevEui($var)
{
GPBUtil::checkString($var, True);
$this->dev_eui = $var;
return $this;
}
/**
* Network root key (128 bit).
* Note: For LoRaWAN 1.0.x, use this field for the LoRaWAN 1.0.x 'AppKey`!
*
* Generated from protobuf field <code>string nwk_key = 2;</code>
* @return string
*/
public function getNwkKey()
{
return $this->nwk_key;
}
/**
* Network root key (128 bit).
* Note: For LoRaWAN 1.0.x, use this field for the LoRaWAN 1.0.x 'AppKey`!
*
* Generated from protobuf field <code>string nwk_key = 2;</code>
* @param string $var
* @return $this
*/
public function setNwkKey($var)
{
GPBUtil::checkString($var, True);
$this->nwk_key = $var;
return $this;
}
/**
* Application root key (128 bit).
* Note: This field only needs to be set for LoRaWAN 1.1.x devices!
*
* Generated from protobuf field <code>string app_key = 3;</code>
* @return string
*/
public function getAppKey()
{
return $this->app_key;
}
/**
* Application root key (128 bit).
* Note: This field only needs to be set for LoRaWAN 1.1.x devices!
*
* Generated from protobuf field <code>string app_key = 3;</code>
* @param string $var
* @return $this
*/
public function setAppKey($var)
{
GPBUtil::checkString($var, True);
$this->app_key = $var;
return $this;
}
}

View File

@ -1,377 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeviceListItem</code>
*/
class DeviceListItem extends \Google\Protobuf\Internal\Message
{
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
*/
protected $dev_eui = '';
/**
* Created at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 2;</code>
*/
protected $created_at = null;
/**
* Last update timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp updated_at = 3;</code>
*/
protected $updated_at = null;
/**
* Last seen at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp last_seen_at = 4;</code>
*/
protected $last_seen_at = null;
/**
* Name.
*
* Generated from protobuf field <code>string name = 5;</code>
*/
protected $name = '';
/**
* Description.
*
* Generated from protobuf field <code>string description = 6;</code>
*/
protected $description = '';
/**
* Device-profile ID (UUID).
*
* Generated from protobuf field <code>string device_profile_id = 7;</code>
*/
protected $device_profile_id = '';
/**
* Device-profile name.
*
* Generated from protobuf field <code>string device_profile_name = 8;</code>
*/
protected $device_profile_name = '';
/**
* Device status.
*
* Generated from protobuf field <code>.api.DeviceStatus device_status = 9;</code>
*/
protected $device_status = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $dev_eui
* DevEUI (EUI64).
* @type \Google\Protobuf\Timestamp $created_at
* Created at timestamp.
* @type \Google\Protobuf\Timestamp $updated_at
* Last update timestamp.
* @type \Google\Protobuf\Timestamp $last_seen_at
* Last seen at timestamp.
* @type string $name
* Name.
* @type string $description
* Description.
* @type string $device_profile_id
* Device-profile ID (UUID).
* @type string $device_profile_name
* Device-profile name.
* @type \Chirpstack\Api\DeviceStatus $device_status
* Device status.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Device::initOnce();
parent::__construct($data);
}
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
* @return string
*/
public function getDevEui()
{
return $this->dev_eui;
}
/**
* DevEUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 1;</code>
* @param string $var
* @return $this
*/
public function setDevEui($var)
{
GPBUtil::checkString($var, True);
$this->dev_eui = $var;
return $this;
}
/**
* Created at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 2;</code>
* @return \Google\Protobuf\Timestamp|null
*/
public function getCreatedAt()
{
return $this->created_at;
}
public function hasCreatedAt()
{
return isset($this->created_at);
}
public function clearCreatedAt()
{
unset($this->created_at);
}
/**
* Created at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 2;</code>
* @param \Google\Protobuf\Timestamp $var
* @return $this
*/
public function setCreatedAt($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
$this->created_at = $var;
return $this;
}
/**
* Last update timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp updated_at = 3;</code>
* @return \Google\Protobuf\Timestamp|null
*/
public function getUpdatedAt()
{
return $this->updated_at;
}
public function hasUpdatedAt()
{
return isset($this->updated_at);
}
public function clearUpdatedAt()
{
unset($this->updated_at);
}
/**
* Last update timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp updated_at = 3;</code>
* @param \Google\Protobuf\Timestamp $var
* @return $this
*/
public function setUpdatedAt($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
$this->updated_at = $var;
return $this;
}
/**
* Last seen at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp last_seen_at = 4;</code>
* @return \Google\Protobuf\Timestamp|null
*/
public function getLastSeenAt()
{
return $this->last_seen_at;
}
public function hasLastSeenAt()
{
return isset($this->last_seen_at);
}
public function clearLastSeenAt()
{
unset($this->last_seen_at);
}
/**
* Last seen at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp last_seen_at = 4;</code>
* @param \Google\Protobuf\Timestamp $var
* @return $this
*/
public function setLastSeenAt($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
$this->last_seen_at = $var;
return $this;
}
/**
* Name.
*
* Generated from protobuf field <code>string name = 5;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Name.
*
* Generated from protobuf field <code>string name = 5;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Description.
*
* Generated from protobuf field <code>string description = 6;</code>
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Description.
*
* Generated from protobuf field <code>string description = 6;</code>
* @param string $var
* @return $this
*/
public function setDescription($var)
{
GPBUtil::checkString($var, True);
$this->description = $var;
return $this;
}
/**
* Device-profile ID (UUID).
*
* Generated from protobuf field <code>string device_profile_id = 7;</code>
* @return string
*/
public function getDeviceProfileId()
{
return $this->device_profile_id;
}
/**
* Device-profile ID (UUID).
*
* Generated from protobuf field <code>string device_profile_id = 7;</code>
* @param string $var
* @return $this
*/
public function setDeviceProfileId($var)
{
GPBUtil::checkString($var, True);
$this->device_profile_id = $var;
return $this;
}
/**
* Device-profile name.
*
* Generated from protobuf field <code>string device_profile_name = 8;</code>
* @return string
*/
public function getDeviceProfileName()
{
return $this->device_profile_name;
}
/**
* Device-profile name.
*
* Generated from protobuf field <code>string device_profile_name = 8;</code>
* @param string $var
* @return $this
*/
public function setDeviceProfileName($var)
{
GPBUtil::checkString($var, True);
$this->device_profile_name = $var;
return $this;
}
/**
* Device status.
*
* Generated from protobuf field <code>.api.DeviceStatus device_status = 9;</code>
* @return \Chirpstack\Api\DeviceStatus|null
*/
public function getDeviceStatus()
{
return $this->device_status;
}
public function hasDeviceStatus()
{
return isset($this->device_status);
}
public function clearDeviceStatus()
{
unset($this->device_status);
}
/**
* Device status.
*
* Generated from protobuf field <code>.api.DeviceStatus device_status = 9;</code>
* @param \Chirpstack\Api\DeviceStatus $var
* @return $this
*/
public function setDeviceStatus($var)
{
GPBUtil::checkMessage($var, \Chirpstack\Api\DeviceStatus::class);
$this->device_status = $var;
return $this;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,391 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device_profile.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeviceProfileListItem</code>
*/
class DeviceProfileListItem extends \Google\Protobuf\Internal\Message
{
/**
* Device-profile ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Created at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 2;</code>
*/
protected $created_at = null;
/**
* Last update timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp updated_at = 3;</code>
*/
protected $updated_at = null;
/**
* Name.
*
* Generated from protobuf field <code>string name = 4;</code>
*/
protected $name = '';
/**
* Region.
*
* Generated from protobuf field <code>.common.Region region = 5;</code>
*/
protected $region = 0;
/**
* LoRaWAN mac-version.
*
* Generated from protobuf field <code>.common.MacVersion mac_version = 6;</code>
*/
protected $mac_version = 0;
/**
* Regional parameters revision.
*
* Generated from protobuf field <code>.common.RegParamsRevision reg_params_revision = 7;</code>
*/
protected $reg_params_revision = 0;
/**
* Supports OTAA.
*
* Generated from protobuf field <code>bool supports_otaa = 8;</code>
*/
protected $supports_otaa = false;
/**
* Supports Class-B.
*
* Generated from protobuf field <code>bool supports_class_b = 9;</code>
*/
protected $supports_class_b = false;
/**
* Supports Class-C.
*
* Generated from protobuf field <code>bool supports_class_c = 10;</code>
*/
protected $supports_class_c = false;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* Device-profile ID (UUID).
* @type \Google\Protobuf\Timestamp $created_at
* Created at timestamp.
* @type \Google\Protobuf\Timestamp $updated_at
* Last update timestamp.
* @type string $name
* Name.
* @type int $region
* Region.
* @type int $mac_version
* LoRaWAN mac-version.
* @type int $reg_params_revision
* Regional parameters revision.
* @type bool $supports_otaa
* Supports OTAA.
* @type bool $supports_class_b
* Supports Class-B.
* @type bool $supports_class_c
* Supports Class-C.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\DeviceProfile::initOnce();
parent::__construct($data);
}
/**
* Device-profile ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* Device-profile ID (UUID).
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
/**
* Created at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 2;</code>
* @return \Google\Protobuf\Timestamp|null
*/
public function getCreatedAt()
{
return $this->created_at;
}
public function hasCreatedAt()
{
return isset($this->created_at);
}
public function clearCreatedAt()
{
unset($this->created_at);
}
/**
* Created at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 2;</code>
* @param \Google\Protobuf\Timestamp $var
* @return $this
*/
public function setCreatedAt($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
$this->created_at = $var;
return $this;
}
/**
* Last update timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp updated_at = 3;</code>
* @return \Google\Protobuf\Timestamp|null
*/
public function getUpdatedAt()
{
return $this->updated_at;
}
public function hasUpdatedAt()
{
return isset($this->updated_at);
}
public function clearUpdatedAt()
{
unset($this->updated_at);
}
/**
* Last update timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp updated_at = 3;</code>
* @param \Google\Protobuf\Timestamp $var
* @return $this
*/
public function setUpdatedAt($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
$this->updated_at = $var;
return $this;
}
/**
* Name.
*
* Generated from protobuf field <code>string name = 4;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Name.
*
* Generated from protobuf field <code>string name = 4;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Region.
*
* Generated from protobuf field <code>.common.Region region = 5;</code>
* @return int
*/
public function getRegion()
{
return $this->region;
}
/**
* Region.
*
* Generated from protobuf field <code>.common.Region region = 5;</code>
* @param int $var
* @return $this
*/
public function setRegion($var)
{
GPBUtil::checkEnum($var, \Chirpstack\Common\Region::class);
$this->region = $var;
return $this;
}
/**
* LoRaWAN mac-version.
*
* Generated from protobuf field <code>.common.MacVersion mac_version = 6;</code>
* @return int
*/
public function getMacVersion()
{
return $this->mac_version;
}
/**
* LoRaWAN mac-version.
*
* Generated from protobuf field <code>.common.MacVersion mac_version = 6;</code>
* @param int $var
* @return $this
*/
public function setMacVersion($var)
{
GPBUtil::checkEnum($var, \Chirpstack\Common\MacVersion::class);
$this->mac_version = $var;
return $this;
}
/**
* Regional parameters revision.
*
* Generated from protobuf field <code>.common.RegParamsRevision reg_params_revision = 7;</code>
* @return int
*/
public function getRegParamsRevision()
{
return $this->reg_params_revision;
}
/**
* Regional parameters revision.
*
* Generated from protobuf field <code>.common.RegParamsRevision reg_params_revision = 7;</code>
* @param int $var
* @return $this
*/
public function setRegParamsRevision($var)
{
GPBUtil::checkEnum($var, \Chirpstack\Common\RegParamsRevision::class);
$this->reg_params_revision = $var;
return $this;
}
/**
* Supports OTAA.
*
* Generated from protobuf field <code>bool supports_otaa = 8;</code>
* @return bool
*/
public function getSupportsOtaa()
{
return $this->supports_otaa;
}
/**
* Supports OTAA.
*
* Generated from protobuf field <code>bool supports_otaa = 8;</code>
* @param bool $var
* @return $this
*/
public function setSupportsOtaa($var)
{
GPBUtil::checkBool($var);
$this->supports_otaa = $var;
return $this;
}
/**
* Supports Class-B.
*
* Generated from protobuf field <code>bool supports_class_b = 9;</code>
* @return bool
*/
public function getSupportsClassB()
{
return $this->supports_class_b;
}
/**
* Supports Class-B.
*
* Generated from protobuf field <code>bool supports_class_b = 9;</code>
* @param bool $var
* @return $this
*/
public function setSupportsClassB($var)
{
GPBUtil::checkBool($var);
$this->supports_class_b = $var;
return $this;
}
/**
* Supports Class-C.
*
* Generated from protobuf field <code>bool supports_class_c = 10;</code>
* @return bool
*/
public function getSupportsClassC()
{
return $this->supports_class_c;
}
/**
* Supports Class-C.
*
* Generated from protobuf field <code>bool supports_class_c = 10;</code>
* @param bool $var
* @return $this
*/
public function setSupportsClassC($var)
{
GPBUtil::checkBool($var);
$this->supports_class_c = $var;
return $this;
}
}

View File

@ -1,111 +0,0 @@
<?php
// GENERATED CODE -- DO NOT EDIT!
namespace Chirpstack\Api;
/**
* DeviceProfileService is the service providing API methods for managing
* device-profiles.
*/
class DeviceProfileServiceClient extends \Grpc\BaseStub {
/**
* @param string $hostname hostname
* @param array $opts channel options
* @param \Grpc\Channel $channel (optional) re-use channel object
*/
public function __construct($hostname, $opts, $channel = null) {
parent::__construct($hostname, $opts, $channel);
}
/**
* Create the given device-profile.
* @param \Chirpstack\Api\CreateDeviceProfileRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Create(\Chirpstack\Api\CreateDeviceProfileRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceProfileService/Create',
$argument,
['\Chirpstack\Api\CreateDeviceProfileResponse', 'decode'],
$metadata, $options);
}
/**
* Get the device-profile for the given ID.
* @param \Chirpstack\Api\GetDeviceProfileRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Get(\Chirpstack\Api\GetDeviceProfileRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceProfileService/Get',
$argument,
['\Chirpstack\Api\GetDeviceProfileResponse', 'decode'],
$metadata, $options);
}
/**
* Update the given device-profile.
* @param \Chirpstack\Api\UpdateDeviceProfileRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Update(\Chirpstack\Api\UpdateDeviceProfileRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceProfileService/Update',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete the device-profile with the given ID.
* @param \Chirpstack\Api\DeleteDeviceProfileRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Delete(\Chirpstack\Api\DeleteDeviceProfileRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceProfileService/Delete',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* List the available device-profiles.
* @param \Chirpstack\Api\ListDeviceProfilesRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function List(\Chirpstack\Api\ListDeviceProfilesRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceProfileService/List',
$argument,
['\Chirpstack\Api\ListDeviceProfilesResponse', 'decode'],
$metadata, $options);
}
/**
* List available ADR algorithms.
* @param \Google\Protobuf\GPBEmpty $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function ListAdrAlgorithms(\Google\Protobuf\GPBEmpty $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceProfileService/ListAdrAlgorithms',
$argument,
['\Chirpstack\Api\ListDeviceProfileAdrAlgorithmsResponse', 'decode'],
$metadata, $options);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,459 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device_profile_template.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeviceProfileTemplateListItem</code>
*/
class DeviceProfileTemplateListItem extends \Google\Protobuf\Internal\Message
{
/**
* Device-profile template ID.
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Created at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 2;</code>
*/
protected $created_at = null;
/**
* Last update timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp updated_at = 3;</code>
*/
protected $updated_at = null;
/**
* Name.
*
* Generated from protobuf field <code>string name = 4;</code>
*/
protected $name = '';
/**
* Vendor.
*
* Generated from protobuf field <code>string vendor = 5;</code>
*/
protected $vendor = '';
/**
* Firmware.
*
* Generated from protobuf field <code>string firmware = 6;</code>
*/
protected $firmware = '';
/**
* Region.
*
* Generated from protobuf field <code>.common.Region region = 7;</code>
*/
protected $region = 0;
/**
* LoRaWAN mac-version.
*
* Generated from protobuf field <code>.common.MacVersion mac_version = 8;</code>
*/
protected $mac_version = 0;
/**
* Regional parameters revision.
*
* Generated from protobuf field <code>.common.RegParamsRevision reg_params_revision = 9;</code>
*/
protected $reg_params_revision = 0;
/**
* Supports OTAA.
*
* Generated from protobuf field <code>bool supports_otaa = 10;</code>
*/
protected $supports_otaa = false;
/**
* Supports Class-B.
*
* Generated from protobuf field <code>bool supports_class_b = 11;</code>
*/
protected $supports_class_b = false;
/**
* Supports Class-C.
*
* Generated from protobuf field <code>bool supports_class_c = 12;</code>
*/
protected $supports_class_c = false;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* Device-profile template ID.
* @type \Google\Protobuf\Timestamp $created_at
* Created at timestamp.
* @type \Google\Protobuf\Timestamp $updated_at
* Last update timestamp.
* @type string $name
* Name.
* @type string $vendor
* Vendor.
* @type string $firmware
* Firmware.
* @type int $region
* Region.
* @type int $mac_version
* LoRaWAN mac-version.
* @type int $reg_params_revision
* Regional parameters revision.
* @type bool $supports_otaa
* Supports OTAA.
* @type bool $supports_class_b
* Supports Class-B.
* @type bool $supports_class_c
* Supports Class-C.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\DeviceProfileTemplate::initOnce();
parent::__construct($data);
}
/**
* Device-profile template ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* Device-profile template ID.
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
/**
* Created at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 2;</code>
* @return \Google\Protobuf\Timestamp|null
*/
public function getCreatedAt()
{
return $this->created_at;
}
public function hasCreatedAt()
{
return isset($this->created_at);
}
public function clearCreatedAt()
{
unset($this->created_at);
}
/**
* Created at timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 2;</code>
* @param \Google\Protobuf\Timestamp $var
* @return $this
*/
public function setCreatedAt($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
$this->created_at = $var;
return $this;
}
/**
* Last update timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp updated_at = 3;</code>
* @return \Google\Protobuf\Timestamp|null
*/
public function getUpdatedAt()
{
return $this->updated_at;
}
public function hasUpdatedAt()
{
return isset($this->updated_at);
}
public function clearUpdatedAt()
{
unset($this->updated_at);
}
/**
* Last update timestamp.
*
* Generated from protobuf field <code>.google.protobuf.Timestamp updated_at = 3;</code>
* @param \Google\Protobuf\Timestamp $var
* @return $this
*/
public function setUpdatedAt($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
$this->updated_at = $var;
return $this;
}
/**
* Name.
*
* Generated from protobuf field <code>string name = 4;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Name.
*
* Generated from protobuf field <code>string name = 4;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Vendor.
*
* Generated from protobuf field <code>string vendor = 5;</code>
* @return string
*/
public function getVendor()
{
return $this->vendor;
}
/**
* Vendor.
*
* Generated from protobuf field <code>string vendor = 5;</code>
* @param string $var
* @return $this
*/
public function setVendor($var)
{
GPBUtil::checkString($var, True);
$this->vendor = $var;
return $this;
}
/**
* Firmware.
*
* Generated from protobuf field <code>string firmware = 6;</code>
* @return string
*/
public function getFirmware()
{
return $this->firmware;
}
/**
* Firmware.
*
* Generated from protobuf field <code>string firmware = 6;</code>
* @param string $var
* @return $this
*/
public function setFirmware($var)
{
GPBUtil::checkString($var, True);
$this->firmware = $var;
return $this;
}
/**
* Region.
*
* Generated from protobuf field <code>.common.Region region = 7;</code>
* @return int
*/
public function getRegion()
{
return $this->region;
}
/**
* Region.
*
* Generated from protobuf field <code>.common.Region region = 7;</code>
* @param int $var
* @return $this
*/
public function setRegion($var)
{
GPBUtil::checkEnum($var, \Chirpstack\Common\Region::class);
$this->region = $var;
return $this;
}
/**
* LoRaWAN mac-version.
*
* Generated from protobuf field <code>.common.MacVersion mac_version = 8;</code>
* @return int
*/
public function getMacVersion()
{
return $this->mac_version;
}
/**
* LoRaWAN mac-version.
*
* Generated from protobuf field <code>.common.MacVersion mac_version = 8;</code>
* @param int $var
* @return $this
*/
public function setMacVersion($var)
{
GPBUtil::checkEnum($var, \Chirpstack\Common\MacVersion::class);
$this->mac_version = $var;
return $this;
}
/**
* Regional parameters revision.
*
* Generated from protobuf field <code>.common.RegParamsRevision reg_params_revision = 9;</code>
* @return int
*/
public function getRegParamsRevision()
{
return $this->reg_params_revision;
}
/**
* Regional parameters revision.
*
* Generated from protobuf field <code>.common.RegParamsRevision reg_params_revision = 9;</code>
* @param int $var
* @return $this
*/
public function setRegParamsRevision($var)
{
GPBUtil::checkEnum($var, \Chirpstack\Common\RegParamsRevision::class);
$this->reg_params_revision = $var;
return $this;
}
/**
* Supports OTAA.
*
* Generated from protobuf field <code>bool supports_otaa = 10;</code>
* @return bool
*/
public function getSupportsOtaa()
{
return $this->supports_otaa;
}
/**
* Supports OTAA.
*
* Generated from protobuf field <code>bool supports_otaa = 10;</code>
* @param bool $var
* @return $this
*/
public function setSupportsOtaa($var)
{
GPBUtil::checkBool($var);
$this->supports_otaa = $var;
return $this;
}
/**
* Supports Class-B.
*
* Generated from protobuf field <code>bool supports_class_b = 11;</code>
* @return bool
*/
public function getSupportsClassB()
{
return $this->supports_class_b;
}
/**
* Supports Class-B.
*
* Generated from protobuf field <code>bool supports_class_b = 11;</code>
* @param bool $var
* @return $this
*/
public function setSupportsClassB($var)
{
GPBUtil::checkBool($var);
$this->supports_class_b = $var;
return $this;
}
/**
* Supports Class-C.
*
* Generated from protobuf field <code>bool supports_class_c = 12;</code>
* @return bool
*/
public function getSupportsClassC()
{
return $this->supports_class_c;
}
/**
* Supports Class-C.
*
* Generated from protobuf field <code>bool supports_class_c = 12;</code>
* @param bool $var
* @return $this
*/
public function setSupportsClassC($var)
{
GPBUtil::checkBool($var);
$this->supports_class_c = $var;
return $this;
}
}

View File

@ -1,95 +0,0 @@
<?php
// GENERATED CODE -- DO NOT EDIT!
namespace Chirpstack\Api;
/**
* DeviceProfileTemplateService is the service providing API methods for managing device-profile templates.
*/
class DeviceProfileTemplateServiceClient extends \Grpc\BaseStub {
/**
* @param string $hostname hostname
* @param array $opts channel options
* @param \Grpc\Channel $channel (optional) re-use channel object
*/
public function __construct($hostname, $opts, $channel = null) {
parent::__construct($hostname, $opts, $channel);
}
/**
* Create the given device-profile template.
* @param \Chirpstack\Api\CreateDeviceProfileTemplateRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Create(\Chirpstack\Api\CreateDeviceProfileTemplateRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceProfileTemplateService/Create',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get the device-profile template for the given ID.
* @param \Chirpstack\Api\GetDeviceProfileTemplateRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Get(\Chirpstack\Api\GetDeviceProfileTemplateRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceProfileTemplateService/Get',
$argument,
['\Chirpstack\Api\GetDeviceProfileTemplateResponse', 'decode'],
$metadata, $options);
}
/**
* Update the given device-profile template.
* @param \Chirpstack\Api\UpdateDeviceProfileTemplateRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Update(\Chirpstack\Api\UpdateDeviceProfileTemplateRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceProfileTemplateService/Update',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete the device-profile template with the given ID.
* @param \Chirpstack\Api\DeleteDeviceProfileTemplateRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Delete(\Chirpstack\Api\DeleteDeviceProfileTemplateRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceProfileTemplateService/Delete',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* List the available device-profile templates.
* @param \Chirpstack\Api\ListDeviceProfileTemplatesRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function List(\Chirpstack\Api\ListDeviceProfileTemplatesRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceProfileTemplateService/List',
$argument,
['\Chirpstack\Api\ListDeviceProfileTemplatesResponse', 'decode'],
$metadata, $options);
}
}

View File

@ -1,387 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeviceQueueItem</code>
*/
class DeviceQueueItem extends \Google\Protobuf\Internal\Message
{
/**
* ID (UUID).
* This is automatically generated on enqueue.
*
* Generated from protobuf field <code>string id = 1;</code>
*/
protected $id = '';
/**
* Device EUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 2;</code>
*/
protected $dev_eui = '';
/**
* Confirmed.
*
* Generated from protobuf field <code>bool confirmed = 3;</code>
*/
protected $confirmed = false;
/**
* FPort (must be > 0).
*
* Generated from protobuf field <code>uint32 f_port = 4;</code>
*/
protected $f_port = 0;
/**
* Data.
* Or use the json_object field when a codec has been configured.
*
* Generated from protobuf field <code>bytes data = 5;</code>
*/
protected $data = '';
/**
* Only use this when a codec has been configured that can encode this
* object to bytes.
*
* Generated from protobuf field <code>.google.protobuf.Struct object = 6;</code>
*/
protected $object = null;
/**
* Is pending.
* This is set by ChirpStack to true when the downlink is pending (e.g. it
* has been sent, but a confirmation is still pending).
*
* Generated from protobuf field <code>bool is_pending = 7;</code>
*/
protected $is_pending = false;
/**
* Downlink frame-counter.
* Do not set this for plain-text data payloads. It will be automatically set
* by ChirpStack when the payload has been sent as downlink.
*
* Generated from protobuf field <code>uint32 f_cnt_down = 8;</code>
*/
protected $f_cnt_down = 0;
/**
* Is encrypted.
* This must be set to true if the end-application has already encrypted
* the data payload. In this case, the f_cnt_down field must be set to
* the corresponding frame-counter which has been used during the encryption.
*
* Generated from protobuf field <code>bool is_encrypted = 9;</code>
*/
protected $is_encrypted = false;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $id
* ID (UUID).
* This is automatically generated on enqueue.
* @type string $dev_eui
* Device EUI (EUI64).
* @type bool $confirmed
* Confirmed.
* @type int $f_port
* FPort (must be > 0).
* @type string $data
* Data.
* Or use the json_object field when a codec has been configured.
* @type \Google\Protobuf\Struct $object
* Only use this when a codec has been configured that can encode this
* object to bytes.
* @type bool $is_pending
* Is pending.
* This is set by ChirpStack to true when the downlink is pending (e.g. it
* has been sent, but a confirmation is still pending).
* @type int $f_cnt_down
* Downlink frame-counter.
* Do not set this for plain-text data payloads. It will be automatically set
* by ChirpStack when the payload has been sent as downlink.
* @type bool $is_encrypted
* Is encrypted.
* This must be set to true if the end-application has already encrypted
* the data payload. In this case, the f_cnt_down field must be set to
* the corresponding frame-counter which has been used during the encryption.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Device::initOnce();
parent::__construct($data);
}
/**
* ID (UUID).
* This is automatically generated on enqueue.
*
* Generated from protobuf field <code>string id = 1;</code>
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* ID (UUID).
* This is automatically generated on enqueue.
*
* Generated from protobuf field <code>string id = 1;</code>
* @param string $var
* @return $this
*/
public function setId($var)
{
GPBUtil::checkString($var, True);
$this->id = $var;
return $this;
}
/**
* Device EUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 2;</code>
* @return string
*/
public function getDevEui()
{
return $this->dev_eui;
}
/**
* Device EUI (EUI64).
*
* Generated from protobuf field <code>string dev_eui = 2;</code>
* @param string $var
* @return $this
*/
public function setDevEui($var)
{
GPBUtil::checkString($var, True);
$this->dev_eui = $var;
return $this;
}
/**
* Confirmed.
*
* Generated from protobuf field <code>bool confirmed = 3;</code>
* @return bool
*/
public function getConfirmed()
{
return $this->confirmed;
}
/**
* Confirmed.
*
* Generated from protobuf field <code>bool confirmed = 3;</code>
* @param bool $var
* @return $this
*/
public function setConfirmed($var)
{
GPBUtil::checkBool($var);
$this->confirmed = $var;
return $this;
}
/**
* FPort (must be > 0).
*
* Generated from protobuf field <code>uint32 f_port = 4;</code>
* @return int
*/
public function getFPort()
{
return $this->f_port;
}
/**
* FPort (must be > 0).
*
* Generated from protobuf field <code>uint32 f_port = 4;</code>
* @param int $var
* @return $this
*/
public function setFPort($var)
{
GPBUtil::checkUint32($var);
$this->f_port = $var;
return $this;
}
/**
* Data.
* Or use the json_object field when a codec has been configured.
*
* Generated from protobuf field <code>bytes data = 5;</code>
* @return string
*/
public function getData()
{
return $this->data;
}
/**
* Data.
* Or use the json_object field when a codec has been configured.
*
* Generated from protobuf field <code>bytes data = 5;</code>
* @param string $var
* @return $this
*/
public function setData($var)
{
GPBUtil::checkString($var, False);
$this->data = $var;
return $this;
}
/**
* Only use this when a codec has been configured that can encode this
* object to bytes.
*
* Generated from protobuf field <code>.google.protobuf.Struct object = 6;</code>
* @return \Google\Protobuf\Struct|null
*/
public function getObject()
{
return $this->object;
}
public function hasObject()
{
return isset($this->object);
}
public function clearObject()
{
unset($this->object);
}
/**
* Only use this when a codec has been configured that can encode this
* object to bytes.
*
* Generated from protobuf field <code>.google.protobuf.Struct object = 6;</code>
* @param \Google\Protobuf\Struct $var
* @return $this
*/
public function setObject($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Struct::class);
$this->object = $var;
return $this;
}
/**
* Is pending.
* This is set by ChirpStack to true when the downlink is pending (e.g. it
* has been sent, but a confirmation is still pending).
*
* Generated from protobuf field <code>bool is_pending = 7;</code>
* @return bool
*/
public function getIsPending()
{
return $this->is_pending;
}
/**
* Is pending.
* This is set by ChirpStack to true when the downlink is pending (e.g. it
* has been sent, but a confirmation is still pending).
*
* Generated from protobuf field <code>bool is_pending = 7;</code>
* @param bool $var
* @return $this
*/
public function setIsPending($var)
{
GPBUtil::checkBool($var);
$this->is_pending = $var;
return $this;
}
/**
* Downlink frame-counter.
* Do not set this for plain-text data payloads. It will be automatically set
* by ChirpStack when the payload has been sent as downlink.
*
* Generated from protobuf field <code>uint32 f_cnt_down = 8;</code>
* @return int
*/
public function getFCntDown()
{
return $this->f_cnt_down;
}
/**
* Downlink frame-counter.
* Do not set this for plain-text data payloads. It will be automatically set
* by ChirpStack when the payload has been sent as downlink.
*
* Generated from protobuf field <code>uint32 f_cnt_down = 8;</code>
* @param int $var
* @return $this
*/
public function setFCntDown($var)
{
GPBUtil::checkUint32($var);
$this->f_cnt_down = $var;
return $this;
}
/**
* Is encrypted.
* This must be set to true if the end-application has already encrypted
* the data payload. In this case, the f_cnt_down field must be set to
* the corresponding frame-counter which has been used during the encryption.
*
* Generated from protobuf field <code>bool is_encrypted = 9;</code>
* @return bool
*/
public function getIsEncrypted()
{
return $this->is_encrypted;
}
/**
* Is encrypted.
* This must be set to true if the end-application has already encrypted
* the data payload. In this case, the f_cnt_down field must be set to
* the corresponding frame-counter which has been used during the encryption.
*
* Generated from protobuf field <code>bool is_encrypted = 9;</code>
* @param bool $var
* @return $this
*/
public function setIsEncrypted($var)
{
GPBUtil::checkBool($var);
$this->is_encrypted = $var;
return $this;
}
}

View File

@ -1,328 +0,0 @@
<?php
// GENERATED CODE -- DO NOT EDIT!
namespace Chirpstack\Api;
/**
* DeviceService is the service providing API methods for managing devices.
*/
class DeviceServiceClient extends \Grpc\BaseStub {
/**
* @param string $hostname hostname
* @param array $opts channel options
* @param \Grpc\Channel $channel (optional) re-use channel object
*/
public function __construct($hostname, $opts, $channel = null) {
parent::__construct($hostname, $opts, $channel);
}
/**
* Create the given device.
* @param \Chirpstack\Api\CreateDeviceRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Create(\Chirpstack\Api\CreateDeviceRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/Create',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get returns the device for the given DevEUI.
* @param \Chirpstack\Api\GetDeviceRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Get(\Chirpstack\Api\GetDeviceRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/Get',
$argument,
['\Chirpstack\Api\GetDeviceResponse', 'decode'],
$metadata, $options);
}
/**
* Update the given device.
* @param \Chirpstack\Api\UpdateDeviceRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Update(\Chirpstack\Api\UpdateDeviceRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/Update',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete the device with the given DevEUI.
* @param \Chirpstack\Api\DeleteDeviceRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Delete(\Chirpstack\Api\DeleteDeviceRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/Delete',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get the list of devices.
* @param \Chirpstack\Api\ListDevicesRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function List(\Chirpstack\Api\ListDevicesRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/List',
$argument,
['\Chirpstack\Api\ListDevicesResponse', 'decode'],
$metadata, $options);
}
/**
* Create the given device-keys.
* @param \Chirpstack\Api\CreateDeviceKeysRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function CreateKeys(\Chirpstack\Api\CreateDeviceKeysRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/CreateKeys',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Get the device-keys for the given DevEUI.
* @param \Chirpstack\Api\GetDeviceKeysRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetKeys(\Chirpstack\Api\GetDeviceKeysRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/GetKeys',
$argument,
['\Chirpstack\Api\GetDeviceKeysResponse', 'decode'],
$metadata, $options);
}
/**
* Update the given device-keys.
* @param \Chirpstack\Api\UpdateDeviceKeysRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function UpdateKeys(\Chirpstack\Api\UpdateDeviceKeysRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/UpdateKeys',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Delete the device-keys for the given DevEUI.
* @param \Chirpstack\Api\DeleteDeviceKeysRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function DeleteKeys(\Chirpstack\Api\DeleteDeviceKeysRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/DeleteKeys',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* FlushDevNonces flushes the OTAA device nonces.
* @param \Chirpstack\Api\FlushDevNoncesRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function FlushDevNonces(\Chirpstack\Api\FlushDevNoncesRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/FlushDevNonces',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Activate (re)activates the device with the given parameters (for ABP or for
* importing OTAA activations).
* @param \Chirpstack\Api\ActivateDeviceRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Activate(\Chirpstack\Api\ActivateDeviceRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/Activate',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* Deactivate de-activates the device.
* @param \Chirpstack\Api\DeactivateDeviceRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Deactivate(\Chirpstack\Api\DeactivateDeviceRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/Deactivate',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* GetActivation returns the current activation details of the device (OTAA or
* ABP).
* @param \Chirpstack\Api\GetDeviceActivationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetActivation(\Chirpstack\Api\GetDeviceActivationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/GetActivation',
$argument,
['\Chirpstack\Api\GetDeviceActivationResponse', 'decode'],
$metadata, $options);
}
/**
* GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into
* account.
* @param \Chirpstack\Api\GetRandomDevAddrRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetRandomDevAddr(\Chirpstack\Api\GetRandomDevAddrRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/GetRandomDevAddr',
$argument,
['\Chirpstack\Api\GetRandomDevAddrResponse', 'decode'],
$metadata, $options);
}
/**
* GetMetrics returns the device metrics.
* Note that this requires a device-profile with codec and measurements
* configured.
* @param \Chirpstack\Api\GetDeviceMetricsRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetMetrics(\Chirpstack\Api\GetDeviceMetricsRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/GetMetrics',
$argument,
['\Chirpstack\Api\GetDeviceMetricsResponse', 'decode'],
$metadata, $options);
}
/**
* GetLinkMetrics returns the device link metrics.
* This includes uplinks, downlinks, RSSI, SNR, etc...
* @param \Chirpstack\Api\GetDeviceLinkMetricsRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetLinkMetrics(\Chirpstack\Api\GetDeviceLinkMetricsRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/GetLinkMetrics',
$argument,
['\Chirpstack\Api\GetDeviceLinkMetricsResponse', 'decode'],
$metadata, $options);
}
/**
* Enqueue adds the given item to the downlink queue.
* @param \Chirpstack\Api\EnqueueDeviceQueueItemRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Enqueue(\Chirpstack\Api\EnqueueDeviceQueueItemRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/Enqueue',
$argument,
['\Chirpstack\Api\EnqueueDeviceQueueItemResponse', 'decode'],
$metadata, $options);
}
/**
* FlushQueue flushes the downlink device-queue.
* @param \Chirpstack\Api\FlushDeviceQueueRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function FlushQueue(\Chirpstack\Api\FlushDeviceQueueRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/FlushQueue',
$argument,
['\Google\Protobuf\GPBEmpty', 'decode'],
$metadata, $options);
}
/**
* GetQueue returns the downlink device-queue.
* @param \Chirpstack\Api\GetDeviceQueueItemsRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetQueue(\Chirpstack\Api\GetDeviceQueueItemsRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/GetQueue',
$argument,
['\Chirpstack\Api\GetDeviceQueueItemsResponse', 'decode'],
$metadata, $options);
}
/**
* GetNextFCntDown returns the next FCntDown to use for enqueing encrypted
* downlinks. The difference with the DeviceActivation f_cont_down is that
* this method takes potential existing queue-items into account.
* @param \Chirpstack\Api\GetDeviceNextFCntDownRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function GetNextFCntDown(\Chirpstack\Api\GetDeviceNextFCntDownRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/api.DeviceService/GetNextFCntDown',
$argument,
['\Chirpstack\Api\GetDeviceNextFCntDownResponse', 'decode'],
$metadata, $options);
}
}

View File

@ -1,99 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeviceState</code>
*/
class DeviceState extends \Google\Protobuf\Internal\Message
{
/**
* Name.
*
* Generated from protobuf field <code>string name = 2;</code>
*/
protected $name = '';
/**
* Value.
*
* Generated from protobuf field <code>string value = 3;</code>
*/
protected $value = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* Name.
* @type string $value
* Value.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Device::initOnce();
parent::__construct($data);
}
/**
* Name.
*
* Generated from protobuf field <code>string name = 2;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Name.
*
* Generated from protobuf field <code>string name = 2;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Value.
*
* Generated from protobuf field <code>string value = 3;</code>
* @return string
*/
public function getValue()
{
return $this->value;
}
/**
* Value.
*
* Generated from protobuf field <code>string value = 3;</code>
* @param string $var
* @return $this
*/
public function setValue($var)
{
GPBUtil::checkString($var, True);
$this->value = $var;
return $this;
}
}

View File

@ -1,141 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/device.proto
namespace Chirpstack\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>api.DeviceStatus</code>
*/
class DeviceStatus extends \Google\Protobuf\Internal\Message
{
/**
* The device margin status
* -32..32: The demodulation SNR ration in dB
*
* Generated from protobuf field <code>int32 margin = 1;</code>
*/
protected $margin = 0;
/**
* Device is connected to an external power source.
*
* Generated from protobuf field <code>bool external_power_source = 2;</code>
*/
protected $external_power_source = false;
/**
* Device battery level as a percentage.
* -1 when the battery level is not available.
*
* Generated from protobuf field <code>float battery_level = 3;</code>
*/
protected $battery_level = 0.0;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type int $margin
* The device margin status
* -32..32: The demodulation SNR ration in dB
* @type bool $external_power_source
* Device is connected to an external power source.
* @type float $battery_level
* Device battery level as a percentage.
* -1 when the battery level is not available.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Chirpstack\Api\Device::initOnce();
parent::__construct($data);
}
/**
* The device margin status
* -32..32: The demodulation SNR ration in dB
*
* Generated from protobuf field <code>int32 margin = 1;</code>
* @return int
*/
public function getMargin()
{
return $this->margin;
}
/**
* The device margin status
* -32..32: The demodulation SNR ration in dB
*
* Generated from protobuf field <code>int32 margin = 1;</code>
* @param int $var
* @return $this
*/
public function setMargin($var)
{
GPBUtil::checkInt32($var);
$this->margin = $var;
return $this;
}
/**
* Device is connected to an external power source.
*
* Generated from protobuf field <code>bool external_power_source = 2;</code>
* @return bool
*/
public function getExternalPowerSource()
{
return $this->external_power_source;
}
/**
* Device is connected to an external power source.
*
* Generated from protobuf field <code>bool external_power_source = 2;</code>
* @param bool $var
* @return $this
*/
public function setExternalPowerSource($var)
{
GPBUtil::checkBool($var);
$this->external_power_source = $var;
return $this;
}
/**
* Device battery level as a percentage.
* -1 when the battery level is not available.
*
* Generated from protobuf field <code>float battery_level = 3;</code>
* @return float
*/
public function getBatteryLevel()
{
return $this->battery_level;
}
/**
* Device battery level as a percentage.
* -1 when the battery level is not available.
*
* Generated from protobuf field <code>float battery_level = 3;</code>
* @param float $var
* @return $this
*/
public function setBatteryLevel($var)
{
GPBUtil::checkFloat($var);
$this->battery_level = $var;
return $this;
}
}

View File

@ -1,48 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: api/application.proto
namespace Chirpstack\Api;
use UnexpectedValueException;
/**
* Protobuf type <code>api.Encoding</code>
*/
class Encoding
{
/**
* Generated from protobuf enum <code>JSON = 0;</code>
*/
const JSON = 0;
/**
* Generated from protobuf enum <code>PROTOBUF = 1;</code>
*/
const PROTOBUF = 1;
private static $valueToName = [
self::JSON => 'JSON',
self::PROTOBUF => 'PROTOBUF',
];
public static function name($value)
{
if (!isset(self::$valueToName[$value])) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no name defined for value %s', __CLASS__, $value));
}
return self::$valueToName[$value];
}
public static function value($name)
{
$const = __CLASS__ . '::' . strtoupper($name);
if (!defined($const)) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no value defined for name %s', __CLASS__, $name));
}
return constant($const);
}
}

Some files were not shown because too many files have changed in this diff Show More