diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 4b96db04e7c..5b89347b626 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -13,3 +13,4 @@
/handwritten/firestore @googleapis/firestore-team
/handwritten/spanner @googleapis/spanner-team
/handwritten/bigquery-storage @googleapis/bigquery-team
+/handwritten/pubsub @googleapis/pubsub-team
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index f6e2fa37c3e..b501df6111e 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -10,6 +10,7 @@
"handwritten/logging": "11.2.1",
"handwritten/logging-bunyan": "5.1.1",
"handwritten/logging-winston": "6.0.1",
+ "handwritten/pubsub": "5.3.0",
"handwritten/spanner": "8.6.0",
"handwritten/storage": "7.19.0",
"packages/gapic-node-processing": "0.1.7",
diff --git a/handwritten/pubsub/.OwlBot.yaml b/handwritten/pubsub/.OwlBot.yaml
new file mode 100644
index 00000000000..30b4b11de79
--- /dev/null
+++ b/handwritten/pubsub/.OwlBot.yaml
@@ -0,0 +1,24 @@
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+deep-remove-regex:
+ - /owl-bot-staging
+
+deep-copy-regex:
+ - source: /google/pubsub/(v.*)/.*-nodejs
+ dest: /owl-bot-staging/pubsub/$1
+
+begin-after-commit-hash: 94496fa21b40a7f4d0c4881e8ed8b2bf4117e280
+
diff --git a/handwritten/pubsub/.eslintignore b/handwritten/pubsub/.eslintignore
new file mode 100644
index 00000000000..12728ecfce2
--- /dev/null
+++ b/handwritten/pubsub/.eslintignore
@@ -0,0 +1,9 @@
+**/node_modules
+**/.coverage
+build/
+docs/
+protos/
+system-test/
+samples/generated/
+samples/typescript/
+owl-bot-staging/
diff --git a/handwritten/pubsub/.eslintrc.json b/handwritten/pubsub/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/handwritten/pubsub/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/handwritten/pubsub/.gitattributes b/handwritten/pubsub/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/handwritten/pubsub/.gitattributes
@@ -0,0 +1,4 @@
+*.ts text eol=lf
+*.js text eol=lf
+protos/* linguist-generated
+**/api-extractor.json linguist-language=JSON-with-Comments
diff --git a/handwritten/pubsub/.gitignore b/handwritten/pubsub/.gitignore
new file mode 100644
index 00000000000..d4f03a0df2e
--- /dev/null
+++ b/handwritten/pubsub/.gitignore
@@ -0,0 +1,14 @@
+**/*.log
+**/node_modules
+/.coverage
+/coverage
+/.nyc_output
+/docs/
+/out/
+/build/
+system-test/secrets.js
+system-test/*key.json
+*.lock
+.DS_Store
+package-lock.json
+__pycache__
diff --git a/handwritten/pubsub/.jsdoc.js b/handwritten/pubsub/.jsdoc.js
new file mode 100644
index 00000000000..c7aff047479
--- /dev/null
+++ b/handwritten/pubsub/.jsdoc.js
@@ -0,0 +1,55 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// ** This file is automatically generated by gapic-generator-typescript. **
+// ** https://github.com/googleapis/gapic-generator-typescript **
+// ** All changes to this file may be overwritten. **
+
+'use strict';
+
+module.exports = {
+ opts: {
+ readme: './README.md',
+ package: './package.json',
+ template: './node_modules/jsdoc-fresh',
+ recurse: true,
+ verbose: true,
+ destination: './docs/'
+ },
+ plugins: [
+ 'plugins/markdown',
+ 'jsdoc-region-tag'
+ ],
+ source: {
+ excludePattern: '(^|\\/|\\\\)[._]',
+ include: [
+ 'build/src',
+ 'protos'
+ ],
+ includePattern: '\\.js$'
+ },
+ templates: {
+ copyright: 'Copyright 2025 Google LLC',
+ includeDate: false,
+ sourceFiles: false,
+ systemName: '@google-cloud/pubsub',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/handwritten/pubsub/.kokoro/.gitattributes b/handwritten/pubsub/.kokoro/.gitattributes
new file mode 100644
index 00000000000..87acd4f484e
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/.gitattributes
@@ -0,0 +1 @@
+* linguist-generated=true
diff --git a/handwritten/pubsub/.kokoro/common.cfg b/handwritten/pubsub/.kokoro/common.cfg
new file mode 100644
index 00000000000..7daf577ef56
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/common.cfg
@@ -0,0 +1,24 @@
+# Format: //devtools/kokoro/config/proto/build.proto
+
+# Build logs will be here
+action {
+ define_artifacts {
+ regex: "**/*sponge_log.xml"
+ }
+}
+
+# Download trampoline resources.
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
+
+# Use the trampoline script to run in docker.
+build_file: "nodejs-pubsub/handwritten/pubsub/.kokoro/trampoline_v2.sh"
+
+# Configure the docker image for kokoro-trampoline.
+env_vars: {
+ key: "TRAMPOLINE_IMAGE"
+ value: "gcr.io/cloud-devrel-kokoro-resources/node:18-user"
+}
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-pubsub/handwritten/pubsub/.kokoro/test.sh"
+}
diff --git a/handwritten/pubsub/.kokoro/continuous/node18/common.cfg b/handwritten/pubsub/.kokoro/continuous/node18/common.cfg
new file mode 100644
index 00000000000..7daf577ef56
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/continuous/node18/common.cfg
@@ -0,0 +1,24 @@
+# Format: //devtools/kokoro/config/proto/build.proto
+
+# Build logs will be here
+action {
+ define_artifacts {
+ regex: "**/*sponge_log.xml"
+ }
+}
+
+# Download trampoline resources.
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
+
+# Use the trampoline script to run in docker.
+build_file: "nodejs-pubsub/handwritten/pubsub/.kokoro/trampoline_v2.sh"
+
+# Configure the docker image for kokoro-trampoline.
+env_vars: {
+ key: "TRAMPOLINE_IMAGE"
+ value: "gcr.io/cloud-devrel-kokoro-resources/node:18-user"
+}
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-pubsub/handwritten/pubsub/.kokoro/test.sh"
+}
diff --git a/handwritten/pubsub/.kokoro/continuous/node18/lint.cfg b/handwritten/pubsub/.kokoro/continuous/node18/lint.cfg
new file mode 100644
index 00000000000..e5a4c9758f9
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/continuous/node18/lint.cfg
@@ -0,0 +1,4 @@
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-pubsub/handwritten/pubsub/.kokoro/lint.sh"
+}
diff --git a/handwritten/pubsub/.kokoro/continuous/node18/samples-test.cfg b/handwritten/pubsub/.kokoro/continuous/node18/samples-test.cfg
new file mode 100644
index 00000000000..dddcd761946
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/continuous/node18/samples-test.cfg
@@ -0,0 +1,12 @@
+# Download resources for system tests (service account key, etc.)
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-nodejs"
+
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-pubsub/handwritten/pubsub/.kokoro/samples-test.sh"
+}
+
+env_vars: {
+ key: "SECRET_MANAGER_KEYS"
+ value: "long-door-651-kokoro-system-test-service-account"
+}
\ No newline at end of file
diff --git a/handwritten/pubsub/.kokoro/continuous/node18/system-test.cfg b/handwritten/pubsub/.kokoro/continuous/node18/system-test.cfg
new file mode 100644
index 00000000000..3da815140ff
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/continuous/node18/system-test.cfg
@@ -0,0 +1,12 @@
+# Download resources for system tests (service account key, etc.)
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-nodejs"
+
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-pubsub/handwritten/pubsub/.kokoro/system-test.sh"
+}
+
+env_vars: {
+ key: "SECRET_MANAGER_KEYS"
+ value: "long-door-651-kokoro-system-test-service-account"
+}
\ No newline at end of file
diff --git a/handwritten/pubsub/.kokoro/continuous/node18/test.cfg b/handwritten/pubsub/.kokoro/continuous/node18/test.cfg
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/handwritten/pubsub/.kokoro/docs.sh b/handwritten/pubsub/.kokoro/docs.sh
new file mode 100755
index 00000000000..85901242b5e
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/docs.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+# Copyright 2018 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eo pipefail
+
+export NPM_CONFIG_PREFIX=${HOME}/.npm-global
+
+cd $(dirname $0)/..
+
+npm install
+
+npm run docs-test
diff --git a/handwritten/pubsub/.kokoro/lint.sh b/handwritten/pubsub/.kokoro/lint.sh
new file mode 100755
index 00000000000..c7ffa6438b0
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/lint.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+# Copyright 2018 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eo pipefail
+
+export NPM_CONFIG_PREFIX=${HOME}/.npm-global
+export PATH="${NPM_CONFIG_PREFIX}/bin:${PATH}"
+
+# Ensure the npm global directory is writable, otherwise rebuild `npm`
+mkdir -p ${NPM_CONFIG_PREFIX}/lib
+npm config -g ls || npm i -g npm@`npm --version`
+
+cd $(dirname $0)/..
+
+npm install
+
+# Install and link samples
+if [ -f samples/package.json ]; then
+ cd samples/
+ npm link ../
+ npm install
+ cd ..
+fi
+
+npm run lint
diff --git a/handwritten/pubsub/.kokoro/populate-secrets.sh b/handwritten/pubsub/.kokoro/populate-secrets.sh
new file mode 100755
index 00000000000..deb2b199eb4
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/populate-secrets.sh
@@ -0,0 +1,76 @@
+#!/bin/bash
+# Copyright 2020 Google LLC.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This file is called in the early stage of `trampoline_v2.sh` to
+# populate secrets needed for the CI builds.
+
+set -eo pipefail
+
+function now { date +"%Y-%m-%d %H:%M:%S" | tr -d '\n' ;}
+function msg { println "$*" >&2 ;}
+function println { printf '%s\n' "$(now) $*" ;}
+
+# Populates requested secrets set in SECRET_MANAGER_KEYS
+
+# In Kokoro CI builds, we use the service account attached to the
+# Kokoro VM. This means we need to setup auth on other CI systems.
+# For local run, we just use the gcloud command for retrieving the
+# secrets.
+
+if [[ "${RUNNING_IN_CI:-}" == "true" ]]; then
+ GCLOUD_COMMANDS=(
+ "docker"
+ "run"
+ "--entrypoint=gcloud"
+ "--volume=${KOKORO_GFILE_DIR}:${KOKORO_GFILE_DIR}"
+ "gcr.io/google.com/cloudsdktool/cloud-sdk"
+ )
+ if [[ "${TRAMPOLINE_CI:-}" == "kokoro" ]]; then
+ SECRET_LOCATION="${KOKORO_GFILE_DIR}/secret_manager"
+ else
+ echo "Authentication for this CI system is not implemented yet."
+ exit 2
+ # TODO: Determine appropriate SECRET_LOCATION and the GCLOUD_COMMANDS.
+ fi
+else
+ # For local run, use /dev/shm or temporary directory for
+ # KOKORO_GFILE_DIR.
+ if [[ -d "/dev/shm" ]]; then
+ export KOKORO_GFILE_DIR=/dev/shm
+ else
+ export KOKORO_GFILE_DIR=$(mktemp -d -t ci-XXXXXXXX)
+ fi
+ SECRET_LOCATION="${KOKORO_GFILE_DIR}/secret_manager"
+ GCLOUD_COMMANDS=("gcloud")
+fi
+
+msg "Creating folder on disk for secrets: ${SECRET_LOCATION}"
+mkdir -p ${SECRET_LOCATION}
+
+for key in $(echo ${SECRET_MANAGER_KEYS} | sed "s/,/ /g")
+do
+ msg "Retrieving secret ${key}"
+ "${GCLOUD_COMMANDS[@]}" \
+ secrets versions access latest \
+ --project cloud-devrel-kokoro-resources \
+ --secret $key > \
+ "$SECRET_LOCATION/$key"
+ if [[ $? == 0 ]]; then
+ msg "Secret written to ${SECRET_LOCATION}/${key}"
+ else
+ msg "Error retrieving secret ${key}"
+ exit 2
+ fi
+done
diff --git a/handwritten/pubsub/.kokoro/presubmit/node18/common.cfg b/handwritten/pubsub/.kokoro/presubmit/node18/common.cfg
new file mode 100644
index 00000000000..7daf577ef56
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/presubmit/node18/common.cfg
@@ -0,0 +1,24 @@
+# Format: //devtools/kokoro/config/proto/build.proto
+
+# Build logs will be here
+action {
+ define_artifacts {
+ regex: "**/*sponge_log.xml"
+ }
+}
+
+# Download trampoline resources.
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
+
+# Use the trampoline script to run in docker.
+build_file: "nodejs-pubsub/handwritten/pubsub/.kokoro/trampoline_v2.sh"
+
+# Configure the docker image for kokoro-trampoline.
+env_vars: {
+ key: "TRAMPOLINE_IMAGE"
+ value: "gcr.io/cloud-devrel-kokoro-resources/node:18-user"
+}
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-pubsub/handwritten/pubsub/.kokoro/test.sh"
+}
diff --git a/handwritten/pubsub/.kokoro/presubmit/node18/samples-test.cfg b/handwritten/pubsub/.kokoro/presubmit/node18/samples-test.cfg
new file mode 100644
index 00000000000..dddcd761946
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/presubmit/node18/samples-test.cfg
@@ -0,0 +1,12 @@
+# Download resources for system tests (service account key, etc.)
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-nodejs"
+
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-pubsub/handwritten/pubsub/.kokoro/samples-test.sh"
+}
+
+env_vars: {
+ key: "SECRET_MANAGER_KEYS"
+ value: "long-door-651-kokoro-system-test-service-account"
+}
\ No newline at end of file
diff --git a/handwritten/pubsub/.kokoro/presubmit/node18/system-test.cfg b/handwritten/pubsub/.kokoro/presubmit/node18/system-test.cfg
new file mode 100644
index 00000000000..3da815140ff
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/presubmit/node18/system-test.cfg
@@ -0,0 +1,12 @@
+# Download resources for system tests (service account key, etc.)
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-nodejs"
+
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-pubsub/handwritten/pubsub/.kokoro/system-test.sh"
+}
+
+env_vars: {
+ key: "SECRET_MANAGER_KEYS"
+ value: "long-door-651-kokoro-system-test-service-account"
+}
\ No newline at end of file
diff --git a/handwritten/pubsub/.kokoro/presubmit/node18/test.cfg b/handwritten/pubsub/.kokoro/presubmit/node18/test.cfg
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/handwritten/pubsub/.kokoro/presubmit/windows/common.cfg b/handwritten/pubsub/.kokoro/presubmit/windows/common.cfg
new file mode 100644
index 00000000000..d6e25e0b1b8
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/presubmit/windows/common.cfg
@@ -0,0 +1,2 @@
+# Format: //devtools/kokoro/config/proto/build.proto
+
diff --git a/handwritten/pubsub/.kokoro/presubmit/windows/test.cfg b/handwritten/pubsub/.kokoro/presubmit/windows/test.cfg
new file mode 100644
index 00000000000..8b865a1df0f
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/presubmit/windows/test.cfg
@@ -0,0 +1,2 @@
+# Use the test file directly
+build_file: "nodejs-pubsub/handwritten/pubsub/.kokoro/test.bat"
diff --git a/handwritten/pubsub/.kokoro/publish.sh b/handwritten/pubsub/.kokoro/publish.sh
new file mode 100755
index 00000000000..ca1d47af347
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/publish.sh
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+# Copyright 2018 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eo pipefail
+
+export NPM_CONFIG_PREFIX=${HOME}/.npm-global
+
+# Start the releasetool reporter
+python3 -m releasetool publish-reporter-script > /tmp/publisher-script; source /tmp/publisher-script
+
+cd $(dirname $0)/..
+
+NPM_TOKEN=$(cat $KOKORO_KEYSTORE_DIR/73713_google-cloud-npm-token-1)
+echo "//wombat-dressing-room.appspot.com/:_authToken=${NPM_TOKEN}" > ~/.npmrc
+
+npm install
+npm pack .
+# npm provides no way to specify, observe, or predict the name of the tarball
+# file it generates. We have to look in the current directory for the freshest
+# .tgz file.
+TARBALL=$(ls -1 -t *.tgz | head -1)
+
+npm publish --access=public --registry=https://wombat-dressing-room.appspot.com "$TARBALL"
+
+# Kokoro collects *.tgz and package-lock.json files and stores them in Placer
+# so we can generate SBOMs and attestations.
+# However, we *don't* want Kokoro to collect package-lock.json and *.tgz files
+# that happened to be installed with dependencies.
+find node_modules -name package-lock.json -o -name "*.tgz" | xargs rm -f
\ No newline at end of file
diff --git a/handwritten/pubsub/.kokoro/release/common.cfg b/handwritten/pubsub/.kokoro/release/common.cfg
new file mode 100644
index 00000000000..3ba2eb095fe
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/release/common.cfg
@@ -0,0 +1,8 @@
+before_action {
+ fetch_keystore {
+ keystore_resource {
+ keystore_config_id: 73713
+ keyname: "yoshi-automation-github-key"
+ }
+ }
+}
diff --git a/handwritten/pubsub/.kokoro/release/docs-devsite.cfg b/handwritten/pubsub/.kokoro/release/docs-devsite.cfg
new file mode 100644
index 00000000000..0d8c43d3bcc
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/release/docs-devsite.cfg
@@ -0,0 +1,26 @@
+# service account used to publish up-to-date docs.
+before_action {
+ fetch_keystore {
+ keystore_resource {
+ keystore_config_id: 73713
+ keyname: "docuploader_service_account"
+ }
+ }
+}
+
+# doc publications use a Python image.
+env_vars: {
+ key: "TRAMPOLINE_IMAGE"
+ value: "gcr.io/cloud-devrel-kokoro-resources/node:18-user"
+}
+
+# Download trampoline resources.
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
+
+# Use the trampoline script to run in docker.
+build_file: "nodejs-pubsub/handwritten/pubsub/.kokoro/trampoline_v2.sh"
+
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-pubsub/handwritten/pubsub/.kokoro/release/docs-devsite.sh"
+}
diff --git a/handwritten/pubsub/.kokoro/release/docs-devsite.sh b/handwritten/pubsub/.kokoro/release/docs-devsite.sh
new file mode 100755
index 00000000000..81a89f6c172
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/release/docs-devsite.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eo pipefail
+
+if [[ -z "$CREDENTIALS" ]]; then
+ # if CREDENTIALS are explicitly set, assume we're testing locally
+ # and don't set NPM_CONFIG_PREFIX.
+ export NPM_CONFIG_PREFIX=${HOME}/.npm-global
+ export PATH="$PATH:${NPM_CONFIG_PREFIX}/bin"
+ cd $(dirname $0)/../..
+fi
+
+npm install
+npm install --no-save @google-cloud/cloud-rad@^0.4.0
+# publish docs to devsite
+npx @google-cloud/cloud-rad . cloud-rad
diff --git a/handwritten/pubsub/.kokoro/release/docs.cfg b/handwritten/pubsub/.kokoro/release/docs.cfg
new file mode 100644
index 00000000000..97deb73f38c
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/release/docs.cfg
@@ -0,0 +1,26 @@
+# service account used to publish up-to-date docs.
+before_action {
+ fetch_keystore {
+ keystore_resource {
+ keystore_config_id: 73713
+ keyname: "docuploader_service_account"
+ }
+ }
+}
+
+# doc publications use a Python image.
+env_vars: {
+ key: "TRAMPOLINE_IMAGE"
+ value: "gcr.io/cloud-devrel-kokoro-resources/node:18-user"
+}
+
+# Download trampoline resources.
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
+
+# Use the trampoline script to run in docker.
+build_file: "nodejs-pubsub/handwritten/pubsub/.kokoro/trampoline_v2.sh"
+
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-pubsub/handwritten/pubsub/.kokoro/release/docs.sh"
+}
diff --git a/handwritten/pubsub/.kokoro/release/docs.sh b/handwritten/pubsub/.kokoro/release/docs.sh
new file mode 100755
index 00000000000..e9079a60530
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/release/docs.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+# Copyright 2019 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eo pipefail
+
+# build jsdocs (Python is installed on the Node 18 docker image).
+if [[ -z "$CREDENTIALS" ]]; then
+ # if CREDENTIALS are explicitly set, assume we're testing locally
+ # and don't set NPM_CONFIG_PREFIX.
+ export NPM_CONFIG_PREFIX=${HOME}/.npm-global
+ export PATH="$PATH:${NPM_CONFIG_PREFIX}/bin"
+ cd $(dirname $0)/../..
+fi
+npm install
+npm run docs
+
+# create docs.metadata, based on package.json and .repo-metadata.json.
+npm i json@9.0.6 -g
+python3 -m docuploader create-metadata \
+ --name=$(cat .repo-metadata.json | json name) \
+ --version=$(cat package.json | json version) \
+ --language=$(cat .repo-metadata.json | json language) \
+ --distribution-name=$(cat .repo-metadata.json | json distribution_name) \
+ --product-page=$(cat .repo-metadata.json | json product_documentation) \
+ --github-repository=$(cat .repo-metadata.json | json repo) \
+ --issue-tracker=$(cat .repo-metadata.json | json issue_tracker)
+cp docs.metadata ./docs/docs.metadata
+
+# deploy the docs.
+if [[ -z "$CREDENTIALS" ]]; then
+ CREDENTIALS=${KOKORO_KEYSTORE_DIR}/73713_docuploader_service_account
+fi
+if [[ -z "$BUCKET" ]]; then
+ BUCKET=docs-staging
+fi
+python3 -m docuploader upload ./docs --credentials $CREDENTIALS --staging-bucket $BUCKET
diff --git a/handwritten/pubsub/.kokoro/release/publish.cfg b/handwritten/pubsub/.kokoro/release/publish.cfg
new file mode 100644
index 00000000000..fc23dd72145
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/release/publish.cfg
@@ -0,0 +1,51 @@
+before_action {
+ fetch_keystore {
+ keystore_resource {
+ keystore_config_id: 73713
+ keyname: "docuploader_service_account"
+ }
+ }
+}
+
+before_action {
+ fetch_keystore {
+ keystore_resource {
+ keystore_config_id: 73713
+ keyname: "google-cloud-npm-token-1"
+ }
+ }
+}
+
+env_vars: {
+ key: "SECRET_MANAGER_KEYS"
+ value: "releasetool-publish-reporter-app,releasetool-publish-reporter-googleapis-installation,releasetool-publish-reporter-pem"
+}
+
+# Download trampoline resources.
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
+
+# Use the trampoline script to run in docker.
+build_file: "nodejs-pubsub/handwritten/pubsub/.kokoro/trampoline_v2.sh"
+
+# Configure the docker image for kokoro-trampoline.
+env_vars: {
+ key: "TRAMPOLINE_IMAGE"
+ value: "gcr.io/cloud-devrel-kokoro-resources/node:18-user"
+}
+
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-pubsub/handwritten/pubsub/.kokoro/publish.sh"
+}
+
+# Store the packages we uploaded to npmjs.com and their corresponding
+# package-lock.jsons in Placer. That way, we have a record of exactly
+# what we published, and which version of which tools we used to publish
+# it, which we can use to generate SBOMs and attestations.
+action {
+ define_artifacts {
+ regex: "github/**/*.tgz"
+ regex: "github/**/package-lock.json"
+ strip_prefix: "github"
+ }
+}
diff --git a/handwritten/pubsub/.kokoro/samples-test.sh b/handwritten/pubsub/.kokoro/samples-test.sh
new file mode 100755
index 00000000000..528775394e0
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/samples-test.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+# Copyright 2018 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eo pipefail
+
+# Ensure the npm global directory is writable, otherwise rebuild `npm`
+mkdir -p $NPM_CONFIG_PREFIX
+npm config -g ls || npm i -g npm@`npm --version`
+
+# Setup service account credentials.
+export GOOGLE_APPLICATION_CREDENTIALS=${KOKORO_GFILE_DIR}/secret_manager/long-door-651-kokoro-system-test-service-account
+export GCLOUD_PROJECT=long-door-651
+
+cd $(dirname $0)/..
+
+# Run a pre-test hook, if a pre-samples-test.sh is in the project
+if [ -f .kokoro/pre-samples-test.sh ]; then
+ set +x
+ . .kokoro/pre-samples-test.sh
+ set -x
+fi
+
+if [ -f samples/package.json ]; then
+ npm install
+
+ # Install and link samples
+ cd samples/
+ npm link ../
+ npm install
+ cd ..
+ # If tests are running against main branch, configure flakybot
+ # to open issues on failures:
+ if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"continuous"* ]] || [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"nightly"* ]]; then
+ export MOCHA_REPORTER_OUTPUT=test_output_sponge_log.xml
+ export MOCHA_REPORTER=xunit
+ cleanup() {
+ chmod +x $KOKORO_GFILE_DIR/linux_amd64/flakybot
+ $KOKORO_GFILE_DIR/linux_amd64/flakybot
+ }
+ trap cleanup EXIT HUP
+ fi
+
+ npm run samples-test
+fi
+
+# codecov combines coverage across integration and unit tests. Include
+# the logic below for any environment you wish to collect coverage for:
+COVERAGE_NODE=18
+if npx check-node-version@3.3.0 --silent --node $COVERAGE_NODE; then
+ NYC_BIN=./node_modules/nyc/bin/nyc.js
+ if [ -f "$NYC_BIN" ]; then
+ $NYC_BIN report || true
+ fi
+ bash $KOKORO_GFILE_DIR/codecov.sh
+else
+ echo "coverage is only reported for Node $COVERAGE_NODE"
+fi
diff --git a/handwritten/pubsub/.kokoro/system-test.sh b/handwritten/pubsub/.kokoro/system-test.sh
new file mode 100755
index 00000000000..a90d5cfec89
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/system-test.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+
+# Copyright 2018 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eo pipefail
+
+export NPM_CONFIG_PREFIX=${HOME}/.npm-global
+
+# Setup service account credentials.
+export GOOGLE_APPLICATION_CREDENTIALS=${KOKORO_GFILE_DIR}/secret_manager/long-door-651-kokoro-system-test-service-account
+export GCLOUD_PROJECT=long-door-651
+
+cd $(dirname $0)/..
+
+# Run a pre-test hook, if a pre-system-test.sh is in the project
+if [ -f .kokoro/pre-system-test.sh ]; then
+ set +x
+ . .kokoro/pre-system-test.sh
+ set -x
+fi
+
+npm install
+
+# If tests are running against main branch, configure flakybot
+# to open issues on failures:
+if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"continuous"* ]] || [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"nightly"* ]]; then
+ export MOCHA_REPORTER_OUTPUT=test_output_sponge_log.xml
+ export MOCHA_REPORTER=xunit
+ cleanup() {
+ chmod +x $KOKORO_GFILE_DIR/linux_amd64/flakybot
+ $KOKORO_GFILE_DIR/linux_amd64/flakybot
+ }
+ trap cleanup EXIT HUP
+fi
+
+npm run system-test
+
+# codecov combines coverage across integration and unit tests. Include
+# the logic below for any environment you wish to collect coverage for:
+COVERAGE_NODE=18
+if npx check-node-version@3.3.0 --silent --node $COVERAGE_NODE; then
+ NYC_BIN=./node_modules/nyc/bin/nyc.js
+ if [ -f "$NYC_BIN" ]; then
+ $NYC_BIN report || true
+ fi
+ bash $KOKORO_GFILE_DIR/codecov.sh
+else
+ echo "coverage is only reported for Node $COVERAGE_NODE"
+fi
diff --git a/handwritten/pubsub/.kokoro/test.bat b/handwritten/pubsub/.kokoro/test.bat
new file mode 100644
index 00000000000..caf825656c2
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/test.bat
@@ -0,0 +1,33 @@
+@rem Copyright 2018 Google LLC. All rights reserved.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem http://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+
+@echo "Starting Windows build"
+
+cd /d %~dp0
+cd ..
+
+@rem npm path is not currently set in our image, we should fix this next time
+@rem we upgrade Node.js in the image:
+SET PATH=%PATH%;/cygdrive/c/Program Files/nodejs/npm
+
+call nvm use 18
+call which node
+
+call npm install || goto :error
+call npm run test || goto :error
+
+goto :EOF
+
+:error
+exit /b 1
diff --git a/handwritten/pubsub/.kokoro/test.sh b/handwritten/pubsub/.kokoro/test.sh
new file mode 100755
index 00000000000..0d9f6392a75
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/test.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+# Copyright 2018 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -eo pipefail
+
+export NPM_CONFIG_PREFIX=${HOME}/.npm-global
+
+cd $(dirname $0)/..
+
+npm install
+# If tests are running against main branch, configure flakybot
+# to open issues on failures:
+if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"continuous"* ]] || [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"nightly"* ]]; then
+ export MOCHA_REPORTER_OUTPUT=test_output_sponge_log.xml
+ export MOCHA_REPORTER=xunit
+ cleanup() {
+ chmod +x $KOKORO_GFILE_DIR/linux_amd64/flakybot
+ $KOKORO_GFILE_DIR/linux_amd64/flakybot
+ }
+ trap cleanup EXIT HUP
+fi
+# Unit tests exercise the entire API surface, which may include
+# deprecation warnings:
+export MOCHA_THROW_DEPRECATION=false
+npm test
+
+# codecov combines coverage across integration and unit tests. Include
+# the logic below for any environment you wish to collect coverage for:
+COVERAGE_NODE=18
+if npx check-node-version@3.3.0 --silent --node $COVERAGE_NODE; then
+ NYC_BIN=./node_modules/nyc/bin/nyc.js
+ if [ -f "$NYC_BIN" ]; then
+ $NYC_BIN report || true
+ fi
+ bash $KOKORO_GFILE_DIR/codecov.sh
+else
+ echo "coverage is only reported for Node $COVERAGE_NODE"
+fi
diff --git a/handwritten/pubsub/.kokoro/trampoline.sh b/handwritten/pubsub/.kokoro/trampoline.sh
new file mode 100755
index 00000000000..f693a1ce7aa
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/trampoline.sh
@@ -0,0 +1,32 @@
+#!/bin/bash
+# Copyright 2017 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This file is not used any more, but we keep this file for making it
+# easy to roll back.
+# TODO: Remove this file from the template.
+
+set -eo pipefail
+
+# Always run the cleanup script, regardless of the success of bouncing into
+# the container.
+function cleanup() {
+ chmod +x ${KOKORO_GFILE_DIR}/trampoline_cleanup.sh
+ ${KOKORO_GFILE_DIR}/trampoline_cleanup.sh
+ echo "cleanup";
+}
+trap cleanup EXIT
+
+$(dirname $0)/populate-secrets.sh # Secret Manager secrets.
+python3 "${KOKORO_GFILE_DIR}/trampoline_v1.py"
diff --git a/handwritten/pubsub/.kokoro/trampoline_v2.sh b/handwritten/pubsub/.kokoro/trampoline_v2.sh
new file mode 100755
index 00000000000..682bdefdb06
--- /dev/null
+++ b/handwritten/pubsub/.kokoro/trampoline_v2.sh
@@ -0,0 +1,510 @@
+#!/usr/bin/env bash
+# Copyright 2020 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# trampoline_v2.sh
+#
+# If you want to make a change to this file, consider doing so at:
+# https://github.com/googlecloudplatform/docker-ci-helper
+#
+# This script is for running CI builds. For Kokoro builds, we
+# set this script to `build_file` field in the Kokoro configuration.
+
+# This script does 3 things.
+#
+# 1. Prepare the Docker image for the test
+# 2. Run the Docker with appropriate flags to run the test
+# 3. Upload the newly built Docker image
+#
+# in a way that is somewhat compatible with trampoline_v1.
+#
+# These environment variables are required:
+# TRAMPOLINE_IMAGE: The docker image to use.
+# TRAMPOLINE_DOCKERFILE: The location of the Dockerfile.
+#
+# You can optionally change these environment variables:
+# TRAMPOLINE_IMAGE_UPLOAD:
+# (true|false): Whether to upload the Docker image after the
+# successful builds.
+# TRAMPOLINE_BUILD_FILE: The script to run in the docker container.
+# TRAMPOLINE_WORKSPACE: The workspace path in the docker container.
+# Defaults to /workspace.
+# Potentially there are some repo specific envvars in .trampolinerc in
+# the project root.
+#
+# Here is an example for running this script.
+# TRAMPOLINE_IMAGE=gcr.io/cloud-devrel-kokoro-resources/node:18-user \
+# TRAMPOLINE_BUILD_FILE=.kokoro/system-test.sh \
+# .kokoro/trampoline_v2.sh
+
+set -euo pipefail
+
+TRAMPOLINE_VERSION="2.0.7"
+
+if command -v tput >/dev/null && [[ -n "${TERM:-}" ]]; then
+ readonly IO_COLOR_RED="$(tput setaf 1)"
+ readonly IO_COLOR_GREEN="$(tput setaf 2)"
+ readonly IO_COLOR_YELLOW="$(tput setaf 3)"
+ readonly IO_COLOR_RESET="$(tput sgr0)"
+else
+ readonly IO_COLOR_RED=""
+ readonly IO_COLOR_GREEN=""
+ readonly IO_COLOR_YELLOW=""
+ readonly IO_COLOR_RESET=""
+fi
+
+function function_exists {
+ [ $(LC_ALL=C type -t $1)"" == "function" ]
+}
+
+# Logs a message using the given color. The first argument must be one
+# of the IO_COLOR_* variables defined above, such as
+# "${IO_COLOR_YELLOW}". The remaining arguments will be logged in the
+# given color. The log message will also have an RFC-3339 timestamp
+# prepended (in UTC). You can disable the color output by setting
+# TERM=vt100.
+function log_impl() {
+ local color="$1"
+ shift
+ local timestamp="$(date -u "+%Y-%m-%dT%H:%M:%SZ")"
+ echo "================================================================"
+ echo "${color}${timestamp}:" "$@" "${IO_COLOR_RESET}"
+ echo "================================================================"
+}
+
+# Logs the given message with normal coloring and a timestamp.
+function log() {
+ log_impl "${IO_COLOR_RESET}" "$@"
+}
+
+# Logs the given message in green with a timestamp.
+function log_green() {
+ log_impl "${IO_COLOR_GREEN}" "$@"
+}
+
+# Logs the given message in yellow with a timestamp.
+function log_yellow() {
+ log_impl "${IO_COLOR_YELLOW}" "$@"
+}
+
+# Logs the given message in red with a timestamp.
+function log_red() {
+ log_impl "${IO_COLOR_RED}" "$@"
+}
+
+readonly tmpdir=$(mktemp -d -t ci-XXXXXXXX)
+readonly tmphome="${tmpdir}/h"
+mkdir -p "${tmphome}"
+
+function cleanup() {
+ rm -rf "${tmpdir}"
+}
+trap cleanup EXIT
+
+RUNNING_IN_CI="${RUNNING_IN_CI:-false}"
+
+# The workspace in the container, defaults to /workspace.
+TRAMPOLINE_WORKSPACE="${TRAMPOLINE_WORKSPACE:-/workspace}"
+
+pass_down_envvars=(
+ # TRAMPOLINE_V2 variables.
+ # Tells scripts whether they are running as part of CI or not.
+ "RUNNING_IN_CI"
+ # Indicates which CI system we're in.
+ "TRAMPOLINE_CI"
+ # Indicates the version of the script.
+ "TRAMPOLINE_VERSION"
+ # Contains path to build artifacts being executed.
+ "KOKORO_BUILD_ARTIFACTS_SUBDIR"
+)
+
+log_yellow "Building with Trampoline ${TRAMPOLINE_VERSION}"
+
+# Detect which CI systems we're in. If we're in any of the CI systems
+# we support, `RUNNING_IN_CI` will be true and `TRAMPOLINE_CI` will be
+# the name of the CI system. Both envvars will be passing down to the
+# container for telling which CI system we're in.
+if [[ -n "${KOKORO_BUILD_ID:-}" ]]; then
+ # descriptive env var for indicating it's on CI.
+ RUNNING_IN_CI="true"
+ TRAMPOLINE_CI="kokoro"
+ if [[ "${TRAMPOLINE_USE_LEGACY_SERVICE_ACCOUNT:-}" == "true" ]]; then
+ if [[ ! -f "${KOKORO_GFILE_DIR}/kokoro-trampoline.service-account.json" ]]; then
+ log_red "${KOKORO_GFILE_DIR}/kokoro-trampoline.service-account.json does not exist. Did you forget to mount cloud-devrel-kokoro-resources/trampoline? Aborting."
+ exit 1
+ fi
+ # This service account will be activated later.
+ TRAMPOLINE_SERVICE_ACCOUNT="${KOKORO_GFILE_DIR}/kokoro-trampoline.service-account.json"
+ else
+ if [[ "${TRAMPOLINE_VERBOSE:-}" == "true" ]]; then
+ gcloud auth list
+ fi
+ log_yellow "Configuring Container Registry access"
+ gcloud auth configure-docker --quiet
+ fi
+ pass_down_envvars+=(
+ # KOKORO dynamic variables.
+ "KOKORO_BUILD_NUMBER"
+ "KOKORO_BUILD_ID"
+ "KOKORO_JOB_NAME"
+ "KOKORO_GIT_COMMIT"
+ "KOKORO_GITHUB_COMMIT"
+ "KOKORO_GITHUB_PULL_REQUEST_NUMBER"
+ "KOKORO_GITHUB_PULL_REQUEST_COMMIT"
+ # For flakybot
+ "KOKORO_GITHUB_COMMIT_URL"
+ "KOKORO_GITHUB_PULL_REQUEST_URL"
+ )
+elif [[ "${TRAVIS:-}" == "true" ]]; then
+ RUNNING_IN_CI="true"
+ TRAMPOLINE_CI="travis"
+ pass_down_envvars+=(
+ "TRAVIS_BRANCH"
+ "TRAVIS_BUILD_ID"
+ "TRAVIS_BUILD_NUMBER"
+ "TRAVIS_BUILD_WEB_URL"
+ "TRAVIS_COMMIT"
+ "TRAVIS_COMMIT_MESSAGE"
+ "TRAVIS_COMMIT_RANGE"
+ "TRAVIS_JOB_NAME"
+ "TRAVIS_JOB_NUMBER"
+ "TRAVIS_JOB_WEB_URL"
+ "TRAVIS_PULL_REQUEST"
+ "TRAVIS_PULL_REQUEST_BRANCH"
+ "TRAVIS_PULL_REQUEST_SHA"
+ "TRAVIS_PULL_REQUEST_SLUG"
+ "TRAVIS_REPO_SLUG"
+ "TRAVIS_SECURE_ENV_VARS"
+ "TRAVIS_TAG"
+ )
+elif [[ -n "${GITHUB_RUN_ID:-}" ]]; then
+ RUNNING_IN_CI="true"
+ TRAMPOLINE_CI="github-workflow"
+ pass_down_envvars+=(
+ "GITHUB_WORKFLOW"
+ "GITHUB_RUN_ID"
+ "GITHUB_RUN_NUMBER"
+ "GITHUB_ACTION"
+ "GITHUB_ACTIONS"
+ "GITHUB_ACTOR"
+ "GITHUB_REPOSITORY"
+ "GITHUB_EVENT_NAME"
+ "GITHUB_EVENT_PATH"
+ "GITHUB_SHA"
+ "GITHUB_REF"
+ "GITHUB_HEAD_REF"
+ "GITHUB_BASE_REF"
+ )
+elif [[ "${CIRCLECI:-}" == "true" ]]; then
+ RUNNING_IN_CI="true"
+ TRAMPOLINE_CI="circleci"
+ pass_down_envvars+=(
+ "CIRCLE_BRANCH"
+ "CIRCLE_BUILD_NUM"
+ "CIRCLE_BUILD_URL"
+ "CIRCLE_COMPARE_URL"
+ "CIRCLE_JOB"
+ "CIRCLE_NODE_INDEX"
+ "CIRCLE_NODE_TOTAL"
+ "CIRCLE_PREVIOUS_BUILD_NUM"
+ "CIRCLE_PROJECT_REPONAME"
+ "CIRCLE_PROJECT_USERNAME"
+ "CIRCLE_REPOSITORY_URL"
+ "CIRCLE_SHA1"
+ "CIRCLE_STAGE"
+ "CIRCLE_USERNAME"
+ "CIRCLE_WORKFLOW_ID"
+ "CIRCLE_WORKFLOW_JOB_ID"
+ "CIRCLE_WORKFLOW_UPSTREAM_JOB_IDS"
+ "CIRCLE_WORKFLOW_WORKSPACE_ID"
+ )
+fi
+
+# Configure the service account for pulling the docker image.
+function repo_root() {
+ local dir="$1"
+ while [[ ! -d "${dir}/.git" ]]; do
+ dir="$(dirname "$dir")"
+ done
+ echo "${dir}"
+}
+
+# Detect the project root. In CI builds, we assume the script is in
+# the git tree and traverse from there, otherwise, traverse from `pwd`
+# to find `.git` directory.
+if [[ "${RUNNING_IN_CI:-}" == "true" ]]; then
+ PROGRAM_PATH="$(realpath "$0")"
+ PROGRAM_DIR="$(dirname "${PROGRAM_PATH}")"
+ PROJECT_ROOT="$(repo_root "${PROGRAM_DIR}")/handwritten/pubsub"
+else
+ PROJECT_ROOT="$(repo_root $(pwd))/handwritten/pubsub"
+fi
+
+log_yellow "Changing to the project root: ${PROJECT_ROOT}."
+cd "${PROJECT_ROOT}"
+
+# Auto-injected conditional check
+# Check if the package directory has changes. If not, skip tests.
+if [[ "${RUNNING_IN_CI:-}" == "true" ]]; then
+ # The package path is hardcoded during migration
+ RELATIVE_PKG_PATH="handwritten/pubsub"
+
+ echo "Checking for changes in ${RELATIVE_PKG_PATH}..."
+
+ # Determine the diff range based on the CI system/event
+ # Safe default: HEAD~1..HEAD
+ DIFF_RANGE="HEAD~1..HEAD"
+
+ if git diff --quiet "${DIFF_RANGE}" -- "${RELATIVE_PKG_PATH}"; then
+ echo "No changes detected in ${RELATIVE_PKG_PATH}. Skipping tests."
+ exit 0
+ else
+ echo "Changes detected in ${RELATIVE_PKG_PATH}. Proceeding with tests."
+ fi
+fi
+
+# To support relative path for `TRAMPOLINE_SERVICE_ACCOUNT`, we need
+# to use this environment variable in `PROJECT_ROOT`.
+if [[ -n "${TRAMPOLINE_SERVICE_ACCOUNT:-}" ]]; then
+
+ mkdir -p "${tmpdir}/gcloud"
+ gcloud_config_dir="${tmpdir}/gcloud"
+
+ log_yellow "Using isolated gcloud config: ${gcloud_config_dir}."
+ export CLOUDSDK_CONFIG="${gcloud_config_dir}"
+
+ log_yellow "Using ${TRAMPOLINE_SERVICE_ACCOUNT} for authentication."
+ gcloud auth activate-service-account \
+ --key-file "${TRAMPOLINE_SERVICE_ACCOUNT}"
+ log_yellow "Configuring Container Registry access"
+ gcloud auth configure-docker --quiet
+fi
+
+required_envvars=(
+ # The basic trampoline configurations.
+ "TRAMPOLINE_IMAGE"
+ "TRAMPOLINE_BUILD_FILE"
+)
+
+if [[ -f "${PROJECT_ROOT}/.trampolinerc" ]]; then
+ source "${PROJECT_ROOT}/.trampolinerc"
+fi
+
+log_yellow "Checking environment variables."
+for e in "${required_envvars[@]}"
+do
+ if [[ -z "${!e:-}" ]]; then
+ log "Missing ${e} env var. Aborting."
+ exit 1
+ fi
+done
+
+# We want to support legacy style TRAMPOLINE_BUILD_FILE used with V1
+# script: e.g. "github/repo-name/.kokoro/run_tests.sh"
+TRAMPOLINE_BUILD_FILE="${TRAMPOLINE_BUILD_FILE#github/*/}"
+log_yellow "Using TRAMPOLINE_BUILD_FILE: ${TRAMPOLINE_BUILD_FILE}"
+
+# ignore error on docker operations and test execution
+set +e
+
+log_yellow "Preparing Docker image."
+# We only download the docker image in CI builds.
+if [[ "${RUNNING_IN_CI:-}" == "true" ]]; then
+ # Download the docker image specified by `TRAMPOLINE_IMAGE`
+
+ # We may want to add --max-concurrent-downloads flag.
+
+ log_yellow "Start pulling the Docker image: ${TRAMPOLINE_IMAGE}."
+ if docker pull "${TRAMPOLINE_IMAGE}"; then
+ log_green "Finished pulling the Docker image: ${TRAMPOLINE_IMAGE}."
+ has_image="true"
+ else
+ log_red "Failed pulling the Docker image: ${TRAMPOLINE_IMAGE}."
+ has_image="false"
+ fi
+else
+ # For local run, check if we have the image.
+ if docker images "${TRAMPOLINE_IMAGE}" | grep "${TRAMPOLINE_IMAGE%:*}"; then
+ has_image="true"
+ else
+ has_image="false"
+ fi
+fi
+
+
+# The default user for a Docker container has uid 0 (root). To avoid
+# creating root-owned files in the build directory we tell docker to
+# use the current user ID.
+user_uid="$(id -u)"
+user_gid="$(id -g)"
+user_name="$(id -un)"
+
+# To allow docker in docker, we add the user to the docker group in
+# the host os.
+docker_gid=$(cut -d: -f3 < <(getent group docker))
+
+update_cache="false"
+if [[ "${TRAMPOLINE_DOCKERFILE:-none}" != "none" ]]; then
+ # Build the Docker image from the source.
+ context_dir=$(dirname "${TRAMPOLINE_DOCKERFILE}")
+ docker_build_flags=(
+ "-f" "${TRAMPOLINE_DOCKERFILE}"
+ "-t" "${TRAMPOLINE_IMAGE}"
+ "--build-arg" "UID=${user_uid}"
+ "--build-arg" "USERNAME=${user_name}"
+ )
+ if [[ "${has_image}" == "true" ]]; then
+ docker_build_flags+=("--cache-from" "${TRAMPOLINE_IMAGE}")
+ fi
+
+ log_yellow "Start building the docker image."
+ if [[ "${TRAMPOLINE_VERBOSE:-false}" == "true" ]]; then
+ echo "docker build" "${docker_build_flags[@]}" "${context_dir}"
+ fi
+
+ # ON CI systems, we want to suppress docker build logs, only
+ # output the logs when it fails.
+ if [[ "${RUNNING_IN_CI:-}" == "true" ]]; then
+ if docker build "${docker_build_flags[@]}" "${context_dir}" \
+ > "${tmpdir}/docker_build.log" 2>&1; then
+ if [[ "${TRAMPOLINE_VERBOSE:-}" == "true" ]]; then
+ cat "${tmpdir}/docker_build.log"
+ fi
+
+ log_green "Finished building the docker image."
+ update_cache="true"
+ else
+ log_red "Failed to build the Docker image, aborting."
+ log_yellow "Dumping the build logs:"
+ cat "${tmpdir}/docker_build.log"
+ exit 1
+ fi
+ else
+ if docker build "${docker_build_flags[@]}" "${context_dir}"; then
+ log_green "Finished building the docker image."
+ update_cache="true"
+ else
+ log_red "Failed to build the Docker image, aborting."
+ exit 1
+ fi
+ fi
+else
+ if [[ "${has_image}" != "true" ]]; then
+ log_red "We do not have ${TRAMPOLINE_IMAGE} locally, aborting."
+ exit 1
+ fi
+fi
+
+# We use an array for the flags so they are easier to document.
+docker_flags=(
+ # Remove the container after it exists.
+ "--rm"
+
+ # Use the host network.
+ "--network=host"
+
+ # Run in priviledged mode. We are not using docker for sandboxing or
+ # isolation, just for packaging our dev tools.
+ "--privileged"
+
+ # Run the docker script with the user id. Because the docker image gets to
+ # write in ${PWD} you typically want this to be your user id.
+ # To allow docker in docker, we need to use docker gid on the host.
+ "--user" "${user_uid}:${docker_gid}"
+
+ # Pass down the USER.
+ "--env" "USER=${user_name}"
+
+ # Mount the project directory inside the Docker container.
+ "--volume" "${PROJECT_ROOT}:${TRAMPOLINE_WORKSPACE}"
+ "--workdir" "${TRAMPOLINE_WORKSPACE}"
+ "--env" "PROJECT_ROOT=${TRAMPOLINE_WORKSPACE}"
+
+ # Mount the temporary home directory.
+ "--volume" "${tmphome}:/h"
+ "--env" "HOME=/h"
+
+ # Allow docker in docker.
+ "--volume" "/var/run/docker.sock:/var/run/docker.sock"
+
+ # Mount the /tmp so that docker in docker can mount the files
+ # there correctly.
+ "--volume" "/tmp:/tmp"
+ # Pass down the KOKORO_GFILE_DIR and KOKORO_KEYSTORE_DIR
+ # TODO(tmatsuo): This part is not portable.
+ "--env" "TRAMPOLINE_SECRET_DIR=/secrets"
+ "--volume" "${KOKORO_GFILE_DIR:-/dev/shm}:/secrets/gfile"
+ "--env" "KOKORO_GFILE_DIR=/secrets/gfile"
+ "--volume" "${KOKORO_KEYSTORE_DIR:-/dev/shm}:/secrets/keystore"
+ "--env" "KOKORO_KEYSTORE_DIR=/secrets/keystore"
+)
+
+# Add an option for nicer output if the build gets a tty.
+if [[ -t 0 ]]; then
+ docker_flags+=("-it")
+fi
+
+# Passing down env vars
+for e in "${pass_down_envvars[@]}"
+do
+ if [[ -n "${!e:-}" ]]; then
+ docker_flags+=("--env" "${e}=${!e}")
+ fi
+done
+
+# If arguments are given, all arguments will become the commands run
+# in the container, otherwise run TRAMPOLINE_BUILD_FILE.
+if [[ $# -ge 1 ]]; then
+ log_yellow "Running the given commands '" "${@:1}" "' in the container."
+ readonly commands=("${@:1}")
+ if [[ "${TRAMPOLINE_VERBOSE:-}" == "true" ]]; then
+ echo docker run "${docker_flags[@]}" "${TRAMPOLINE_IMAGE}" "${commands[@]}"
+ fi
+ docker run "${docker_flags[@]}" "${TRAMPOLINE_IMAGE}" "${commands[@]}"
+else
+ log_yellow "Running the tests in a Docker container."
+ docker_flags+=("--entrypoint=${TRAMPOLINE_BUILD_FILE}")
+ if [[ "${TRAMPOLINE_VERBOSE:-}" == "true" ]]; then
+ echo docker run "${docker_flags[@]}" "${TRAMPOLINE_IMAGE}"
+ fi
+ docker run "${docker_flags[@]}" "${TRAMPOLINE_IMAGE}"
+fi
+
+
+test_retval=$?
+
+if [[ ${test_retval} -eq 0 ]]; then
+ log_green "Build finished with ${test_retval}"
+else
+ log_red "Build finished with ${test_retval}"
+fi
+
+# Only upload it when the test passes.
+if [[ "${update_cache}" == "true" ]] && \
+ [[ $test_retval == 0 ]] && \
+ [[ "${TRAMPOLINE_IMAGE_UPLOAD:-false}" == "true" ]]; then
+ log_yellow "Uploading the Docker image."
+ if docker push "${TRAMPOLINE_IMAGE}"; then
+ log_green "Finished uploading the Docker image."
+ else
+ log_red "Failed uploading the Docker image."
+ fi
+ # Call trampoline_after_upload_hook if it's defined.
+ if function_exists trampoline_after_upload_hook; then
+ trampoline_after_upload_hook
+ fi
+
+fi
+
+exit "${test_retval}"
diff --git a/handwritten/pubsub/.mocharc.js b/handwritten/pubsub/.mocharc.js
new file mode 100644
index 00000000000..2431859019f
--- /dev/null
+++ b/handwritten/pubsub/.mocharc.js
@@ -0,0 +1,29 @@
+// Copyright 2026 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+const config = {
+ "enable-source-maps": true,
+ "throw-deprecation": true,
+ "timeout": 10000,
+ "recursive": true
+}
+if (process.env.MOCHA_THROW_DEPRECATION === 'false') {
+ delete config['throw-deprecation'];
+}
+if (process.env.MOCHA_REPORTER) {
+ config.reporter = process.env.MOCHA_REPORTER;
+}
+if (process.env.MOCHA_REPORTER_OUTPUT) {
+ config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`;
+}
+module.exports = config
diff --git a/handwritten/pubsub/.mocharc.json b/handwritten/pubsub/.mocharc.json
new file mode 100644
index 00000000000..670c5e2c24b
--- /dev/null
+++ b/handwritten/pubsub/.mocharc.json
@@ -0,0 +1,5 @@
+{
+ "enable-source-maps": true,
+ "throw-deprecation": true,
+ "timeout": 10000
+}
diff --git a/handwritten/pubsub/.nycrc b/handwritten/pubsub/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/handwritten/pubsub/.nycrc
@@ -0,0 +1,24 @@
+{
+ "report-dir": "./.coverage",
+ "reporter": ["text", "lcov"],
+ "exclude": [
+ "**/*-test",
+ "**/.coverage",
+ "**/apis",
+ "**/benchmark",
+ "**/conformance",
+ "**/docs",
+ "**/samples",
+ "**/scripts",
+ "**/protos",
+ "**/test",
+ "**/*.d.ts",
+ ".jsdoc.js",
+ "**/.jsdoc.js",
+ "karma.conf.js",
+ "webpack-tests.config.js",
+ "webpack.config.js"
+ ],
+ "exclude-after-remap": false,
+ "all": true
+}
diff --git a/handwritten/pubsub/.prettierignore b/handwritten/pubsub/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/handwritten/pubsub/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/handwritten/pubsub/.prettierrc.js b/handwritten/pubsub/.prettierrc.js
new file mode 100644
index 00000000000..d2eddc2ed89
--- /dev/null
+++ b/handwritten/pubsub/.prettierrc.js
@@ -0,0 +1,17 @@
+// Copyright 2026 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+module.exports = {
+ ...require('gts/.prettierrc.json')
+}
diff --git a/handwritten/pubsub/.readme-partials.yml b/handwritten/pubsub/.readme-partials.yml
new file mode 100644
index 00000000000..9f3488ec984
--- /dev/null
+++ b/handwritten/pubsub/.readme-partials.yml
@@ -0,0 +1,26 @@
+introduction: |-
+ [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs) is a fully-managed real-time messaging service that allows
+ you to send and receive messages between independent applications.
+
+ This document contains links to an [API reference](https://cloud.google.com/nodejs/docs/reference/pubsub/latest/overview), samples,
+ and other resources useful to developing Node.js applications.
+ For additional help developing Pub/Sub applications, in Node.js and other languages, see our
+ [Pub/Sub quickstart](https://cloud.google.com/pubsub/docs/quickstart-client-libraries),
+ [publisher](https://cloud.google.com/pubsub/docs/publisher), and [subscriber](https://cloud.google.com/pubsub/docs/subscriber)
+ guides.
+body: |-
+ ## Running gRPC C++ bindings
+
+ For some workflows and environments it might make sense to use the C++ gRPC implementation,
+ instead of the default one (see: [#770](https://github.com/googleapis/nodejs-pubsub/issues/770)):
+
+ To configure `@google-cloud/pubsub` to use an alternative `grpc` transport:
+
+ 1. `npm install grpc`, adding `grpc` as a dependency.
+ 1. instantiate `@google-cloud/pubsub` with `grpc`:
+
+ ```js
+ const {PubSub} = require('@google-cloud/pubsub');
+ const grpc = require('grpc');
+ const pubsub = new PubSub({grpc});
+ ```
diff --git a/handwritten/pubsub/.repo-metadata.json b/handwritten/pubsub/.repo-metadata.json
new file mode 100644
index 00000000000..c2522eb0d8d
--- /dev/null
+++ b/handwritten/pubsub/.repo-metadata.json
@@ -0,0 +1,17 @@
+{
+ "distribution_name": "@google-cloud/pubsub",
+ "release_level": "stable",
+ "product_documentation": "https://cloud.google.com/pubsub/docs/",
+ "repo": "googleapis/google-cloud-node",
+ "default_version": "v1",
+ "language": "nodejs",
+ "requires_billing": true,
+ "issue_tracker": "https://issuetracker.google.com/savedsearches/559741",
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/pubsub/latest",
+ "name": "pubsub",
+ "name_pretty": "Google Cloud Pub/Sub",
+ "api_id": "pubsub.googleapis.com",
+ "codeowner_team": "@googleapis/pubsub-team @googleapis/cloud-sdk-nodejs-team",
+ "api_shortname": "pubsub",
+ "library_type": "GAPIC_COMBO"
+}
diff --git a/handwritten/pubsub/.trampolinerc b/handwritten/pubsub/.trampolinerc
new file mode 100644
index 00000000000..a04ed00bb26
--- /dev/null
+++ b/handwritten/pubsub/.trampolinerc
@@ -0,0 +1,52 @@
+# Copyright 2020 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Template for .trampolinerc
+
+# Add required env vars here.
+required_envvars+=(
+)
+
+# Add env vars which are passed down into the container here.
+pass_down_envvars+=(
+ "AUTORELEASE_PR"
+ "VERSION"
+)
+
+# Prevent unintentional override on the default image.
+if [[ "${TRAMPOLINE_IMAGE_UPLOAD:-false}" == "true" ]] && \
+ [[ -z "${TRAMPOLINE_IMAGE:-}" ]]; then
+ echo "Please set TRAMPOLINE_IMAGE if you want to upload the Docker image."
+ exit 1
+fi
+
+# Define the default value if it makes sense.
+if [[ -z "${TRAMPOLINE_IMAGE_UPLOAD:-}" ]]; then
+ TRAMPOLINE_IMAGE_UPLOAD=""
+fi
+
+if [[ -z "${TRAMPOLINE_IMAGE:-}" ]]; then
+ TRAMPOLINE_IMAGE=""
+fi
+
+if [[ -z "${TRAMPOLINE_DOCKERFILE:-}" ]]; then
+ TRAMPOLINE_DOCKERFILE=""
+fi
+
+if [[ -z "${TRAMPOLINE_BUILD_FILE:-}" ]]; then
+ TRAMPOLINE_BUILD_FILE=""
+fi
+
+# Secret Manager secrets.
+source ${PROJECT_ROOT}/handwritten/pubsub/.kokoro/populate-secrets.sh
diff --git a/handwritten/pubsub/CHANGELOG.md b/handwritten/pubsub/CHANGELOG.md
new file mode 100644
index 00000000000..55636e53161
--- /dev/null
+++ b/handwritten/pubsub/CHANGELOG.md
@@ -0,0 +1,1682 @@
+# Changelog
+
+[npm history][1]
+
+[1]: https://www.npmjs.com/package/@google-cloud/pubsub?activeTab=versions
+
+## [5.3.0](https://github.com/googleapis/nodejs-pubsub/compare/v5.2.4...v5.3.0) (2026-02-19)
+
+
+### Features
+
+* Manual proto pushing ([#2134](https://github.com/googleapis/nodejs-pubsub/issues/2134)) ([2f1e8d1](https://github.com/googleapis/nodejs-pubsub/commit/2f1e8d198ffbc14795f9f0d0a88095d69ac437a3))
+
+## [5.2.4](https://github.com/googleapis/nodejs-pubsub/compare/v5.2.3...v5.2.4) (2026-02-11)
+
+
+### Bug Fixes
+
+* **deps:** Update all dependencies ([#2105](https://github.com/googleapis/nodejs-pubsub/issues/2105)) ([c7d42e3](https://github.com/googleapis/nodejs-pubsub/commit/c7d42e391eac92137abd8aeb2ac25bc89856aa15))
+
+## [5.2.3](https://github.com/googleapis/nodejs-pubsub/compare/v5.2.2...v5.2.3) (2026-02-11)
+
+
+### Bug Fixes
+
+* Clean up earlier refactor issues with maxExtensionTime ([#2127](https://github.com/googleapis/nodejs-pubsub/issues/2127)) ([c22471d](https://github.com/googleapis/nodejs-pubsub/commit/c22471de60c63d9420c037ca3269af8b7dbf9d92))
+
+## [5.2.2](https://github.com/googleapis/nodejs-pubsub/compare/v5.2.1...v5.2.2) (2026-01-14)
+
+
+### Bug Fixes
+
+* **WaitForProcessing:** Shutdown option `WaitForProcessing` never entered on subscription close ([#2118](https://github.com/googleapis/nodejs-pubsub/issues/2118)) ([e99b37e](https://github.com/googleapis/nodejs-pubsub/commit/e99b37e28ce551ad24325ac951ac33a60f8faa99))
+
+## [5.2.1](https://github.com/googleapis/nodejs-pubsub/compare/v5.2.0...v5.2.1) (2025-12-19)
+
+
+### Bug Fixes
+
+* Check batch size before re-queueing retried messages ([#2027](https://github.com/googleapis/nodejs-pubsub/issues/2027)) ([6c1613f](https://github.com/googleapis/nodejs-pubsub/commit/6c1613fdc6258ccb85427fc371e7bac8082f4a96))
+* Move off the remaining rc versions ([#2112](https://github.com/googleapis/nodejs-pubsub/issues/2112)) ([a9eb883](https://github.com/googleapis/nodejs-pubsub/commit/a9eb88335df62606ab3e6cbe11c1d760d1ddbc96))
+* Only close the rpcSpan once ([#2121](https://github.com/googleapis/nodejs-pubsub/issues/2121)) ([118a960](https://github.com/googleapis/nodejs-pubsub/commit/118a960b8cfca6203ad1843453c3692b07a94952))
+* Updated span kind to CLIENT for ack and modack rpc spans ([#2029](https://github.com/googleapis/nodejs-pubsub/issues/2029)) ([801c1c8](https://github.com/googleapis/nodejs-pubsub/commit/801c1c862a986eefe1eddd2e014be4612cd394d8))
+
+## [5.2.0](https://github.com/googleapis/nodejs-pubsub/compare/v5.1.0...v5.2.0) (2025-08-07)
+
+
+### Features
+
+* Ad-hoc, targeted debug logging ([#2062](https://github.com/googleapis/nodejs-pubsub/issues/2062)) ([dce83c7](https://github.com/googleapis/nodejs-pubsub/commit/dce83c71bba54388334f4f73115e7b8da6fbdb67))
+* Add timeout option and graceful shutdown to Subscription.close() ([#2068](https://github.com/googleapis/nodejs-pubsub/issues/2068)) ([8dee024](https://github.com/googleapis/nodejs-pubsub/commit/8dee0248081f7156e42d79c6067902583586faf2))
+
+## [5.1.0](https://github.com/googleapis/nodejs-pubsub/compare/v5.0.0...v5.1.0) (2025-06-04)
+
+
+### Features
+
+* Add SchemaViolationReason to IngestionFailureEvent ([#2045](https://github.com/googleapis/nodejs-pubsub/issues/2045)) ([3348e3e](https://github.com/googleapis/nodejs-pubsub/commit/3348e3e6195405608e380e5291e6107bcba855cb))
+* Use specific W3CTraceContextPropagator for OTel ([#2036](https://github.com/googleapis/nodejs-pubsub/issues/2036)) ([c9a9656](https://github.com/googleapis/nodejs-pubsub/commit/c9a9656b8ae4b6e26c0a90c6ea53f5387e1bb846))
+
+
+### Bug Fixes
+
+* **deps:** Update dependency @opentelemetry/semantic-conventions to ~1.33.0 ([#2038](https://github.com/googleapis/nodejs-pubsub/issues/2038)) ([4eb46c5](https://github.com/googleapis/nodejs-pubsub/commit/4eb46c56a941cfb4616785269cc97d9eeca7f174))
+* **deps:** Update dependency @opentelemetry/semantic-conventions to ~1.34.0 ([#2048](https://github.com/googleapis/nodejs-pubsub/issues/2048)) ([1072c2d](https://github.com/googleapis/nodejs-pubsub/commit/1072c2ddbe2445bac92328e58fbf76e45b464e50))
+* **deps:** Update dependency protobufjs to ~7.5.0 ([#2041](https://github.com/googleapis/nodejs-pubsub/issues/2041)) ([b65eaeb](https://github.com/googleapis/nodejs-pubsub/commit/b65eaebdc54974a81f60f1901e2bd68c2bfd9b92))
+* Set messaging.operation in createAttributes ([#2030](https://github.com/googleapis/nodejs-pubsub/issues/2030)) ([b8d513a](https://github.com/googleapis/nodejs-pubsub/commit/b8d513a3901ae6c160c3f797ed0a41fc0d697fac))
+
+## [5.0.0](https://github.com/googleapis/nodejs-pubsub/compare/v4.11.0...v5.0.0) (2025-04-28)
+
+
+### ⚠ BREAKING CHANGES
+
+* migrate to Node 18 ([#2024](https://github.com/googleapis/nodejs-pubsub/issues/2024))
+* remove (broken) legacy OTel support
+* remove legacy ack deadline options
+* move maxExtension into subscriber options
+
+### Miscellaneous Chores
+
+* Migrate to Node 18 ([#2024](https://github.com/googleapis/nodejs-pubsub/issues/2024)) ([9ad808a](https://github.com/googleapis/nodejs-pubsub/commit/9ad808adb99b6e64c2c4431991721deae14b6400))
+
+## [4.11.0](https://github.com/googleapis/nodejs-pubsub/compare/v4.10.0...v4.11.0) (2025-03-27)
+
+
+### Features
+
+* Add required messaging.operation span attrs for OTel sem convs 1.24 ([#2019](https://github.com/googleapis/nodejs-pubsub/issues/2019)) ([70ed2d7](https://github.com/googleapis/nodejs-pubsub/commit/70ed2d73588290834dd25bfffb201272433e5614))
+
+
+### Bug Fixes
+
+* **deps:** Update dependency @opentelemetry/semantic-conventions to ~1.29.0 ([#2012](https://github.com/googleapis/nodejs-pubsub/issues/2012)) ([bfe8243](https://github.com/googleapis/nodejs-pubsub/commit/bfe82434492a95fc24ee54ff947d0e52d5e93195))
+* **deps:** Update dependency @opentelemetry/semantic-conventions to ~1.30.0 ([#2014](https://github.com/googleapis/nodejs-pubsub/issues/2014)) ([7f8366a](https://github.com/googleapis/nodejs-pubsub/commit/7f8366a636398d758aec5b2f933607f5021043a7))
+* Type widening to match gapic, and two typing fixes ([#2020](https://github.com/googleapis/nodejs-pubsub/issues/2020)) ([9cd73b3](https://github.com/googleapis/nodejs-pubsub/commit/9cd73b33980b7f02fe507a3a52042112690ab62c))
+
+## [4.10.0](https://github.com/googleapis/nodejs-pubsub/compare/v4.9.0...v4.10.0) (2025-01-13)
+
+
+### Features
+
+* Add Kafka-based sources to IngestionDataSourceSettings proto and IngestionFailureEvent proto ([#2007](https://github.com/googleapis/nodejs-pubsub/issues/2007)) ([08d00a1](https://github.com/googleapis/nodejs-pubsub/commit/08d00a1e7d30e2ab47f7582ff61b1eb73ad9d25e))
+
+
+### Bug Fixes
+
+* **deps:** Update dependency @opentelemetry/semantic-conventions to ~1.28.0 ([#2001](https://github.com/googleapis/nodejs-pubsub/issues/2001)) ([c8e5811](https://github.com/googleapis/nodejs-pubsub/commit/c8e581124523edcac13d6d6c48d67342482959f3))
+
+## [4.9.0](https://github.com/googleapis/nodejs-pubsub/compare/v4.8.0...v4.9.0) (2024-11-12)
+
+
+### Features
+
+* Add IngestionFailureEvent to the external proto ([#1984](https://github.com/googleapis/nodejs-pubsub/issues/1984)) ([7075430](https://github.com/googleapis/nodejs-pubsub/commit/70754309fb600c54d0a573f2d49ad4c419577550))
+
+
+### Bug Fixes
+
+* KiB, not MiB for ack size limits ([#1999](https://github.com/googleapis/nodejs-pubsub/issues/1999)) ([798270d](https://github.com/googleapis/nodejs-pubsub/commit/798270db9c5ef71f75c3e24e70d9592bbd068212))
+
+## [4.8.0](https://github.com/googleapis/nodejs-pubsub/compare/v4.7.2...v4.8.0) (2024-10-15)
+
+
+### Features
+
+* Add ingestion Cloud Storage fields and Platform Logging fields to Topic ([#1974](https://github.com/googleapis/nodejs-pubsub/issues/1974)) ([afec9a1](https://github.com/googleapis/nodejs-pubsub/commit/afec9a1ad3f665a71f08e748623f0fdaa332d17b))
+* Return listing information for subscriptions created via Analytics Hub ([afec9a1](https://github.com/googleapis/nodejs-pubsub/commit/afec9a1ad3f665a71f08e748623f0fdaa332d17b))
+
+## [4.7.2](https://github.com/googleapis/nodejs-pubsub/compare/v4.7.1...v4.7.2) (2024-09-13)
+
+
+### Bug Fixes
+
+* Set MaxBytes for AckQueue ([#1963](https://github.com/googleapis/nodejs-pubsub/issues/1963)) ([5945563](https://github.com/googleapis/nodejs-pubsub/commit/594556315f159f4197ffc0e7249ce1b0339c12ec))
+
+## [4.7.1](https://github.com/googleapis/nodejs-pubsub/compare/v4.7.0...v4.7.1) (2024-08-26)
+
+
+### Bug Fixes
+
+* **deps:** Update dependency @opentelemetry/semantic-conventions to ~1.26.0 ([#1945](https://github.com/googleapis/nodejs-pubsub/issues/1945)) ([f082869](https://github.com/googleapis/nodejs-pubsub/commit/f082869a185c059463654c76c744e44e7b28415e))
+* **deps:** Update dependency protobufjs to ~7.4.0 ([#1959](https://github.com/googleapis/nodejs-pubsub/issues/1959)) ([25946e0](https://github.com/googleapis/nodejs-pubsub/commit/25946e0d4fe794202984cdad6cf48121f72063cf))
+* Propagate set options to LeaseManager (from https://github.com/googleapis/nodejs-pubsub/pull/1880) ([#1954](https://github.com/googleapis/nodejs-pubsub/issues/1954)) ([cdb0916](https://github.com/googleapis/nodejs-pubsub/commit/cdb0916bd30da67f5153c9aead09e7f505954253))
+
+## [4.7.0](https://github.com/googleapis/nodejs-pubsub/compare/v4.6.0...v4.7.0) (2024-08-24)
+
+
+### Features
+
+* Add support for OTel context propagation and harmonized spans ([#1833](https://github.com/googleapis/nodejs-pubsub/issues/1833)) ([4b5c90d](https://github.com/googleapis/nodejs-pubsub/commit/4b5c90dc334e90cefb4da3c6fe9ce027b50aacb8))
+
+## [4.6.0](https://github.com/googleapis/nodejs-pubsub/compare/v4.5.0...v4.6.0) (2024-07-12)
+
+
+### Features
+
+* Add max messages batching for Cloud Storage subscriptions ([#1956](https://github.com/googleapis/nodejs-pubsub/issues/1956)) ([90546f6](https://github.com/googleapis/nodejs-pubsub/commit/90546f634cc4e510185e20a4d1ba1c74ebc59b85))
+* Add use_topic_schema for Cloud Storage Subscriptions ([#1948](https://github.com/googleapis/nodejs-pubsub/issues/1948)) ([120fa1b](https://github.com/googleapis/nodejs-pubsub/commit/120fa1bca0516185e109260c69ea91eb7ddeecd0))
+
+
+### Bug Fixes
+
+* **docs samples:** Update missing argv in sample metadata for push subscription ([#1946](https://github.com/googleapis/nodejs-pubsub/issues/1946)) ([34b8c03](https://github.com/googleapis/nodejs-pubsub/commit/34b8c03f90618ba6ae506764b9d97d9db84dcada))
+
+## [4.5.0](https://github.com/googleapis/nodejs-pubsub/compare/v4.4.1...v4.5.0) (2024-06-11)
+
+
+### Features
+
+* Add service_account_email for export subscriptions ([#1927](https://github.com/googleapis/nodejs-pubsub/issues/1927)) ([c532854](https://github.com/googleapis/nodejs-pubsub/commit/c53285473c2c0973baf5932e52d2d135958c6948))
+
+## [4.4.1](https://github.com/googleapis/nodejs-pubsub/compare/v4.4.0...v4.4.1) (2024-05-30)
+
+
+### Bug Fixes
+
+* An existing message `UpdateVehicleLocationRequest` is removed ([5451d15](https://github.com/googleapis/nodejs-pubsub/commit/5451d150e77d46a475e7a8e150a7f6b5d04d6448))
+* An existing method `SearchFuzzedVehicles` is removed from service `VehicleService` ([5451d15](https://github.com/googleapis/nodejs-pubsub/commit/5451d150e77d46a475e7a8e150a7f6b5d04d6448))
+* An existing method `UpdateVehicleLocation` is removed from service `VehicleService` ([5451d15](https://github.com/googleapis/nodejs-pubsub/commit/5451d150e77d46a475e7a8e150a7f6b5d04d6448))
+* **deps:** Update dependency protobufjs to ~7.3.0 ([#1921](https://github.com/googleapis/nodejs-pubsub/issues/1921)) ([c5afd34](https://github.com/googleapis/nodejs-pubsub/commit/c5afd3400cc8ff9f920b4b232c4e4a5fb41eb07b))
+* Pull in new gax for protobufjs vuln fix ([#1925](https://github.com/googleapis/nodejs-pubsub/issues/1925)) ([8024c6d](https://github.com/googleapis/nodejs-pubsub/commit/8024c6d2e4ce69f97fd8b64bb9f076e33d47c662))
+
+## [4.4.0](https://github.com/googleapis/nodejs-pubsub/compare/v4.3.3...v4.4.0) (2024-05-03)
+
+
+### Features
+
+* Add several fields to manage state of database encryption update ([#1904](https://github.com/googleapis/nodejs-pubsub/issues/1904)) ([aba9aee](https://github.com/googleapis/nodejs-pubsub/commit/aba9aee0c8ecc840c150aa077892b7bb88f18eca))
+
+
+### Bug Fixes
+
+* **deps:** Update dependency @types/long to v5 ([#1901](https://github.com/googleapis/nodejs-pubsub/issues/1901)) ([d13d395](https://github.com/googleapis/nodejs-pubsub/commit/d13d395341efacf926a126bf756873922f6bbab7))
+
+## [4.3.3](https://github.com/googleapis/nodejs-pubsub/compare/v4.3.2...v4.3.3) (2024-03-03)
+
+
+### Bug Fixes
+
+* Add client library version to headers ([#1891](https://github.com/googleapis/nodejs-pubsub/issues/1891)) ([6b59195](https://github.com/googleapis/nodejs-pubsub/commit/6b59195aed8b6c6576e50512aeca9123ad0cc016))
+
+## [4.3.2](https://github.com/googleapis/nodejs-pubsub/compare/v4.3.1...v4.3.2) (2024-02-13)
+
+
+### Bug Fixes
+
+* Update minimum google-gax versions for auth fixes ([#1888](https://github.com/googleapis/nodejs-pubsub/issues/1888)) ([08acade](https://github.com/googleapis/nodejs-pubsub/commit/08acadee042c6a3b85344575d5d0be09ae6e4202))
+
+## [4.3.1](https://github.com/googleapis/nodejs-pubsub/compare/v4.3.0...v4.3.1) (2024-02-08)
+
+
+### Bug Fixes
+
+* Add option to manually control emulator auth handling, and fix heuristics for TPC ([#1861](https://github.com/googleapis/nodejs-pubsub/issues/1861)) ([761cdc8](https://github.com/googleapis/nodejs-pubsub/commit/761cdc898c69715e6775d2f5913ead1fca2def02))
+
+## [4.3.0](https://github.com/googleapis/nodejs-pubsub/compare/v4.2.0...v4.3.0) (2024-02-05)
+
+
+### Features
+
+* Trusted Private Cloud support, use the universeDomain parameter ([#1878](https://github.com/googleapis/nodejs-pubsub/issues/1878)) ([d89fd1d](https://github.com/googleapis/nodejs-pubsub/commit/d89fd1d90b352f0cc7a50a72c5fec4aab6660f8f))
+
+
+### Bug Fixes
+
+* Updated google-gax required for TPC ([#1882](https://github.com/googleapis/nodejs-pubsub/issues/1882)) ([1445856](https://github.com/googleapis/nodejs-pubsub/commit/144585699595b97f1a4cc28551e45fe23305f480))
+
+## [4.2.0](https://github.com/googleapis/nodejs-pubsub/compare/v4.1.1...v4.2.0) (2024-02-01)
+
+
+### Features
+
+* Add enforce_in_transit fields and optional annotations ([#1873](https://github.com/googleapis/nodejs-pubsub/issues/1873)) ([09fc424](https://github.com/googleapis/nodejs-pubsub/commit/09fc4241c8782d2f60c1a78dda316628eca5f751))
+* Add schema revision samples ([#1870](https://github.com/googleapis/nodejs-pubsub/issues/1870)) ([044e149](https://github.com/googleapis/nodejs-pubsub/commit/044e1494d82fd64010f7c6f872982d659e753499))
+
+
+### Bug Fixes
+
+* **deps:** Update dependency @opentelemetry/semantic-conventions to ~1.20.0 ([#1871](https://github.com/googleapis/nodejs-pubsub/issues/1871)) ([2ee0dba](https://github.com/googleapis/nodejs-pubsub/commit/2ee0dba67e6d66d9a678796de6172bcafd28796b))
+* **deps:** Update dependency @opentelemetry/semantic-conventions to ~1.21.0 ([#1876](https://github.com/googleapis/nodejs-pubsub/issues/1876)) ([0fe61a9](https://github.com/googleapis/nodejs-pubsub/commit/0fe61a95b3bfc21bd1a5176c7fbd7f822ece5a5c))
+
+## [4.1.1](https://github.com/googleapis/nodejs-pubsub/compare/v4.1.0...v4.1.1) (2024-01-05)
+
+
+### Bug Fixes
+
+* Correct long audio synthesis HTTP binding ([#1867](https://github.com/googleapis/nodejs-pubsub/issues/1867)) ([65940a4](https://github.com/googleapis/nodejs-pubsub/commit/65940a40fe8f2301690d26f769571a198f747dd3))
+* **deps:** Update dependency @opentelemetry/semantic-conventions to ~1.19.0 ([#1862](https://github.com/googleapis/nodejs-pubsub/issues/1862)) ([92259f5](https://github.com/googleapis/nodejs-pubsub/commit/92259f5bffee05036f1746990b021299ea3ea4e7))
+
+## [4.1.0](https://github.com/googleapis/nodejs-pubsub/compare/v4.0.7...v4.1.0) (2023-12-04)
+
+
+### Features
+
+* Add `use_table_schema` field to BigQueryConfig ([#1858](https://github.com/googleapis/nodejs-pubsub/issues/1858)) ([2875d83](https://github.com/googleapis/nodejs-pubsub/commit/2875d8383831563e5b748e96094faa94bf25fc15))
+
+## [4.0.7](https://github.com/googleapis/nodejs-pubsub/compare/v4.0.6...v4.0.7) (2023-11-09)
+
+
+### Bug Fixes
+
+* **deps:** Update dependency @opentelemetry/semantic-conventions to ~1.18.0 ([#1852](https://github.com/googleapis/nodejs-pubsub/issues/1852)) ([d9a0432](https://github.com/googleapis/nodejs-pubsub/commit/d9a0432a37c6d741c9694a5bcff047f4c85b2feb))
+* Set x-goog-request-params for streaming pull request ([#1849](https://github.com/googleapis/nodejs-pubsub/issues/1849)) ([7b82ff0](https://github.com/googleapis/nodejs-pubsub/commit/7b82ff01e5c654b3e339dfdec5b3da8bf45da049))
+
+## [4.0.6](https://github.com/googleapis/nodejs-pubsub/compare/v4.0.5...v4.0.6) (2023-09-15)
+
+
+### Bug Fixes
+
+* Bump the minimum gax up to 4.0.4 to get grpc-js fixes ([#1829](https://github.com/googleapis/nodejs-pubsub/issues/1829)) ([cc86e2b](https://github.com/googleapis/nodejs-pubsub/commit/cc86e2b4f3593d3d6046dc5baee76e1431832acb))
+* **deps:** Update dependency @opentelemetry/semantic-conventions to ~1.17.0 ([#1824](https://github.com/googleapis/nodejs-pubsub/issues/1824)) ([679c6b8](https://github.com/googleapis/nodejs-pubsub/commit/679c6b82bdb6fe28c3bc8c31db2e10de1ee7e089))
+
+## [4.0.5](https://github.com/googleapis/nodejs-pubsub/compare/v4.0.4...v4.0.5) (2023-09-07)
+
+
+### Bug Fixes
+
+* Always fill the topic and sub names when creating from a PubSub object ([#1816](https://github.com/googleapis/nodejs-pubsub/issues/1816)) ([be8ed53](https://github.com/googleapis/nodejs-pubsub/commit/be8ed530e327e2bd08a49200492f0a163b3b91d7))
+
+## [4.0.4](https://github.com/googleapis/nodejs-pubsub/compare/v4.0.3...v4.0.4) (2023-09-05)
+
+
+### Bug Fixes
+
+* Set grpc keepalive time|outs by default ([#1814](https://github.com/googleapis/nodejs-pubsub/issues/1814)) ([13d89a2](https://github.com/googleapis/nodejs-pubsub/commit/13d89a2b4e25f340ef492d586bfa8cc3a9a6d6cf))
+
+## [4.0.3](https://github.com/googleapis/nodejs-pubsub/compare/v4.0.2...v4.0.3) (2023-08-31)
+
+
+### Bug Fixes
+
+* Simplify logic for HTTP/1.1 REST fallback option ([#1809](https://github.com/googleapis/nodejs-pubsub/issues/1809)) ([f26008d](https://github.com/googleapis/nodejs-pubsub/commit/f26008de84f201ec6e0180582d8a4bebc3d5ced0))
+
+## [4.0.2](https://github.com/googleapis/nodejs-pubsub/compare/v4.0.1...v4.0.2) (2023-08-24)
+
+
+### Bug Fixes
+
+* Make retry policy back off more aggressively for RPCs that retry RESOURCE_EXHAUSTD ([#1806](https://github.com/googleapis/nodejs-pubsub/issues/1806)) ([e9969ba](https://github.com/googleapis/nodejs-pubsub/commit/e9969bab92c38f1509b157034fcdbe5d5ec63903))
+
+## [4.0.1](https://github.com/googleapis/nodejs-pubsub/compare/v4.0.0...v4.0.1) (2023-08-11)
+
+
+### Bug Fixes
+
+* **deps:** Update dependency @google-cloud/paginator to v5 ([#1799](https://github.com/googleapis/nodejs-pubsub/issues/1799)) ([3195d21](https://github.com/googleapis/nodejs-pubsub/commit/3195d21bf817cf10daa86b019532c9405dc42405))
+* **deps:** Update dependency @google-cloud/precise-date to v4 ([#1803](https://github.com/googleapis/nodejs-pubsub/issues/1803)) ([2c22d67](https://github.com/googleapis/nodejs-pubsub/commit/2c22d67b0fbaf3409101a830ee0c5be002ed6c7b))
+* **deps:** Update dependency @google-cloud/projectify to v4 ([#1800](https://github.com/googleapis/nodejs-pubsub/issues/1800)) ([5787d56](https://github.com/googleapis/nodejs-pubsub/commit/5787d56b95d46544bf8c59fe4bc4cb374bc53d0a))
+* **deps:** Update dependency @google-cloud/promisify to v4 ([#1798](https://github.com/googleapis/nodejs-pubsub/issues/1798)) ([093c46b](https://github.com/googleapis/nodejs-pubsub/commit/093c46bd0a4713ad9702bde03eaa5e8b0acedb28))
+
+## [4.0.0](https://github.com/googleapis/nodejs-pubsub/compare/v3.7.3...v4.0.0) (2023-08-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* node 12 eos ([#1774](https://github.com/googleapis/nodejs-pubsub/issues/1774)) (#1784)
+
+### Features
+
+* Node 12 eos ([#1774](https://github.com/googleapis/nodejs-pubsub/issues/1774)) ([#1784](https://github.com/googleapis/nodejs-pubsub/issues/1784)) ([47b83c1](https://github.com/googleapis/nodejs-pubsub/commit/47b83c18c543a7c8763256f79927a7340db56568))
+
+
+### Bug Fixes
+
+* Fix typings for IAM methods ([#1785](https://github.com/googleapis/nodejs-pubsub/issues/1785)) ([9a6bdbc](https://github.com/googleapis/nodejs-pubsub/commit/9a6bdbce952c81cb1a43fecbce16a3e3ab0f1420))
+
+## [3.7.3](https://github.com/googleapis/nodejs-pubsub/compare/v3.7.2...v3.7.3) (2023-07-26)
+
+
+### Bug Fixes
+
+* Update masks for topic should be snake case ([#1778](https://github.com/googleapis/nodejs-pubsub/issues/1778)) ([ba72638](https://github.com/googleapis/nodejs-pubsub/commit/ba7263836e6951454f77f631c9d2eb0a4df98da5))
+
+## [3.7.2](https://github.com/googleapis/nodejs-pubsub/compare/v3.7.1...v3.7.2) (2023-07-24)
+
+
+### Bug Fixes
+
+* Update to gax 3.6.1 for vuln fix ([#1775](https://github.com/googleapis/nodejs-pubsub/issues/1775)) ([98460db](https://github.com/googleapis/nodejs-pubsub/commit/98460dbd1f31e4ee06356e88fec676a04a68ac88))
+
+## [3.7.1](https://github.com/googleapis/nodejs-pubsub/compare/v3.7.0...v3.7.1) (2023-06-08)
+
+
+### Bug Fixes
+
+* Don't crash if an already-drained/removed queue gets flushed again ([#1747](https://github.com/googleapis/nodejs-pubsub/issues/1747)) ([52ea441](https://github.com/googleapis/nodejs-pubsub/commit/52ea441fee302aa6c400b58d4ecebbc96a2ea5ea))
+
+## [3.7.0](https://github.com/googleapis/nodejs-pubsub/compare/v3.6.0...v3.7.0) (2023-05-26)
+
+
+### Features
+
+* Add push config wrapper fields ([#1730](https://github.com/googleapis/nodejs-pubsub/issues/1730)) ([a552719](https://github.com/googleapis/nodejs-pubsub/commit/a552719dfebda4c1263c352ea99bf8f9570290b7))
+
+## [3.6.0](https://github.com/googleapis/nodejs-pubsub/compare/v3.5.2...v3.6.0) (2023-05-12)
+
+
+### Features
+
+* Add cloud storage subscription fields ([#1724](https://github.com/googleapis/nodejs-pubsub/issues/1724)) ([f61a64a](https://github.com/googleapis/nodejs-pubsub/commit/f61a64a2daffdfbf4c7b18d50434899c572d108c))
+
+## [3.5.2](https://github.com/googleapis/nodejs-pubsub/compare/v3.5.1...v3.5.2) (2023-04-26)
+
+
+### Bug Fixes
+
+* Avoid zalgo when calling down to publish messages ([#1710](https://github.com/googleapis/nodejs-pubsub/issues/1710)) ([dedae1e](https://github.com/googleapis/nodejs-pubsub/commit/dedae1e46cb3214abc33578a878a2298cdae6cac))
+
+## [3.5.1](https://github.com/googleapis/nodejs-pubsub/compare/v3.5.0...v3.5.1) (2023-04-20)
+
+
+### Bug Fixes
+
+* Handle receipt modAck and lease extensions with exactly-once delivery correctly ([#1709](https://github.com/googleapis/nodejs-pubsub/issues/1709)) ([d786d22](https://github.com/googleapis/nodejs-pubsub/commit/d786d22bfec61b91891e5049f1b5ae2d9a81d788))
+
+## [3.5.0](https://github.com/googleapis/nodejs-pubsub/compare/v3.4.1...v3.5.0) (2023-04-16)
+
+
+### Features
+
+* Rework low level message stream retries, add debugging ([#1713](https://github.com/googleapis/nodejs-pubsub/issues/1713)) ([c1cc6e0](https://github.com/googleapis/nodejs-pubsub/commit/c1cc6e043ab2e532f9c8c9f9158c46e9a424d3dd))
+
+## [3.4.1](https://github.com/googleapis/nodejs-pubsub/compare/v3.4.0...v3.4.1) (2023-03-08)
+
+
+### Bug Fixes
+
+* Update minimum google-gax to avoid taffydb vulnerabilities ([#1695](https://github.com/googleapis/nodejs-pubsub/issues/1695)) ([11372e6](https://github.com/googleapis/nodejs-pubsub/commit/11372e6d40577704a8a22b6c010623be7e36b34a))
+
+## [3.4.0](https://github.com/googleapis/nodejs-pubsub/compare/v3.3.0...v3.4.0) (2023-03-06)
+
+
+### Features
+
+* Add google.api.method.signature to update methods ([1e28405](https://github.com/googleapis/nodejs-pubsub/commit/1e2840529a8451c94d5d845062da84729b7843db))
+* Add temporary_failed_ack_ids to ModifyAckDeadlineConfirmation ([1e28405](https://github.com/googleapis/nodejs-pubsub/commit/1e2840529a8451c94d5d845062da84729b7843db))
+* Make INTERNAL a retryable error for Pull ([#1681](https://github.com/googleapis/nodejs-pubsub/issues/1681)) ([1e28405](https://github.com/googleapis/nodejs-pubsub/commit/1e2840529a8451c94d5d845062da84729b7843db))
+
+
+### Bug Fixes
+
+* Don't do multiple drains per publish() in message queues unless requested ([#1691](https://github.com/googleapis/nodejs-pubsub/issues/1691)) ([d9b3a63](https://github.com/googleapis/nodejs-pubsub/commit/d9b3a63ddbfec0581a0e05fdbfcf9e9326b3dcf9))
+
+## [3.3.0](https://github.com/googleapis/nodejs-pubsub/compare/v3.2.1...v3.3.0) (2023-01-23)
+
+
+### Features
+
+* Add schema evolution methods and fields ([#1672](https://github.com/googleapis/nodejs-pubsub/issues/1672)) ([7a5bc29](https://github.com/googleapis/nodejs-pubsub/commit/7a5bc29e8a39e5c1991a5eae4200a5045f21997d))
+
+
+### Bug Fixes
+
+* Remove redundant .then() ([#1671](https://github.com/googleapis/nodejs-pubsub/issues/1671)) ([108edc3](https://github.com/googleapis/nodejs-pubsub/commit/108edc3cd2d3d512e2a9777a68541dae1f6aba23))
+
+## [3.2.1](https://github.com/googleapis/nodejs-pubsub/compare/v3.2.0...v3.2.1) (2022-11-04)
+
+
+### Bug Fixes
+
+* **deps:** Use google-gax v3.5.2 ([#1652](https://github.com/googleapis/nodejs-pubsub/issues/1652)) ([ee308b5](https://github.com/googleapis/nodejs-pubsub/commit/ee308b596802ad5537a89804a95429d630595eb4))
+
+## [3.2.0](https://github.com/googleapis/nodejs-pubsub/compare/v3.1.1...v3.2.0) (2022-09-22)
+
+
+### Features
+
+* Add support for exactly once subscriptions ([#1572](https://github.com/googleapis/nodejs-pubsub/issues/1572)) ([998de35](https://github.com/googleapis/nodejs-pubsub/commit/998de35d4bffde4fcffd217347307c04031df3e2))
+
+
+### Bug Fixes
+
+* Preserve default values in x-goog-request-params header ([#1622](https://github.com/googleapis/nodejs-pubsub/issues/1622)) ([76c0ab5](https://github.com/googleapis/nodejs-pubsub/commit/76c0ab55ecfcf0cee5fad1314ecf2317d471c13a))
+* Wait for 'drain' as well ([#1636](https://github.com/googleapis/nodejs-pubsub/issues/1636)) ([d72db50](https://github.com/googleapis/nodejs-pubsub/commit/d72db503bfa3b9b6d7481ce44eb161a031f76715))
+
+## [3.1.1](https://github.com/googleapis/nodejs-pubsub/compare/v3.1.0...v3.1.1) (2022-09-01)
+
+
+### Bug Fixes
+
+* Add hashes to requirements.txt ([#1544](https://github.com/googleapis/nodejs-pubsub/issues/1544)) ([#1614](https://github.com/googleapis/nodejs-pubsub/issues/1614)) ([359d098](https://github.com/googleapis/nodejs-pubsub/commit/359d098b60422b37230024128ed10f04018670a0))
+* Allow passing gax instance to client constructor ([#1617](https://github.com/googleapis/nodejs-pubsub/issues/1617)) ([8eabe38](https://github.com/googleapis/nodejs-pubsub/commit/8eabe3802bbc50309f3d6a0b9997752ab7f367e1))
+* Better support for fallback mode ([#1610](https://github.com/googleapis/nodejs-pubsub/issues/1610)) ([d9e7311](https://github.com/googleapis/nodejs-pubsub/commit/d9e7311d6f6bb78bb3f06454a7ce3cf02fff314c))
+* Change import long to require ([#1611](https://github.com/googleapis/nodejs-pubsub/issues/1611)) ([5553af2](https://github.com/googleapis/nodejs-pubsub/commit/5553af2684ba87ed361d9d79bf2e2a6d7cd3763c))
+* **deps:** Update dependency protobufjs to v7 ([#1602](https://github.com/googleapis/nodejs-pubsub/issues/1602)) ([6e0ec60](https://github.com/googleapis/nodejs-pubsub/commit/6e0ec60a8f6efc7d8e7b67c431dddd7073895ae6))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-pubsub/issues/1553)) ([#1616](https://github.com/googleapis/nodejs-pubsub/issues/1616)) ([31c7fa2](https://github.com/googleapis/nodejs-pubsub/commit/31c7fa234ca3d0455979065199d0da1599ed216b))
+
+## [3.1.0](https://github.com/googleapis/nodejs-pubsub/compare/v3.0.3...v3.1.0) (2022-07-15)
+
+
+### Features
+
+* add minExtension setting and plug it into EOS and ackDeadline settings ([#1582](https://github.com/googleapis/nodejs-pubsub/issues/1582)) ([8709979](https://github.com/googleapis/nodejs-pubsub/commit/87099799960b9f299d3fad609c48bd13e03c9097))
+
+## [3.0.3](https://github.com/googleapis/nodejs-pubsub/compare/v3.0.2...v3.0.3) (2022-07-08)
+
+
+### Bug Fixes
+
+* pin @opentelemetry/semantic-conventions for Node 12 support ([#1596](https://github.com/googleapis/nodejs-pubsub/issues/1596)) ([f594061](https://github.com/googleapis/nodejs-pubsub/commit/f5940613f53c3647ab9941adfd8442f2bc0bb857))
+
+## [3.0.2](https://github.com/googleapis/nodejs-pubsub/compare/v3.0.1...v3.0.2) (2022-06-30)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/precise-date to v3 ([#1576](https://github.com/googleapis/nodejs-pubsub/issues/1576)) ([69a5461](https://github.com/googleapis/nodejs-pubsub/commit/69a546160284c290e7025bfe6a307d7309b828c9))
+* **deps:** update dependency @google-cloud/projectify to v3 ([#1584](https://github.com/googleapis/nodejs-pubsub/issues/1584)) ([af4b13e](https://github.com/googleapis/nodejs-pubsub/commit/af4b13e162a8ad9a1c0d5c117afe784ea5824753))
+* **docs:** describe fallback rest option ([#1591](https://github.com/googleapis/nodejs-pubsub/issues/1591)) ([7c08686](https://github.com/googleapis/nodejs-pubsub/commit/7c08686b4ad5a44f4b4a294c96b06e3901dd7368))
+
+## [3.0.1](https://github.com/googleapis/nodejs-pubsub/compare/v3.0.0...v3.0.1) (2022-05-30)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/paginator to v4 ([#1565](https://github.com/googleapis/nodejs-pubsub/issues/1565)) ([461b58b](https://github.com/googleapis/nodejs-pubsub/commit/461b58b0f4e436bf771be9655c12dd094cde60cc))
+* detect subscription properties and warn for exactly-once ([#1561](https://github.com/googleapis/nodejs-pubsub/issues/1561)) ([98cf540](https://github.com/googleapis/nodejs-pubsub/commit/98cf5400ca2e67894d7cf3ed37bcdd72869e691e))
+
+## [3.0.0](https://github.com/googleapis/nodejs-pubsub/compare/v2.19.4...v3.0.0) (2022-05-26)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#1564)
+
+### Features
+
+* add BigQuery configuration for subscriptions ([#1563](https://github.com/googleapis/nodejs-pubsub/issues/1563)) ([29d38a1](https://github.com/googleapis/nodejs-pubsub/commit/29d38a17663adcd02252a5b6c778d053208de12f))
+
+
+### Bug Fixes
+
+* **deps:** update dependency google-gax to v2.30.4 ([#1555](https://github.com/googleapis/nodejs-pubsub/issues/1555)) ([518fce1](https://github.com/googleapis/nodejs-pubsub/commit/518fce1adbdaae492a1d6db38daadb2be9c0a505))
+* fixes for dynamic routing and streaming descriptors ([#1566](https://github.com/googleapis/nodejs-pubsub/issues/1566)) ([158c606](https://github.com/googleapis/nodejs-pubsub/commit/158c606a88077a59ac04d4abcce7c732120c4ebb))
+
+
+### Build System
+
+* update library to use Node 12 ([#1564](https://github.com/googleapis/nodejs-pubsub/issues/1564)) ([adb4319](https://github.com/googleapis/nodejs-pubsub/commit/adb43190247a6282fc2abdcf75d7b07fe3fdc1dc))
+
+### [2.19.4](https://github.com/googleapis/nodejs-pubsub/compare/v2.19.3...v2.19.4) (2022-05-05)
+
+
+### Bug Fixes
+
+* **deps:** update dependency google-gax to v2.30.3 ([#1549](https://github.com/googleapis/nodejs-pubsub/issues/1549)) ([5810331](https://github.com/googleapis/nodejs-pubsub/commit/581033199dfe2a80a83b472bc77b1d7eab53b62d))
+
+### [2.19.3](https://github.com/googleapis/nodejs-pubsub/compare/v2.19.2...v2.19.3) (2022-04-26)
+
+
+### Bug Fixes
+
+* **deps:** update dependency google-gax to v2.30.2 ([#1502](https://github.com/googleapis/nodejs-pubsub/issues/1502)) ([37d075e](https://github.com/googleapis/nodejs-pubsub/commit/37d075e6ae4e588155a9f0c0506b9a497be6bf06))
+
+### [2.19.2](https://github.com/googleapis/nodejs-pubsub/compare/v2.19.1...v2.19.2) (2022-04-21)
+
+
+### Bug Fixes
+
+* fix flaky schema and subscription tests ([#1518](https://github.com/googleapis/nodejs-pubsub/issues/1518)) ([5ff0105](https://github.com/googleapis/nodejs-pubsub/commit/5ff0105cf84751beb6f06343aaf5228157faae4d))
+
+### [2.19.1](https://github.com/googleapis/nodejs-pubsub/compare/v2.19.0...v2.19.1) (2022-04-06)
+
+
+### Bug Fixes
+
+* **deps:** update dependency google-gax to v2.29.7 ([#1493](https://github.com/googleapis/nodejs-pubsub/issues/1493)) ([c8921a7](https://github.com/googleapis/nodejs-pubsub/commit/c8921a7af9205c15c5485f3a3d1c607483a69de4))
+* **deps:** update dependency google-gax to v2.30.0 ([#1496](https://github.com/googleapis/nodejs-pubsub/issues/1496)) ([073a1b8](https://github.com/googleapis/nodejs-pubsub/commit/073a1b86ab516ad78985ce3d09ff16cbdf56151e))
+* update grpc.max_metadata_size to 4MiB for exactly-once, and shift ack/modack errors to 'debug' stream channel ([#1505](https://github.com/googleapis/nodejs-pubsub/issues/1505)) ([abd10cc](https://github.com/googleapis/nodejs-pubsub/commit/abd10cc0c9956256bd06e5b48a412ec0af6dd086))
+
+## [2.19.0](https://github.com/googleapis/nodejs-pubsub/compare/v2.18.5...v2.19.0) (2022-02-16)
+
+
+### Features
+
+* add exactly once delivery flag ([#1487](https://github.com/googleapis/nodejs-pubsub/issues/1487)) ([330061c](https://github.com/googleapis/nodejs-pubsub/commit/330061c71e26753b86c637a525742b4f5cb3f02c))
+
+
+### Bug Fixes
+
+* **deps:** update dependency google-gax to v2.29.5 ([#1474](https://github.com/googleapis/nodejs-pubsub/issues/1474)) ([f855db3](https://github.com/googleapis/nodejs-pubsub/commit/f855db312bcc0e9e885fa391f42b2509ceffc13f))
+* **deps:** update dependency google-gax to v2.29.6 ([#1489](https://github.com/googleapis/nodejs-pubsub/issues/1489)) ([62aba28](https://github.com/googleapis/nodejs-pubsub/commit/62aba28ddb191091bc80e9a244b561cedc92f4fe))
+* removing misspelled field, add correctly spelled field 🦉 Updates from OwlBot ([#1490](https://github.com/googleapis/nodejs-pubsub/issues/1490)) ([afb9cfe](https://github.com/googleapis/nodejs-pubsub/commit/afb9cfec83524c84d8e207e2b6298996df282a66))
+
+### [2.18.5](https://github.com/googleapis/nodejs-pubsub/compare/v2.18.4...v2.18.5) (2022-01-21)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @opentelemetry/semantic-conventions to v1 ([#1407](https://github.com/googleapis/nodejs-pubsub/issues/1407)) ([740d78c](https://github.com/googleapis/nodejs-pubsub/commit/740d78cb285a136a39d7324c9f0e2e0d7fc1f06d))
+* **deps:** update dependency google-gax to v2.29.0 ([#1452](https://github.com/googleapis/nodejs-pubsub/issues/1452)) ([f419137](https://github.com/googleapis/nodejs-pubsub/commit/f4191372eabc134454db7d24cb38a29597b153dd))
+* **deps:** update dependency google-gax to v2.29.4 ([#1469](https://github.com/googleapis/nodejs-pubsub/issues/1469)) ([8abbfa7](https://github.com/googleapis/nodejs-pubsub/commit/8abbfa77ce9c6e6decbd79c29bcaad8e5e3e1ed6))
+* update to work with latest node types (changed the return type of Stream.destroy()) ([#1464](https://github.com/googleapis/nodejs-pubsub/issues/1464)) ([fddc2e7](https://github.com/googleapis/nodejs-pubsub/commit/fddc2e77ed54c1762afb533965da2e0658b58de6))
+
+### [2.18.4](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.18.3...v2.18.4) (2021-12-09)
+
+
+### Bug Fixes
+
+* **deps:** update dependency google-gax to v2.28.1 ([#1432](https://www.github.com/googleapis/nodejs-pubsub/issues/1432)) ([98840fc](https://www.github.com/googleapis/nodejs-pubsub/commit/98840fcc38a05be07de6e7dc97d8a79616940df9))
+
+### [2.18.3](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.18.2...v2.18.3) (2021-11-18)
+
+
+### Bug Fixes
+
+* set only Publish to 5000ms ([#1416](https://www.github.com/googleapis/nodejs-pubsub/issues/1416)) ([1e11001](https://www.github.com/googleapis/nodejs-pubsub/commit/1e110016ea04fc41d2fa80d64a54a11fd4078c60))
+* temporary hold-back on google-gax to avoid timeout issues caused by https://github.com/googleapis/gax-nodejs/pull/1100 ([#1431](https://www.github.com/googleapis/nodejs-pubsub/issues/1431)) ([18c6b18](https://www.github.com/googleapis/nodejs-pubsub/commit/18c6b18f621c410aca968a6bfc850e7a6ea404f4))
+
+### [2.18.2](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.18.1...v2.18.2) (2021-11-08)
+
+
+### Bug Fixes
+
+* **cloud-rad:** move comments for TSDoc ([#1423](https://www.github.com/googleapis/nodejs-pubsub/issues/1423)) ([a40a23e](https://www.github.com/googleapis/nodejs-pubsub/commit/a40a23ee43c6697000996e0ff7070f41610397f5))
+
+### [2.18.1](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.18.0...v2.18.1) (2021-09-27)
+
+
+### Bug Fixes
+
+* deprecate maxExtension in favour of maxExtensionMinutes ([#1402](https://www.github.com/googleapis/nodejs-pubsub/issues/1402)) ([46b83ba](https://www.github.com/googleapis/nodejs-pubsub/commit/46b83ba14e954cc6bec3f03ca7c3e0bcdfb7597c))
+
+## [2.18.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.17.0...v2.18.0) (2021-09-23)
+
+
+### Features
+
+* add publisher side flow control ([#1359](https://www.github.com/googleapis/nodejs-pubsub/issues/1359)) ([cc0f61b](https://www.github.com/googleapis/nodejs-pubsub/commit/cc0f61b18258bae0be1a5962a93970cc15dcd304))
+
+
+### Bug Fixes
+
+* update default RPC retry timeouts to match other languages ([#1399](https://www.github.com/googleapis/nodejs-pubsub/issues/1399)) ([8c1afee](https://www.github.com/googleapis/nodejs-pubsub/commit/8c1afeee26fbff84448b1a9576e4c4ef5c67f9cc))
+
+## [2.17.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.16.6...v2.17.0) (2021-08-25)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#1382](https://www.github.com/googleapis/nodejs-pubsub/issues/1382)) ([e8b4922](https://www.github.com/googleapis/nodejs-pubsub/commit/e8b49228cffd8016be12ab607363136c2f27c593))
+
+
+### Bug Fixes
+
+* **build:** move branch references to main ([#1174](https://www.github.com/googleapis/nodejs-pubsub/issues/1174)) ([#1386](https://www.github.com/googleapis/nodejs-pubsub/issues/1386)) ([16b710a](https://www.github.com/googleapis/nodejs-pubsub/commit/16b710aae29575b9108215479080a8d6c3dad654))
+
+### [2.16.6](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.16.5...v2.16.6) (2021-08-19)
+
+
+### Bug Fixes
+
+* don't require a `data` attribute to be passed when sending a message ([#1370](https://www.github.com/googleapis/nodejs-pubsub/issues/1370)) ([97fd4f0](https://www.github.com/googleapis/nodejs-pubsub/commit/97fd4f041c195e0388b0613b2cf9710b89ab4e15))
+
+### [2.16.5](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.16.4...v2.16.5) (2021-08-18)
+
+
+### Bug Fixes
+
+* export publish and subscribe options ([#1371](https://www.github.com/googleapis/nodejs-pubsub/issues/1371)) ([c37e0fd](https://www.github.com/googleapis/nodejs-pubsub/commit/c37e0fd5ee8864597241623e19ec495b5b99d5c3))
+
+### [2.16.4](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.16.3...v2.16.4) (2021-08-17)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.24.1 ([#1377](https://www.github.com/googleapis/nodejs-pubsub/issues/1377)) ([16a1eff](https://www.github.com/googleapis/nodejs-pubsub/commit/16a1eff34897567efa5f2116562e36325edce019))
+
+### [2.16.3](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.16.2...v2.16.3) (2021-08-11)
+
+
+### Bug Fixes
+
+* **pubsub:** replace IAMPolicy in API config ([#1373](https://www.github.com/googleapis/nodejs-pubsub/issues/1373)) ([435a181](https://www.github.com/googleapis/nodejs-pubsub/commit/435a18110fdefb6964b331047a9ac536d758d1d3))
+
+### [2.16.2](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.16.1...v2.16.2) (2021-08-11)
+
+
+### Bug Fixes
+
+* **deps:** update opentelemetry monorepo to ^0.24.0 ([#1349](https://www.github.com/googleapis/nodejs-pubsub/issues/1349)) ([cf0d24a](https://www.github.com/googleapis/nodejs-pubsub/commit/cf0d24a9ff090f6f3f235d8d474d75cd9599c49e))
+
+### [2.16.1](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.16.0...v2.16.1) (2021-07-21)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#1354](https://www.github.com/googleapis/nodejs-pubsub/issues/1354)) ([7288e2e](https://www.github.com/googleapis/nodejs-pubsub/commit/7288e2e06b15bede3e06002a8a3dec2699312aa2))
+
+## [2.16.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.15.1...v2.16.0) (2021-07-12)
+
+
+### Features
+
+* Add method signature for Subscriber.Pull without the deprecated return_immediately field. ([#1350](https://www.github.com/googleapis/nodejs-pubsub/issues/1350)) ([a7922fb](https://www.github.com/googleapis/nodejs-pubsub/commit/a7922fb345337d750789d1b672521c8440472cea))
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.0 with mTLS ([#1344](https://www.github.com/googleapis/nodejs-pubsub/issues/1344)) ([0cd0a8c](https://www.github.com/googleapis/nodejs-pubsub/commit/0cd0a8c8c79e3ca7dfe1e2d1bf2a2f8894ba4680))
+* **deps:** google-gax v2.17.1 ([#1353](https://www.github.com/googleapis/nodejs-pubsub/issues/1353)) ([d5bf563](https://www.github.com/googleapis/nodejs-pubsub/commit/d5bf56325374c5509c6b65c953b41c15533a2a0a))
+
+### [2.15.1](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.15.0...v2.15.1) (2021-06-22)
+
+
+### Bug Fixes
+
+* make request optional in all cases ([#1328](https://www.github.com/googleapis/nodejs-pubsub/issues/1328)) ([fa74fa1](https://www.github.com/googleapis/nodejs-pubsub/commit/fa74fa16c76f6b25ee1648ee51c397ccf01f71a4))
+
+## [2.15.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.14.0...v2.15.0) (2021-06-22)
+
+
+### Features
+
+* upgrade the opentelemetry api to 1.0.0 ([#1329](https://www.github.com/googleapis/nodejs-pubsub/issues/1329)) ([6896ad9](https://www.github.com/googleapis/nodejs-pubsub/commit/6896ad9d73c6d481c02af503b0e9e5a211bdbdf1))
+
+
+### Bug Fixes
+
+* **deps:** update opentelemetry monorepo to ^0.21.0 ([#1324](https://www.github.com/googleapis/nodejs-pubsub/issues/1324)) ([c6d1750](https://www.github.com/googleapis/nodejs-pubsub/commit/c6d1750de45bbad0f599d328c37085f1f4246f9b))
+
+## [2.14.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.13.0...v2.14.0) (2021-06-11)
+
+
+### Features
+
+* upgrade @opentelemetry/api to version 0.20.0 ([#1305](https://www.github.com/googleapis/nodejs-pubsub/issues/1305)) ([ed32369](https://www.github.com/googleapis/nodejs-pubsub/commit/ed32369ab4ccee5a8919f7353ed9eed7f3c1f6d8))
+
+## [2.13.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.12.0...v2.13.0) (2021-06-10)
+
+
+### Features
+
+* expose list/get options for full/basic on schema methods ([#1291](https://www.github.com/googleapis/nodejs-pubsub/issues/1291)) ([11f9612](https://www.github.com/googleapis/nodejs-pubsub/commit/11f961268429bb691be226aaffae6a88eeb9c600))
+* schema library support ([#1289](https://www.github.com/googleapis/nodejs-pubsub/issues/1289)) ([fd275e2](https://www.github.com/googleapis/nodejs-pubsub/commit/fd275e23fec89e6368a47caa1fdc194cbfc5d32b))
+
+
+### Bug Fixes
+
+* GoogleAdsError missing using generator version after 1.3.0 ([#1299](https://www.github.com/googleapis/nodejs-pubsub/issues/1299)) ([43a8fdb](https://www.github.com/googleapis/nodejs-pubsub/commit/43a8fdbbe2db24556101fb4e0bb29b3d95112ba0))
+
+## [2.12.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.11.0...v2.12.0) (2021-05-11)
+
+
+### Features
+
+* update publisher options all the way through the topic object tree ([#1279](https://www.github.com/googleapis/nodejs-pubsub/issues/1279)) ([70402ac](https://www.github.com/googleapis/nodejs-pubsub/commit/70402ac0f6dc905febecae8f4d3dfa8cc93e7c08))
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#1282](https://www.github.com/googleapis/nodejs-pubsub/issues/1282)) ([3dee854](https://www.github.com/googleapis/nodejs-pubsub/commit/3dee8548c2111f512b3afc2ffa3041934fee76ff))
+* use require to load proto JSON ([#1283](https://www.github.com/googleapis/nodejs-pubsub/issues/1283)) ([201a56c](https://www.github.com/googleapis/nodejs-pubsub/commit/201a56c4c7c7115cd3a7c8cff864d83223082d12))
+
+## [2.11.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.10.0...v2.11.0) (2021-04-14)
+
+
+### ⚠ BREAKING CHANGES
+
+* `fix: added support for Opentelemetry 0.18` - makes significant changes to OpenTelemetry support in order to unblock its usage again; the main user-visible change is that you will need to use 0.18+ versions of OpenTelemetry, and different items are passed to the server in spans.
+
+### Bug Fixes
+
+* added support for Opentelemetry 0.18 ([#1234](https://www.github.com/googleapis/nodejs-pubsub/issues/1234)) ([aedc36c](https://www.github.com/googleapis/nodejs-pubsub/commit/aedc36c3f8736eff1cb781b9e05457463481b3d6))
+* follow-on proto updates from the removal of the common protos ([#1229](https://www.github.com/googleapis/nodejs-pubsub/issues/1229)) ([cb627d5](https://www.github.com/googleapis/nodejs-pubsub/commit/cb627d5555c617eb025181c9f9aaf1d2c9621a86))
+* prevent attempt to publish 0 messages ([#1218](https://www.github.com/googleapis/nodejs-pubsub/issues/1218)) ([96e6535](https://www.github.com/googleapis/nodejs-pubsub/commit/96e653514b35d61f74ba2d5d6fa96e19bc45bf8c))
+* remove common protos ([#1232](https://www.github.com/googleapis/nodejs-pubsub/issues/1232)) ([8838288](https://www.github.com/googleapis/nodejs-pubsub/commit/883828800c94f7ea21c8306d272b70b4576c664c))
+* reverting the major from the OpenTelemetry change (it was already broken) ([#1257](https://www.github.com/googleapis/nodejs-pubsub/issues/1257)) ([09c428a](https://www.github.com/googleapis/nodejs-pubsub/commit/09c428a17eb20fcd0fc45301addb48d2bebc56a3))
+* temporarily pin sinon at 10.0.0 ([#1252](https://www.github.com/googleapis/nodejs-pubsub/issues/1252)) ([0922164](https://www.github.com/googleapis/nodejs-pubsub/commit/09221643be0693463ed4e5d56efd0f1ebfbe78b7))
+
+## [2.10.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.9.0...v2.10.0) (2021-02-22)
+
+
+### Features
+
+* export PublishError ([#1216](https://www.github.com/googleapis/nodejs-pubsub/issues/1216)) ([7c75d70](https://www.github.com/googleapis/nodejs-pubsub/commit/7c75d70e12545859d011c289b251d2ef746de589)), closes [#1215](https://www.github.com/googleapis/nodejs-pubsub/issues/1215)
+
+## [2.9.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.8.0...v2.9.0) (2021-02-10)
+
+
+### Features
+
+* update protos from upstream ([#1206](https://www.github.com/googleapis/nodejs-pubsub/issues/1206)) ([33526b0](https://www.github.com/googleapis/nodejs-pubsub/commit/33526b04373bd1ea40930d14b6fc6a344a814eff))
+
+
+### Bug Fixes
+
+* bind promisify calls for flush() so they have a 'this' value ([#1184](https://www.github.com/googleapis/nodejs-pubsub/issues/1184)) ([e494fb7](https://www.github.com/googleapis/nodejs-pubsub/commit/e494fb7303ae58b08f3f75aa87ea1f10c86f648e))
+* **deps:** update dependency google-auth-library to v7 ([#1207](https://www.github.com/googleapis/nodejs-pubsub/issues/1207)) ([fce2af1](https://www.github.com/googleapis/nodejs-pubsub/commit/fce2af18ef932b722dcaa9e1132ee145318bd81e))
+* openTelemetry doc fails to generate for [#1185](https://www.github.com/googleapis/nodejs-pubsub/issues/1185) ([#1200](https://www.github.com/googleapis/nodejs-pubsub/issues/1200)) ([0600bde](https://www.github.com/googleapis/nodejs-pubsub/commit/0600bdef9447440605d129396c1915e7640f80ea))
+* update synchronousPull example to avoid INVALID_ARGUMENT error ([#1194](https://www.github.com/googleapis/nodejs-pubsub/issues/1194)) ([1f85345](https://www.github.com/googleapis/nodejs-pubsub/commit/1f853450e0822ebbaeab5892f5d76f5bc0e29537))
+
+## [2.8.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.7.0...v2.8.0) (2021-01-08)
+
+
+### Features
+
+* schema proto support ([#1176](https://www.github.com/googleapis/nodejs-pubsub/issues/1176)) ([ac29561](https://www.github.com/googleapis/nodejs-pubsub/commit/ac2956123b361892290ece66ab9a9dfaa7f61d2d))
+
+
+### Bug Fixes
+
+* **deps:** update opentelemetry monorepo to ^0.12.0 ([#1162](https://www.github.com/googleapis/nodejs-pubsub/issues/1162)) ([f459a91](https://www.github.com/googleapis/nodejs-pubsub/commit/f459a91949fca1fbd573ecc1442bc3e5f54e8ee8))
+
+## [2.7.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.6.0...v2.7.0) (2020-11-30)
+
+
+### Features
+
+* Enable server side flow control by default with the option to turn it off ([#1147](https://www.github.com/googleapis/nodejs-pubsub/issues/1147)) ([a9c7e0b](https://www.github.com/googleapis/nodejs-pubsub/commit/a9c7e0b216a0c228793eeead150cc21b16bd2dcb))
+* update generator to a new version ([#1157](https://www.github.com/googleapis/nodejs-pubsub/issues/1157)) ([3b1e99e](https://www.github.com/googleapis/nodejs-pubsub/commit/3b1e99ebde72653a1fa0317820d1218e1c04eb8f))
+
+
+### Bug Fixes
+
+* do not modify options object, use defaultScopes ([#1148](https://www.github.com/googleapis/nodejs-pubsub/issues/1148)) ([4745c10](https://www.github.com/googleapis/nodejs-pubsub/commit/4745c10eb062b1816516ce79cec496b388e48b2b))
+* node 14+ changes how multiple destroy() calls work ([#1153](https://www.github.com/googleapis/nodejs-pubsub/issues/1153)) ([e421749](https://www.github.com/googleapis/nodejs-pubsub/commit/e42174987ec4669b31882943606c871c9b6c08d7))
+
+## [2.6.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.5.0...v2.6.0) (2020-10-20)
+
+
+### Features
+
+* update synthtool generation for latest changes ([#1128](https://www.github.com/googleapis/nodejs-pubsub/issues/1128)) ([bdbe80f](https://www.github.com/googleapis/nodejs-pubsub/commit/bdbe80f9183fae77dd8ac3e7ffa4bbc5282b030c))
+
+
+### Bug Fixes
+
+* **deps:** update google-auth-library for security fix ([#1122](https://www.github.com/googleapis/nodejs-pubsub/issues/1122)) ([1eaf850](https://github.com/googleapis/nodejs-pubsub/commit/1eaf850bf4ea44ae3269d4f33d5aa6574af76705))
+* add CANCELLED back to the auto-retry codes for pull subscriptions, for now ([#1132](https://www.github.com/googleapis/nodejs-pubsub/issues/1132)) ([47cd89c](https://www.github.com/googleapis/nodejs-pubsub/commit/47cd89c99cad62e603f4c5345ce2857c6abf6f47))
+* **deps:** update opentelemetry monorepo to ^0.11.0 ([#1102](https://www.github.com/googleapis/nodejs-pubsub/issues/1102)) ([c9d5638](https://www.github.com/googleapis/nodejs-pubsub/commit/c9d5638031d047b80df82bc4afed1aecdd708406))
+* **deps:** upgrade google-auth-library ([#1122](https://www.github.com/googleapis/nodejs-pubsub/issues/1122)) ([54310a7](https://www.github.com/googleapis/nodejs-pubsub/commit/54310a771b4b39c896f62fc18aea040cc42bfcd7))
+* move system and samples test from Node 10 to Node 12 ([#1094](https://www.github.com/googleapis/nodejs-pubsub/issues/1094)) ([693116a](https://www.github.com/googleapis/nodejs-pubsub/commit/693116afb3776a8696c52d890edf9a57423896dc))
+
+## [2.5.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.4.0...v2.5.0) (2020-08-17)
+
+
+### Features
+
+* Opentelemetry integration ([#1078](https://www.github.com/googleapis/nodejs-pubsub/issues/1078)) ([76db007](https://www.github.com/googleapis/nodejs-pubsub/commit/76db007f270a646e8570768fa827ea2a97b62cbc)), closes [#1066](https://www.github.com/googleapis/nodejs-pubsub/issues/1066) [#1070](https://www.github.com/googleapis/nodejs-pubsub/issues/1070)
+
+
+### Bug Fixes
+
+* make request batching work again ([#1087](https://www.github.com/googleapis/nodejs-pubsub/issues/1087)) ([80e0ee3](https://www.github.com/googleapis/nodejs-pubsub/commit/80e0ee3a4ef0da325e61ce2b869f4c0f9829b136))
+* properly handle non-emulator alternate endpoints for pub/sub ([#1060](https://www.github.com/googleapis/nodejs-pubsub/issues/1060)) ([195ebf6](https://www.github.com/googleapis/nodejs-pubsub/commit/195ebf648e00ba35f567cef06a06c31f3f9c57d9))
+* **deps:** update opentelemetry monorepo to ^0.10.0 ([#1090](https://www.github.com/googleapis/nodejs-pubsub/issues/1090)) ([78a45ff](https://www.github.com/googleapis/nodejs-pubsub/commit/78a45ff1cb8fb921e5ca05e435554d684a777185))
+* update minimum gax version to 2.7.0 to fix recent protobuf errors ([#1085](https://www.github.com/googleapis/nodejs-pubsub/issues/1085)) ([904348c](https://www.github.com/googleapis/nodejs-pubsub/commit/904348cd6471f267a54635fcd65fe4191896308e))
+
+## [2.4.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.3.0...v2.4.0) (2020-08-08)
+
+
+### Features
+
+* update to TypeScript 3.8+ to match gax/protobufjs (to allow things to compile again) ([#1079](https://www.github.com/googleapis/nodejs-pubsub/issues/1079)) ([cd39d38](https://www.github.com/googleapis/nodejs-pubsub/commit/cd39d38c525b3ed0383c63eb379c96aed6f53d94))
+
+## [2.3.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.2.0...v2.3.0) (2020-07-20)
+
+
+### Features
+
+* Add support for server-side flow control ([#1041](https://www.github.com/googleapis/nodejs-pubsub/issues/1041)) ([a53f6c7](https://www.github.com/googleapis/nodejs-pubsub/commit/a53f6c755317f2fdcb107989321a78fa05e0c455))
+* support for detaching subscriptions ([#1032](https://www.github.com/googleapis/nodejs-pubsub/issues/1032)) ([c5af3a9](https://www.github.com/googleapis/nodejs-pubsub/commit/c5af3a9988e318c3d884aed1777010faa8545ab1))
+
+
+### Bug Fixes
+
+* typeo in nodejs .gitattribute ([#1049](https://www.github.com/googleapis/nodejs-pubsub/issues/1049)) ([b4c6dc0](https://www.github.com/googleapis/nodejs-pubsub/commit/b4c6dc0264a4f62283ceb3b5e1e2ae58e06c56c1))
+
+## [2.2.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.1.0...v2.2.0) (2020-07-09)
+
+
+### Features
+
+* add flow control settings for StreamingPullRequest to pubsub.proto ([#1035](https://www.github.com/googleapis/nodejs-pubsub/issues/1035)) ([a7dff65](https://www.github.com/googleapis/nodejs-pubsub/commit/a7dff65c1a4115e75251b775f679e6beb092928e))
+* move ts target to es2018 from es2016 ([#1022](https://www.github.com/googleapis/nodejs-pubsub/issues/1022)) ([016568d](https://www.github.com/googleapis/nodejs-pubsub/commit/016568df466c2a543762ab4f194b785a426ad880))
+* Re-export ClientConfig from pubsub.ts in package index.ts ([#1038](https://www.github.com/googleapis/nodejs-pubsub/issues/1038)) ([c2ac083](https://www.github.com/googleapis/nodejs-pubsub/commit/c2ac083fdb5f3b71dcb3be482b8ee5c9d527342d)), closes [#972](https://www.github.com/googleapis/nodejs-pubsub/issues/972)
+
+
+### Bug Fixes
+
+* handle fallback option properly ([#1028](https://www.github.com/googleapis/nodejs-pubsub/issues/1028)) ([5dc1827](https://www.github.com/googleapis/nodejs-pubsub/commit/5dc18270220dbf39f5a871716b4dd9d002d0c536))
+* update node issue template ([#1033](https://www.github.com/googleapis/nodejs-pubsub/issues/1033)) ([52ba0ae](https://www.github.com/googleapis/nodejs-pubsub/commit/52ba0ae0218c0859a03d8ad9e4f27130ceb4cc61))
+
+## [2.1.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v2.0.0...v2.1.0) (2020-06-02)
+
+
+### Features
+
+* re-generated to pick up changes from googleapis ([#1014](https://www.github.com/googleapis/nodejs-pubsub/issues/1014)) ([1ad3552](https://www.github.com/googleapis/nodejs-pubsub/commit/1ad35528f0d8b5420f9fbe122db2ff1962e32acb))
+
+
+### Bug Fixes
+
+* use any to unblock typescript compilation bug ([#1012](https://www.github.com/googleapis/nodejs-pubsub/issues/1012)) ([1e8ced3](https://www.github.com/googleapis/nodejs-pubsub/commit/1e8ced3f06d12487fdf00b443bb447e1ec1a911b))
+
+## [2.0.0](https://www.github.com/googleapis/nodejs-pubsub/compare/vv1.7.1...v2.0.0) (2020-05-20)
+
+Please note that Node 8 is no longer supported, and Node 10 is the new minimum version of the runtime.
+
+### ⚠ BREAKING CHANGES
+
+* Please note that Node 8 is no longer supported, and Node 10 is the new minimum version of the runtime.
+* drop support for custom promises (#970)
+* convert to typescript (#923)
+* **deps:** update dependency @google-cloud/projectify to v2 (#929)
+
+### Bug Fixes
+
+* **docs:** link to correct gaxOptions docs ([#999](https://www.github.com/googleapis/nodejs-pubsub/issues/999)) ([312e318](https://www.github.com/googleapis/nodejs-pubsub/commit/312e318ceb36eafbeb487ede7e5dbf9ccd5dfb81))
+* regen protos and tests, formatting ([#991](https://www.github.com/googleapis/nodejs-pubsub/issues/991)) ([e350b97](https://www.github.com/googleapis/nodejs-pubsub/commit/e350b97ad19e49e5fe52d5eeb1ad67c8bb6ddf33))
+* remove eslint, update gax, fix generated protos, run the generator ([#955](https://www.github.com/googleapis/nodejs-pubsub/issues/955)) ([544a061](https://www.github.com/googleapis/nodejs-pubsub/commit/544a061b1b6d7fdc4051486c2b8ae5d14e1ec141))
+* remove unused dependencies ([#998](https://www.github.com/googleapis/nodejs-pubsub/issues/998)) ([7b242a3](https://www.github.com/googleapis/nodejs-pubsub/commit/7b242a36212e0871b3918621fe9a5f51d1e6b733))
+* **close:** ensure in-flight messages are drained ([#952](https://www.github.com/googleapis/nodejs-pubsub/issues/952)) ([93a2bd7](https://www.github.com/googleapis/nodejs-pubsub/commit/93a2bd726660b134fbd3e12335bfde29d13a2b78))
+* **deps:** update dependency @google-cloud/paginator to v3 ([#931](https://www.github.com/googleapis/nodejs-pubsub/issues/931)) ([b621854](https://www.github.com/googleapis/nodejs-pubsub/commit/b62185426b7f958ee41a1cff429bc5fb70635b4a))
+* **deps:** update dependency @google-cloud/precise-date to v2 ([#934](https://www.github.com/googleapis/nodejs-pubsub/issues/934)) ([72b8d78](https://www.github.com/googleapis/nodejs-pubsub/commit/72b8d781ed3cbf9049101b9c2675f211fb3924ba))
+* **deps:** update dependency @google-cloud/projectify to v2 ([#929](https://www.github.com/googleapis/nodejs-pubsub/issues/929)) ([45d9880](https://www.github.com/googleapis/nodejs-pubsub/commit/45d988077d2db2fddbb4d22aac43c7f8a77e4dcc))
+* **deps:** update dependency @google-cloud/promisify to v2 ([#928](https://www.github.com/googleapis/nodejs-pubsub/issues/928)) ([3819877](https://www.github.com/googleapis/nodejs-pubsub/commit/3819877752d39cd042364bdd9ed01ff230aeed0b))
+* **deps:** update dependency google-auth-library to v6 ([#935](https://www.github.com/googleapis/nodejs-pubsub/issues/935)) ([73fc887](https://www.github.com/googleapis/nodejs-pubsub/commit/73fc887c662b526690167286d2d5afda0cccad1b))
+
+
+### Build System
+
+* convert to typescript ([#923](https://www.github.com/googleapis/nodejs-pubsub/issues/923)) ([2fc68ba](https://www.github.com/googleapis/nodejs-pubsub/commit/2fc68baff0cc2013468da7ef3dc8d547d4745989))
+
+
+### Miscellaneous Chores
+
+* drop support for custom promises ([#970](https://www.github.com/googleapis/nodejs-pubsub/issues/970)) ([df462d3](https://www.github.com/googleapis/nodejs-pubsub/commit/df462d3dec4f733cb309eb6413aad382424e2125))
+
+### [1.7.1](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.7.0...v1.7.1) (2020-04-06)
+
+
+### Bug Fixes
+
+* provide missing close() method in the generated gapic client ([#941](https://www.github.com/googleapis/nodejs-pubsub/issues/941)) ([6bf8f14](https://www.github.com/googleapis/nodejs-pubsub/commit/6bf8f1481a1dea051c47697488e13b6facf20a26))
+
+## [1.7.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.6.0...v1.7.0) (2020-03-29)
+
+
+### Features
+
+* add a close() method to PubSub, and a flush() method to Topic/Publisher ([#916](https://www.github.com/googleapis/nodejs-pubsub/issues/916)) ([4097995](https://www.github.com/googleapis/nodejs-pubsub/commit/4097995a85a8ca3fb73c2c2a8cb0649cdd4274be))
+
+## [1.6.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.5.0...v1.6.0) (2020-03-04)
+
+
+### Features
+
+* **subscription:** support oidcToken ([#865](https://www.github.com/googleapis/nodejs-pubsub/issues/865)) ([a786ca0](https://www.github.com/googleapis/nodejs-pubsub/commit/a786ca00bd27a6e098125d6b7b87edb11ea6ea0f))
+* export protos in src/index.ts ([f32910c](https://www.github.com/googleapis/nodejs-pubsub/commit/f32910c3a7da5ce268084d7294094912ab696034))
+
+
+### Bug Fixes
+
+* **deps:** update to the latest google-gax to pull in grpc-js 0.6.18 ([#903](https://www.github.com/googleapis/nodejs-pubsub/issues/903)) ([78bd9e9](https://www.github.com/googleapis/nodejs-pubsub/commit/78bd9e97a913b5e2aa457c2a28fd849f67bf225e))
+* send the ITimestamp protobuf to Pub/Sub for seeking, not JavaScript Date() ([#908](https://www.github.com/googleapis/nodejs-pubsub/issues/908)) ([0c1d711](https://www.github.com/googleapis/nodejs-pubsub/commit/0c1d711854d7397a0fc4d6e84ed090984a6e05dc))
+
+## [1.5.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.4.1...v1.5.0) (2020-02-03)
+
+
+### Features
+
+* added clientId to StreamingPullRequest ([b566ab3](https://www.github.com/googleapis/nodejs-pubsub/commit/b566ab3187efe08d19c29afc8a506a94ed2760b3))
+* update defaults for batch settings also, and update which result codes will cause a retry ([#877](https://www.github.com/googleapis/nodejs-pubsub/issues/877)) ([32ae411](https://www.github.com/googleapis/nodejs-pubsub/commit/32ae4114fb7b42722a6c5100e9d494e470a5cae2))
+
+### [1.4.1](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.4.0...v1.4.1) (2020-01-28)
+
+
+### Bug Fixes
+
+* enum, bytes, and Long types now accept strings ([186778f](https://www.github.com/googleapis/nodejs-pubsub/commit/186778f627e0252f25508a80165f253b9dedcb83))
+
+## [1.4.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.3.0...v1.4.0) (2020-01-24)
+
+
+### Features
+
+* **defaults:** update defaults for the node client library to match other pub/sub libraries ([#859](https://www.github.com/googleapis/nodejs-pubsub/issues/859)) ([8d6c3f7](https://www.github.com/googleapis/nodejs-pubsub/commit/8d6c3f778cbe00cde8b273b25bc50b491687396b))
+
+## [1.3.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.2.0...v1.3.0) (2020-01-14)
+
+
+### Features
+
+* **subscription:** dead letter policy support ([#799](https://www.github.com/googleapis/nodejs-pubsub/issues/799)) ([b5a4195](https://www.github.com/googleapis/nodejs-pubsub/commit/b5a4195238cf8ceed0b066a93066765820dc0488))
+
+## [1.2.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.1.6...v1.2.0) (2019-12-13)
+
+
+### Features
+
+* ordered messaging ([#716](https://www.github.com/googleapis/nodejs-pubsub/issues/716)) ([b2f96ff](https://www.github.com/googleapis/nodejs-pubsub/commit/b2f96ffe6c1db93741f40804786f8c294717676b))
+
+### [1.1.6](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.1.5...v1.1.6) (2019-11-25)
+
+
+### Bug Fixes
+
+* **deps:** update dependency yargs to v15 ([#820](https://www.github.com/googleapis/nodejs-pubsub/issues/820)) ([3615211](https://www.github.com/googleapis/nodejs-pubsub/commit/36152114829c384a97b4f19b9006704a0f216878))
+* **docs:** snippets are now replaced in jsdoc comments ([#815](https://www.github.com/googleapis/nodejs-pubsub/issues/815)) ([b0b26ad](https://www.github.com/googleapis/nodejs-pubsub/commit/b0b26ade6096aa39fbc36a5c270982f3b6f9192e))
+* adds streaming pull retry, and increases request thresholds ([a7d4d04](https://www.github.com/googleapis/nodejs-pubsub/commit/a7d4d04c1b728e3d29626656889da0dd747b94ce))
+* include long import in proto typescript declaration file ([#816](https://www.github.com/googleapis/nodejs-pubsub/issues/816)) ([4b3b813](https://www.github.com/googleapis/nodejs-pubsub/commit/4b3b81384ad4e46f75ee23f3b174842ada212bfe))
+
+### [1.1.5](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.1.4...v1.1.5) (2019-10-22)
+
+
+### Bug Fixes
+
+* pull emulator creds from local grpc instance ([#795](https://www.github.com/googleapis/nodejs-pubsub/issues/795)) ([1749b62](https://www.github.com/googleapis/nodejs-pubsub/commit/1749b626e6bff5fefd1b1b8c673c480a10be9cf9))
+
+### [1.1.4](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.1.3...v1.1.4) (2019-10-22)
+
+
+### Bug Fixes
+
+* **deps:** bump google-gax to 1.7.5 ([#792](https://www.github.com/googleapis/nodejs-pubsub/issues/792)) ([d584d07](https://www.github.com/googleapis/nodejs-pubsub/commit/d584d07c8a8291444487eef947e01a832dfde372))
+
+### [1.1.3](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.1.2...v1.1.3) (2019-10-18)
+
+
+### Bug Fixes
+
+* **deps:** explicit update to google-auth-library with various fixes ([#785](https://www.github.com/googleapis/nodejs-pubsub/issues/785)) ([c7b0069](https://www.github.com/googleapis/nodejs-pubsub/commit/c7b006995fb8fe432e8561d189cddbd20c8e0dce))
+* **docs:** add documentation about running C++ gRPC bindings ([#782](https://www.github.com/googleapis/nodejs-pubsub/issues/782)) ([bdc690e](https://www.github.com/googleapis/nodejs-pubsub/commit/bdc690e6d102862f11a5ea4901c98effe1d3c427))
+
+### [1.1.2](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.1.1...v1.1.2) (2019-10-09)
+
+
+### Bug Fixes
+
+* **deps:** remove direct dependency on @grpc/grpc-js ([#773](https://www.github.com/googleapis/nodejs-pubsub/issues/773)) ([0bebf9b](https://www.github.com/googleapis/nodejs-pubsub/commit/0bebf9b))
+
+### [1.1.1](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.1.0...v1.1.1) (2019-10-08)
+
+
+### Bug Fixes
+
+* update messaging retry timeout durations ([#761](https://www.github.com/googleapis/nodejs-pubsub/issues/761)) ([922fe92](https://www.github.com/googleapis/nodejs-pubsub/commit/922fe92))
+* use compatible version of google-gax ([060207a](https://www.github.com/googleapis/nodejs-pubsub/commit/060207a))
+* **deps:** pin @grpc/grpc-js to ^0.6.6 ([#772](https://www.github.com/googleapis/nodejs-pubsub/issues/772)) ([3c5199d](https://www.github.com/googleapis/nodejs-pubsub/commit/3c5199d))
+* **docs:** explain PubSub.v1 property ([#766](https://www.github.com/googleapis/nodejs-pubsub/issues/766)) ([157a86d](https://www.github.com/googleapis/nodejs-pubsub/commit/157a86d))
+
+## [1.1.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v1.0.0...v1.1.0) (2019-09-25)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/pubsub to v1 ([#750](https://www.github.com/googleapis/nodejs-pubsub/issues/750)) ([82305de](https://www.github.com/googleapis/nodejs-pubsub/commit/82305de))
+* **deps:** update dependency @grpc/grpc-js to ^0.6.0 ([#759](https://www.github.com/googleapis/nodejs-pubsub/issues/759)) ([fda95c7](https://www.github.com/googleapis/nodejs-pubsub/commit/fda95c7))
+
+
+### Features
+
+* .d.ts for protos ([#755](https://www.github.com/googleapis/nodejs-pubsub/issues/755)) ([32aab9f](https://www.github.com/googleapis/nodejs-pubsub/commit/32aab9f))
+
+## [1.0.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v0.32.1...v1.0.0) (2019-09-18)
+
+
+### ⚠ BREAKING CHANGES
+
+* set release level to GA (#745)
+
+### Miscellaneous Chores
+
+* set release level to GA ([#745](https://www.github.com/googleapis/nodejs-pubsub/issues/745)) ([2e90c5b](https://www.github.com/googleapis/nodejs-pubsub/commit/2e90c5b))
+
+### [0.32.1](https://www.github.com/googleapis/nodejs-pubsub/compare/v0.32.0...v0.32.1) (2019-09-13)
+
+### Updates
+
+* dependency `google-gax` updated to `^1.5.2` to make sure the new version is pulled.
+
+## [0.32.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v0.31.1...v0.32.0) (2019-09-11)
+
+
+### Bug Fixes
+
+* pull projectId from auth client with emulator ([#731](https://www.github.com/googleapis/nodejs-pubsub/issues/731)) ([3840cad](https://www.github.com/googleapis/nodejs-pubsub/commit/3840cad))
+* update IAM protos ([#736](https://www.github.com/googleapis/nodejs-pubsub/issues/736)) ([055fa33](https://www.github.com/googleapis/nodejs-pubsub/commit/055fa33))
+
+
+### Features
+
+* introduces DeadLetterPolicy ([e24c545](https://www.github.com/googleapis/nodejs-pubsub/commit/e24c545))
+* load protos from JSON, grpc-fallback support ([#730](https://www.github.com/googleapis/nodejs-pubsub/issues/730)) ([2071954](https://www.github.com/googleapis/nodejs-pubsub/commit/2071954))
+* update IAM protos ([#734](https://www.github.com/googleapis/nodejs-pubsub/issues/734)) ([91fa2ef](https://www.github.com/googleapis/nodejs-pubsub/commit/91fa2ef))
+
+### [0.31.1](https://www.github.com/googleapis/nodejs-pubsub/compare/v0.31.0...v0.31.1) (2019-08-27)
+
+
+### Bug Fixes
+
+* **deps:** update dependency yargs to v14 ([b0ceb5e](https://www.github.com/googleapis/nodejs-pubsub/commit/b0ceb5e))
+* use process versions object for client header ([#722](https://www.github.com/googleapis/nodejs-pubsub/issues/722)) ([e65185b](https://www.github.com/googleapis/nodejs-pubsub/commit/e65185b))
+
+## [0.31.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v0.30.3...v0.31.0) (2019-08-15)
+
+
+### Features
+
+* **debug:** capture stack trace in errors rather than message ([#718](https://www.github.com/googleapis/nodejs-pubsub/issues/718)) ([bfed3f1](https://www.github.com/googleapis/nodejs-pubsub/commit/bfed3f1))
+
+### [0.30.3](https://www.github.com/googleapis/nodejs-pubsub/compare/v0.30.2...v0.30.3) (2019-08-03)
+
+
+### Bug Fixes
+
+* allow calls with no request, add JSON proto ([1e73a69](https://www.github.com/googleapis/nodejs-pubsub/commit/1e73a69))
+
+### [0.30.2](https://www.github.com/googleapis/nodejs-pubsub/compare/v0.30.1...v0.30.2) (2019-07-30)
+
+
+### ⚠ BREAKING CHANGES
+
+* **message:** remove nack delay parameter (#668)
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/paginator to v2 ([#700](https://www.github.com/googleapis/nodejs-pubsub/issues/700)) ([a5c0160](https://www.github.com/googleapis/nodejs-pubsub/commit/a5c0160))
+* **deps:** update dependency @grpc/grpc-js to ^0.5.0 ([#698](https://www.github.com/googleapis/nodejs-pubsub/issues/698)) ([d48e578](https://www.github.com/googleapis/nodejs-pubsub/commit/d48e578))
+* **deps:** update dependency @sindresorhus/is to v1 ([#701](https://www.github.com/googleapis/nodejs-pubsub/issues/701)) ([e715172](https://www.github.com/googleapis/nodejs-pubsub/commit/e715172))
+* **deps:** update dependency google-auth-library to v5 ([#702](https://www.github.com/googleapis/nodejs-pubsub/issues/702)) ([3a15956](https://www.github.com/googleapis/nodejs-pubsub/commit/3a15956))
+* **docs:** reference docs should link to section of googleapis.dev with API reference ([#670](https://www.github.com/googleapis/nodejs-pubsub/issues/670)) ([c92a09a](https://www.github.com/googleapis/nodejs-pubsub/commit/c92a09a))
+
+
+### Reverts
+
+* **message:** remove nack delay parameter ([#668](https://www.github.com/googleapis/nodejs-pubsub/issues/668)) ([ca8fe65](https://www.github.com/googleapis/nodejs-pubsub/commit/ca8fe65))
+
+### [0.30.1](https://www.github.com/googleapis/nodejs-pubsub/compare/v0.30.0...v0.30.1) (2019-06-21)
+
+
+### Bug Fixes
+
+* **deps:** include missing @grpc/grpc-js dependency ([#665](https://www.github.com/googleapis/nodejs-pubsub/issues/665)) ([5f42f60](https://www.github.com/googleapis/nodejs-pubsub/commit/5f42f60))
+
+## [0.30.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v0.29.1...v0.30.0) (2019-06-17)
+
+
+### ⚠ BREAKING CHANGES
+
+* **deps:** use grpc-js instead of grpc extension (#658)
+* **subscription:** decouple retainAckedMessages from messageRetentionDuration (#625)
+* remove pullTimeout subscriber option (#618)
+
+### Bug Fixes
+
+* **deps:** update dependency @sindresorhus/is to ^0.17.0 ([#591](https://www.github.com/googleapis/nodejs-pubsub/issues/591)) ([06fae6e](https://www.github.com/googleapis/nodejs-pubsub/commit/06fae6e))
+* **deps:** update dependency grpc to v1.21.1 ([#629](https://www.github.com/googleapis/nodejs-pubsub/issues/629)) ([fcf75a2](https://www.github.com/googleapis/nodejs-pubsub/commit/fcf75a2))
+* **deps:** update dependency p-defer to v3 ([#650](https://www.github.com/googleapis/nodejs-pubsub/issues/650)) ([50f9d4e](https://www.github.com/googleapis/nodejs-pubsub/commit/50f9d4e))
+* **deps:** upgrade module extend to fix CVE-2018-16492 ([#644](https://www.github.com/googleapis/nodejs-pubsub/issues/644)) ([cd54630](https://www.github.com/googleapis/nodejs-pubsub/commit/cd54630))
+* **deps:** use grpc-js instead of grpc extension ([#658](https://www.github.com/googleapis/nodejs-pubsub/issues/658)) ([535a917](https://www.github.com/googleapis/nodejs-pubsub/commit/535a917))
+* **docs:** move to new client docs URL ([#657](https://www.github.com/googleapis/nodejs-pubsub/issues/657)) ([a9972ea](https://www.github.com/googleapis/nodejs-pubsub/commit/a9972ea))
+* update regex to target correct comment ([#646](https://www.github.com/googleapis/nodejs-pubsub/issues/646)) ([9e8f245](https://www.github.com/googleapis/nodejs-pubsub/commit/9e8f245))
+* update rpc timeout settings ([#628](https://www.github.com/googleapis/nodejs-pubsub/issues/628)) ([2a1a430](https://www.github.com/googleapis/nodejs-pubsub/commit/2a1a430))
+* **subscription:** decouple retainAckedMessages from messageRetentionDuration ([#625](https://www.github.com/googleapis/nodejs-pubsub/issues/625)) ([3431e7c](https://www.github.com/googleapis/nodejs-pubsub/commit/3431e7c))
+* **typescript:** pin grpc to previous working version ([#624](https://www.github.com/googleapis/nodejs-pubsub/issues/624)) ([2167536](https://www.github.com/googleapis/nodejs-pubsub/commit/2167536))
+
+
+### Features
+
+* add .repo-metadata.json, start generating README.md ([#636](https://www.github.com/googleapis/nodejs-pubsub/issues/636)) ([142f56c](https://www.github.com/googleapis/nodejs-pubsub/commit/142f56c))
+* support apiEndpoint override ([#647](https://www.github.com/googleapis/nodejs-pubsub/issues/647)) ([b44f566](https://www.github.com/googleapis/nodejs-pubsub/commit/b44f566))
+
+
+### Reverts
+
+* remove pullTimeout subscriber option ([#618](https://www.github.com/googleapis/nodejs-pubsub/issues/618)) ([4fc9724](https://www.github.com/googleapis/nodejs-pubsub/commit/4fc9724))
+
+### [0.29.1](https://www.github.com/googleapis/nodejs-pubsub/compare/v0.29.0...v0.29.1) (2019-05-18)
+
+
+### Bug Fixes
+
+* use typescript import/export for gapics ([#611](https://www.github.com/googleapis/nodejs-pubsub/issues/611)) ([e882e1a](https://www.github.com/googleapis/nodejs-pubsub/commit/e882e1a))
+
+## [0.29.0](https://www.github.com/googleapis/nodejs-pubsub/compare/v0.28.1...v0.29.0) (2019-05-15)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/paginator to v1 ([#592](https://www.github.com/googleapis/nodejs-pubsub/issues/592)) ([181553a](https://www.github.com/googleapis/nodejs-pubsub/commit/181553a))
+* **deps:** update dependency @google-cloud/precise-date to v1 ([#603](https://www.github.com/googleapis/nodejs-pubsub/issues/603)) ([2e669a1](https://www.github.com/googleapis/nodejs-pubsub/commit/2e669a1))
+* **deps:** update dependency @google-cloud/projectify to v1 ([#588](https://www.github.com/googleapis/nodejs-pubsub/issues/588)) ([d01d010](https://www.github.com/googleapis/nodejs-pubsub/commit/d01d010))
+* **deps:** update dependency @google-cloud/promisify to v1 ([#589](https://www.github.com/googleapis/nodejs-pubsub/issues/589)) ([dad7530](https://www.github.com/googleapis/nodejs-pubsub/commit/dad7530))
+* **deps:** update dependency arrify to v2 ([#565](https://www.github.com/googleapis/nodejs-pubsub/issues/565)) ([8e3b7b8](https://www.github.com/googleapis/nodejs-pubsub/commit/8e3b7b8))
+* **deps:** update dependency google-auth-library to v4 ([#601](https://www.github.com/googleapis/nodejs-pubsub/issues/601)) ([baf9d39](https://www.github.com/googleapis/nodejs-pubsub/commit/baf9d39))
+* **deps:** update dependency google-gax to v1 ([#604](https://www.github.com/googleapis/nodejs-pubsub/issues/604)) ([6415e7c](https://www.github.com/googleapis/nodejs-pubsub/commit/6415e7c))
+* DEADLINE_EXCEEDED no longer treated as idempotent and retried ([39b1dac](https://www.github.com/googleapis/nodejs-pubsub/commit/39b1dac))
+* DEADLINE_EXCEEDED retry code is idempotent ([#605](https://www.github.com/googleapis/nodejs-pubsub/issues/605)) ([1ae8db9](https://www.github.com/googleapis/nodejs-pubsub/commit/1ae8db9))
+* **deps:** update dependency google-gax to ^0.26.0 ([#583](https://www.github.com/googleapis/nodejs-pubsub/issues/583)) ([4214a4f](https://www.github.com/googleapis/nodejs-pubsub/commit/4214a4f))
+* include 'x-goog-request-params' header in requests ([#562](https://www.github.com/googleapis/nodejs-pubsub/issues/562)) ([482e745](https://www.github.com/googleapis/nodejs-pubsub/commit/482e745))
+* relax strictEqual to match RegExp ([#566](https://www.github.com/googleapis/nodejs-pubsub/issues/566)) ([3388fb7](https://www.github.com/googleapis/nodejs-pubsub/commit/3388fb7))
+* **deps:** update dependency p-defer to v2 ([#553](https://www.github.com/googleapis/nodejs-pubsub/issues/553)) ([fe33e40](https://www.github.com/googleapis/nodejs-pubsub/commit/fe33e40))
+
+
+### Build System
+
+* upgrade engines field to >=8.10.0 ([#584](https://www.github.com/googleapis/nodejs-pubsub/issues/584)) ([2116474](https://www.github.com/googleapis/nodejs-pubsub/commit/2116474))
+
+
+### Features
+
+* **subscriber:** ordered messages ([1ae4719](https://www.github.com/googleapis/nodejs-pubsub/commit/1ae4719))
+* **subscription:** accept pull timeout option ([#556](https://www.github.com/googleapis/nodejs-pubsub/issues/556)) ([468e1bf](https://www.github.com/googleapis/nodejs-pubsub/commit/468e1bf))
+* **subscription:** ordered messages ([#560](https://www.github.com/googleapis/nodejs-pubsub/issues/560)) ([38502ad](https://www.github.com/googleapis/nodejs-pubsub/commit/38502ad))
+
+
+### BREAKING CHANGES
+
+* upgrade engines field to >=8.10.0 (#584)
+
+## v0.28.1
+
+03-11-2019 15:36 PDT
+
+### Bug Fixes
+- fix(typescript): correctly import long ([#541](https://github.com/googleapis/nodejs-pubsub/pull/541))
+
+### Internal / Testing Changes
+- testing: set skipLibCheck to false for ts install test ([#543](https://github.com/googleapis/nodejs-pubsub/pull/543))
+- refactor: fix/simplify proto gen scripts ([#542](https://github.com/googleapis/nodejs-pubsub/pull/542))
+
+## v0.28.0
+
+03-11-2019 09:11 PDT
+
+### New Features
+- feat(topic): create setMetadata method ([#537](https://github.com/googleapis/nodejs-pubsub/pull/537))
+
+### Dependencies
+- fix(deps): update dependency @google-cloud/paginator to ^0.2.0
+
+### Internal / Testing Changes
+- build: Add docuploader credentials to node publish jobs ([#533](https://github.com/googleapis/nodejs-pubsub/pull/533))
+- test: add missing packages and install test ([#536](https://github.com/googleapis/nodejs-pubsub/pull/536))
+- refactor(typescript): noImplicitAny for Subscription test file ([#534](https://github.com/googleapis/nodejs-pubsub/pull/534))
+
+## v0.27.1
+
+03-06-2019 20:11 PST
+
+### Bug Fixes
+- fix(typescript): correct response type of `Subscription.get` ([#525](https://github.com/googleapis/nodejs-pubsub/pull/525))
+
+### Documentation
+- fix(typo): correct typo: recieved => received ([#527](https://github.com/googleapis/nodejs-pubsub/pull/527))
+
+### Internal / Testing Changes
+- build: update release configuration
+- refactor(typescript): noImplicitAny for message-stream test file ([#522](https://github.com/googleapis/nodejs-pubsub/pull/522))
+- build: use node10 to run samples-test, system-test etc ([#529](https://github.com/googleapis/nodejs-pubsub/pull/529))
+- refactor: type fixes and some light housekeeping ([#528](https://github.com/googleapis/nodejs-pubsub/pull/528))
+
+## v0.27.0
+
+03-04-2019 08:42 PST
+
+
+### Bug Fixes
+- refactor(typescript): various fixes/refactors to types ([#515](https://github.com/googleapis/nodejs-pubsub/pull/515))
+- fix(ts): fix getPolicy promise return signature ([#511](https://github.com/googleapis/nodejs-pubsub/pull/511))
+- fix(typescript): export all the types ([#516](https://github.com/googleapis/nodejs-pubsub/pull/516))
+
+### Dependencies
+- refactor: clean up unused packages ([#517](https://github.com/googleapis/nodejs-pubsub/pull/517))
+
+### Documentation
+- fix(docs): ensure docs are not removed by typescript ([#512](https://github.com/googleapis/nodejs-pubsub/pull/512))
+- docs: update comments on protos ([#509](https://github.com/googleapis/nodejs-pubsub/pull/509))
+
+### Internal / Testing Changes
+- refactor(typescript):noImplicitAny for index test file ([#502](https://github.com/googleapis/nodejs-pubsub/pull/502))
+- refactor(ts): enable noImplicitAny for IAM test file ([#501](https://github.com/googleapis/nodejs-pubsub/pull/501))
+- refactor(ts): enable noImplicitAny for lease-manager test file ([#508](https://github.com/googleapis/nodejs-pubsub/pull/508))
+- refactor(ts): enable noImplicitAny for Histogram and Message_queues test file ([#510](https://github.com/googleapis/nodejs-pubsub/pull/510))
+- refactor(ts): enable noImplicitAny for pubsub system test file ([#519](https://github.com/googleapis/nodejs-pubsub/pull/519))
+- refactor(ts): noImplicitAny for publisher test file ([#520](https://github.com/googleapis/nodejs-pubsub/pull/520))
+
+## v0.26.0
+
+02-28-2019 05:42 PST
+
+### BREAKING: `message.publishTime` is now represented by a [`PreciseDate`](https://github.com/googleapis/nodejs-precise-date) object. ([#503](https://github.com/googleapis/nodejs-pubsub/pull/503))
+
+The `PreciseDate` class extends the native Date object, so most users should be unaffected by this change. The notable differences between PreciseDate and Date objects are:
+
+- `toISOString()` now returns as a RFC 3339 formatted string.
+- Nano and microsecond data is available via `date.getNanoseconds()` and `date.getMicroseconds()` respectively.
+
+### New Features
+- feat(typescript): ship typescript declaration files ([#498](https://github.com/googleapis/nodejs-pubsub/pull/498))
+- feat(subscription): support push config auth methods ([#504](https://github.com/googleapis/nodejs-pubsub/pull/504))
+
+### Internal / Testing Changes
+- refactor(typescript): noImplicitAny for snapshot and subscriber test file ([#490](https://github.com/googleapis/nodejs-pubsub/pull/490))
+- fix(messageStream): remove call to destroy grpc stream ([#499](https://github.com/googleapis/nodejs-pubsub/pull/499))
+
+## v0.25.0
+
+02-20-2019 10:35 PST
+
+### Implementation Changes
+- fix: throw on invalid credentials and update retry config ([#476](https://github.com/googleapis/nodejs-pubsub/pull/476))
+
+The retry logic for **all** methods has changed. It is possible that this could go unnoticed, however if you suddenly start seeing errors in places that were previously quiet, this might account for said errors.
+
+### New Features
+- refactor(ts): improve TypeScript types ([#482](https://github.com/googleapis/nodejs-pubsub/pull/482))
+- refactor(typescript): noImplicityAny for snapshot.ts and publisher.ts ([#457](https://github.com/googleapis/nodejs-pubsub/pull/457))
+
+### Bug Fixes
+- fix: ignore messages that come in after close ([#485](https://github.com/googleapis/nodejs-pubsub/pull/485))
+
+### Dependencies
+- chore(deps): update dependency mocha to v6 ([#488](https://github.com/googleapis/nodejs-pubsub/pull/488))
+- fix(deps): update dependency @google-cloud/promisify to ^0.4.0 ([#478](https://github.com/googleapis/nodejs-pubsub/pull/478))
+- fix(deps): update dependency yargs to v13 ([#475](https://github.com/googleapis/nodejs-pubsub/pull/475))
+- fix(deps): update dependency duplexify to v4 ([#462](https://github.com/googleapis/nodejs-pubsub/pull/462))
+- fix(deps): update dependency google-gax to ^0.25.0 ([#456](https://github.com/googleapis/nodejs-pubsub/pull/456))
+
+### Documentation
+- docs: update links in contrib guide ([#479](https://github.com/googleapis/nodejs-pubsub/pull/479))
+- docs: update contributing path in README ([#471](https://github.com/googleapis/nodejs-pubsub/pull/471))
+- chore: move CONTRIBUTING.md to root ([#470](https://github.com/googleapis/nodejs-pubsub/pull/470))
+- docs: make mention of message change in changelog ([#469](https://github.com/googleapis/nodejs-pubsub/pull/469))
+- docs: add lint/fix example to contributing guide ([#464](https://github.com/googleapis/nodejs-pubsub/pull/464))
+- fix(sample): fix retry codes in retry sample code ([#458](https://github.com/googleapis/nodejs-pubsub/pull/458))
+
+### Internal / Testing Changes
+- test(samples): correctly handle publishTime value ([#495](https://github.com/googleapis/nodejs-pubsub/pull/495))
+- test: fix publishTime issues ([#494](https://github.com/googleapis/nodejs-pubsub/pull/494))
+- refactor(typescript): noImplicityAny for Topic test file ([#487](https://github.com/googleapis/nodejs-pubsub/pull/487))
+- refactor(ts): noImplicitAny for subscription test file ([#489](https://github.com/googleapis/nodejs-pubsub/pull/489))
+- build: use linkinator for docs test ([#477](https://github.com/googleapis/nodejs-pubsub/pull/477))
+- build: create docs test npm scripts ([#474](https://github.com/googleapis/nodejs-pubsub/pull/474))
+- build: test using @grpc/grpc-js in CI ([#472](https://github.com/googleapis/nodejs-pubsub/pull/472))
+- test: update code style of smoke test ([#463](https://github.com/googleapis/nodejs-pubsub/pull/463))
+- test: make smoke test spam less ([#459](https://github.com/googleapis/nodejs-pubsub/pull/459))
+
+## v0.24.1
+
+01-29-2019 13:17 PST
+
+### Bug Fixes
+
+- fix(publisher): unbound max send message size ([#454](https://github.com/googleapis/nodejs-pubsub/pull/454))
+
+## v0.24.0
+
+01-28-2019 09:54 PST
+
+### New Features
+- fix(auth): pass project id to gax clients ([#447](https://github.com/googleapis/nodejs-pubsub/pull/447))
+- refactor(typescript): noImplicityAny for topic.ts and subscription.ts ([#420](https://github.com/googleapis/nodejs-pubsub/pull/420))
+- refactor: improve subscriber error handling ([#440](https://github.com/googleapis/nodejs-pubsub/pull/440))
+- feat(subscription): auto close sub on non-recoverable errors ([#441](https://github.com/googleapis/nodejs-pubsub/pull/441))
+
+### Dependencies
+- chore(deps): update dependency eslint-config-prettier to v4 ([#450](https://github.com/googleapis/nodejs-pubsub/pull/450))
+- fix(deps): update dependency google-gax to ^0.24.0 ([#444](https://github.com/googleapis/nodejs-pubsub/pull/444))
+- fix(deps): update dependency google-auth-library to v3 ([#433](https://github.com/googleapis/nodejs-pubsub/pull/433))
+
+### Documentation
+- build: ignore googleapis.com in doc link check ([#439](https://github.com/googleapis/nodejs-pubsub/pull/439))
+- chore: update year in the license headers. ([#434](https://github.com/googleapis/nodejs-pubsub/pull/434))
+
+### Internal / Testing Changes
+- chore: remove trailing whitespace in package.json
+- fix(sample): factor setTimeout jitter into assertion ([#449](https://github.com/googleapis/nodejs-pubsub/pull/449))
+- fix(test): broken snapshot test hook ([#448](https://github.com/googleapis/nodejs-pubsub/pull/448))
+
+## v0.23.0
+
+01-16-2019 13:09 PST
+
+**This release has breaking changes.**
+
+#### BREAKING: `Topic#publisher()` has been removed in favor of `Topic#publish()` ([#426](https://github.com/googleapis/nodejs-pubsub/pull/426))
+
+Before
+```js
+const publisher = topic.publisher(publishOptions);
+await publisher.publish(Buffer.from('Hello, world!'));
+```
+
+After
+```js
+topic.setPublishOptions(publishOptions);
+await topic.publish(Buffer.from('Hello, world!'));
+```
+
+#### BREAKING: `Subscription` options have changed. ([#388](https://github.com/googleapis/nodejs-pubsub/pull/388))
+
+Before
+```js
+const subscription = topic.subscription('my-sub', {
+ batching: {
+ maxMilliseconds: 100,
+ },
+ flowControl: {
+ maxBytes: os.freem() * 0.2,
+ maxMessages: 100,
+ },
+ maxConnections: 5,
+});
+```
+
+After
+```js
+const subscription = topic.subscription('my-sub', {
+ ackDeadline: 10,
+ batching: {
+ callOptions: {}, // gax call options
+ maxMessages: 3000,
+ maxMilliseconds: 100,
+ },
+ flowControl: {
+ allowExcessMessages: true,
+ maxBytes: os.freem() * 0.2,
+ maxExtension: Infinity,
+ maxMessages: 100
+ },
+ streamingOptions: {
+ highWaterMark: 0,
+ maxStreams: 5, // formerly known as maxConnections
+ timeout: 60000 * 5, // 5 minutes
+ }
+});
+```
+
+#### BREAKING: messages are no longer plain objects. ([#388](https://github.com/googleapis/nodejs-pubsub/pull/388))
+
+Messages were refactored into a [class](https://github.com/googleapis/nodejs-pubsub/blob/52305c7ee5bbc9caba1369a45ae7fdcdeba1c89b/src/subscriber.ts#L59),
+this will only affect (some) users who treat messages like plain old objects.
+
+The following example is something that would have worked previously, but will
+now throw a `TypeError` since `ack` lives on the prototype chain.
+
+```js
+const m = Object.assign({}, message, customData);
+m.ack(); // TypeError: m.ack is not a function
+```
+
+### New Features
+- feat(topic): create method for publishing json ([#430](https://github.com/googleapis/nodejs-pubsub/pull/430))
+
+### Dependencies
+- fix(deps): update dependency google-gax to ^0.23.0 ([#423](https://github.com/googleapis/nodejs-pubsub/pull/423))
+- chore(deps): update dependency @types/sinon to v7 ([#411](https://github.com/googleapis/nodejs-pubsub/pull/411))
+- chore: update nyc and eslint configs ([#409](https://github.com/googleapis/nodejs-pubsub/pull/409))
+
+### Documentation
+- docs(samples): correct publish retry settings ([#419](https://github.com/googleapis/nodejs-pubsub/pull/419))
+- docs: sync generated grpc message type docs
+- fix(docs): remove unused long running operations and IAM types
+- fix: modernize the sample tests ([#414](https://github.com/googleapis/nodejs-pubsub/pull/414))
+
+### Internal / Testing Changes
+- chore: update subscriber gapic
+- fix: add getSubscriberStub to synth file ([#425](https://github.com/googleapis/nodejs-pubsub/pull/425))
+- build: check broken links in generated docs ([#416](https://github.com/googleapis/nodejs-pubsub/pull/416))
+- chore(build): inject yoshi automation key ([#410](https://github.com/googleapis/nodejs-pubsub/pull/410))
+- chore: fix publish.sh permission +x ([#406](https://github.com/googleapis/nodejs-pubsub/pull/406))
+- fix(build): fix Kokoro release script ([#404](https://github.com/googleapis/nodejs-pubsub/pull/404))
+
+## v0.22.2
+
+12-10-2018 09:37 PST
+
+### Implementation Changes
+*TypeScript related changes:*
+- fix(ts): copy gapic code properly ([#399](https://github.com/googleapis/nodejs-pubsub/pull/399))
+
+### Documentation
+- fix(docs): add subscription expiration policy docs ([#400](https://github.com/googleapis/nodejs-pubsub/pull/400))
+- Add migration for v0.20.0 from v0.19.0 ([#398](https://github.com/googleapis/nodejs-pubsub/pull/398))
+
+## v0.22.1
+
+12-06-2018 17:11 PST
+
+### Dependencies
+- chore(deps): update dependency typescript to ~3.2.0 ([#380](https://github.com/googleapis/nodejs-pubsub/pull/380))
+
+### Documentation
+- fix(docs): place doc comment above the last overload ([#393](https://github.com/googleapis/nodejs-pubsub/pull/393))
+- docs: Update documentation for Subscription ([#387](https://github.com/googleapis/nodejs-pubsub/pull/387))
+- docs: Add documentation about defaults for publisher ([#384](https://github.com/googleapis/nodejs-pubsub/pull/384))
+- docs: update readme badges ([#383](https://github.com/googleapis/nodejs-pubsub/pull/383))
+
+### Internal / Testing Changes
+- chore: always nyc report before calling codecov ([#392](https://github.com/googleapis/nodejs-pubsub/pull/392))
+- chore: nyc ignore build/test by default ([#391](https://github.com/googleapis/nodejs-pubsub/pull/391))
+- chore: update license file ([#386](https://github.com/googleapis/nodejs-pubsub/pull/386))
+
+## v0.22.0
+
+### Implementation Changes
+- fix(ts): do not ship types ([#377](https://github.com/googleapis/nodejs-pubsub/pull/377))
+
+#### Road to TypeScript
+- refactor(ts): improve types (2) ([#356](https://github.com/googleapis/nodejs-pubsub/pull/356))
+- refactor(ts): updated lint and fix command to cover gts ([#375](https://github.com/googleapis/nodejs-pubsub/pull/375))
+- refactor(ts): added ts style fix for src/iam.ts ([#352](https://github.com/googleapis/nodejs-pubsub/pull/352))
+- refactor(ts): Added ts style fix for test/topic.ts ([#373](https://github.com/googleapis/nodejs-pubsub/pull/373))
+- refactor(ts): Added ts style fix for test/subscription.ts ([#372](https://github.com/googleapis/nodejs-pubsub/pull/372))
+- refactor(ts): Added ts style fix for test/subscriber.ts ([#371](https://github.com/googleapis/nodejs-pubsub/pull/371))
+- refactor(ts): Added ts style fix for test/snapshot.ts ([#370](https://github.com/googleapis/nodejs-pubsub/pull/370))
+- refactor(ts): Added ts style fix for test/publisher.ts ([#369](https://github.com/googleapis/nodejs-pubsub/pull/369))
+- refactor(ts): added ts style fix for src/index.ts ([#351](https://github.com/googleapis/nodejs-pubsub/pull/351))
+- refactor(ts): added ts style fix for src/publisher.ts ([#357](https://github.com/googleapis/nodejs-pubsub/pull/357))
+- refactor(ts): added ts style fix for src/snapshot.ts ([#358](https://github.com/googleapis/nodejs-pubsub/pull/358))
+- refactor(ts): added ts style fix for src/subscriber.ts ([#359](https://github.com/googleapis/nodejs-pubsub/pull/359))
+- refactor(ts): added ts style fix for src/subscription.ts ([#360](https://github.com/googleapis/nodejs-pubsub/pull/360))
+- refactor(ts): added ts style fix for src/topic.ts ([#361](https://github.com/googleapis/nodejs-pubsub/pull/361))
+- refactor(ts): added ts style fix for src/util.ts ([#362](https://github.com/googleapis/nodejs-pubsub/pull/362))
+- refactor(ts): added ts style fix for test/connection-pool.ts ([#364](https://github.com/googleapis/nodejs-pubsub/pull/364))
+- refactor(ts): added ts style fix for test/histogram.ts ([#365](https://github.com/googleapis/nodejs-pubsub/pull/365))
+- refactor(ts): added ts style fix for test/iam.ts ([#366](https://github.com/googleapis/nodejs-pubsub/pull/366))
+- refactor(ts): added ts style fix for test/index.ts ([#368](https://github.com/googleapis/nodejs-pubsub/pull/368))
+- refactor(ts): added ts style fix for src/connection-pool.ts ([#353](https://github.com/googleapis/nodejs-pubsub/pull/353))
+- refactor(ts): added ts style fix for src/histogram.ts ([#354](https://github.com/googleapis/nodejs-pubsub/pull/354))
+- refactor(ts): enable noImplicitAny on src/iam.ts ([#348](https://github.com/googleapis/nodejs-pubsub/pull/348))
+- added ts style fix for system-test/pubsub.ts ([#374](https://github.com/googleapis/nodejs-pubsub/pull/374))
+- chore: ts-ignoring some stuff in tests ([#343](https://github.com/googleapis/nodejs-pubsub/pull/343))
+
+### Dependencies
+- fix: Pin @types/sinon to last compatible version ([#345](https://github.com/googleapis/nodejs-pubsub/pull/345))
+- chore(deps): update dependency @types/sinon to v5.0.7 ([#349](https://github.com/googleapis/nodejs-pubsub/pull/349))
+
+### Documentation
+- docs(samples): Publish with Retry Setting Example ([#355](https://github.com/googleapis/nodejs-pubsub/pull/355))
+- docs: remove outdated comments ([#342](https://github.com/googleapis/nodejs-pubsub/pull/342))
+
+### Internal / Testing Changes
+- chore: add a synth.metadata
+- feat: Add optional delay when calling nack() ([#255](https://github.com/googleapis/nodejs-pubsub/pull/255)) ([#256](https://github.com/googleapis/nodejs-pubsub/pull/256))
+
+## v0.21.1
+
+### Bug fixes
+- fix: include protos in the package ([#336](https://github.com/googleapis/nodejs-pubsub/pull/336))
+
+## v0.21.0
+
+11-12-2018 17:25 PST
+
+### Implementation Changes
+
+**BREAKING CHANGE**
+`@google-cloud/pubsub` now uses ES6 import/export syntax since v0.21.0.
+
+Before:
+```javascript
+const pubsub = require('@google-cloud/pubsub')();
+// OR
+const PubSub = require('@google-cloud/pubsub');
+const pubsub = new PubSub();
+```
+Now:
+```javascript
+const {PubSub} = require('@google-cloud/pubsub');
+const pubsub = new PubSub();
+```
+
+- refactor: use Object.assign where possible ([#324](https://github.com/googleapis/nodejs-pubsub/pull/324))
+- fix(subscription): promisify Subscription#close ([#282](https://github.com/googleapis/nodejs-pubsub/pull/282))
+- fix: maxBytes batching sending empty messages ([#281](https://github.com/googleapis/nodejs-pubsub/pull/281))
+- (New) Synchronous Pull with Lease Management ([#272](https://github.com/googleapis/nodejs-pubsub/pull/272))
+- Switch to let/const ([#254](https://github.com/googleapis/nodejs-pubsub/pull/254))
+
+#### Road to TypeScript
+- refactor(ts): introduce a round of types ([#319](https://github.com/googleapis/nodejs-pubsub/pull/319))
+- refactor(ts): enable noImplicitThis ([#316](https://github.com/googleapis/nodejs-pubsub/pull/316))
+- refactor(ts): convert to typescript ([#310](https://github.com/googleapis/nodejs-pubsub/pull/310))
+
+### New Features
+- feat: add expiration policy ([#287](https://github.com/googleapis/nodejs-pubsub/pull/287))
+
+### Dependencies
+- chore(deps): update dependency eslint-plugin-prettier to v3 ([#274](https://github.com/googleapis/nodejs-pubsub/pull/274))
+- fix(deps): update dependency google-proto-files to ^0.17.0 ([#284](https://github.com/googleapis/nodejs-pubsub/pull/284))
+- chore(deps): update dependency sinon to v7 ([#285](https://github.com/googleapis/nodejs-pubsub/pull/285))
+- chore(deps): update dependency eslint-plugin-node to v8 ([#300](https://github.com/googleapis/nodejs-pubsub/pull/300))
+- fix(deps): update dependency through2 to v3 ([#320](https://github.com/googleapis/nodejs-pubsub/pull/320))
+- refactor: drop dependencies on google-proto-files and async ([#329](https://github.com/googleapis/nodejs-pubsub/pull/329))
+- chore(deps): update dependency @google-cloud/nodejs-repo-tools to v3 ([#328](https://github.com/googleapis/nodejs-pubsub/pull/328))
+- chore(deps): update dependency @types/is to v0.0.21 ([#323](https://github.com/googleapis/nodejs-pubsub/pull/323))
+- fix(deps): update dependency google-gax to ^0.20.0 ([#252](https://github.com/googleapis/nodejs-pubsub/pull/252))
+
+### Documentation
+- fix quickstart tag in v0.20 docs ([#271](https://github.com/googleapis/nodejs-pubsub/pull/271))
+
+### Samples
+- Pub/Sub Synchronous Pull Example ([#259](https://github.com/googleapis/nodejs-pubsub/pull/259))
+- Update sample topic and subscription names
+- Add Pub/Sub ack deadline example ([#315](https://github.com/googleapis/nodejs-pubsub/pull/315))
+- docs(samples): update samples to use async/await ([#305](https://github.com/googleapis/nodejs-pubsub/pull/305))
+- chore: adjust samples timeout ([#283](https://github.com/googleapis/nodejs-pubsub/pull/283))
+- Fix the topic name in the samples ([#262](https://github.com/googleapis/nodejs-pubsub/pull/262))
+
+### Internal / Testing Changes
+- chore: update eslintignore config ([#332](https://github.com/googleapis/nodejs-pubsub/pull/332))
+- chore(build): eslint all js files, and use js for all generated files ([#331](https://github.com/googleapis/nodejs-pubsub/pull/331))
+- chore: drop contributors from multiple places ([#325](https://github.com/googleapis/nodejs-pubsub/pull/325))
+- chore: use latest npm on Windows ([#322](https://github.com/googleapis/nodejs-pubsub/pull/322))
+- chore: update CircleCI config ([#309](https://github.com/googleapis/nodejs-pubsub/pull/309))
+- chore: include build in eslintignore ([#304](https://github.com/googleapis/nodejs-pubsub/pull/304))
+- chore: update issue templates ([#299](https://github.com/googleapis/nodejs-pubsub/pull/299))
+- chore: remove old issue template ([#297](https://github.com/googleapis/nodejs-pubsub/pull/297))
+- build: run tests on node11 ([#296](https://github.com/googleapis/nodejs-pubsub/pull/296))
+- chores(build): do not collect sponge.xml from windows builds ([#295](https://github.com/googleapis/nodejs-pubsub/pull/295))
+- chores(build): run codecov on continuous builds ([#294](https://github.com/googleapis/nodejs-pubsub/pull/294))
+- chore: update new issue template ([#293](https://github.com/googleapis/nodejs-pubsub/pull/293))
+- build: fix codecov uploading on Kokoro ([#286](https://github.com/googleapis/nodejs-pubsub/pull/286))
+- Update kokoro config ([#275](https://github.com/googleapis/nodejs-pubsub/pull/275))
+- Update Kokoro configs ([#270](https://github.com/googleapis/nodejs-pubsub/pull/270))
+- Update kokoro config ([#269](https://github.com/googleapis/nodejs-pubsub/pull/269))
+- test: remove appveyor config ([#268](https://github.com/googleapis/nodejs-pubsub/pull/268))
+- Update CI config ([#266](https://github.com/googleapis/nodejs-pubsub/pull/266))
+- Run prettier on smoke tests ([#265](https://github.com/googleapis/nodejs-pubsub/pull/265))
+- Fix the linter ([#261](https://github.com/googleapis/nodejs-pubsub/pull/261))
+- Enable prefer-const in the eslint config ([#260](https://github.com/googleapis/nodejs-pubsub/pull/260))
+- Enable no-var in eslint ([#257](https://github.com/googleapis/nodejs-pubsub/pull/257))
+
+## v0.20.1
+
+### Documentation
+ - fix(docs): correct region tag for sample documentation (#272)
+
+## v0.20.0
+
+### Implementation Changes
+
+*BREAKING CHANGE*: - fix: drop support for node.js 4.x and 9.x (#171)
+
+
+**BREAKING CHANGE**
+`@google-cloud/pubsub` now requires `new`.
+
+Before:
+```javascript
+const PubSub = require('@google-cloud/pubsub');
+const pubsub = PubSub();
+```
+Now:
+```javascript
+const PubSub = require('@google-cloud/pubsub');
+const pubsub = new PubSub();
+```
+
+### New Features
+
+- Re-generate library using /synth.py (#227)
+ - some minor proto documentation changes
+
+### Dependencies
+
+- fix(deps): update dependency google-auth-library to v2 (#228)
+- chore(deps): update dependency nyc to v13 (#225)
+- fix(deps): update dependency google-gax to ^0.19.0 (#216)
+- chore(deps): update dependency eslint-config-prettier to v3 (#213)
+- chore: drop dependency on @google-cloud/common (#210)
+- fix(deps): update dependency @google-cloud/common to ^0.21.0 (#206)
+- chore(deps): lock file maintenance (#203)
+- fix(deps): update dependency google-gax to ^0.18.0 (#197)
+- chore(deps): lock file maintenance (#196)
+- chore(deps): lock file maintenance (#188)
+- chore(deps): update dependency eslint-plugin-node to v7 (#185)
+- chore(deps): lock file maintenance (#182)
+- chore(deps): lock file maintenance (#174)
+- chore(deps): lock file maintenance (#173)
+- chore(deps): lock file maintenance (#172)
+- chore(deps): lock file maintenance (#168)
+- chore(deps): lock file maintenance (#167)
+- chore(deps): lock file maintenance (#166)
+- fix(deps): update dependency delay to v3 (#165)
+- fix(deps): update dependency @google-cloud/common to ^0.20.0 (#155)
+- chore(deps): update dependency proxyquire to v2 (#160)
+- chore(deps): update dependency nyc to v12 (#159)
+- Update google-gax and add Synth.py (#158)
+- chore(deps): update dependency sinon to v6 (#161)
+- fix(deps): update dependency yargs to v12 (#164)
+- fix(deps): update dependency yargs to v11 (#163)
+- fix(deps): update dependency yargs to v10.1.2 (#157)
+- chore(deps): update dependency ava to ^0.25.0 (#153)
+- chore(deps): update dependency sinon to v4.5.0 (#154)
+
+### Documentation
+
+- fix docs (#229)
+- test: fix import sample failures (#218)
+- fix: correct the documentation (#117)
+- fix: Fix sample region tag in JSDoc (#184)
+- Fixes 179: Adds missing return statement in docs (#180)
+
+### Internal / Testing Changes
+
+- Update the CI config (#220)
+- chore: make the CircleCI config consistent
+- chore: use arrow functions (#215)
+- chore: convert to es classes (#211)
+- chore: do not use npm ci (#209)
+- chore: use let and const (#204)
+- chore: ignore package-lock.json (#207)
+- chore: use split common modules (#200)
+- chore: update renovate config (#199)
+- chore: move mocha options to mocha.opts (#194)
+- chore: require node 8 for samples (#195)
+- chore: add node templates to synth.py (#191)
+- chore: fix the eslint errors (#190)
+- refactor: use google-auth-library (#189)
+- Fixes 177: Prevents publishing attributes that have non-string values (#183)
+- chore(build): use `npm ci` instead of `npm install` (#175)
+- chore(package): update eslint to version 5.0.0 (#145)
+- chore: update sample lockfiles (#149)
+- test: use strictEqual in tests (#186)
+- Configure Renovate (#144)
+- refactor: drop repo-tool as an exec wrapper (#150)
+- fix: update linking for samples (#146)
diff --git a/handwritten/pubsub/CODE_OF_CONDUCT.md b/handwritten/pubsub/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/handwritten/pubsub/CODE_OF_CONDUCT.md
@@ -0,0 +1,94 @@
+
+# Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, gender identity and expression, level of
+experience, education, socio-economic status, nationality, personal appearance,
+race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, or to ban temporarily or permanently any
+contributor for other behaviors that they deem inappropriate, threatening,
+offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+This Code of Conduct also applies outside the project spaces when the Project
+Steward has a reasonable belief that an individual's behavior may have a
+negative impact on the project or its community.
+
+## Conflict Resolution
+
+We do not believe that all conflict is bad; healthy debate and disagreement
+often yield positive results. However, it is never okay to be disrespectful or
+to engage in behavior that violates the project’s code of conduct.
+
+If you see someone violating the code of conduct, you are encouraged to address
+the behavior directly with those involved. Many issues can be resolved quickly
+and easily, and this gives people more control over the outcome of their
+dispute. If you are unable to resolve the matter for any reason, or if the
+behavior is threatening or harassing, report it. We are dedicated to providing
+an environment where participants feel welcome and safe.
+
+Reports should be directed to *googleapis-stewards@google.com*, the
+Project Steward(s) for *Google Cloud Client Libraries*. It is the Project Steward’s duty to
+receive and address reported violations of the code of conduct. They will then
+work with a committee consisting of representatives from the Open Source
+Programs Office and the Google Open Source Strategy team. If for any reason you
+are uncomfortable reaching out to the Project Steward, please email
+opensource@google.com.
+
+We will investigate every complaint, but you may not receive a direct response.
+We will use our discretion in determining when and how to follow up on reported
+incidents, which may range from not taking action to permanent expulsion from
+the project and project-sponsored spaces. We will notify the accused of the
+report and provide them an opportunity to discuss it before any action is taken.
+The identity of the reporter will be omitted from the details of the report
+supplied to the accused. In potentially harmful situations, such as ongoing
+harassment or threats to anyone's safety, we may take action without notice.
+
+## Attribution
+
+This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
+available at
+https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
\ No newline at end of file
diff --git a/handwritten/pubsub/CONTRIBUTING.md b/handwritten/pubsub/CONTRIBUTING.md
new file mode 100644
index 00000000000..ddc61938c5b
--- /dev/null
+++ b/handwritten/pubsub/CONTRIBUTING.md
@@ -0,0 +1,76 @@
+# How to become a contributor and submit your own code
+
+**Table of contents**
+
+* [Contributor License Agreements](#contributor-license-agreements)
+* [Contributing a patch](#contributing-a-patch)
+* [Running the tests](#running-the-tests)
+* [Releasing the library](#releasing-the-library)
+
+## Contributor License Agreements
+
+We'd love to accept your sample apps and patches! Before we can take them, we
+have to jump a couple of legal hurdles.
+
+Please fill out either the individual or corporate Contributor License Agreement
+(CLA).
+
+ * If you are an individual writing original source code and you're sure you
+ own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual).
+ * If you work for a company that wants to allow you to contribute your work,
+ then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate).
+
+Follow either of the two links above to access the appropriate CLA and
+instructions for how to sign and return it. Once we receive it, we'll be able to
+accept your pull requests.
+
+## Contributing A Patch
+
+1. Submit an issue describing your proposed change to the repo in question.
+1. The repo owner will respond to your issue promptly.
+1. If your proposed change is accepted, and you haven't already done so, sign a
+ Contributor License Agreement (see details above).
+1. Fork the desired repo, develop and test your code changes.
+1. Ensure that your code adheres to the existing style in the code to which
+ you are contributing.
+1. Ensure that your code has an appropriate set of tests which all pass.
+1. Title your pull request following [Conventional Commits](https://www.conventionalcommits.org/) styling.
+1. Submit a pull request.
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Google Cloud Pub/Sub API][enable_api].
+1. [Set up authentication with a service account][auth] so you can access the
+ API from your local workstation.
+
+
+## Running the tests
+
+1. [Prepare your environment for Node.js setup][setup].
+
+1. Install dependencies:
+
+ npm install
+
+1. Run the tests:
+
+ # Run unit tests.
+ npm test
+
+ # Run sample integration tests.
+ npm run samples-test
+
+ # Run all system tests.
+ npm run system-test
+
+1. Lint (and maybe fix) any changes:
+
+ npm run fix
+
+[setup]: https://cloud.google.com/nodejs/docs/setup
+[projects]: https://console.cloud.google.com/project
+[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
+[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=pubsub.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/handwritten/pubsub/LICENSE b/handwritten/pubsub/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/handwritten/pubsub/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/handwritten/pubsub/README.md b/handwritten/pubsub/README.md
new file mode 100644
index 00000000000..9c27ffdc040
--- /dev/null
+++ b/handwritten/pubsub/README.md
@@ -0,0 +1,268 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Google Cloud Pub/Sub: Node.js Client](https://github.com/googleapis/nodejs-pubsub)
+
+[](https://cloud.google.com/terms/launch-stages)
+[](https://www.npmjs.com/package/@google-cloud/pubsub)
+
+
+
+
+[Cloud Pub/Sub](https://cloud.google.com/pubsub/docs) is a fully-managed real-time messaging service that allows
+you to send and receive messages between independent applications.
+
+This document contains links to an [API reference](https://cloud.google.com/nodejs/docs/reference/pubsub/latest/overview), samples,
+and other resources useful to developing Node.js applications.
+For additional help developing Pub/Sub applications, in Node.js and other languages, see our
+[Pub/Sub quickstart](https://cloud.google.com/pubsub/docs/quickstart-client-libraries),
+[publisher](https://cloud.google.com/pubsub/docs/publisher), and [subscriber](https://cloud.google.com/pubsub/docs/subscriber)
+guides.
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/nodejs-pubsub/blob/main/CHANGELOG.md).
+
+* [Google Cloud Pub/Sub Node.js Client API Reference][client-docs]
+* [Google Cloud Pub/Sub Documentation][product-docs]
+* [github.com/googleapis/nodejs-pubsub](https://github.com/googleapis/nodejs-pubsub)
+
+Read more about the client libraries for Cloud APIs, including the older
+Google APIs Client Libraries, in [Client Libraries Explained][explained].
+
+[explained]: https://cloud.google.com/apis/docs/client-libraries-explained
+
+**Table of contents:**
+
+
+* [Quickstart](#quickstart)
+ * [Before you begin](#before-you-begin)
+ * [Installing the client library](#installing-the-client-library)
+ * [Using the client library](#using-the-client-library)
+* [Samples](#samples)
+* [Versioning](#versioning)
+* [Contributing](#contributing)
+* [License](#license)
+
+## Quickstart
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Google Cloud Pub/Sub API][enable_api].
+1. [Set up authentication][auth] so you can access the
+ API from your local workstation.
+
+### Installing the client library
+
+```bash
+npm install @google-cloud/pubsub
+```
+
+
+### Using the client library
+
+```javascript
+// Imports the Google Cloud client library
+const {PubSub} = require('@google-cloud/pubsub');
+
+async function quickstart(
+ projectId = 'your-project-id', // Your Google Cloud Platform project ID
+ topicNameOrId = 'my-topic', // Name for the new topic to create
+ subscriptionName = 'my-sub', // Name for the new subscription to create
+) {
+ // Instantiates a client
+ const pubsub = new PubSub({projectId});
+
+ // Creates a new topic
+ const [topic] = await pubsub.createTopic(topicNameOrId);
+ console.log(`Topic ${topic.name} created.`);
+
+ // Creates a subscription on that new topic
+ const [subscription] = await topic.createSubscription(subscriptionName);
+
+ // Receive callbacks for new messages on the subscription
+ subscription.on('message', message => {
+ console.log('Received message:', message.data.toString());
+ process.exit(0);
+ });
+
+ // Receive callbacks for errors on the subscription
+ subscription.on('error', error => {
+ console.error('Received error:', error);
+ process.exit(1);
+ });
+
+ // Send a message to the topic
+ await topic.publishMessage({data: Buffer.from('Test message!')});
+}
+
+```
+## Running gRPC C++ bindings
+
+For some workflows and environments it might make sense to use the C++ gRPC implementation,
+instead of the default one (see: [#770](https://github.com/googleapis/nodejs-pubsub/issues/770)):
+
+To configure `@google-cloud/pubsub` to use an alternative `grpc` transport:
+
+1. `npm install grpc`, adding `grpc` as a dependency.
+1. instantiate `@google-cloud/pubsub` with `grpc`:
+
+ ```js
+ const {PubSub} = require('@google-cloud/pubsub');
+ const grpc = require('grpc');
+ const pubsub = new PubSub({grpc});
+ ```
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/nodejs-pubsub/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+| Close Subscription with Timeout | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/closeSubscriptionWithTimeout.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/closeSubscriptionWithTimeout.js,samples/README.md) |
+| Commit an Avro-Based Schema | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/commitAvroSchema.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/commitAvroSchema.js,samples/README.md) |
+| Commit an Proto-Based Schema | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/commitProtoSchema.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/commitProtoSchema.js,samples/README.md) |
+| Create an Avro based Schema | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createAvroSchema.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createAvroSchema.js,samples/README.md) |
+| Create BigQuery Subscription | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createBigQuerySubscription.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createBigQuerySubscription.js,samples/README.md) |
+| Create a Proto based Schema | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createProtoSchema.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createProtoSchema.js,samples/README.md) |
+| Create Push Subscription | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createPushSubscription.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createPushSubscription.js,samples/README.md) |
+| Create Push Subscription With No Wrapper | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createPushSubscriptionNoWrapper.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createPushSubscriptionNoWrapper.js,samples/README.md) |
+| Create Subscription | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createSubscription.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createSubscription.js,samples/README.md) |
+| Create a Cloud Storage subscription | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createSubscriptionWithCloudStorage.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createSubscriptionWithCloudStorage.js,samples/README.md) |
+| Create Subscription With Dead Letter Policy | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createSubscriptionWithDeadLetterPolicy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createSubscriptionWithDeadLetterPolicy.js,samples/README.md) |
+| Create an exactly-once delivery subscription | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createSubscriptionWithExactlyOnceDelivery.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createSubscriptionWithExactlyOnceDelivery.js,samples/README.md) |
+| Create Subscription With Filtering | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createSubscriptionWithFiltering.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createSubscriptionWithFiltering.js,samples/README.md) |
+| Create Subscription with ordering enabled | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createSubscriptionWithOrdering.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createSubscriptionWithOrdering.js,samples/README.md) |
+| Create Subscription With Retry Policy | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createSubscriptionWithRetryPolicy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createSubscriptionWithRetryPolicy.js,samples/README.md) |
+| Create Topic | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createTopic.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createTopic.js,samples/README.md) |
+| Create Topic With AWS MSK Ingestion | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createTopicWithAwsMskIngestion.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createTopicWithAwsMskIngestion.js,samples/README.md) |
+| Create Topic With Azure Event Hubs Ingestion | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createTopicWithAzureEventHubsIngestion.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createTopicWithAzureEventHubsIngestion.js,samples/README.md) |
+| Create Topic With Cloud Storage Ingestion | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createTopicWithCloudStorageIngestion.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createTopicWithCloudStorageIngestion.js,samples/README.md) |
+| Create Topic With Confluent Cloud Ingestion | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createTopicWithConfluentCloudIngestion.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createTopicWithConfluentCloudIngestion.js,samples/README.md) |
+| Create Topic With Kinesis Ingestion | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createTopicWithKinesisIngestion.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createTopicWithKinesisIngestion.js,samples/README.md) |
+| Create Topic With Schema | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createTopicWithSchema.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createTopicWithSchema.js,samples/README.md) |
+| Create Topic With Schema Revisions | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/createTopicWithSchemaRevisions.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/createTopicWithSchemaRevisions.js,samples/README.md) |
+| Delete a previously created schema | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/deleteSchema.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/deleteSchema.js,samples/README.md) |
+| Delete a Schema Revision | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/deleteSchemaRevision.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/deleteSchemaRevision.js,samples/README.md) |
+| Delete Subscription | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/deleteSubscription.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/deleteSubscription.js,samples/README.md) |
+| Delete Topic | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/deleteTopic.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/deleteTopic.js,samples/README.md) |
+| Detach Subscription | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/detachSubscription.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/detachSubscription.js,samples/README.md) |
+| Get a previously created schema | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/getSchema.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/getSchema.js,samples/README.md) |
+| Get a previously created schema revision | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/getSchemaRevision.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/getSchemaRevision.js,samples/README.md) |
+| Get Subscription | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/getSubscription.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/getSubscription.js,samples/README.md) |
+| Get Subscription Policy | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/getSubscriptionPolicy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/getSubscriptionPolicy.js,samples/README.md) |
+| Get Topic Policy | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/getTopicPolicy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/getTopicPolicy.js,samples/README.md) |
+| List All Topics | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/listAllTopics.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/listAllTopics.js,samples/README.md) |
+| List Revisions on a Schema | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/listSchemaRevisions.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/listSchemaRevisions.js,samples/README.md) |
+| List schemas on a project | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/listSchemas.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/listSchemas.js,samples/README.md) |
+| List Subscriptions | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/listSubscriptions.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/listSubscriptions.js,samples/README.md) |
+| List Subscriptions On a Topic | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/listTopicSubscriptions.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/listTopicSubscriptions.js,samples/README.md) |
+| Listen For Avro Records | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/listenForAvroRecords.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/listenForAvroRecords.js,samples/README.md) |
+| Listen For Avro Records With Revisions | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/listenForAvroRecordsWithRevisions.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/listenForAvroRecordsWithRevisions.js,samples/README.md) |
+| Listen For Errors | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/listenForErrors.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/listenForErrors.js,samples/README.md) |
+| Listen For Messages | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/listenForMessages.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/listenForMessages.js,samples/README.md) |
+| Listen with exactly-once delivery | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/listenForMessagesWithExactlyOnceDelivery.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/listenForMessagesWithExactlyOnceDelivery.js,samples/README.md) |
+| Listen For Protobuf Messages | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/listenForProtobufMessages.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/listenForProtobufMessages.js,samples/README.md) |
+| Listen For Messages With Custom Attributes | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/listenWithCustomAttributes.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/listenWithCustomAttributes.js,samples/README.md) |
+| Subscribe with OpenTelemetry Tracing | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/listenWithOpenTelemetryTracing.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/listenWithOpenTelemetryTracing.js,samples/README.md) |
+| Modify Push Configuration | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/modifyPushConfig.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/modifyPushConfig.js,samples/README.md) |
+| Optimistic Subscribe | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/optimisticSubscribe.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/optimisticSubscribe.js,samples/README.md) |
+| Publish Avro Records to a Topic | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/publishAvroRecords.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/publishAvroRecords.js,samples/README.md) |
+| Publish Batched Messages | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/publishBatchedMessages.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/publishBatchedMessages.js,samples/README.md) |
+| Publish Message | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/publishMessage.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/publishMessage.js,samples/README.md) |
+| Publish Message With Custom Attributes | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/publishMessageWithCustomAttributes.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/publishMessageWithCustomAttributes.js,samples/README.md) |
+| Publish Ordered Message | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/publishOrderedMessage.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/publishOrderedMessage.js,samples/README.md) |
+| Publish Protobuf Messages to a Topic | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/publishProtobufMessages.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/publishProtobufMessages.js,samples/README.md) |
+| Publish with flow control | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/publishWithFlowControl.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/publishWithFlowControl.js,samples/README.md) |
+| Publish with OpenTelemetry Tracing | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/publishWithOpenTelemetryTracing.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/publishWithOpenTelemetryTracing.js,samples/README.md) |
+| Publish With Retry Settings | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/publishWithRetrySettings.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/publishWithRetrySettings.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) |
+| Remove Dead Letter Policy | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/removeDeadLetterPolicy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/removeDeadLetterPolicy.js,samples/README.md) |
+| Resume Publish | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/resumePublish.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/resumePublish.js,samples/README.md) |
+| Rollback a Schema | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/rollbackSchema.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/rollbackSchema.js,samples/README.md) |
+| Set Subscription IAM Policy | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/setSubscriptionPolicy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/setSubscriptionPolicy.js,samples/README.md) |
+| Set Topic IAM Policy | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/setTopicPolicy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/setTopicPolicy.js,samples/README.md) |
+| Subscribe With Flow Control Settings | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/subscribeWithFlowControlSettings.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/subscribeWithFlowControlSettings.js,samples/README.md) |
+| Synchronous Pull | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/synchronousPull.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/synchronousPull.js,samples/README.md) |
+| Synchronous Pull with delivery attempt. | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/synchronousPullWithDeliveryAttempts.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/synchronousPullWithDeliveryAttempts.js,samples/README.md) |
+| Synchronous Pull With Lease Management | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/synchronousPullWithLeaseManagement.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/synchronousPullWithLeaseManagement.js,samples/README.md) |
+| Test Subscription Permissions | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/testSubscriptionPermissions.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/testSubscriptionPermissions.js,samples/README.md) |
+| Test Topic Permissions | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/testTopicPermissions.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/testTopicPermissions.js,samples/README.md) |
+| Update Dead Letter Policy | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/updateDeadLetterPolicy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/updateDeadLetterPolicy.js,samples/README.md) |
+| Update Topic Ingestion Type | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/updateTopicIngestionType.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/updateTopicIngestionType.js,samples/README.md) |
+| Update Topic Schema | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/updateTopicSchema.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/updateTopicSchema.js,samples/README.md) |
+| Validate a schema definition | [source code](https://github.com/googleapis/nodejs-pubsub/blob/main/samples/validateSchema.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-pubsub&page=editor&open_in_editor=samples/validateSchema.js,samples/README.md) |
+
+
+
+The [Google Cloud Pub/Sub Node.js Client API Reference][client-docs] documentation
+also contains samples.
+
+## Supported Node.js Versions
+
+Our client libraries follow the [Node.js release schedule](https://github.com/nodejs/release#release-schedule).
+Libraries are compatible with all current _active_ and _maintenance_ versions of
+Node.js.
+If you are using an end-of-life version of Node.js, we recommend that you update
+as soon as possible to an actively supported LTS version.
+
+Google's client libraries support legacy versions of Node.js runtimes on a
+best-efforts basis with the following warnings:
+
+* Legacy versions are not tested in continuous integration.
+* Some security patches and features cannot be backported.
+* Dependencies cannot be kept up-to-date.
+
+Client libraries targeting some end-of-life versions of Node.js are available, and
+can be installed through npm [dist-tags](https://docs.npmjs.com/cli/dist-tag).
+The dist-tags follow the naming convention `legacy-(version)`.
+For example, `npm install @google-cloud/pubsub@legacy-8` installs client libraries
+for versions compatible with Node.js 8.
+
+## Versioning
+
+This library follows [Semantic Versioning](http://semver.org/).
+
+
+
+This library is considered to be **stable**. The code surface will not change in backwards-incompatible ways
+unless absolutely necessary (e.g. because of critical security issues) or with
+an extensive deprecation period. Issues and requests against **stable** libraries
+are addressed with the highest priority.
+
+
+
+
+
+
+More Information: [Google Cloud Platform Launch Stages][launch_stages]
+
+[launch_stages]: https://cloud.google.com/terms/launch-stages
+
+## Contributing
+
+Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-pubsub/blob/main/CONTRIBUTING.md).
+
+Please note that this `README.md`, the `samples/README.md`,
+and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
+are generated from a central template. To edit one of these files, make an edit
+to its templates in
+[directory](https://github.com/googleapis/synthtool).
+
+## License
+
+Apache Version 2.0
+
+See [LICENSE](https://github.com/googleapis/nodejs-pubsub/blob/main/LICENSE)
+
+[client-docs]: https://cloud.google.com/nodejs/docs/reference/pubsub/latest
+[product-docs]: https://cloud.google.com/pubsub/docs/
+[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png
+[projects]: https://console.cloud.google.com/project
+[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
+[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=pubsub.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/external/set-up-adc-local
\ No newline at end of file
diff --git a/handwritten/pubsub/bin/README.md b/handwritten/pubsub/bin/README.md
new file mode 100644
index 00000000000..c7e6274589e
--- /dev/null
+++ b/handwritten/pubsub/bin/README.md
@@ -0,0 +1,13 @@
+# benchwrapper
+
+benchwrapper is a lightweight gRPC server that wraps the pubsub library for
+bencharmking purposes.
+
+## Running
+
+```
+cd nodejs-pubsub
+npm install
+export PUBSUB_EMULATOR_HOST=localhost:8080
+npm run benchwrapper -- --port 50051
+```
diff --git a/handwritten/pubsub/bin/benchwrapper.js b/handwritten/pubsub/bin/benchwrapper.js
new file mode 100644
index 00000000000..f272b4ccfd9
--- /dev/null
+++ b/handwritten/pubsub/bin/benchwrapper.js
@@ -0,0 +1,80 @@
+// Copyright 2019 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+const {grpc} = require('google-gax');
+const protoLoader = require('@grpc/proto-loader');
+const {PubSub} = require('../build/src');
+
+const argv = require('yargs')
+ .option('port', {
+ description: 'The port that the Node.js benchwrapper should run on.',
+ type: 'number',
+ demand: true,
+ })
+ .parse();
+
+const PROTO_PATH = __dirname + '/pubsub.proto';
+// Suggested options for similarity to existing grpc.load behavior.
+const packageDefinition = protoLoader.loadSync(PROTO_PATH, {
+ keepCase: true,
+ longs: String,
+ enums: String,
+ defaults: true,
+ oneofs: true,
+});
+const protoDescriptor = grpc.loadPackageDefinition(packageDefinition);
+const pubsubBenchWrapper = protoDescriptor.pubsub_bench;
+
+const client = new PubSub();
+
+function recv(call, callback) {
+ const subName = call.request.sub_name;
+
+ const sub = client.subscription(subName);
+
+ sub.setOptions({
+ streamingOptions: {
+ maxStreams: 1,
+ },
+ });
+
+ sub.on('message', message => {
+ message.ack();
+ });
+
+ sub.on('error', () => {
+ // We look for an error here since we expect the server
+ // the close the stream with an grpc "OK" error, which
+ // indicates a successfully closed stream.
+ callback(null, null);
+ });
+}
+
+const server = new grpc.Server();
+
+server.addService(pubsubBenchWrapper['PubsubBenchWrapper']['service'], {
+ Recv: recv,
+});
+console.log(`starting on localhost:${argv.port}`);
+server.bindAsync(
+ `0.0.0.0:${argv.port}`,
+ grpc.ServerCredentials.createInsecure(),
+ err => {
+ if (err) {
+ throw err;
+ } else {
+ server.start();
+ }
+ },
+);
diff --git a/handwritten/pubsub/bin/pubsub.proto b/handwritten/pubsub/bin/pubsub.proto
new file mode 100644
index 00000000000..0c3e50d7f76
--- /dev/null
+++ b/handwritten/pubsub/bin/pubsub.proto
@@ -0,0 +1,32 @@
+// Copyright 2019 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package pubsub_bench;
+
+option java_multiple_files = true;
+
+message PubsubRecv {
+ // The subscription identifier corresponding to number of messages sent.
+ string sub_name = 1;
+}
+
+// TODO(deklerk): Replace with Google's canonical Empty.
+message EmptyResponse {}
+
+service PubsubBenchWrapper {
+ // Recv represents opening a streaming pull stream to receive messages on.
+ rpc Recv(PubsubRecv) returns (EmptyResponse) {}
+}
diff --git a/handwritten/pubsub/helperMethods.ts.tmpl b/handwritten/pubsub/helperMethods.ts.tmpl
new file mode 100644
index 00000000000..773675cf9f4
--- /dev/null
+++ b/handwritten/pubsub/helperMethods.ts.tmpl
@@ -0,0 +1,33 @@
+ /**
+ * This part will be added into src/v1/key_management_service_client.ts by synth.py.
+ * KMS service requires IAM client for [setIamPolicy, getIamPolicy, testIamPerssion] methods.
+ * But we don't support it now in micro-generators for rerouting one service to another and mix them in.
+ * New feature request link: [https://github.com/googleapis/gapic-generator-typescript/issues/315]
+ *
+ * So this is manually written for providing methods to the KMS client.
+ * IamClient is created for KMS client in the constructor using src/helper.ts.
+ * [setIamPolicy, getIamPolicy, testIamPerssion] methods are created which is calling the corresponding methods from IamClient in `helper.ts`.
+ */
+
+ getIamPolicy(
+ request: protos.google.iam.v1.GetIamPolicyRequest,
+ options: gax.CallOptions,
+ callback: protos.google.iam.v1.IAMPolicy.GetIamPolicyCallback
+ ) {
+ return this._iamClient.getIamPolicy(request, options, callback);
+ }
+ setIamPolicy(
+ request: protos.google.iam.v1.SetIamPolicyRequest,
+ options: gax.CallOptions,
+ callback: protos.google.iam.v1.IAMPolicy.SetIamPolicyCallback
+ ) {
+ return this._iamClient.setIamPolicy(request, options, callback);
+ }
+ testIamPermissions(
+ request: protos.google.iam.v1.TestIamPermissionsRequest,
+ options: gax.CallOptions,
+ callback?: protos.google.iam.v1.IAMPolicy.TestIamPermissionsCallback
+ ) {
+ return this._iamClient.testIamPermissions(request, options, callback);
+ }
+}
diff --git a/handwritten/pubsub/linkinator.config.json b/handwritten/pubsub/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/handwritten/pubsub/linkinator.config.json
@@ -0,0 +1,16 @@
+{
+ "recurse": true,
+ "skip": [
+ "https://codecov.io/gh/googleapis/",
+ "www.googleapis.com",
+ "img.shields.io",
+ "https://console.cloud.google.com/cloudshell",
+ "https://support.google.com"
+ ],
+ "silent": true,
+ "concurrency": 5,
+ "retry": true,
+ "retryErrors": true,
+ "retryErrorsCount": 5,
+ "retryErrorsJitter": 3000
+}
diff --git a/handwritten/pubsub/owlbot.py b/handwritten/pubsub/owlbot.py
new file mode 100644
index 00000000000..67e7eb9d884
--- /dev/null
+++ b/handwritten/pubsub/owlbot.py
@@ -0,0 +1,28 @@
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import synthtool.languages.node_mono_repo as node
+
+# Main OwlBot processing.
+node.owlbot_main(relative_dir="handwritten/pubsub",templates_excludes=[
+ 'src/index.ts',
+ '.github/PULL_REQUEST_TEMPLATE.md',
+ '.github/release-please.yml',
+ '.github/header-checker-lint.yaml',
+ '.github/workflows/ci.yaml',
+ '.eslintignore',
+ '.OwlBot.yaml',
+ 'renovate.json',
+ "README.md"
+])
diff --git a/handwritten/pubsub/package.json b/handwritten/pubsub/package.json
new file mode 100644
index 00000000000..617dabc9f63
--- /dev/null
+++ b/handwritten/pubsub/package.json
@@ -0,0 +1,115 @@
+{
+ "name": "@google-cloud/pubsub",
+ "description": "Cloud Pub/Sub Client Library for Node.js",
+ "version": "5.3.0",
+ "license": "Apache-2.0",
+ "author": "Google Inc.",
+ "engines": {
+ "node": ">=18"
+ },
+ "repository": {
+ "type": "git",
+ "directory": "handwritten/pubsub",
+ "url": "https://github.com/googleapis/google-cloud-node.git"
+ },
+ "main": "./build/src/index.js",
+ "types": "./build/src/index.d.ts",
+ "files": [
+ "build/protos",
+ "build/src"
+ ],
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google pubsub",
+ "pubsub"
+ ],
+ "scripts": {
+ "presystem-test": "npm run compile",
+ "system-test": "mocha build/system-test --timeout 600000",
+ "samples-test": "npm run link-samples && npm test && cd ../",
+ "link-samples": "cd samples/ && npm link ../ && npm install",
+ "test": "c8 mocha build/test --recursive",
+ "lint": "gts check",
+ "predocs": "npm run compile",
+ "docs": "jsdoc -c .jsdoc.js",
+ "fix": "gts fix",
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "prepare": "npm run compile-protos && npm run compile",
+ "pretest": "npm run compile",
+ "docs-test": "linkinator docs",
+ "predocs-test": "npm run docs",
+ "benchwrapper": "node bin/benchwrapper.js",
+ "prelint": "cd samples; npm link ../; npm install",
+ "precompile": "gts clean"
+ },
+ "dependencies": {
+ "@google-cloud/paginator": "^6.0.0",
+ "@google-cloud/precise-date": "^5.0.0",
+ "@google-cloud/projectify": "^5.0.0",
+ "@google-cloud/promisify": "^5.0.0",
+ "@opentelemetry/api": "~1.9.0",
+ "@opentelemetry/core": "^1.30.1",
+ "@opentelemetry/semantic-conventions": "~1.39.0",
+ "arrify": "^2.0.0",
+ "extend": "^3.0.2",
+ "google-auth-library": "^10.5.0",
+ "google-gax": "^5.0.5",
+ "google-logging-utils": "^1.1.3",
+ "heap-js": "^2.6.0",
+ "is-stream-ended": "^0.1.4",
+ "lodash.snakecase": "^4.1.1",
+ "long": "^5.3.1",
+ "p-defer": "^3.0.0"
+ },
+ "devDependencies": {
+ "@grpc/proto-loader": "^0.8.0",
+ "@opentelemetry/sdk-trace-base": "^1.17.0",
+ "@types/duplexify": "^3.6.4",
+ "@types/extend": "^3.0.4",
+ "@types/lodash.snakecase": "^4.1.9",
+ "@types/mocha": "^10.0.10",
+ "@types/mv": "^2.1.4",
+ "@types/ncp": "^2.0.8",
+ "@types/node": "^24.0.0",
+ "@types/proxyquire": "^1.3.31",
+ "@types/sinon": "^21.0.0",
+ "@types/tmp": "^0.2.6",
+ "@types/uuid": "^11.0.0",
+ "c8": "^10.1.3",
+ "codecov": "^3.8.3",
+ "execa": "~5.1.0",
+ "gapic-tools": "^1.0.1",
+ "gts": "^6.0.0",
+ "jsdoc": "^4.0.4",
+ "jsdoc-fresh": "^5.0.0",
+ "jsdoc-region-tag": "^4.0.0",
+ "linkinator": "^6.1.2",
+ "mocha": "^11.1.0",
+ "mv": "^2.1.1",
+ "ncp": "^2.0.0",
+ "nise": "^6.1.1",
+ "null-loader": "^4.0.1",
+ "path-to-regexp": "^8.2.0",
+ "protobufjs": "~7.5.0",
+ "proxyquire": "^2.1.3",
+ "sinon": "^21.0.0",
+ "tmp": "^0.2.3",
+ "ts-loader": "^9.5.2",
+ "typescript": "^5.8.3",
+ "uuid": "^11.1.0",
+ "webpack": "^5.99.5",
+ "webpack-cli": "^6.0.1",
+ "why-is-node-running": "^2.3.0",
+ "yargs": "^17.7.2"
+ },
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/handwritten/pubsub"
+}
diff --git a/handwritten/pubsub/protos/google/pubsub/v1/pubsub.proto b/handwritten/pubsub/protos/google/pubsub/v1/pubsub.proto
new file mode 100644
index 00000000000..b542351d9d6
--- /dev/null
+++ b/handwritten/pubsub/protos/google/pubsub/v1/pubsub.proto
@@ -0,0 +1,2445 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.pubsub.v1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+import "google/pubsub/v1/schema.proto";
+
+option csharp_namespace = "Google.Cloud.PubSub.V1";
+option go_package = "cloud.google.com/go/pubsub/v2/apiv1/pubsubpb;pubsubpb";
+option java_multiple_files = true;
+option java_outer_classname = "PubsubProto";
+option java_package = "com.google.pubsub.v1";
+option php_namespace = "Google\\Cloud\\PubSub\\V1";
+option ruby_package = "Google::Cloud::PubSub::V1";
+option (google.api.resource_definition) = {
+ type: "cloudkms.googleapis.com/CryptoKey"
+ pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}"
+};
+option (google.api.resource_definition) = {
+ type: "analyticshub.googleapis.com/Listing"
+ pattern: "projects/{project}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}"
+};
+
+// The service that an application uses to manipulate topics, and to send
+// messages to a topic.
+service Publisher {
+ option (google.api.default_host) = "pubsub.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/pubsub";
+
+ // Creates the given topic with the given name. See the [resource name rules]
+ // (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names).
+ rpc CreateTopic(Topic) returns (Topic) {
+ option (google.api.http) = {
+ put: "/v1/{name=projects/*/topics/*}"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates an existing topic by updating the fields specified in the update
+ // mask. Note that certain properties of a topic are not modifiable.
+ rpc UpdateTopic(UpdateTopicRequest) returns (Topic) {
+ option (google.api.http) = {
+ patch: "/v1/{topic.name=projects/*/topics/*}"
+ body: "*"
+ };
+ option (google.api.method_signature) = "topic,update_mask";
+ }
+
+ // Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic
+ // does not exist.
+ rpc Publish(PublishRequest) returns (PublishResponse) {
+ option (google.api.http) = {
+ post: "/v1/{topic=projects/*/topics/*}:publish"
+ body: "*"
+ };
+ option (google.api.method_signature) = "topic,messages";
+ }
+
+ // Gets the configuration of a topic.
+ rpc GetTopic(GetTopicRequest) returns (Topic) {
+ option (google.api.http) = {
+ get: "/v1/{topic=projects/*/topics/*}"
+ };
+ option (google.api.method_signature) = "topic";
+ }
+
+ // Lists matching topics.
+ rpc ListTopics(ListTopicsRequest) returns (ListTopicsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{project=projects/*}/topics"
+ };
+ option (google.api.method_signature) = "project";
+ }
+
+ // Lists the names of the attached subscriptions on this topic.
+ rpc ListTopicSubscriptions(ListTopicSubscriptionsRequest)
+ returns (ListTopicSubscriptionsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{topic=projects/*/topics/*}/subscriptions"
+ };
+ option (google.api.method_signature) = "topic";
+ }
+
+ // Lists the names of the snapshots on this topic. Snapshots are used in
+ // [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
+ // which allow you to manage message acknowledgments in bulk. That is, you can
+ // set the acknowledgment state of messages in an existing subscription to the
+ // state captured by a snapshot.
+ rpc ListTopicSnapshots(ListTopicSnapshotsRequest)
+ returns (ListTopicSnapshotsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{topic=projects/*/topics/*}/snapshots"
+ };
+ option (google.api.method_signature) = "topic";
+ }
+
+ // Deletes the topic with the given name. Returns `NOT_FOUND` if the topic
+ // does not exist. After a topic is deleted, a new topic may be created with
+ // the same name; this is an entirely new topic with none of the old
+ // configuration or subscriptions. Existing subscriptions to this topic are
+ // not deleted, but their `topic` field is set to `_deleted-topic_`.
+ rpc DeleteTopic(DeleteTopicRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{topic=projects/*/topics/*}"
+ };
+ option (google.api.method_signature) = "topic";
+ }
+
+ // Detaches a subscription from this topic. All messages retained in the
+ // subscription are dropped. Subsequent `Pull` and `StreamingPull` requests
+ // will return FAILED_PRECONDITION. If the subscription is a push
+ // subscription, pushes to the endpoint will stop.
+ rpc DetachSubscription(DetachSubscriptionRequest)
+ returns (DetachSubscriptionResponse) {
+ option (google.api.http) = {
+ post: "/v1/{subscription=projects/*/subscriptions/*}:detach"
+ };
+ }
+}
+
+// A policy constraining the storage of messages published to the topic.
+message MessageStoragePolicy {
+ // Optional. A list of IDs of Google Cloud regions where messages that are
+ // published to the topic may be persisted in storage. Messages published by
+ // publishers running in non-allowed Google Cloud regions (or running outside
+ // of Google Cloud altogether) are routed for storage in one of the allowed
+ // regions. An empty list means that no regions are allowed, and is not a
+ // valid configuration.
+ repeated string allowed_persistence_regions = 1
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, `allowed_persistence_regions` is also used to enforce
+ // in-transit guarantees for messages. That is, Pub/Sub will fail
+ // Publish operations on this topic and subscribe operations
+ // on any subscription attached to this topic in any region that is
+ // not in `allowed_persistence_regions`.
+ bool enforce_in_transit = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Settings for validating messages published against a schema.
+message SchemaSettings {
+ // Required. The name of the schema that messages published should be
+ // validated against. Format is `projects/{project}/schemas/{schema}`. The
+ // value of this field will be `_deleted-schema_` if the schema has been
+ // deleted.
+ string schema = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Schema" }
+ ];
+
+ // Optional. The encoding of messages validated against `schema`.
+ Encoding encoding = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The minimum (inclusive) revision allowed for validating messages.
+ // If empty or not present, allow any revision to be validated against
+ // last_revision or any revision created before.
+ string first_revision_id = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum (inclusive) revision allowed for validating messages.
+ // If empty or not present, allow any revision to be validated against
+ // first_revision or any revision created after.
+ string last_revision_id = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Settings for an ingestion data source on a topic.
+message IngestionDataSourceSettings {
+ // Ingestion settings for Amazon Kinesis Data Streams.
+ message AwsKinesis {
+ // Possible states for ingestion from Amazon Kinesis Data Streams.
+ enum State {
+ // Default value. This value is unused.
+ STATE_UNSPECIFIED = 0;
+
+ // Ingestion is active.
+ ACTIVE = 1;
+
+ // Permission denied encountered while consuming data from Kinesis.
+ // This can happen if:
+ // - The provided `aws_role_arn` does not exist or does not have the
+ // appropriate permissions attached.
+ // - The provided `aws_role_arn` is not set up properly for Identity
+ // Federation using `gcp_service_account`.
+ // - The Pub/Sub SA is not granted the
+ // `iam.serviceAccounts.getOpenIdToken` permission on
+ // `gcp_service_account`.
+ KINESIS_PERMISSION_DENIED = 2;
+
+ // Permission denied encountered while publishing to the topic. This can
+ // happen if the Pub/Sub SA has not been granted the [appropriate publish
+ // permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)
+ PUBLISH_PERMISSION_DENIED = 3;
+
+ // The Kinesis stream does not exist.
+ STREAM_NOT_FOUND = 4;
+
+ // The Kinesis consumer does not exist.
+ CONSUMER_NOT_FOUND = 5;
+ }
+
+ // Output only. An output-only field that indicates the state of the Kinesis
+ // ingestion source.
+ State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. The Kinesis stream ARN to ingest data from.
+ string stream_arn = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The Kinesis consumer ARN to used for ingestion in Enhanced
+ // Fan-Out mode. The consumer must be already created and ready to be used.
+ string consumer_arn = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. AWS role ARN to be used for Federated Identity authentication
+ // with Kinesis. Check the Pub/Sub docs for how to set up this role and the
+ // required permissions that need to be attached to it.
+ string aws_role_arn = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The GCP service account to be used for Federated Identity
+ // authentication with Kinesis (via a `AssumeRoleWithWebIdentity` call for
+ // the provided role). The `aws_role_arn` must be set up with
+ // `accounts.google.com:sub` equals to this service account number.
+ string gcp_service_account = 5 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Ingestion settings for Cloud Storage.
+ message CloudStorage {
+ // Possible states for ingestion from Cloud Storage.
+ enum State {
+ // Default value. This value is unused.
+ STATE_UNSPECIFIED = 0;
+
+ // Ingestion is active.
+ ACTIVE = 1;
+
+ // Permission denied encountered while calling the Cloud Storage API. This
+ // can happen if the Pub/Sub SA has not been granted the
+ // [appropriate
+ // permissions](https://cloud.google.com/storage/docs/access-control/iam-permissions):
+ // - storage.objects.list: to list the objects in a bucket.
+ // - storage.objects.get: to read the objects in a bucket.
+ // - storage.buckets.get: to verify the bucket exists.
+ CLOUD_STORAGE_PERMISSION_DENIED = 2;
+
+ // Permission denied encountered while publishing to the topic. This can
+ // happen if the Pub/Sub SA has not been granted the [appropriate publish
+ // permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)
+ PUBLISH_PERMISSION_DENIED = 3;
+
+ // The provided Cloud Storage bucket doesn't exist.
+ BUCKET_NOT_FOUND = 4;
+
+ // The Cloud Storage bucket has too many objects, ingestion will be
+ // paused.
+ TOO_MANY_OBJECTS = 5;
+ }
+
+ // Configuration for reading Cloud Storage data in text format. Each line of
+ // text as specified by the delimiter will be set to the `data` field of a
+ // Pub/Sub message.
+ message TextFormat {
+ // Optional. When unset, '\n' is used.
+ optional string delimiter = 1 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Configuration for reading Cloud Storage data in Avro binary format. The
+ // bytes of each object will be set to the `data` field of a Pub/Sub
+ // message.
+ message AvroFormat {}
+
+ // Configuration for reading Cloud Storage data written via [Cloud Storage
+ // subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage). The
+ // data and attributes fields of the originally exported Pub/Sub message
+ // will be restored when publishing.
+ message PubSubAvroFormat {}
+
+ // Output only. An output-only field that indicates the state of the Cloud
+ // Storage ingestion source.
+ State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Cloud Storage bucket. The bucket name must be without any
+ // prefix like "gs://". See the [bucket naming requirements]
+ // (https://cloud.google.com/storage/docs/buckets#naming).
+ string bucket = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Defaults to text format.
+ oneof input_format {
+ // Optional. Data from Cloud Storage will be interpreted as text.
+ TextFormat text_format = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Data from Cloud Storage will be interpreted in Avro format.
+ AvroFormat avro_format = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. It will be assumed data from Cloud Storage was written via
+ // [Cloud Storage
+ // subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage).
+ PubSubAvroFormat pubsub_avro_format = 5
+ [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Optional. Only objects with a larger or equal creation timestamp will be
+ // ingested.
+ google.protobuf.Timestamp minimum_object_create_time = 6
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Glob pattern used to match objects that will be ingested. If
+ // unset, all objects will be ingested. See the [supported
+ // patterns](https://cloud.google.com/storage/docs/json_api/v1/objects/list#list-objects-and-prefixes-using-glob).
+ string match_glob = 9 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Ingestion settings for Azure Event Hubs.
+ message AzureEventHubs {
+ // Possible states for managed ingestion from Event Hubs.
+ enum State {
+ // Default value. This value is unused.
+ STATE_UNSPECIFIED = 0;
+
+ // Ingestion is active.
+ ACTIVE = 1;
+
+ // Permission denied encountered while consuming data from Event Hubs.
+ // This can happen when `client_id`, or `tenant_id` are invalid. Or the
+ // right permissions haven't been granted.
+ EVENT_HUBS_PERMISSION_DENIED = 2;
+
+ // Permission denied encountered while publishing to the topic.
+ PUBLISH_PERMISSION_DENIED = 3;
+
+ // The provided Event Hubs namespace couldn't be found.
+ NAMESPACE_NOT_FOUND = 4;
+
+ // The provided Event Hub couldn't be found.
+ EVENT_HUB_NOT_FOUND = 5;
+
+ // The provided Event Hubs subscription couldn't be found.
+ SUBSCRIPTION_NOT_FOUND = 6;
+
+ // The provided Event Hubs resource group couldn't be found.
+ RESOURCE_GROUP_NOT_FOUND = 7;
+ }
+
+ // Output only. An output-only field that indicates the state of the Event
+ // Hubs ingestion source.
+ State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Name of the resource group within the azure subscription.
+ string resource_group = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The name of the Event Hubs namespace.
+ string namespace = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The name of the Event Hub.
+ string event_hub = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The client id of the Azure application that is being used to
+ // authenticate Pub/Sub.
+ string client_id = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The tenant id of the Azure application that is being used to
+ // authenticate Pub/Sub.
+ string tenant_id = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The Azure subscription id.
+ string subscription_id = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The GCP service account to be used for Federated Identity
+ // authentication.
+ string gcp_service_account = 8 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Ingestion settings for Amazon MSK.
+ message AwsMsk {
+ // Possible states for managed ingestion from Amazon MSK.
+ enum State {
+ // Default value. This value is unused.
+ STATE_UNSPECIFIED = 0;
+
+ // Ingestion is active.
+ ACTIVE = 1;
+
+ // Permission denied encountered while consuming data from Amazon MSK.
+ MSK_PERMISSION_DENIED = 2;
+
+ // Permission denied encountered while publishing to the topic.
+ PUBLISH_PERMISSION_DENIED = 3;
+
+ // The provided MSK cluster wasn't found.
+ CLUSTER_NOT_FOUND = 4;
+
+ // The provided topic wasn't found.
+ TOPIC_NOT_FOUND = 5;
+ }
+
+ // Output only. An output-only field that indicates the state of the Amazon
+ // MSK ingestion source.
+ State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. The Amazon Resource Name (ARN) that uniquely identifies the
+ // cluster.
+ string cluster_arn = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The name of the topic in the Amazon MSK cluster that Pub/Sub
+ // will import from.
+ string topic = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }
+ ];
+
+ // Required. AWS role ARN to be used for Federated Identity authentication
+ // with Amazon MSK. Check the Pub/Sub docs for how to set up this role and
+ // the required permissions that need to be attached to it.
+ string aws_role_arn = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The GCP service account to be used for Federated Identity
+ // authentication with Amazon MSK (via a `AssumeRoleWithWebIdentity` call
+ // for the provided role). The `aws_role_arn` must be set up with
+ // `accounts.google.com:sub` equals to this service account number.
+ string gcp_service_account = 5 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Ingestion settings for Confluent Cloud.
+ message ConfluentCloud {
+ // Possible states for managed ingestion from Confluent Cloud.
+ enum State {
+ // Default value. This value is unused.
+ STATE_UNSPECIFIED = 0;
+
+ // Ingestion is active.
+ ACTIVE = 1;
+
+ // Permission denied encountered while consuming data from Confluent
+ // Cloud.
+ CONFLUENT_CLOUD_PERMISSION_DENIED = 2;
+
+ // Permission denied encountered while publishing to the topic.
+ PUBLISH_PERMISSION_DENIED = 3;
+
+ // The provided bootstrap server address is unreachable.
+ UNREACHABLE_BOOTSTRAP_SERVER = 4;
+
+ // The provided cluster wasn't found.
+ CLUSTER_NOT_FOUND = 5;
+
+ // The provided topic wasn't found.
+ TOPIC_NOT_FOUND = 6;
+ }
+
+ // Output only. An output-only field that indicates the state of the
+ // Confluent Cloud ingestion source.
+ State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. The address of the bootstrap server. The format is url:port.
+ string bootstrap_server = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The id of the cluster.
+ string cluster_id = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The name of the topic in the Confluent Cloud cluster that
+ // Pub/Sub will import from.
+ string topic = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The id of the identity pool to be used for Federated Identity
+ // authentication with Confluent Cloud. See
+ // https://docs.confluent.io/cloud/current/security/authenticate/workload-identities/identity-providers/oauth/identity-pools.html#add-oauth-identity-pools.
+ string identity_pool_id = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The GCP service account to be used for Federated Identity
+ // authentication with `identity_pool_id`.
+ string gcp_service_account = 6 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Only one source type can have settings set.
+ oneof source {
+ // Optional. Amazon Kinesis Data Streams.
+ AwsKinesis aws_kinesis = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Cloud Storage.
+ CloudStorage cloud_storage = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Azure Event Hubs.
+ AzureEventHubs azure_event_hubs = 3
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Amazon MSK.
+ AwsMsk aws_msk = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Confluent Cloud.
+ ConfluentCloud confluent_cloud = 6 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Optional. Platform Logs settings. If unset, no Platform Logs will be
+ // generated.
+ PlatformLogsSettings platform_logs_settings = 4
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Settings for Platform Logs produced by Pub/Sub.
+message PlatformLogsSettings {
+ // Severity levels of Platform Logs.
+ enum Severity {
+ // Default value. Logs level is unspecified. Logs will be disabled.
+ SEVERITY_UNSPECIFIED = 0;
+
+ // Logs will be disabled.
+ DISABLED = 1;
+
+ // Debug logs and higher-severity logs will be written.
+ DEBUG = 2;
+
+ // Info logs and higher-severity logs will be written.
+ INFO = 3;
+
+ // Warning logs and higher-severity logs will be written.
+ WARNING = 4;
+
+ // Only error logs will be written.
+ ERROR = 5;
+ }
+
+ // Optional. The minimum severity level of Platform Logs that will be written.
+ Severity severity = 1 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Payload of the Platform Log entry sent when a failure is encountered while
+// ingesting.
+message IngestionFailureEvent {
+ // Specifies the reason why some data may have been left out of
+ // the desired Pub/Sub message due to the API message limits
+ // (https://cloud.google.com/pubsub/quotas#resource_limits). For example,
+ // when the number of attributes is larger than 100, the number of
+ // attributes is truncated to 100 to respect the limit on the attribute count.
+ // Other attribute limits are treated similarly. When the size of the desired
+ // message would've been larger than 10MB, the message won't be published at
+ // all, and ingestion of the subsequent messages will proceed as normal.
+ message ApiViolationReason {}
+
+ // Set when an Avro file is unsupported or its format is not valid. When this
+ // occurs, one or more Avro objects won't be ingested.
+ message AvroFailureReason {}
+
+ // Set when a Pub/Sub message fails to get published due to a schema
+ // validation violation.
+ message SchemaViolationReason {}
+
+ // Set when a Pub/Sub message fails to get published due to a message
+ // transformation error.
+ message MessageTransformationFailureReason {}
+
+ // Failure when ingesting from a Cloud Storage source.
+ message CloudStorageFailure {
+ // Optional. Name of the Cloud Storage bucket used for ingestion.
+ string bucket = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Name of the Cloud Storage object which contained the section
+ // that couldn't be ingested.
+ string object_name = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Generation of the Cloud Storage object which contained the
+ // section that couldn't be ingested.
+ int64 object_generation = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Reason why ingestion failed for the specified object.
+ oneof reason {
+ // Optional. Failure encountered when parsing an Avro file.
+ AvroFailureReason avro_failure_reason = 5
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The Pub/Sub API limits prevented the desired message from
+ // being published.
+ ApiViolationReason api_violation_reason = 6
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The Pub/Sub message failed schema validation.
+ SchemaViolationReason schema_violation_reason = 7
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Failure encountered when applying a message transformation to
+ // the Pub/Sub message.
+ MessageTransformationFailureReason message_transformation_failure_reason =
+ 8 [(google.api.field_behavior) = OPTIONAL];
+ }
+ }
+
+ // Failure when ingesting from an Amazon MSK source.
+ message AwsMskFailureReason {
+ // Optional. The ARN of the cluster of the topic being ingested from.
+ string cluster_arn = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The name of the Kafka topic being ingested from.
+ string kafka_topic = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The partition ID of the message that failed to be ingested.
+ int64 partition_id = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The offset within the partition of the message that failed to
+ // be ingested.
+ int64 offset = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Reason why ingestion failed for the specified message.
+ oneof reason {
+ // Optional. The Pub/Sub API limits prevented the desired message from
+ // being published.
+ ApiViolationReason api_violation_reason = 5
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The Pub/Sub message failed schema validation.
+ SchemaViolationReason schema_violation_reason = 6
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Failure encountered when applying a message transformation to
+ // the Pub/Sub message.
+ MessageTransformationFailureReason message_transformation_failure_reason =
+ 7 [(google.api.field_behavior) = OPTIONAL];
+ }
+ }
+
+ // Failure when ingesting from an Azure Event Hubs source.
+ message AzureEventHubsFailureReason {
+ // Optional. The namespace containing the event hub being ingested from.
+ string namespace = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The name of the event hub being ingested from.
+ string event_hub = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The partition ID of the message that failed to be ingested.
+ int64 partition_id = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The offset within the partition of the message that failed to
+ // be ingested.
+ int64 offset = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Reason why ingestion failed for the specified message.
+ oneof reason {
+ // Optional. The Pub/Sub API limits prevented the desired message from
+ // being published.
+ ApiViolationReason api_violation_reason = 5
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The Pub/Sub message failed schema validation.
+ SchemaViolationReason schema_violation_reason = 6
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Failure encountered when applying a message transformation to
+ // the Pub/Sub message.
+ MessageTransformationFailureReason message_transformation_failure_reason =
+ 7 [(google.api.field_behavior) = OPTIONAL];
+ }
+ }
+
+ // Failure when ingesting from a Confluent Cloud source.
+ message ConfluentCloudFailureReason {
+ // Optional. The cluster ID containing the topic being ingested from.
+ string cluster_id = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The name of the Kafka topic being ingested from.
+ string kafka_topic = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The partition ID of the message that failed to be ingested.
+ int64 partition_id = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The offset within the partition of the message that failed to
+ // be ingested.
+ int64 offset = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Reason why ingestion failed for the specified message.
+ oneof reason {
+ // Optional. The Pub/Sub API limits prevented the desired message from
+ // being published.
+ ApiViolationReason api_violation_reason = 5
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The Pub/Sub message failed schema validation.
+ SchemaViolationReason schema_violation_reason = 6
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Failure encountered when applying a message transformation to
+ // the Pub/Sub message.
+ MessageTransformationFailureReason message_transformation_failure_reason =
+ 7 [(google.api.field_behavior) = OPTIONAL];
+ }
+ }
+
+ // Failure when ingesting from an AWS Kinesis source.
+ message AwsKinesisFailureReason {
+ // Optional. The stream ARN of the Kinesis stream being ingested from.
+ string stream_arn = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The partition key of the message that failed to be ingested.
+ string partition_key = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The sequence number of the message that failed to be ingested.
+ string sequence_number = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Reason why ingestion failed for the specified message.
+ oneof reason {
+ // Optional. The Pub/Sub message failed schema validation.
+ SchemaViolationReason schema_violation_reason = 4
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Failure encountered when applying a message transformation to
+ // the Pub/Sub message.
+ MessageTransformationFailureReason message_transformation_failure_reason =
+ 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The message failed to be published due to an API violation.
+ // This is only set when the size of the data field of the Kinesis record
+ // is zero.
+ ApiViolationReason api_violation_reason = 6
+ [(google.api.field_behavior) = OPTIONAL];
+ }
+ }
+
+ // Required. Name of the import topic. Format is:
+ // projects/{project_name}/topics/{topic_name}.
+ string topic = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }
+ ];
+
+ // Required. Error details explaining why ingestion to Pub/Sub has failed.
+ string error_message = 2 [(google.api.field_behavior) = REQUIRED];
+
+ oneof failure {
+ // Optional. Failure when ingesting from Cloud Storage.
+ CloudStorageFailure cloud_storage_failure = 3
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Failure when ingesting from Amazon MSK.
+ AwsMskFailureReason aws_msk_failure = 4
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Failure when ingesting from Azure Event Hubs.
+ AzureEventHubsFailureReason azure_event_hubs_failure = 5
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Failure when ingesting from Confluent Cloud.
+ ConfluentCloudFailureReason confluent_cloud_failure = 6
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Failure when ingesting from AWS Kinesis.
+ AwsKinesisFailureReason aws_kinesis_failure = 7
+ [(google.api.field_behavior) = OPTIONAL];
+ }
+}
+
+// User-defined JavaScript function that can transform or filter a Pub/Sub
+// message.
+message JavaScriptUDF {
+ // Required. Name of the JavasScript function that should applied to Pub/Sub
+ // messages.
+ string function_name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. JavaScript code that contains a function `function_name` with the
+ // below signature:
+ //
+ // ```
+ // /**
+ // * Transforms a Pub/Sub message.
+ //
+ // * @return {(Object)>|null)} - To
+ // * filter a message, return `null`. To transform a message return a map
+ // * with the following keys:
+ // * - (required) 'data' : {string}
+ // * - (optional) 'attributes' : {Object}
+ // * Returning empty `attributes` will remove all attributes from the
+ // * message.
+ // *
+ // * @param {(Object)>} Pub/Sub
+ // * message. Keys:
+ // * - (required) 'data' : {string}
+ // * - (required) 'attributes' : {Object}
+ // *
+ // * @param {Object} metadata - Pub/Sub message metadata.
+ // * Keys:
+ // * - (optional) 'message_id' : {string}
+ // * - (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format
+ // * - (optional) 'ordering_key': {string}
+ // */
+ //
+ // function (message, metadata) {
+ // }
+ // ```
+ string code = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// All supported message transforms types.
+message MessageTransform {
+ // The type of transform to apply to messages.
+ oneof transform {
+ // Optional. JavaScript User Defined Function. If multiple JavaScriptUDF's
+ // are specified on a resource, each must have a unique `function_name`.
+ JavaScriptUDF javascript_udf = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Optional. This field is deprecated, use the `disabled` field to disable
+ // transforms.
+ bool enabled = 3 [deprecated = true, (google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the transform is disabled and will not be applied to
+ // messages. Defaults to `false`.
+ bool disabled = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A topic resource.
+message Topic {
+ option (google.api.resource) = {
+ type: "pubsub.googleapis.com/Topic"
+ pattern: "projects/{project}/topics/{topic}"
+ pattern: "_deleted-topic_"
+ plural: "topics"
+ singular: "topic"
+ };
+
+ // The state of the topic.
+ enum State {
+ // Default value. This value is unused.
+ STATE_UNSPECIFIED = 0;
+
+ // The topic does not have any persistent errors.
+ ACTIVE = 1;
+
+ // Ingestion from the data source has encountered a permanent error.
+ // See the more detailed error state in the corresponding ingestion
+ // source configuration.
+ INGESTION_RESOURCE_ERROR = 2;
+ }
+
+ // Required. The name of the topic. It must have the format
+ // `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
+ // and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
+ // underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
+ // signs (`%`). It must be between 3 and 255 characters in length, and it
+ // must not start with `"goog"`.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. See [Creating and managing labels]
+ // (https://cloud.google.com/pubsub/docs/labels).
+ map labels = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Policy constraining the set of Google Cloud Platform regions
+ // where messages published to the topic may be stored. If not present, then
+ // no constraints are in effect.
+ MessageStoragePolicy message_storage_policy = 3
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The resource name of the Cloud KMS CryptoKey to be used to
+ // protect access to messages published on this topic.
+ //
+ // The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ string kms_key_name = 5 [
+ (google.api.field_behavior) = OPTIONAL,
+ (google.api.resource_reference) = {
+ type: "cloudkms.googleapis.com/CryptoKey"
+ }
+ ];
+
+ // Optional. Settings for validating messages published against a schema.
+ SchemaSettings schema_settings = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Reserved for future use. This field is set only in responses from
+ // the server; it is ignored if it is set in any requests.
+ bool satisfies_pzs = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Indicates the minimum duration to retain a message after it is
+ // published to the topic. If this field is set, messages published to the
+ // topic in the last `message_retention_duration` are always available to
+ // subscribers. For instance, it allows any attached subscription to [seek to
+ // a
+ // timestamp](https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time)
+ // that is up to `message_retention_duration` in the past. If this field is
+ // not set, message retention is controlled by settings on individual
+ // subscriptions. Cannot be more than 31 days or less than 10 minutes.
+ google.protobuf.Duration message_retention_duration = 8
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. An output-only field indicating the state of the topic.
+ State state = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Settings for ingestion from a data source into this topic.
+ IngestionDataSourceSettings ingestion_data_source_settings = 10
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Transforms to be applied to messages published to the topic.
+ // Transforms are applied in the order specified.
+ repeated MessageTransform message_transforms = 13
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Input only. Immutable. Tag keys/values directly bound to this
+ // resource. For example:
+ // "123/environment": "production",
+ // "123/costCenter": "marketing"
+ map tags = 14 [
+ (google.api.field_behavior) = INPUT_ONLY,
+ (google.api.field_behavior) = IMMUTABLE,
+ (google.api.field_behavior) = OPTIONAL
+ ];
+}
+
+// A message that is published by publishers and consumed by subscribers. The
+// message must contain either a non-empty data field or at least one attribute.
+// Note that client libraries represent this object differently
+// depending on the language. See the corresponding [client library
+// documentation](https://cloud.google.com/pubsub/docs/reference/libraries) for
+// more information. See [quotas and limits]
+// (https://cloud.google.com/pubsub/quotas) for more information about message
+// limits.
+message PubsubMessage {
+ // Optional. The message data field. If this field is empty, the message must
+ // contain at least one attribute.
+ bytes data = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Attributes for this message. If this field is empty, the message
+ // must contain non-empty data. This can be used to filter messages on the
+ // subscription.
+ map attributes = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // ID of this message, assigned by the server when the message is published.
+ // Guaranteed to be unique within the topic. This value may be read by a
+ // subscriber that receives a `PubsubMessage` via a `Pull` call or a push
+ // delivery. It must not be populated by the publisher in a `Publish` call.
+ string message_id = 3;
+
+ // The time at which the message was published, populated by the server when
+ // it receives the `Publish` call. It must not be populated by the
+ // publisher in a `Publish` call.
+ google.protobuf.Timestamp publish_time = 4;
+
+ // Optional. If non-empty, identifies related messages for which publish order
+ // should be respected. If a `Subscription` has `enable_message_ordering` set
+ // to `true`, messages published with the same non-empty `ordering_key` value
+ // will be delivered to subscribers in the order in which they are received by
+ // the Pub/Sub system. All `PubsubMessage`s published in a given
+ // `PublishRequest` must specify the same `ordering_key` value. For more
+ // information, see [ordering
+ // messages](https://cloud.google.com/pubsub/docs/ordering).
+ string ordering_key = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for the GetTopic method.
+message GetTopicRequest {
+ // Required. The name of the topic to get.
+ // Format is `projects/{project}/topics/{topic}`.
+ string topic = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }
+ ];
+}
+
+// Request for the UpdateTopic method.
+message UpdateTopicRequest {
+ // Required. The updated topic object.
+ Topic topic = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Indicates which fields in the provided topic to update. Must be
+ // specified and non-empty. Note that if `update_mask` contains
+ // "message_storage_policy" but the `message_storage_policy` is not set in
+ // the `topic` provided above, then the updated value is determined by the
+ // policy configured at the project or organization level.
+ google.protobuf.FieldMask update_mask = 2
+ [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for the Publish method.
+message PublishRequest {
+ // Required. The messages in the request will be published on this topic.
+ // Format is `projects/{project}/topics/{topic}`.
+ string topic = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }
+ ];
+
+ // Required. The messages to publish.
+ repeated PubsubMessage messages = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Response for the `Publish` method.
+message PublishResponse {
+ // Optional. The server-assigned ID of each published message, in the same
+ // order as the messages in the request. IDs are guaranteed to be unique
+ // within the topic.
+ repeated string message_ids = 1 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for the `ListTopics` method.
+message ListTopicsRequest {
+ // Required. The name of the project in which to list topics.
+ // Format is `projects/{project-id}`.
+ string project = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Optional. Maximum number of topics to return.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The value returned by the last `ListTopicsResponse`; indicates
+ // that this is a continuation of a prior `ListTopics` call, and that the
+ // system should return the next page of data.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response for the `ListTopics` method.
+message ListTopicsResponse {
+ // Optional. The resulting topics.
+ repeated Topic topics = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If not empty, indicates that there may be more topics that match
+ // the request; this value should be passed in a new `ListTopicsRequest`.
+ string next_page_token = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for the `ListTopicSubscriptions` method.
+message ListTopicSubscriptionsRequest {
+ // Required. The name of the topic that subscriptions are attached to.
+ // Format is `projects/{project}/topics/{topic}`.
+ string topic = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }
+ ];
+
+ // Optional. Maximum number of subscription names to return.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The value returned by the last `ListTopicSubscriptionsResponse`;
+ // indicates that this is a continuation of a prior `ListTopicSubscriptions`
+ // call, and that the system should return the next page of data.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response for the `ListTopicSubscriptions` method.
+message ListTopicSubscriptionsResponse {
+ // Optional. The names of subscriptions attached to the topic specified in the
+ // request.
+ repeated string subscriptions = 1 [
+ (google.api.field_behavior) = OPTIONAL,
+ (google.api.resource_reference) = {
+ type: "pubsub.googleapis.com/Subscription"
+ }
+ ];
+
+ // Optional. If not empty, indicates that there may be more subscriptions that
+ // match the request; this value should be passed in a new
+ // `ListTopicSubscriptionsRequest` to get more subscriptions.
+ string next_page_token = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for the `ListTopicSnapshots` method.
+message ListTopicSnapshotsRequest {
+ // Required. The name of the topic that snapshots are attached to.
+ // Format is `projects/{project}/topics/{topic}`.
+ string topic = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }
+ ];
+
+ // Optional. Maximum number of snapshot names to return.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The value returned by the last `ListTopicSnapshotsResponse`;
+ // indicates that this is a continuation of a prior `ListTopicSnapshots` call,
+ // and that the system should return the next page of data.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response for the `ListTopicSnapshots` method.
+message ListTopicSnapshotsResponse {
+ // Optional. The names of the snapshots that match the request.
+ repeated string snapshots = 1 [
+ (google.api.field_behavior) = OPTIONAL,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Snapshot" }
+ ];
+
+ // Optional. If not empty, indicates that there may be more snapshots that
+ // match the request; this value should be passed in a new
+ // `ListTopicSnapshotsRequest` to get more snapshots.
+ string next_page_token = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for the `DeleteTopic` method.
+message DeleteTopicRequest {
+ // Required. Name of the topic to delete.
+ // Format is `projects/{project}/topics/{topic}`.
+ string topic = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }
+ ];
+}
+
+// Request for the DetachSubscription method.
+message DetachSubscriptionRequest {
+ // Required. The subscription to detach.
+ // Format is `projects/{project}/subscriptions/{subscription}`.
+ string subscription = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "pubsub.googleapis.com/Subscription"
+ }
+ ];
+}
+
+// Response for the DetachSubscription method.
+// Reserved for future use.
+message DetachSubscriptionResponse {}
+
+// The service that an application uses to manipulate subscriptions and to
+// consume messages from a subscription via the `Pull` method or by
+// establishing a bi-directional stream using the `StreamingPull` method.
+service Subscriber {
+ option (google.api.default_host) = "pubsub.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/pubsub";
+
+ // Creates a subscription to a given topic. See the [resource name rules]
+ // (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names).
+ // If the subscription already exists, returns `ALREADY_EXISTS`.
+ // If the corresponding topic doesn't exist, returns `NOT_FOUND`.
+ //
+ // If the name is not provided in the request, the server will assign a random
+ // name for this subscription on the same project as the topic, conforming
+ // to the [resource name format]
+ // (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The
+ // generated name is populated in the returned Subscription object. Note that
+ // for REST API requests, you must specify a name in the request.
+ rpc CreateSubscription(Subscription) returns (Subscription) {
+ option (google.api.http) = {
+ put: "/v1/{name=projects/*/subscriptions/*}"
+ body: "*"
+ };
+ option (google.api.method_signature) =
+ "name,topic,push_config,ack_deadline_seconds";
+ }
+
+ // Gets the configuration details of a subscription.
+ rpc GetSubscription(GetSubscriptionRequest) returns (Subscription) {
+ option (google.api.http) = {
+ get: "/v1/{subscription=projects/*/subscriptions/*}"
+ };
+ option (google.api.method_signature) = "subscription";
+ }
+
+ // Updates an existing subscription by updating the fields specified in the
+ // update mask. Note that certain properties of a subscription, such as its
+ // topic, are not modifiable.
+ rpc UpdateSubscription(UpdateSubscriptionRequest) returns (Subscription) {
+ option (google.api.http) = {
+ patch: "/v1/{subscription.name=projects/*/subscriptions/*}"
+ body: "*"
+ };
+ option (google.api.method_signature) = "subscription,update_mask";
+ }
+
+ // Lists matching subscriptions.
+ rpc ListSubscriptions(ListSubscriptionsRequest)
+ returns (ListSubscriptionsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{project=projects/*}/subscriptions"
+ };
+ option (google.api.method_signature) = "project";
+ }
+
+ // Deletes an existing subscription. All messages retained in the subscription
+ // are immediately dropped. Calls to `Pull` after deletion will return
+ // `NOT_FOUND`. After a subscription is deleted, a new one may be created with
+ // the same name, but the new one has no association with the old
+ // subscription or its topic unless the same topic is specified.
+ rpc DeleteSubscription(DeleteSubscriptionRequest)
+ returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{subscription=projects/*/subscriptions/*}"
+ };
+ option (google.api.method_signature) = "subscription";
+ }
+
+ // Modifies the ack deadline for a specific message. This method is useful
+ // to indicate that more time is needed to process a message by the
+ // subscriber, or to make the message available for redelivery if the
+ // processing was interrupted. Note that this does not modify the
+ // subscription-level `ackDeadlineSeconds` used for subsequent messages.
+ rpc ModifyAckDeadline(ModifyAckDeadlineRequest)
+ returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ post: "/v1/{subscription=projects/*/subscriptions/*}:modifyAckDeadline"
+ body: "*"
+ };
+ option (google.api.method_signature) =
+ "subscription,ack_ids,ack_deadline_seconds";
+ }
+
+ // Acknowledges the messages associated with the `ack_ids` in the
+ // `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
+ // from the subscription.
+ //
+ // Acknowledging a message whose ack deadline has expired may succeed,
+ // but such a message may be redelivered later. Acknowledging a message more
+ // than once will not result in an error.
+ rpc Acknowledge(AcknowledgeRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ post: "/v1/{subscription=projects/*/subscriptions/*}:acknowledge"
+ body: "*"
+ };
+ option (google.api.method_signature) = "subscription,ack_ids";
+ }
+
+ // Pulls messages from the server.
+ rpc Pull(PullRequest) returns (PullResponse) {
+ option (google.api.http) = {
+ post: "/v1/{subscription=projects/*/subscriptions/*}:pull"
+ body: "*"
+ };
+ option (google.api.method_signature) =
+ "subscription,return_immediately,max_messages";
+ option (google.api.method_signature) = "subscription,max_messages";
+ }
+
+ // Establishes a stream with the server, which sends messages down to the
+ // client. The client streams acknowledgments and ack deadline modifications
+ // back to the server. The server will close the stream and return the status
+ // on any error. The server may close the stream with status `UNAVAILABLE` to
+ // reassign server-side resources, in which case, the client should
+ // re-establish the stream. Flow control can be achieved by configuring the
+ // underlying RPC channel.
+ rpc StreamingPull(stream StreamingPullRequest)
+ returns (stream StreamingPullResponse) {}
+
+ // Modifies the `PushConfig` for a specified subscription.
+ //
+ // This may be used to change a push subscription to a pull one (signified by
+ // an empty `PushConfig`) or vice versa, or change the endpoint URL and other
+ // attributes of a push subscription. Messages will accumulate for delivery
+ // continuously through the call regardless of changes to the `PushConfig`.
+ rpc ModifyPushConfig(ModifyPushConfigRequest)
+ returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ post: "/v1/{subscription=projects/*/subscriptions/*}:modifyPushConfig"
+ body: "*"
+ };
+ option (google.api.method_signature) = "subscription,push_config";
+ }
+
+ // Gets the configuration details of a snapshot. Snapshots are used in
+ // [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
+ // which allow you to manage message acknowledgments in bulk. That is, you can
+ // set the acknowledgment state of messages in an existing subscription to the
+ // state captured by a snapshot.
+ rpc GetSnapshot(GetSnapshotRequest) returns (Snapshot) {
+ option (google.api.http) = {
+ get: "/v1/{snapshot=projects/*/snapshots/*}"
+ };
+ option (google.api.method_signature) = "snapshot";
+ }
+
+ // Lists the existing snapshots. Snapshots are used in [Seek](
+ // https://cloud.google.com/pubsub/docs/replay-overview) operations, which
+ // allow you to manage message acknowledgments in bulk. That is, you can set
+ // the acknowledgment state of messages in an existing subscription to the
+ // state captured by a snapshot.
+ rpc ListSnapshots(ListSnapshotsRequest) returns (ListSnapshotsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{project=projects/*}/snapshots"
+ };
+ option (google.api.method_signature) = "project";
+ }
+
+ // Creates a snapshot from the requested subscription. Snapshots are used in
+ // [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
+ // which allow you to manage message acknowledgments in bulk. That is, you can
+ // set the acknowledgment state of messages in an existing subscription to the
+ // state captured by a snapshot.
+ // If the snapshot already exists, returns `ALREADY_EXISTS`.
+ // If the requested subscription doesn't exist, returns `NOT_FOUND`.
+ // If the backlog in the subscription is too old -- and the resulting snapshot
+ // would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.
+ // See also the `Snapshot.expire_time` field. If the name is not provided in
+ // the request, the server will assign a random
+ // name for this snapshot on the same project as the subscription, conforming
+ // to the [resource name format]
+ // (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The
+ // generated name is populated in the returned Snapshot object. Note that for
+ // REST API requests, you must specify a name in the request.
+ rpc CreateSnapshot(CreateSnapshotRequest) returns (Snapshot) {
+ option (google.api.http) = {
+ put: "/v1/{name=projects/*/snapshots/*}"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name,subscription";
+ }
+
+ // Updates an existing snapshot by updating the fields specified in the update
+ // mask. Snapshots are used in
+ // [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
+ // which allow you to manage message acknowledgments in bulk. That is, you can
+ // set the acknowledgment state of messages in an existing subscription to the
+ // state captured by a snapshot.
+ rpc UpdateSnapshot(UpdateSnapshotRequest) returns (Snapshot) {
+ option (google.api.http) = {
+ patch: "/v1/{snapshot.name=projects/*/snapshots/*}"
+ body: "*"
+ };
+ option (google.api.method_signature) = "snapshot,update_mask";
+ }
+
+ // Removes an existing snapshot. Snapshots are used in [Seek]
+ // (https://cloud.google.com/pubsub/docs/replay-overview) operations, which
+ // allow you to manage message acknowledgments in bulk. That is, you can set
+ // the acknowledgment state of messages in an existing subscription to the
+ // state captured by a snapshot.
+ // When the snapshot is deleted, all messages retained in the snapshot
+ // are immediately dropped. After a snapshot is deleted, a new one may be
+ // created with the same name, but the new one has no association with the old
+ // snapshot or its subscription, unless the same subscription is specified.
+ rpc DeleteSnapshot(DeleteSnapshotRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{snapshot=projects/*/snapshots/*}"
+ };
+ option (google.api.method_signature) = "snapshot";
+ }
+
+ // Seeks an existing subscription to a point in time or to a given snapshot,
+ // whichever is provided in the request. Snapshots are used in [Seek]
+ // (https://cloud.google.com/pubsub/docs/replay-overview) operations, which
+ // allow you to manage message acknowledgments in bulk. That is, you can set
+ // the acknowledgment state of messages in an existing subscription to the
+ // state captured by a snapshot. Note that both the subscription and the
+ // snapshot must be on the same topic.
+ rpc Seek(SeekRequest) returns (SeekResponse) {
+ option (google.api.http) = {
+ post: "/v1/{subscription=projects/*/subscriptions/*}:seek"
+ body: "*"
+ };
+ }
+}
+
+// A subscription resource. If none of `push_config`, `bigquery_config`, or
+// `cloud_storage_config` is set, then the subscriber will pull and ack messages
+// using API methods. At most one of these fields may be set.
+message Subscription {
+ option (google.api.resource) = {
+ type: "pubsub.googleapis.com/Subscription"
+ pattern: "projects/{project}/subscriptions/{subscription}"
+ plural: "subscriptions"
+ singular: "subscription"
+ };
+
+ // Possible states for a subscription.
+ enum State {
+ // Default value. This value is unused.
+ STATE_UNSPECIFIED = 0;
+
+ // The subscription can actively receive messages
+ ACTIVE = 1;
+
+ // The subscription cannot receive messages because of an error with the
+ // resource to which it pushes messages. See the more detailed error state
+ // in the corresponding configuration.
+ RESOURCE_ERROR = 2;
+ }
+
+ // Information about an associated [Analytics Hub
+ // subscription](https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions).
+ message AnalyticsHubSubscriptionInfo {
+ // Optional. The name of the associated Analytics Hub listing resource.
+ // Pattern:
+ // "projects/{project}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}"
+ string listing = 1 [
+ (google.api.field_behavior) = OPTIONAL,
+ (google.api.resource_reference) = {
+ type: "analyticshub.googleapis.com/Listing"
+ }
+ ];
+
+ // Optional. The name of the associated Analytics Hub subscription resource.
+ // Pattern:
+ // "projects/{project}/locations/{location}/subscriptions/{subscription}"
+ string subscription = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Required. The name of the subscription. It must have the format
+ // `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
+ // start with a letter, and contain only letters (`[A-Za-z]`), numbers
+ // (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
+ // plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
+ // in length, and it must not start with `"goog"`.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The name of the topic from which this subscription is receiving
+ // messages. Format is `projects/{project}/topics/{topic}`. The value of this
+ // field will be `_deleted-topic_` if the topic has been deleted.
+ string topic = 2 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }
+ ];
+
+ // Optional. If push delivery is used with this subscription, this field is
+ // used to configure it.
+ PushConfig push_config = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If delivery to BigQuery is used with this subscription, this
+ // field is used to configure it.
+ BigQueryConfig bigquery_config = 18 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If delivery to Google Cloud Storage is used with this
+ // subscription, this field is used to configure it.
+ CloudStorageConfig cloud_storage_config = 22
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The approximate amount of time (on a best-effort basis) Pub/Sub
+ // waits for the subscriber to acknowledge receipt before resending the
+ // message. In the interval after the message is delivered and before it is
+ // acknowledged, it is considered to be _outstanding_. During that time
+ // period, the message will not be redelivered (on a best-effort basis).
+ //
+ // For pull subscriptions, this value is used as the initial value for the ack
+ // deadline. To override this value for a given message, call
+ // `ModifyAckDeadline` with the corresponding `ack_id` if using
+ // non-streaming pull or send the `ack_id` in a
+ // `StreamingModifyAckDeadlineRequest` if using streaming pull.
+ // The minimum custom deadline you can specify is 10 seconds.
+ // The maximum custom deadline you can specify is 600 seconds (10 minutes).
+ // If this parameter is 0, a default value of 10 seconds is used.
+ //
+ // For push delivery, this value is also used to set the request timeout for
+ // the call to the push endpoint.
+ //
+ // If the subscriber never acknowledges the message, the Pub/Sub
+ // system will eventually redeliver the message.
+ int32 ack_deadline_seconds = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Indicates whether to retain acknowledged messages. If true, then
+ // messages are not expunged from the subscription's backlog, even if they are
+ // acknowledged, until they fall out of the `message_retention_duration`
+ // window. This must be true if you would like to [`Seek` to a timestamp]
+ // (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in
+ // the past to replay previously-acknowledged messages.
+ bool retain_acked_messages = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. How long to retain unacknowledged messages in the subscription's
+ // backlog, from the moment a message is published. If `retain_acked_messages`
+ // is true, then this also configures the retention of acknowledged messages,
+ // and thus configures how far back in time a `Seek` can be done. Defaults to
+ // 7 days. Cannot be more than 31 days or less than 10 minutes.
+ google.protobuf.Duration message_retention_duration = 8
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. See [Creating and managing
+ // labels](https://cloud.google.com/pubsub/docs/labels).
+ map labels = 9 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, messages published with the same `ordering_key` in
+ // `PubsubMessage` will be delivered to the subscribers in the order in which
+ // they are received by the Pub/Sub system. Otherwise, they may be delivered
+ // in any order.
+ bool enable_message_ordering = 10 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A policy that specifies the conditions for this subscription's
+ // expiration. A subscription is considered active as long as any connected
+ // subscriber is successfully consuming messages from the subscription or is
+ // issuing operations on the subscription. If `expiration_policy` is not set,
+ // a *default policy* with `ttl` of 31 days will be used. The minimum allowed
+ // value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set,
+ // but `expiration_policy.ttl` is not set, the subscription never expires.
+ ExpirationPolicy expiration_policy = 11
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. An expression written in the Pub/Sub [filter
+ // language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
+ // then only `PubsubMessage`s whose `attributes` field matches the filter are
+ // delivered on this subscription. If empty, then no messages are filtered
+ // out.
+ string filter = 12 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A policy that specifies the conditions for dead lettering
+ // messages in this subscription. If dead_letter_policy is not set, dead
+ // lettering is disabled.
+ //
+ // The Pub/Sub service account associated with this subscriptions's
+ // parent project (i.e.,
+ // service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
+ // permission to Acknowledge() messages on this subscription.
+ DeadLetterPolicy dead_letter_policy = 13
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A policy that specifies how Pub/Sub retries message delivery for
+ // this subscription.
+ //
+ // If not set, the default retry policy is applied. This generally implies
+ // that messages will be retried as soon as possible for healthy subscribers.
+ // RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded
+ // events for a given message.
+ RetryPolicy retry_policy = 14 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Indicates whether the subscription is detached from its topic.
+ // Detached subscriptions don't receive messages from their topic and don't
+ // retain any backlog. `Pull` and `StreamingPull` requests will return
+ // FAILED_PRECONDITION. If the subscription is a push subscription, pushes to
+ // the endpoint will not be made.
+ bool detached = 15 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, Pub/Sub provides the following guarantees for the
+ // delivery of a message with a given value of `message_id` on this
+ // subscription:
+ //
+ // * The message sent to a subscriber is guaranteed not to be resent
+ // before the message's acknowledgment deadline expires.
+ // * An acknowledged message will not be resent to a subscriber.
+ //
+ // Note that subscribers may still receive multiple copies of a message
+ // when `enable_exactly_once_delivery` is true if the message was published
+ // multiple times by a publisher client. These copies are considered distinct
+ // by Pub/Sub and have distinct `message_id` values.
+ bool enable_exactly_once_delivery = 16
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Indicates the minimum duration for which a message is retained
+ // after it is published to the subscription's topic. If this field is set,
+ // messages published to the subscription's topic in the last
+ // `topic_message_retention_duration` are always available to subscribers. See
+ // the `message_retention_duration` field in `Topic`. This field is set only
+ // in responses from the server; it is ignored if it is set in any requests.
+ google.protobuf.Duration topic_message_retention_duration = 17
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. An output-only field indicating whether or not the
+ // subscription can receive messages.
+ State state = 19 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Information about the associated Analytics Hub subscription.
+ // Only set if the subscritpion is created by Analytics Hub.
+ AnalyticsHubSubscriptionInfo analytics_hub_subscription_info = 23
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Transforms to be applied to messages before they are delivered to
+ // subscribers. Transforms are applied in the order specified.
+ repeated MessageTransform message_transforms = 25
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Input only. Immutable. Tag keys/values directly bound to this
+ // resource. For example:
+ // "123/environment": "production",
+ // "123/costCenter": "marketing"
+ map tags = 26 [
+ (google.api.field_behavior) = INPUT_ONLY,
+ (google.api.field_behavior) = IMMUTABLE,
+ (google.api.field_behavior) = OPTIONAL
+ ];
+}
+
+// A policy that specifies how Pub/Sub retries message delivery.
+//
+// Retry delay will be exponential based on provided minimum and maximum
+// backoffs. https://en.wikipedia.org/wiki/Exponential_backoff.
+//
+// RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded
+// events for a given message.
+//
+// Retry Policy is implemented on a best effort basis. At times, the delay
+// between consecutive deliveries may not match the configuration. That is,
+// delay can be more or less than configured backoff.
+message RetryPolicy {
+ // Optional. The minimum delay between consecutive deliveries of a given
+ // message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.
+ google.protobuf.Duration minimum_backoff = 1
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum delay between consecutive deliveries of a given
+ // message. Value should be between 0 and 600 seconds. Defaults to 600
+ // seconds.
+ google.protobuf.Duration maximum_backoff = 2
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Dead lettering is done on a best effort basis. The same message might be
+// dead lettered multiple times.
+//
+// If validation on any of the fields fails at subscription creation/updation,
+// the create/update subscription request will fail.
+message DeadLetterPolicy {
+ // Optional. The name of the topic to which dead letter messages should be
+ // published. Format is `projects/{project}/topics/{topic}`.The Pub/Sub
+ // service account associated with the enclosing subscription's parent project
+ // (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must
+ // have permission to Publish() to this topic.
+ //
+ // The operation will fail if the topic does not exist.
+ // Users should ensure that there is a subscription attached to this topic
+ // since messages published to a topic with no subscriptions are lost.
+ string dead_letter_topic = 1 [
+ (google.api.field_behavior) = OPTIONAL,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }
+ ];
+
+ // Optional. The maximum number of delivery attempts for any message. The
+ // value must be between 5 and 100.
+ //
+ // The number of delivery attempts is defined as 1 + (the sum of number of
+ // NACKs and number of times the acknowledgment deadline has been exceeded
+ // for the message).
+ //
+ // A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
+ // client libraries may automatically extend ack_deadlines.
+ //
+ // This field will be honored on a best effort basis.
+ //
+ // If this parameter is 0, a default value of 5 is used.
+ int32 max_delivery_attempts = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A policy that specifies the conditions for resource expiration (i.e.,
+// automatic resource deletion).
+message ExpirationPolicy {
+ // Optional. Specifies the "time-to-live" duration for an associated resource.
+ // The resource expires if it is not active for a period of `ttl`. The
+ // definition of "activity" depends on the type of the associated resource.
+ // The minimum and maximum allowed values for `ttl` depend on the type of the
+ // associated resource, as well. If `ttl` is not set, the associated resource
+ // never expires.
+ google.protobuf.Duration ttl = 1 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Configuration for a push delivery endpoint.
+message PushConfig {
+ // Contains information needed for generating an
+ // [OpenID Connect
+ // token](https://developers.google.com/identity/protocols/OpenIDConnect).
+ message OidcToken {
+ // Optional. [Service account
+ // email](https://cloud.google.com/iam/docs/service-accounts)
+ // used for generating the OIDC token. For more information
+ // on setting up authentication, see
+ // [Push subscriptions](https://cloud.google.com/pubsub/docs/push).
+ string service_account_email = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Audience to be used when generating OIDC token. The audience
+ // claim identifies the recipients that the JWT is intended for. The
+ // audience value is a single case-sensitive string. Having multiple values
+ // (array) for the audience field is not supported. More info about the OIDC
+ // JWT token audience here:
+ // https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified,
+ // the Push endpoint URL will be used.
+ string audience = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // The payload to the push endpoint is in the form of the JSON representation
+ // of a PubsubMessage
+ // (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).
+ message PubsubWrapper {}
+
+ // Sets the `data` field as the HTTP body for delivery.
+ message NoWrapper {
+ // Optional. When true, writes the Pub/Sub message metadata to
+ // `x-goog-pubsub-:` headers of the HTTP request. Writes the
+ // Pub/Sub message attributes to `:` headers of the HTTP request.
+ bool write_metadata = 1 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Optional. A URL locating the endpoint to which messages should be pushed.
+ // For example, a Webhook endpoint might use `https://example.com/push`.
+ string push_endpoint = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Endpoint configuration attributes that can be used to control
+ // different aspects of the message delivery.
+ //
+ // The only currently supported attribute is `x-goog-version`, which you can
+ // use to change the format of the pushed message. This attribute
+ // indicates the version of the data expected by the endpoint. This
+ // controls the shape of the pushed message (i.e., its fields and metadata).
+ //
+ // If not present during the `CreateSubscription` call, it will default to
+ // the version of the Pub/Sub API used to make such call. If not present in a
+ // `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
+ // calls will always return a valid version, even if the subscription was
+ // created without this attribute.
+ //
+ // The only supported values for the `x-goog-version` attribute are:
+ //
+ // * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
+ // * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
+ //
+ // For example:
+ // `attributes { "x-goog-version": "v1" }`
+ map attributes = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // An authentication method used by push endpoints to verify the source of
+ // push requests. This can be used with push endpoints that are private by
+ // default to allow requests only from the Pub/Sub system, for example.
+ // This field is optional and should be set only by users interested in
+ // authenticated push.
+ oneof authentication_method {
+ // Optional. If specified, Pub/Sub will generate and attach an OIDC JWT
+ // token as an `Authorization` header in the HTTP request for every pushed
+ // message.
+ OidcToken oidc_token = 3 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // The format of the delivered message to the push endpoint is defined by
+ // the chosen wrapper. When unset, `PubsubWrapper` is used.
+ oneof wrapper {
+ // Optional. When set, the payload to the push endpoint is in the form of
+ // the JSON representation of a PubsubMessage
+ // (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).
+ PubsubWrapper pubsub_wrapper = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. When set, the payload to the push endpoint is not wrapped.
+ NoWrapper no_wrapper = 5 [(google.api.field_behavior) = OPTIONAL];
+ }
+}
+
+// Configuration for a BigQuery subscription.
+message BigQueryConfig {
+ // Possible states for a BigQuery subscription.
+ enum State {
+ // Default value. This value is unused.
+ STATE_UNSPECIFIED = 0;
+
+ // The subscription can actively send messages to BigQuery
+ ACTIVE = 1;
+
+ // Cannot write to the BigQuery table because of permission denied errors.
+ // This can happen if
+ // - Pub/Sub SA has not been granted the [appropriate BigQuery IAM
+ // permissions](https://cloud.google.com/pubsub/docs/create-subscription#assign_bigquery_service_account)
+ // - bigquery.googleapis.com API is not enabled for the project
+ // ([instructions](https://cloud.google.com/service-usage/docs/enable-disable))
+ PERMISSION_DENIED = 2;
+
+ // Cannot write to the BigQuery table because it does not exist.
+ NOT_FOUND = 3;
+
+ // Cannot write to the BigQuery table due to a schema mismatch.
+ SCHEMA_MISMATCH = 4;
+
+ // Cannot write to the destination because enforce_in_transit is set to true
+ // and the destination locations are not in the allowed regions.
+ IN_TRANSIT_LOCATION_RESTRICTION = 5;
+ }
+
+ // Optional. The name of the table to which to write data, of the form
+ // {projectId}.{datasetId}.{tableId}
+ string table = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. When true, use the topic's schema as the columns to write to in
+ // BigQuery, if it exists. `use_topic_schema` and `use_table_schema` cannot be
+ // enabled at the same time.
+ bool use_topic_schema = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. When true, write the subscription name, message_id, publish_time,
+ // attributes, and ordering_key to additional columns in the table. The
+ // subscription name, message_id, and publish_time fields are put in their own
+ // columns while all other message properties (other than data) are written to
+ // a JSON object in the attributes column.
+ bool write_metadata = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. When true and use_topic_schema is true, any fields that are a
+ // part of the topic schema that are not part of the BigQuery table schema are
+ // dropped when writing to BigQuery. Otherwise, the schemas must be kept in
+ // sync and any messages with extra fields are not written and remain in the
+ // subscription's backlog.
+ bool drop_unknown_fields = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. An output-only field that indicates whether or not the
+ // subscription can receive messages.
+ State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. When true, use the BigQuery table's schema as the columns to
+ // write to in BigQuery. `use_table_schema` and `use_topic_schema` cannot be
+ // enabled at the same time.
+ bool use_table_schema = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The service account to use to write to BigQuery. The subscription
+ // creator or updater that specifies this field must have
+ // `iam.serviceAccounts.actAs` permission on the service account. If not
+ // specified, the Pub/Sub [service
+ // agent](https://cloud.google.com/iam/docs/service-agents),
+ // service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+ string service_account_email = 7 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Configuration for a Cloud Storage subscription.
+message CloudStorageConfig {
+ // Configuration for writing message data in text format.
+ // Message payloads will be written to files as raw text, separated by a
+ // newline.
+ message TextConfig {}
+
+ // Configuration for writing message data in Avro format.
+ // Message payloads and metadata will be written to files as an Avro binary.
+ message AvroConfig {
+ // Optional. When true, write the subscription name, message_id,
+ // publish_time, attributes, and ordering_key as additional fields in the
+ // output. The subscription name, message_id, and publish_time fields are
+ // put in their own fields while all other message properties other than
+ // data (for example, an ordering_key, if present) are added as entries in
+ // the attributes map.
+ bool write_metadata = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. When true, the output Cloud Storage file will be serialized
+ // using the topic schema, if it exists.
+ bool use_topic_schema = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Possible states for a Cloud Storage subscription.
+ enum State {
+ // Default value. This value is unused.
+ STATE_UNSPECIFIED = 0;
+
+ // The subscription can actively send messages to Cloud Storage.
+ ACTIVE = 1;
+
+ // Cannot write to the Cloud Storage bucket because of permission denied
+ // errors.
+ PERMISSION_DENIED = 2;
+
+ // Cannot write to the Cloud Storage bucket because it does not exist.
+ NOT_FOUND = 3;
+
+ // Cannot write to the destination because enforce_in_transit is set to true
+ // and the destination locations are not in the allowed regions.
+ IN_TRANSIT_LOCATION_RESTRICTION = 4;
+
+ // Cannot write to the Cloud Storage bucket due to an incompatibility
+ // between the topic schema and subscription settings.
+ SCHEMA_MISMATCH = 5;
+ }
+
+ // Required. User-provided name for the Cloud Storage bucket.
+ // The bucket must be created by the user. The bucket name must be without
+ // any prefix like "gs://". See the [bucket naming
+ // requirements] (https://cloud.google.com/storage/docs/buckets#naming).
+ string bucket = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. User-provided prefix for Cloud Storage filename. See the [object
+ // naming requirements](https://cloud.google.com/storage/docs/objects#naming).
+ string filename_prefix = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. User-provided suffix for Cloud Storage filename. See the [object
+ // naming requirements](https://cloud.google.com/storage/docs/objects#naming).
+ // Must not end in "/".
+ string filename_suffix = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. User-provided format string specifying how to represent datetimes
+ // in Cloud Storage filenames. See the [datetime format
+ // guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
+ string filename_datetime_format = 10 [(google.api.field_behavior) = OPTIONAL];
+
+ // Defaults to text format.
+ oneof output_format {
+ // Optional. If set, message data will be written to Cloud Storage in text
+ // format.
+ TextConfig text_config = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If set, message data will be written to Cloud Storage in Avro
+ // format.
+ AvroConfig avro_config = 5 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Optional. The maximum duration that can elapse before a new Cloud Storage
+ // file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not
+ // exceed the subscription's acknowledgment deadline.
+ google.protobuf.Duration max_duration = 6
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum bytes that can be written to a Cloud Storage file
+ // before a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may
+ // be exceeded in cases where messages are larger than the limit.
+ int64 max_bytes = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum number of messages that can be written to a Cloud
+ // Storage file before a new file is created. Min 1000 messages.
+ int64 max_messages = 8 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. An output-only field that indicates whether or not the
+ // subscription can receive messages.
+ State state = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. The service account to use to write to Cloud Storage. The
+ // subscription creator or updater that specifies this field must have
+ // `iam.serviceAccounts.actAs` permission on the service account. If not
+ // specified, the Pub/Sub
+ // [service agent](https://cloud.google.com/iam/docs/service-agents),
+ // service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+ string service_account_email = 11 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A message and its corresponding acknowledgment ID.
+message ReceivedMessage {
+ // Optional. This ID can be used to acknowledge the received message.
+ string ack_id = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The message.
+ PubsubMessage message = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The approximate number of times that Pub/Sub has attempted to
+ // deliver the associated message to a subscriber.
+ //
+ // More precisely, this is 1 + (number of NACKs) +
+ // (number of ack_deadline exceeds) for this message.
+ //
+ // A NACK is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline
+ // exceeds event is whenever a message is not acknowledged within
+ // ack_deadline. Note that ack_deadline is initially
+ // Subscription.ackDeadlineSeconds, but may get extended automatically by
+ // the client library.
+ //
+ // Upon the first delivery of a given message, `delivery_attempt` will have a
+ // value of 1. The value is calculated at best effort and is approximate.
+ //
+ // If a DeadLetterPolicy is not set on the subscription, this will be 0.
+ int32 delivery_attempt = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for the GetSubscription method.
+message GetSubscriptionRequest {
+ // Required. The name of the subscription to get.
+ // Format is `projects/{project}/subscriptions/{sub}`.
+ string subscription = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "pubsub.googleapis.com/Subscription"
+ }
+ ];
+}
+
+// Request for the UpdateSubscription method.
+message UpdateSubscriptionRequest {
+ // Required. The updated subscription object.
+ Subscription subscription = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Indicates which fields in the provided subscription to update.
+ // Must be specified and non-empty.
+ google.protobuf.FieldMask update_mask = 2
+ [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for the `ListSubscriptions` method.
+message ListSubscriptionsRequest {
+ // Required. The name of the project in which to list subscriptions.
+ // Format is `projects/{project-id}`.
+ string project = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Optional. Maximum number of subscriptions to return.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The value returned by the last `ListSubscriptionsResponse`;
+ // indicates that this is a continuation of a prior `ListSubscriptions` call,
+ // and that the system should return the next page of data.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response for the `ListSubscriptions` method.
+message ListSubscriptionsResponse {
+ // Optional. The subscriptions that match the request.
+ repeated Subscription subscriptions = 1
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If not empty, indicates that there may be more subscriptions that
+ // match the request; this value should be passed in a new
+ // `ListSubscriptionsRequest` to get more subscriptions.
+ string next_page_token = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for the DeleteSubscription method.
+message DeleteSubscriptionRequest {
+ // Required. The subscription to delete.
+ // Format is `projects/{project}/subscriptions/{sub}`.
+ string subscription = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "pubsub.googleapis.com/Subscription"
+ }
+ ];
+}
+
+// Request for the ModifyPushConfig method.
+message ModifyPushConfigRequest {
+ // Required. The name of the subscription.
+ // Format is `projects/{project}/subscriptions/{sub}`.
+ string subscription = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "pubsub.googleapis.com/Subscription"
+ }
+ ];
+
+ // Required. The push configuration for future deliveries.
+ //
+ // An empty `pushConfig` indicates that the Pub/Sub system should
+ // stop pushing messages from the given subscription and allow
+ // messages to be pulled and acknowledged - effectively pausing
+ // the subscription if `Pull` or `StreamingPull` is not called.
+ PushConfig push_config = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for the `Pull` method.
+message PullRequest {
+ // Required. The subscription from which messages should be pulled.
+ // Format is `projects/{project}/subscriptions/{sub}`.
+ string subscription = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "pubsub.googleapis.com/Subscription"
+ }
+ ];
+
+ // Optional. If this field set to true, the system will respond immediately
+ // even if it there are no messages available to return in the `Pull`
+ // response. Otherwise, the system may wait (for a bounded amount of time)
+ // until at least one message is available, rather than returning no messages.
+ // Warning: setting this field to `true` is discouraged because it adversely
+ // impacts the performance of `Pull` operations. We recommend that users do
+ // not set this field.
+ bool return_immediately = 2
+ [deprecated = true, (google.api.field_behavior) = OPTIONAL];
+
+ // Required. The maximum number of messages to return for this request. Must
+ // be a positive integer. The Pub/Sub system may return fewer than the number
+ // specified.
+ int32 max_messages = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Response for the `Pull` method.
+message PullResponse {
+ // Optional. Received Pub/Sub messages. The list will be empty if there are no
+ // more messages available in the backlog, or if no messages could be returned
+ // before the request timeout. For JSON, the response can be entirely
+ // empty. The Pub/Sub system may return fewer than the `maxMessages` requested
+ // even if there are more messages available in the backlog.
+ repeated ReceivedMessage received_messages = 1
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for the ModifyAckDeadline method.
+message ModifyAckDeadlineRequest {
+ // Required. The name of the subscription.
+ // Format is `projects/{project}/subscriptions/{sub}`.
+ string subscription = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "pubsub.googleapis.com/Subscription"
+ }
+ ];
+
+ // Required. List of acknowledgment IDs.
+ repeated string ack_ids = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The new ack deadline with respect to the time this request was
+ // sent to the Pub/Sub system. For example, if the value is 10, the new ack
+ // deadline will expire 10 seconds after the `ModifyAckDeadline` call was
+ // made. Specifying zero might immediately make the message available for
+ // delivery to another subscriber client. This typically results in an
+ // increase in the rate of message redeliveries (that is, duplicates).
+ // The minimum deadline you can specify is 0 seconds.
+ // The maximum deadline you can specify in a single request is 600 seconds
+ // (10 minutes).
+ int32 ack_deadline_seconds = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for the Acknowledge method.
+message AcknowledgeRequest {
+ // Required. The subscription whose message is being acknowledged.
+ // Format is `projects/{project}/subscriptions/{sub}`.
+ string subscription = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "pubsub.googleapis.com/Subscription"
+ }
+ ];
+
+ // Required. The acknowledgment ID for the messages being acknowledged that
+ // was returned by the Pub/Sub system in the `Pull` response. Must not be
+ // empty.
+ repeated string ack_ids = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for the `StreamingPull` streaming RPC method. This request is used to
+// establish the initial stream as well as to stream acknowledgments and ack
+// deadline modifications from the client to the server.
+message StreamingPullRequest {
+ // Required. The subscription for which to initialize the new stream. This
+ // must be provided in the first request on the stream, and must not be set in
+ // subsequent requests from client to server.
+ // Format is `projects/{project}/subscriptions/{sub}`.
+ string subscription = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "pubsub.googleapis.com/Subscription"
+ }
+ ];
+
+ // Optional. List of acknowledgment IDs for acknowledging previously received
+ // messages (received on this stream or a different stream). If an ack ID has
+ // expired, the corresponding message may be redelivered later. Acknowledging
+ // a message more than once will not result in an error. If the acknowledgment
+ // ID is malformed, the stream will be aborted with status `INVALID_ARGUMENT`.
+ repeated string ack_ids = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The list of new ack deadlines for the IDs listed in
+ // `modify_deadline_ack_ids`. The size of this list must be the same as the
+ // size of `modify_deadline_ack_ids`. If it differs the stream will be aborted
+ // with `INVALID_ARGUMENT`. Each element in this list is applied to the
+ // element in the same position in `modify_deadline_ack_ids`. The new ack
+ // deadline is with respect to the time this request was sent to the Pub/Sub
+ // system. Must be >= 0. For example, if the value is 10, the new ack deadline
+ // will expire 10 seconds after this request is received. If the value is 0,
+ // the message is immediately made available for another streaming or
+ // non-streaming pull request. If the value is < 0 (an error), the stream will
+ // be aborted with status `INVALID_ARGUMENT`.
+ repeated int32 modify_deadline_seconds = 3
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. List of acknowledgment IDs whose deadline will be modified based
+ // on the corresponding element in `modify_deadline_seconds`. This field can
+ // be used to indicate that more time is needed to process a message by the
+ // subscriber, or to make the message available for redelivery if the
+ // processing was interrupted.
+ repeated string modify_deadline_ack_ids = 4
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The ack deadline to use for the stream. This must be provided in
+ // the first request on the stream, but it can also be updated on subsequent
+ // requests from client to server. The minimum deadline you can specify is 10
+ // seconds. The maximum deadline you can specify is 600 seconds (10 minutes).
+ int32 stream_ack_deadline_seconds = 5
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. A unique identifier that is used to distinguish client instances
+ // from each other. Only needs to be provided on the initial request. When a
+ // stream disconnects and reconnects for the same stream, the client_id should
+ // be set to the same value so that state associated with the old stream can
+ // be transferred to the new stream. The same client_id should not be used for
+ // different client instances.
+ string client_id = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Flow control settings for the maximum number of outstanding
+ // messages. When there are `max_outstanding_messages` currently sent to the
+ // streaming pull client that have not yet been acked or nacked, the server
+ // stops sending more messages. The sending of messages resumes once the
+ // number of outstanding messages is less than this value. If the value is
+ // <= 0, there is no limit to the number of outstanding messages. This
+ // property can only be set on the initial StreamingPullRequest. If it is set
+ // on a subsequent request, the stream will be aborted with status
+ // `INVALID_ARGUMENT`.
+ int64 max_outstanding_messages = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Flow control settings for the maximum number of outstanding
+ // bytes. When there are `max_outstanding_bytes` or more worth of messages
+ // currently sent to the streaming pull client that have not yet been acked or
+ // nacked, the server will stop sending more messages. The sending of messages
+ // resumes once the number of outstanding bytes is less than this value. If
+ // the value is <= 0, there is no limit to the number of outstanding bytes.
+ // This property can only be set on the initial StreamingPullRequest. If it is
+ // set on a subsequent request, the stream will be aborted with status
+ // `INVALID_ARGUMENT`.
+ int64 max_outstanding_bytes = 8 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The protocol version used by the client. This property can only
+ // be set on the initial StreamingPullRequest. If it is set on a subsequent
+ // request, the stream will be aborted with status `INVALID_ARGUMENT`.
+ int64 protocol_version = 10 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response for the `StreamingPull` method. This response is used to stream
+// messages from the server to the client.
+message StreamingPullResponse {
+ // Acknowledgment IDs sent in one or more previous requests to acknowledge a
+ // previously received message.
+ message AcknowledgeConfirmation {
+ // Optional. Successfully processed acknowledgment IDs.
+ repeated string ack_ids = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. List of acknowledgment IDs that were malformed or whose
+ // acknowledgment deadline has expired.
+ repeated string invalid_ack_ids = 2
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. List of acknowledgment IDs that were out of order.
+ repeated string unordered_ack_ids = 3
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. List of acknowledgment IDs that failed processing with
+ // temporary issues.
+ repeated string temporary_failed_ack_ids = 4
+ [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Acknowledgment IDs sent in one or more previous requests to modify the
+ // deadline for a specific message.
+ message ModifyAckDeadlineConfirmation {
+ // Optional. Successfully processed acknowledgment IDs.
+ repeated string ack_ids = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. List of acknowledgment IDs that were malformed or whose
+ // acknowledgment deadline has expired.
+ repeated string invalid_ack_ids = 2
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. List of acknowledgment IDs that failed processing with
+ // temporary issues.
+ repeated string temporary_failed_ack_ids = 3
+ [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Subscription properties sent as part of the response.
+ message SubscriptionProperties {
+ // Optional. True iff exactly once delivery is enabled for this
+ // subscription.
+ bool exactly_once_delivery_enabled = 1
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. True iff message ordering is enabled for this subscription.
+ bool message_ordering_enabled = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Optional. Received Pub/Sub messages.
+ repeated ReceivedMessage received_messages = 1
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. This field will only be set if `enable_exactly_once_delivery` is
+ // set to `true` and is not guaranteed to be populated.
+ AcknowledgeConfirmation acknowledge_confirmation = 5
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. This field will only be set if `enable_exactly_once_delivery` is
+ // set to `true` and is not guaranteed to be populated.
+ ModifyAckDeadlineConfirmation modify_ack_deadline_confirmation = 3
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Properties associated with this subscription.
+ SubscriptionProperties subscription_properties = 4
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for the `CreateSnapshot` method.
+message CreateSnapshotRequest {
+ // Required. User-provided name for this snapshot. If the name is not provided
+ // in the request, the server will assign a random name for this snapshot on
+ // the same project as the subscription. Note that for REST API requests, you
+ // must specify a name. See the [resource name
+ // rules](https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names).
+ // Format is `projects/{project}/snapshots/{snap}`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Snapshot" }
+ ];
+
+ // Required. The subscription whose backlog the snapshot retains.
+ // Specifically, the created snapshot is guaranteed to retain:
+ // (a) The existing backlog on the subscription. More precisely, this is
+ // defined as the messages in the subscription's backlog that are
+ // unacknowledged upon the successful completion of the
+ // `CreateSnapshot` request; as well as:
+ // (b) Any messages published to the subscription's topic following the
+ // successful completion of the CreateSnapshot request.
+ // Format is `projects/{project}/subscriptions/{sub}`.
+ string subscription = 2 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "pubsub.googleapis.com/Subscription"
+ }
+ ];
+
+ // Optional. See [Creating and managing
+ // labels](https://cloud.google.com/pubsub/docs/labels).
+ map labels = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Input only. Immutable. Tag keys/values directly bound to this
+ // resource. For example:
+ // "123/environment": "production",
+ // "123/costCenter": "marketing"
+ map tags = 4 [
+ (google.api.field_behavior) = INPUT_ONLY,
+ (google.api.field_behavior) = IMMUTABLE,
+ (google.api.field_behavior) = OPTIONAL
+ ];
+}
+
+// Request for the UpdateSnapshot method.
+message UpdateSnapshotRequest {
+ // Required. The updated snapshot object.
+ Snapshot snapshot = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Indicates which fields in the provided snapshot to update.
+ // Must be specified and non-empty.
+ google.protobuf.FieldMask update_mask = 2
+ [(google.api.field_behavior) = REQUIRED];
+}
+
+// A snapshot resource. Snapshots are used in
+// [Seek](https://cloud.google.com/pubsub/docs/replay-overview)
+// operations, which allow you to manage message acknowledgments in bulk. That
+// is, you can set the acknowledgment state of messages in an existing
+// subscription to the state captured by a snapshot.
+message Snapshot {
+ option (google.api.resource) = {
+ type: "pubsub.googleapis.com/Snapshot"
+ pattern: "projects/{project}/snapshots/{snapshot}"
+ plural: "snapshots"
+ singular: "snapshot"
+ };
+
+ // Optional. The name of the snapshot.
+ string name = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The name of the topic from which this snapshot is retaining
+ // messages.
+ string topic = 2 [
+ (google.api.field_behavior) = OPTIONAL,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }
+ ];
+
+ // Optional. The snapshot is guaranteed to exist up until this time.
+ // A newly-created snapshot expires no later than 7 days from the time of its
+ // creation. Its exact lifetime is determined at creation by the existing
+ // backlog in the source subscription. Specifically, the lifetime of the
+ // snapshot is `7 days - (age of oldest unacked message in the subscription)`.
+ // For example, consider a subscription whose oldest unacked message is 3 days
+ // old. If a snapshot is created from this subscription, the snapshot -- which
+ // will always capture this 3-day-old backlog as long as the snapshot
+ // exists -- will expire in 4 days. The service will refuse to create a
+ // snapshot that would expire in less than 1 hour after creation.
+ google.protobuf.Timestamp expire_time = 3
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. See [Creating and managing labels]
+ // (https://cloud.google.com/pubsub/docs/labels).
+ map labels = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for the GetSnapshot method.
+message GetSnapshotRequest {
+ // Required. The name of the snapshot to get.
+ // Format is `projects/{project}/snapshots/{snap}`.
+ string snapshot = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Snapshot" }
+ ];
+}
+
+// Request for the `ListSnapshots` method.
+message ListSnapshotsRequest {
+ // Required. The name of the project in which to list snapshots.
+ // Format is `projects/{project-id}`.
+ string project = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Optional. Maximum number of snapshots to return.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The value returned by the last `ListSnapshotsResponse`; indicates
+ // that this is a continuation of a prior `ListSnapshots` call, and that the
+ // system should return the next page of data.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response for the `ListSnapshots` method.
+message ListSnapshotsResponse {
+ // Optional. The resulting snapshots.
+ repeated Snapshot snapshots = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If not empty, indicates that there may be more snapshot that
+ // match the request; this value should be passed in a new
+ // `ListSnapshotsRequest`.
+ string next_page_token = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for the `DeleteSnapshot` method.
+message DeleteSnapshotRequest {
+ // Required. The name of the snapshot to delete.
+ // Format is `projects/{project}/snapshots/{snap}`.
+ string snapshot = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Snapshot" }
+ ];
+}
+
+// Request for the `Seek` method.
+message SeekRequest {
+ // Required. The subscription to affect.
+ string subscription = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "pubsub.googleapis.com/Subscription"
+ }
+ ];
+
+ oneof target {
+ // Optional. The time to seek to.
+ // Messages retained in the subscription that were published before this
+ // time are marked as acknowledged, and messages retained in the
+ // subscription that were published after this time are marked as
+ // unacknowledged. Note that this operation affects only those messages
+ // retained in the subscription (configured by the combination of
+ // `message_retention_duration` and `retain_acked_messages`). For example,
+ // if `time` corresponds to a point before the message retention
+ // window (or to a point before the system's notion of the subscription
+ // creation time), only retained messages will be marked as unacknowledged,
+ // and already-expunged messages will not be restored.
+ google.protobuf.Timestamp time = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The snapshot to seek to. The snapshot's topic must be the same
+ // as that of the provided subscription. Format is
+ // `projects/{project}/snapshots/{snap}`.
+ string snapshot = 3 [
+ (google.api.field_behavior) = OPTIONAL,
+ (google.api.resource_reference) = {
+ type: "pubsub.googleapis.com/Snapshot"
+ }
+ ];
+ }
+}
+
+// Response for the `Seek` method (this response is empty).
+message SeekResponse {}
diff --git a/handwritten/pubsub/protos/google/pubsub/v1/schema.proto b/handwritten/pubsub/protos/google/pubsub/v1/schema.proto
new file mode 100644
index 00000000000..37fd2f461c0
--- /dev/null
+++ b/handwritten/pubsub/protos/google/pubsub/v1/schema.proto
@@ -0,0 +1,409 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.pubsub.v1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.PubSub.V1";
+option go_package = "cloud.google.com/go/pubsub/v2/apiv1/pubsubpb;pubsubpb";
+option java_multiple_files = true;
+option java_outer_classname = "SchemaProto";
+option java_package = "com.google.pubsub.v1";
+option php_namespace = "Google\\Cloud\\PubSub\\V1";
+option ruby_package = "Google::Cloud::PubSub::V1";
+
+// Service for doing schema-related operations.
+service SchemaService {
+ option (google.api.default_host) = "pubsub.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/pubsub";
+
+ // Creates a schema.
+ rpc CreateSchema(CreateSchemaRequest) returns (Schema) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*}/schemas"
+ body: "schema"
+ };
+ option (google.api.method_signature) = "parent,schema,schema_id";
+ }
+
+ // Gets a schema.
+ rpc GetSchema(GetSchemaRequest) returns (Schema) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/schemas/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists schemas in a project.
+ rpc ListSchemas(ListSchemasRequest) returns (ListSchemasResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*}/schemas"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Lists all schema revisions for the named schema.
+ rpc ListSchemaRevisions(ListSchemaRevisionsRequest)
+ returns (ListSchemaRevisionsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/schemas/*}:listRevisions"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Commits a new schema revision to an existing schema.
+ rpc CommitSchema(CommitSchemaRequest) returns (Schema) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/schemas/*}:commit"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name,schema";
+ }
+
+ // Creates a new schema revision that is a copy of the provided revision_id.
+ rpc RollbackSchema(RollbackSchemaRequest) returns (Schema) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/schemas/*}:rollback"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name,revision_id";
+ }
+
+ // Deletes a specific schema revision.
+ rpc DeleteSchemaRevision(DeleteSchemaRevisionRequest) returns (Schema) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/schemas/*}:deleteRevision"
+ };
+ option (google.api.method_signature) = "name,revision_id";
+ }
+
+ // Deletes a schema.
+ rpc DeleteSchema(DeleteSchemaRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/schemas/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Validates a schema.
+ rpc ValidateSchema(ValidateSchemaRequest) returns (ValidateSchemaResponse) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*}/schemas:validate"
+ body: "*"
+ };
+ option (google.api.method_signature) = "parent,schema";
+ }
+
+ // Validates a message against a schema.
+ rpc ValidateMessage(ValidateMessageRequest)
+ returns (ValidateMessageResponse) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*}/schemas:validateMessage"
+ body: "*"
+ };
+ }
+}
+
+// A schema resource.
+message Schema {
+ option (google.api.resource) = {
+ type: "pubsub.googleapis.com/Schema"
+ pattern: "projects/{project}/schemas/{schema}"
+ };
+
+ // Possible schema definition types.
+ enum Type {
+ // Default value. This value is unused.
+ TYPE_UNSPECIFIED = 0;
+
+ // A Protocol Buffer schema definition.
+ PROTOCOL_BUFFER = 1;
+
+ // An Avro schema definition.
+ AVRO = 2;
+ }
+
+ // Required. Name of the schema.
+ // Format is `projects/{project}/schemas/{schema}`.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The type of the schema definition.
+ Type type = 2;
+
+ // The definition of the schema. This should contain a string representing
+ // the full definition of the schema that is a valid schema definition of
+ // the type specified in `type`.
+ string definition = 3;
+
+ // Output only. Immutable. The revision ID of the schema.
+ string revision_id = 4 [
+ (google.api.field_behavior) = IMMUTABLE,
+ (google.api.field_behavior) = OUTPUT_ONLY
+ ];
+
+ // Output only. The timestamp that the revision was created.
+ google.protobuf.Timestamp revision_create_time = 6
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// View of Schema object fields to be returned by GetSchema and ListSchemas.
+enum SchemaView {
+ // The default / unset value.
+ // The API will default to the BASIC view.
+ SCHEMA_VIEW_UNSPECIFIED = 0;
+
+ // Include the name and type of the schema, but not the definition.
+ BASIC = 1;
+
+ // Include all Schema object fields.
+ FULL = 2;
+}
+
+// Request for the CreateSchema method.
+message CreateSchemaRequest {
+ // Required. The name of the project in which to create the schema.
+ // Format is `projects/{project-id}`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "pubsub.googleapis.com/Schema"
+ }
+ ];
+
+ // Required. The schema object to create.
+ //
+ // This schema's `name` parameter is ignored. The schema object returned
+ // by CreateSchema will have a `name` made using the given `parent` and
+ // `schema_id`.
+ Schema schema = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The ID to use for the schema, which will become the final component of
+ // the schema's resource name.
+ //
+ // See https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names for
+ // resource name constraints.
+ string schema_id = 3;
+}
+
+// Request for the GetSchema method.
+message GetSchemaRequest {
+ // Required. The name of the schema to get.
+ // Format is `projects/{project}/schemas/{schema}`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Schema" }
+ ];
+
+ // The set of fields to return in the response. If not set, returns a Schema
+ // with all fields filled out. Set to `BASIC` to omit the `definition`.
+ SchemaView view = 2;
+}
+
+// Request for the `ListSchemas` method.
+message ListSchemasRequest {
+ // Required. The name of the project in which to list schemas.
+ // Format is `projects/{project-id}`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // The set of Schema fields to return in the response. If not set, returns
+ // Schemas with `name` and `type`, but not `definition`. Set to `FULL` to
+ // retrieve all fields.
+ SchemaView view = 2;
+
+ // Maximum number of schemas to return.
+ int32 page_size = 3;
+
+ // The value returned by the last `ListSchemasResponse`; indicates that
+ // this is a continuation of a prior `ListSchemas` call, and that the
+ // system should return the next page of data.
+ string page_token = 4;
+}
+
+// Response for the `ListSchemas` method.
+message ListSchemasResponse {
+ // The resulting schemas.
+ repeated Schema schemas = 1;
+
+ // If not empty, indicates that there may be more schemas that match the
+ // request; this value should be passed in a new `ListSchemasRequest`.
+ string next_page_token = 2;
+}
+
+// Request for the `ListSchemaRevisions` method.
+message ListSchemaRevisionsRequest {
+ // Required. The name of the schema to list revisions for.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Schema" }
+ ];
+
+ // The set of Schema fields to return in the response. If not set, returns
+ // Schemas with `name` and `type`, but not `definition`. Set to `FULL` to
+ // retrieve all fields.
+ SchemaView view = 2;
+
+ // The maximum number of revisions to return per page.
+ int32 page_size = 3;
+
+ // The page token, received from a previous ListSchemaRevisions call.
+ // Provide this to retrieve the subsequent page.
+ string page_token = 4;
+}
+
+// Response for the `ListSchemaRevisions` method.
+message ListSchemaRevisionsResponse {
+ // The revisions of the schema.
+ repeated Schema schemas = 1;
+
+ // A token that can be sent as `page_token` to retrieve the next page.
+ // If this field is empty, there are no subsequent pages.
+ string next_page_token = 2;
+}
+
+// Request for CommitSchema method.
+message CommitSchemaRequest {
+ // Required. The name of the schema we are revising.
+ // Format is `projects/{project}/schemas/{schema}`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Schema" }
+ ];
+
+ // Required. The schema revision to commit.
+ Schema schema = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for the `RollbackSchema` method.
+message RollbackSchemaRequest {
+ // Required. The schema being rolled back with revision id.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Schema" }
+ ];
+
+ // Required. The revision ID to roll back to.
+ // It must be a revision of the same schema.
+ //
+ // Example: c7cfa2a8
+ string revision_id = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for the `DeleteSchemaRevision` method.
+message DeleteSchemaRevisionRequest {
+ // Required. The name of the schema revision to be deleted, with a revision ID
+ // explicitly included.
+ //
+ // Example: `projects/123/schemas/my-schema@c7cfa2a8`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Schema" }
+ ];
+
+ // Optional. This field is deprecated and should not be used for specifying
+ // the revision ID. The revision ID should be specified via the `name`
+ // parameter.
+ string revision_id = 2
+ [deprecated = true, (google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for the `DeleteSchema` method.
+message DeleteSchemaRequest {
+ // Required. Name of the schema to delete.
+ // Format is `projects/{project}/schemas/{schema}`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Schema" }
+ ];
+}
+
+// Request for the `ValidateSchema` method.
+message ValidateSchemaRequest {
+ // Required. The name of the project in which to validate schemas.
+ // Format is `projects/{project-id}`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Required. The schema object to validate.
+ Schema schema = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Response for the `ValidateSchema` method.
+// Empty for now.
+message ValidateSchemaResponse {}
+
+// Request for the `ValidateMessage` method.
+message ValidateMessageRequest {
+ // Required. The name of the project in which to validate schemas.
+ // Format is `projects/{project-id}`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ oneof schema_spec {
+ // Name of the schema against which to validate.
+ //
+ // Format is `projects/{project}/schemas/{schema}`.
+ string name = 2 [
+ (google.api.resource_reference) = { type: "pubsub.googleapis.com/Schema" }
+ ];
+
+ // Ad-hoc schema against which to validate
+ Schema schema = 3;
+ }
+
+ // Message to validate against the provided `schema_spec`.
+ bytes message = 4;
+
+ // The encoding expected for messages
+ Encoding encoding = 5;
+}
+
+// Response for the `ValidateMessage` method.
+// Empty for now.
+message ValidateMessageResponse {}
+
+// Possible encoding types for messages.
+enum Encoding {
+ // Unspecified
+ ENCODING_UNSPECIFIED = 0;
+
+ // JSON encoding
+ JSON = 1;
+
+ // Binary encoding, as defined by the schema type. For some schema types,
+ // binary encoding may not be available.
+ BINARY = 2;
+}
diff --git a/handwritten/pubsub/protos/protos.d.ts b/handwritten/pubsub/protos/protos.d.ts
new file mode 100644
index 00000000000..6f6201d1f82
--- /dev/null
+++ b/handwritten/pubsub/protos/protos.d.ts
@@ -0,0 +1,18272 @@
+// Copyright 2026 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import type {protobuf as $protobuf} from "google-gax";
+import Long = require("long");
+/** Namespace google. */
+export namespace google {
+
+ /** Namespace pubsub. */
+ namespace pubsub {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Represents a Publisher */
+ class Publisher extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Publisher service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new Publisher service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): Publisher;
+
+ /**
+ * Calls CreateTopic.
+ * @param request Topic message or plain object
+ * @param callback Node-style callback called with the error, if any, and Topic
+ */
+ public createTopic(request: google.pubsub.v1.ITopic, callback: google.pubsub.v1.Publisher.CreateTopicCallback): void;
+
+ /**
+ * Calls CreateTopic.
+ * @param request Topic message or plain object
+ * @returns Promise
+ */
+ public createTopic(request: google.pubsub.v1.ITopic): Promise;
+
+ /**
+ * Calls UpdateTopic.
+ * @param request UpdateTopicRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Topic
+ */
+ public updateTopic(request: google.pubsub.v1.IUpdateTopicRequest, callback: google.pubsub.v1.Publisher.UpdateTopicCallback): void;
+
+ /**
+ * Calls UpdateTopic.
+ * @param request UpdateTopicRequest message or plain object
+ * @returns Promise
+ */
+ public updateTopic(request: google.pubsub.v1.IUpdateTopicRequest): Promise;
+
+ /**
+ * Calls Publish.
+ * @param request PublishRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and PublishResponse
+ */
+ public publish(request: google.pubsub.v1.IPublishRequest, callback: google.pubsub.v1.Publisher.PublishCallback): void;
+
+ /**
+ * Calls Publish.
+ * @param request PublishRequest message or plain object
+ * @returns Promise
+ */
+ public publish(request: google.pubsub.v1.IPublishRequest): Promise;
+
+ /**
+ * Calls GetTopic.
+ * @param request GetTopicRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Topic
+ */
+ public getTopic(request: google.pubsub.v1.IGetTopicRequest, callback: google.pubsub.v1.Publisher.GetTopicCallback): void;
+
+ /**
+ * Calls GetTopic.
+ * @param request GetTopicRequest message or plain object
+ * @returns Promise
+ */
+ public getTopic(request: google.pubsub.v1.IGetTopicRequest): Promise;
+
+ /**
+ * Calls ListTopics.
+ * @param request ListTopicsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListTopicsResponse
+ */
+ public listTopics(request: google.pubsub.v1.IListTopicsRequest, callback: google.pubsub.v1.Publisher.ListTopicsCallback): void;
+
+ /**
+ * Calls ListTopics.
+ * @param request ListTopicsRequest message or plain object
+ * @returns Promise
+ */
+ public listTopics(request: google.pubsub.v1.IListTopicsRequest): Promise;
+
+ /**
+ * Calls ListTopicSubscriptions.
+ * @param request ListTopicSubscriptionsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListTopicSubscriptionsResponse
+ */
+ public listTopicSubscriptions(request: google.pubsub.v1.IListTopicSubscriptionsRequest, callback: google.pubsub.v1.Publisher.ListTopicSubscriptionsCallback): void;
+
+ /**
+ * Calls ListTopicSubscriptions.
+ * @param request ListTopicSubscriptionsRequest message or plain object
+ * @returns Promise
+ */
+ public listTopicSubscriptions(request: google.pubsub.v1.IListTopicSubscriptionsRequest): Promise;
+
+ /**
+ * Calls ListTopicSnapshots.
+ * @param request ListTopicSnapshotsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListTopicSnapshotsResponse
+ */
+ public listTopicSnapshots(request: google.pubsub.v1.IListTopicSnapshotsRequest, callback: google.pubsub.v1.Publisher.ListTopicSnapshotsCallback): void;
+
+ /**
+ * Calls ListTopicSnapshots.
+ * @param request ListTopicSnapshotsRequest message or plain object
+ * @returns Promise
+ */
+ public listTopicSnapshots(request: google.pubsub.v1.IListTopicSnapshotsRequest): Promise;
+
+ /**
+ * Calls DeleteTopic.
+ * @param request DeleteTopicRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteTopic(request: google.pubsub.v1.IDeleteTopicRequest, callback: google.pubsub.v1.Publisher.DeleteTopicCallback): void;
+
+ /**
+ * Calls DeleteTopic.
+ * @param request DeleteTopicRequest message or plain object
+ * @returns Promise
+ */
+ public deleteTopic(request: google.pubsub.v1.IDeleteTopicRequest): Promise;
+
+ /**
+ * Calls DetachSubscription.
+ * @param request DetachSubscriptionRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and DetachSubscriptionResponse
+ */
+ public detachSubscription(request: google.pubsub.v1.IDetachSubscriptionRequest, callback: google.pubsub.v1.Publisher.DetachSubscriptionCallback): void;
+
+ /**
+ * Calls DetachSubscription.
+ * @param request DetachSubscriptionRequest message or plain object
+ * @returns Promise
+ */
+ public detachSubscription(request: google.pubsub.v1.IDetachSubscriptionRequest): Promise;
+ }
+
+ namespace Publisher {
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|createTopic}.
+ * @param error Error, if any
+ * @param [response] Topic
+ */
+ type CreateTopicCallback = (error: (Error|null), response?: google.pubsub.v1.Topic) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|updateTopic}.
+ * @param error Error, if any
+ * @param [response] Topic
+ */
+ type UpdateTopicCallback = (error: (Error|null), response?: google.pubsub.v1.Topic) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|publish}.
+ * @param error Error, if any
+ * @param [response] PublishResponse
+ */
+ type PublishCallback = (error: (Error|null), response?: google.pubsub.v1.PublishResponse) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|getTopic}.
+ * @param error Error, if any
+ * @param [response] Topic
+ */
+ type GetTopicCallback = (error: (Error|null), response?: google.pubsub.v1.Topic) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|listTopics}.
+ * @param error Error, if any
+ * @param [response] ListTopicsResponse
+ */
+ type ListTopicsCallback = (error: (Error|null), response?: google.pubsub.v1.ListTopicsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|listTopicSubscriptions}.
+ * @param error Error, if any
+ * @param [response] ListTopicSubscriptionsResponse
+ */
+ type ListTopicSubscriptionsCallback = (error: (Error|null), response?: google.pubsub.v1.ListTopicSubscriptionsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|listTopicSnapshots}.
+ * @param error Error, if any
+ * @param [response] ListTopicSnapshotsResponse
+ */
+ type ListTopicSnapshotsCallback = (error: (Error|null), response?: google.pubsub.v1.ListTopicSnapshotsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|deleteTopic}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteTopicCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|detachSubscription}.
+ * @param error Error, if any
+ * @param [response] DetachSubscriptionResponse
+ */
+ type DetachSubscriptionCallback = (error: (Error|null), response?: google.pubsub.v1.DetachSubscriptionResponse) => void;
+ }
+
+ /** Properties of a MessageStoragePolicy. */
+ interface IMessageStoragePolicy {
+
+ /** MessageStoragePolicy allowedPersistenceRegions */
+ allowedPersistenceRegions?: (string[]|null);
+
+ /** MessageStoragePolicy enforceInTransit */
+ enforceInTransit?: (boolean|null);
+ }
+
+ /** Represents a MessageStoragePolicy. */
+ class MessageStoragePolicy implements IMessageStoragePolicy {
+
+ /**
+ * Constructs a new MessageStoragePolicy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IMessageStoragePolicy);
+
+ /** MessageStoragePolicy allowedPersistenceRegions. */
+ public allowedPersistenceRegions: string[];
+
+ /** MessageStoragePolicy enforceInTransit. */
+ public enforceInTransit: boolean;
+
+ /**
+ * Creates a new MessageStoragePolicy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MessageStoragePolicy instance
+ */
+ public static create(properties?: google.pubsub.v1.IMessageStoragePolicy): google.pubsub.v1.MessageStoragePolicy;
+
+ /**
+ * Encodes the specified MessageStoragePolicy message. Does not implicitly {@link google.pubsub.v1.MessageStoragePolicy.verify|verify} messages.
+ * @param message MessageStoragePolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IMessageStoragePolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MessageStoragePolicy message, length delimited. Does not implicitly {@link google.pubsub.v1.MessageStoragePolicy.verify|verify} messages.
+ * @param message MessageStoragePolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IMessageStoragePolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MessageStoragePolicy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MessageStoragePolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.MessageStoragePolicy;
+
+ /**
+ * Decodes a MessageStoragePolicy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MessageStoragePolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.MessageStoragePolicy;
+
+ /**
+ * Verifies a MessageStoragePolicy message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MessageStoragePolicy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MessageStoragePolicy
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.MessageStoragePolicy;
+
+ /**
+ * Creates a plain object from a MessageStoragePolicy message. Also converts values to other types if specified.
+ * @param message MessageStoragePolicy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.MessageStoragePolicy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MessageStoragePolicy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MessageStoragePolicy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SchemaSettings. */
+ interface ISchemaSettings {
+
+ /** SchemaSettings schema */
+ schema?: (string|null);
+
+ /** SchemaSettings encoding */
+ encoding?: (google.pubsub.v1.Encoding|keyof typeof google.pubsub.v1.Encoding|null);
+
+ /** SchemaSettings firstRevisionId */
+ firstRevisionId?: (string|null);
+
+ /** SchemaSettings lastRevisionId */
+ lastRevisionId?: (string|null);
+ }
+
+ /** Represents a SchemaSettings. */
+ class SchemaSettings implements ISchemaSettings {
+
+ /**
+ * Constructs a new SchemaSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.ISchemaSettings);
+
+ /** SchemaSettings schema. */
+ public schema: string;
+
+ /** SchemaSettings encoding. */
+ public encoding: (google.pubsub.v1.Encoding|keyof typeof google.pubsub.v1.Encoding);
+
+ /** SchemaSettings firstRevisionId. */
+ public firstRevisionId: string;
+
+ /** SchemaSettings lastRevisionId. */
+ public lastRevisionId: string;
+
+ /**
+ * Creates a new SchemaSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SchemaSettings instance
+ */
+ public static create(properties?: google.pubsub.v1.ISchemaSettings): google.pubsub.v1.SchemaSettings;
+
+ /**
+ * Encodes the specified SchemaSettings message. Does not implicitly {@link google.pubsub.v1.SchemaSettings.verify|verify} messages.
+ * @param message SchemaSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.ISchemaSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SchemaSettings message, length delimited. Does not implicitly {@link google.pubsub.v1.SchemaSettings.verify|verify} messages.
+ * @param message SchemaSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.ISchemaSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SchemaSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SchemaSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.SchemaSettings;
+
+ /**
+ * Decodes a SchemaSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SchemaSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.SchemaSettings;
+
+ /**
+ * Verifies a SchemaSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SchemaSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SchemaSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.SchemaSettings;
+
+ /**
+ * Creates a plain object from a SchemaSettings message. Also converts values to other types if specified.
+ * @param message SchemaSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.SchemaSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SchemaSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SchemaSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IngestionDataSourceSettings. */
+ interface IIngestionDataSourceSettings {
+
+ /** IngestionDataSourceSettings awsKinesis */
+ awsKinesis?: (google.pubsub.v1.IngestionDataSourceSettings.IAwsKinesis|null);
+
+ /** IngestionDataSourceSettings cloudStorage */
+ cloudStorage?: (google.pubsub.v1.IngestionDataSourceSettings.ICloudStorage|null);
+
+ /** IngestionDataSourceSettings azureEventHubs */
+ azureEventHubs?: (google.pubsub.v1.IngestionDataSourceSettings.IAzureEventHubs|null);
+
+ /** IngestionDataSourceSettings awsMsk */
+ awsMsk?: (google.pubsub.v1.IngestionDataSourceSettings.IAwsMsk|null);
+
+ /** IngestionDataSourceSettings confluentCloud */
+ confluentCloud?: (google.pubsub.v1.IngestionDataSourceSettings.IConfluentCloud|null);
+
+ /** IngestionDataSourceSettings platformLogsSettings */
+ platformLogsSettings?: (google.pubsub.v1.IPlatformLogsSettings|null);
+ }
+
+ /** Represents an IngestionDataSourceSettings. */
+ class IngestionDataSourceSettings implements IIngestionDataSourceSettings {
+
+ /**
+ * Constructs a new IngestionDataSourceSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IIngestionDataSourceSettings);
+
+ /** IngestionDataSourceSettings awsKinesis. */
+ public awsKinesis?: (google.pubsub.v1.IngestionDataSourceSettings.IAwsKinesis|null);
+
+ /** IngestionDataSourceSettings cloudStorage. */
+ public cloudStorage?: (google.pubsub.v1.IngestionDataSourceSettings.ICloudStorage|null);
+
+ /** IngestionDataSourceSettings azureEventHubs. */
+ public azureEventHubs?: (google.pubsub.v1.IngestionDataSourceSettings.IAzureEventHubs|null);
+
+ /** IngestionDataSourceSettings awsMsk. */
+ public awsMsk?: (google.pubsub.v1.IngestionDataSourceSettings.IAwsMsk|null);
+
+ /** IngestionDataSourceSettings confluentCloud. */
+ public confluentCloud?: (google.pubsub.v1.IngestionDataSourceSettings.IConfluentCloud|null);
+
+ /** IngestionDataSourceSettings platformLogsSettings. */
+ public platformLogsSettings?: (google.pubsub.v1.IPlatformLogsSettings|null);
+
+ /** IngestionDataSourceSettings source. */
+ public source?: ("awsKinesis"|"cloudStorage"|"azureEventHubs"|"awsMsk"|"confluentCloud");
+
+ /**
+ * Creates a new IngestionDataSourceSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IngestionDataSourceSettings instance
+ */
+ public static create(properties?: google.pubsub.v1.IIngestionDataSourceSettings): google.pubsub.v1.IngestionDataSourceSettings;
+
+ /**
+ * Encodes the specified IngestionDataSourceSettings message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.verify|verify} messages.
+ * @param message IngestionDataSourceSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IIngestionDataSourceSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IngestionDataSourceSettings message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.verify|verify} messages.
+ * @param message IngestionDataSourceSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IIngestionDataSourceSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IngestionDataSourceSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IngestionDataSourceSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionDataSourceSettings;
+
+ /**
+ * Decodes an IngestionDataSourceSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IngestionDataSourceSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionDataSourceSettings;
+
+ /**
+ * Verifies an IngestionDataSourceSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an IngestionDataSourceSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IngestionDataSourceSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionDataSourceSettings;
+
+ /**
+ * Creates a plain object from an IngestionDataSourceSettings message. Also converts values to other types if specified.
+ * @param message IngestionDataSourceSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionDataSourceSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IngestionDataSourceSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IngestionDataSourceSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace IngestionDataSourceSettings {
+
+ /** Properties of an AwsKinesis. */
+ interface IAwsKinesis {
+
+ /** AwsKinesis state */
+ state?: (google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State|keyof typeof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State|null);
+
+ /** AwsKinesis streamArn */
+ streamArn?: (string|null);
+
+ /** AwsKinesis consumerArn */
+ consumerArn?: (string|null);
+
+ /** AwsKinesis awsRoleArn */
+ awsRoleArn?: (string|null);
+
+ /** AwsKinesis gcpServiceAccount */
+ gcpServiceAccount?: (string|null);
+ }
+
+ /** Represents an AwsKinesis. */
+ class AwsKinesis implements IAwsKinesis {
+
+ /**
+ * Constructs a new AwsKinesis.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionDataSourceSettings.IAwsKinesis);
+
+ /** AwsKinesis state. */
+ public state: (google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State|keyof typeof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State);
+
+ /** AwsKinesis streamArn. */
+ public streamArn: string;
+
+ /** AwsKinesis consumerArn. */
+ public consumerArn: string;
+
+ /** AwsKinesis awsRoleArn. */
+ public awsRoleArn: string;
+
+ /** AwsKinesis gcpServiceAccount. */
+ public gcpServiceAccount: string;
+
+ /**
+ * Creates a new AwsKinesis instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AwsKinesis instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionDataSourceSettings.IAwsKinesis): google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis;
+
+ /**
+ * Encodes the specified AwsKinesis message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.verify|verify} messages.
+ * @param message AwsKinesis message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionDataSourceSettings.IAwsKinesis, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AwsKinesis message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.verify|verify} messages.
+ * @param message AwsKinesis message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionDataSourceSettings.IAwsKinesis, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AwsKinesis message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AwsKinesis
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis;
+
+ /**
+ * Decodes an AwsKinesis message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AwsKinesis
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis;
+
+ /**
+ * Verifies an AwsKinesis message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AwsKinesis message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AwsKinesis
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis;
+
+ /**
+ * Creates a plain object from an AwsKinesis message. Also converts values to other types if specified.
+ * @param message AwsKinesis
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AwsKinesis to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AwsKinesis
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AwsKinesis {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ ACTIVE = 1,
+ KINESIS_PERMISSION_DENIED = 2,
+ PUBLISH_PERMISSION_DENIED = 3,
+ STREAM_NOT_FOUND = 4,
+ CONSUMER_NOT_FOUND = 5
+ }
+ }
+
+ /** Properties of a CloudStorage. */
+ interface ICloudStorage {
+
+ /** CloudStorage state */
+ state?: (google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.State|keyof typeof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.State|null);
+
+ /** CloudStorage bucket */
+ bucket?: (string|null);
+
+ /** CloudStorage textFormat */
+ textFormat?: (google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.ITextFormat|null);
+
+ /** CloudStorage avroFormat */
+ avroFormat?: (google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IAvroFormat|null);
+
+ /** CloudStorage pubsubAvroFormat */
+ pubsubAvroFormat?: (google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IPubSubAvroFormat|null);
+
+ /** CloudStorage minimumObjectCreateTime */
+ minimumObjectCreateTime?: (google.protobuf.ITimestamp|null);
+
+ /** CloudStorage matchGlob */
+ matchGlob?: (string|null);
+ }
+
+ /** Represents a CloudStorage. */
+ class CloudStorage implements ICloudStorage {
+
+ /**
+ * Constructs a new CloudStorage.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionDataSourceSettings.ICloudStorage);
+
+ /** CloudStorage state. */
+ public state: (google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.State|keyof typeof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.State);
+
+ /** CloudStorage bucket. */
+ public bucket: string;
+
+ /** CloudStorage textFormat. */
+ public textFormat?: (google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.ITextFormat|null);
+
+ /** CloudStorage avroFormat. */
+ public avroFormat?: (google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IAvroFormat|null);
+
+ /** CloudStorage pubsubAvroFormat. */
+ public pubsubAvroFormat?: (google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IPubSubAvroFormat|null);
+
+ /** CloudStorage minimumObjectCreateTime. */
+ public minimumObjectCreateTime?: (google.protobuf.ITimestamp|null);
+
+ /** CloudStorage matchGlob. */
+ public matchGlob: string;
+
+ /** CloudStorage inputFormat. */
+ public inputFormat?: ("textFormat"|"avroFormat"|"pubsubAvroFormat");
+
+ /**
+ * Creates a new CloudStorage instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CloudStorage instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionDataSourceSettings.ICloudStorage): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage;
+
+ /**
+ * Encodes the specified CloudStorage message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.verify|verify} messages.
+ * @param message CloudStorage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionDataSourceSettings.ICloudStorage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CloudStorage message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.verify|verify} messages.
+ * @param message CloudStorage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionDataSourceSettings.ICloudStorage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CloudStorage message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CloudStorage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage;
+
+ /**
+ * Decodes a CloudStorage message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CloudStorage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage;
+
+ /**
+ * Verifies a CloudStorage message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CloudStorage message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CloudStorage
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage;
+
+ /**
+ * Creates a plain object from a CloudStorage message. Also converts values to other types if specified.
+ * @param message CloudStorage
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CloudStorage to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CloudStorage
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CloudStorage {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ ACTIVE = 1,
+ CLOUD_STORAGE_PERMISSION_DENIED = 2,
+ PUBLISH_PERMISSION_DENIED = 3,
+ BUCKET_NOT_FOUND = 4,
+ TOO_MANY_OBJECTS = 5
+ }
+
+ /** Properties of a TextFormat. */
+ interface ITextFormat {
+
+ /** TextFormat delimiter */
+ delimiter?: (string|null);
+ }
+
+ /** Represents a TextFormat. */
+ class TextFormat implements ITextFormat {
+
+ /**
+ * Constructs a new TextFormat.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.ITextFormat);
+
+ /** TextFormat delimiter. */
+ public delimiter?: (string|null);
+
+ /**
+ * Creates a new TextFormat instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextFormat instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.ITextFormat): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat;
+
+ /**
+ * Encodes the specified TextFormat message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat.verify|verify} messages.
+ * @param message TextFormat message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.ITextFormat, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextFormat message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat.verify|verify} messages.
+ * @param message TextFormat message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.ITextFormat, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextFormat message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat;
+
+ /**
+ * Decodes a TextFormat message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat;
+
+ /**
+ * Verifies a TextFormat message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextFormat message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextFormat
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat;
+
+ /**
+ * Creates a plain object from a TextFormat message. Also converts values to other types if specified.
+ * @param message TextFormat
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextFormat to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextFormat
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AvroFormat. */
+ interface IAvroFormat {
+ }
+
+ /** Represents an AvroFormat. */
+ class AvroFormat implements IAvroFormat {
+
+ /**
+ * Constructs a new AvroFormat.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IAvroFormat);
+
+ /**
+ * Creates a new AvroFormat instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AvroFormat instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IAvroFormat): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat;
+
+ /**
+ * Encodes the specified AvroFormat message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat.verify|verify} messages.
+ * @param message AvroFormat message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IAvroFormat, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AvroFormat message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat.verify|verify} messages.
+ * @param message AvroFormat message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IAvroFormat, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AvroFormat message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AvroFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat;
+
+ /**
+ * Decodes an AvroFormat message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AvroFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat;
+
+ /**
+ * Verifies an AvroFormat message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AvroFormat message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AvroFormat
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat;
+
+ /**
+ * Creates a plain object from an AvroFormat message. Also converts values to other types if specified.
+ * @param message AvroFormat
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AvroFormat to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AvroFormat
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PubSubAvroFormat. */
+ interface IPubSubAvroFormat {
+ }
+
+ /** Represents a PubSubAvroFormat. */
+ class PubSubAvroFormat implements IPubSubAvroFormat {
+
+ /**
+ * Constructs a new PubSubAvroFormat.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IPubSubAvroFormat);
+
+ /**
+ * Creates a new PubSubAvroFormat instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PubSubAvroFormat instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IPubSubAvroFormat): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat;
+
+ /**
+ * Encodes the specified PubSubAvroFormat message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat.verify|verify} messages.
+ * @param message PubSubAvroFormat message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IPubSubAvroFormat, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PubSubAvroFormat message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat.verify|verify} messages.
+ * @param message PubSubAvroFormat message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IPubSubAvroFormat, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PubSubAvroFormat message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PubSubAvroFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat;
+
+ /**
+ * Decodes a PubSubAvroFormat message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PubSubAvroFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat;
+
+ /**
+ * Verifies a PubSubAvroFormat message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PubSubAvroFormat message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PubSubAvroFormat
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat;
+
+ /**
+ * Creates a plain object from a PubSubAvroFormat message. Also converts values to other types if specified.
+ * @param message PubSubAvroFormat
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PubSubAvroFormat to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PubSubAvroFormat
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an AzureEventHubs. */
+ interface IAzureEventHubs {
+
+ /** AzureEventHubs state */
+ state?: (google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.State|keyof typeof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.State|null);
+
+ /** AzureEventHubs resourceGroup */
+ resourceGroup?: (string|null);
+
+ /** AzureEventHubs namespace */
+ namespace?: (string|null);
+
+ /** AzureEventHubs eventHub */
+ eventHub?: (string|null);
+
+ /** AzureEventHubs clientId */
+ clientId?: (string|null);
+
+ /** AzureEventHubs tenantId */
+ tenantId?: (string|null);
+
+ /** AzureEventHubs subscriptionId */
+ subscriptionId?: (string|null);
+
+ /** AzureEventHubs gcpServiceAccount */
+ gcpServiceAccount?: (string|null);
+ }
+
+ /** Represents an AzureEventHubs. */
+ class AzureEventHubs implements IAzureEventHubs {
+
+ /**
+ * Constructs a new AzureEventHubs.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionDataSourceSettings.IAzureEventHubs);
+
+ /** AzureEventHubs state. */
+ public state: (google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.State|keyof typeof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.State);
+
+ /** AzureEventHubs resourceGroup. */
+ public resourceGroup: string;
+
+ /** AzureEventHubs namespace. */
+ public namespace: string;
+
+ /** AzureEventHubs eventHub. */
+ public eventHub: string;
+
+ /** AzureEventHubs clientId. */
+ public clientId: string;
+
+ /** AzureEventHubs tenantId. */
+ public tenantId: string;
+
+ /** AzureEventHubs subscriptionId. */
+ public subscriptionId: string;
+
+ /** AzureEventHubs gcpServiceAccount. */
+ public gcpServiceAccount: string;
+
+ /**
+ * Creates a new AzureEventHubs instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AzureEventHubs instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionDataSourceSettings.IAzureEventHubs): google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs;
+
+ /**
+ * Encodes the specified AzureEventHubs message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.verify|verify} messages.
+ * @param message AzureEventHubs message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionDataSourceSettings.IAzureEventHubs, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AzureEventHubs message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.verify|verify} messages.
+ * @param message AzureEventHubs message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionDataSourceSettings.IAzureEventHubs, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AzureEventHubs message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AzureEventHubs
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs;
+
+ /**
+ * Decodes an AzureEventHubs message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AzureEventHubs
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs;
+
+ /**
+ * Verifies an AzureEventHubs message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AzureEventHubs message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AzureEventHubs
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs;
+
+ /**
+ * Creates a plain object from an AzureEventHubs message. Also converts values to other types if specified.
+ * @param message AzureEventHubs
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AzureEventHubs to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AzureEventHubs
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AzureEventHubs {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ ACTIVE = 1,
+ EVENT_HUBS_PERMISSION_DENIED = 2,
+ PUBLISH_PERMISSION_DENIED = 3,
+ NAMESPACE_NOT_FOUND = 4,
+ EVENT_HUB_NOT_FOUND = 5,
+ SUBSCRIPTION_NOT_FOUND = 6,
+ RESOURCE_GROUP_NOT_FOUND = 7
+ }
+ }
+
+ /** Properties of an AwsMsk. */
+ interface IAwsMsk {
+
+ /** AwsMsk state */
+ state?: (google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.State|keyof typeof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.State|null);
+
+ /** AwsMsk clusterArn */
+ clusterArn?: (string|null);
+
+ /** AwsMsk topic */
+ topic?: (string|null);
+
+ /** AwsMsk awsRoleArn */
+ awsRoleArn?: (string|null);
+
+ /** AwsMsk gcpServiceAccount */
+ gcpServiceAccount?: (string|null);
+ }
+
+ /** Represents an AwsMsk. */
+ class AwsMsk implements IAwsMsk {
+
+ /**
+ * Constructs a new AwsMsk.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionDataSourceSettings.IAwsMsk);
+
+ /** AwsMsk state. */
+ public state: (google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.State|keyof typeof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.State);
+
+ /** AwsMsk clusterArn. */
+ public clusterArn: string;
+
+ /** AwsMsk topic. */
+ public topic: string;
+
+ /** AwsMsk awsRoleArn. */
+ public awsRoleArn: string;
+
+ /** AwsMsk gcpServiceAccount. */
+ public gcpServiceAccount: string;
+
+ /**
+ * Creates a new AwsMsk instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AwsMsk instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionDataSourceSettings.IAwsMsk): google.pubsub.v1.IngestionDataSourceSettings.AwsMsk;
+
+ /**
+ * Encodes the specified AwsMsk message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.verify|verify} messages.
+ * @param message AwsMsk message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionDataSourceSettings.IAwsMsk, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AwsMsk message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.verify|verify} messages.
+ * @param message AwsMsk message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionDataSourceSettings.IAwsMsk, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AwsMsk message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AwsMsk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionDataSourceSettings.AwsMsk;
+
+ /**
+ * Decodes an AwsMsk message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AwsMsk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionDataSourceSettings.AwsMsk;
+
+ /**
+ * Verifies an AwsMsk message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AwsMsk message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AwsMsk
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionDataSourceSettings.AwsMsk;
+
+ /**
+ * Creates a plain object from an AwsMsk message. Also converts values to other types if specified.
+ * @param message AwsMsk
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionDataSourceSettings.AwsMsk, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AwsMsk to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AwsMsk
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AwsMsk {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ ACTIVE = 1,
+ MSK_PERMISSION_DENIED = 2,
+ PUBLISH_PERMISSION_DENIED = 3,
+ CLUSTER_NOT_FOUND = 4,
+ TOPIC_NOT_FOUND = 5
+ }
+ }
+
+ /** Properties of a ConfluentCloud. */
+ interface IConfluentCloud {
+
+ /** ConfluentCloud state */
+ state?: (google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.State|keyof typeof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.State|null);
+
+ /** ConfluentCloud bootstrapServer */
+ bootstrapServer?: (string|null);
+
+ /** ConfluentCloud clusterId */
+ clusterId?: (string|null);
+
+ /** ConfluentCloud topic */
+ topic?: (string|null);
+
+ /** ConfluentCloud identityPoolId */
+ identityPoolId?: (string|null);
+
+ /** ConfluentCloud gcpServiceAccount */
+ gcpServiceAccount?: (string|null);
+ }
+
+ /** Represents a ConfluentCloud. */
+ class ConfluentCloud implements IConfluentCloud {
+
+ /**
+ * Constructs a new ConfluentCloud.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionDataSourceSettings.IConfluentCloud);
+
+ /** ConfluentCloud state. */
+ public state: (google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.State|keyof typeof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.State);
+
+ /** ConfluentCloud bootstrapServer. */
+ public bootstrapServer: string;
+
+ /** ConfluentCloud clusterId. */
+ public clusterId: string;
+
+ /** ConfluentCloud topic. */
+ public topic: string;
+
+ /** ConfluentCloud identityPoolId. */
+ public identityPoolId: string;
+
+ /** ConfluentCloud gcpServiceAccount. */
+ public gcpServiceAccount: string;
+
+ /**
+ * Creates a new ConfluentCloud instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ConfluentCloud instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionDataSourceSettings.IConfluentCloud): google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud;
+
+ /**
+ * Encodes the specified ConfluentCloud message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.verify|verify} messages.
+ * @param message ConfluentCloud message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionDataSourceSettings.IConfluentCloud, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ConfluentCloud message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.verify|verify} messages.
+ * @param message ConfluentCloud message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionDataSourceSettings.IConfluentCloud, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ConfluentCloud message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ConfluentCloud
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud;
+
+ /**
+ * Decodes a ConfluentCloud message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ConfluentCloud
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud;
+
+ /**
+ * Verifies a ConfluentCloud message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ConfluentCloud message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ConfluentCloud
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud;
+
+ /**
+ * Creates a plain object from a ConfluentCloud message. Also converts values to other types if specified.
+ * @param message ConfluentCloud
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ConfluentCloud to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ConfluentCloud
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ConfluentCloud {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ ACTIVE = 1,
+ CONFLUENT_CLOUD_PERMISSION_DENIED = 2,
+ PUBLISH_PERMISSION_DENIED = 3,
+ UNREACHABLE_BOOTSTRAP_SERVER = 4,
+ CLUSTER_NOT_FOUND = 5,
+ TOPIC_NOT_FOUND = 6
+ }
+ }
+ }
+
+ /** Properties of a PlatformLogsSettings. */
+ interface IPlatformLogsSettings {
+
+ /** PlatformLogsSettings severity */
+ severity?: (google.pubsub.v1.PlatformLogsSettings.Severity|keyof typeof google.pubsub.v1.PlatformLogsSettings.Severity|null);
+ }
+
+ /** Represents a PlatformLogsSettings. */
+ class PlatformLogsSettings implements IPlatformLogsSettings {
+
+ /**
+ * Constructs a new PlatformLogsSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IPlatformLogsSettings);
+
+ /** PlatformLogsSettings severity. */
+ public severity: (google.pubsub.v1.PlatformLogsSettings.Severity|keyof typeof google.pubsub.v1.PlatformLogsSettings.Severity);
+
+ /**
+ * Creates a new PlatformLogsSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PlatformLogsSettings instance
+ */
+ public static create(properties?: google.pubsub.v1.IPlatformLogsSettings): google.pubsub.v1.PlatformLogsSettings;
+
+ /**
+ * Encodes the specified PlatformLogsSettings message. Does not implicitly {@link google.pubsub.v1.PlatformLogsSettings.verify|verify} messages.
+ * @param message PlatformLogsSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IPlatformLogsSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PlatformLogsSettings message, length delimited. Does not implicitly {@link google.pubsub.v1.PlatformLogsSettings.verify|verify} messages.
+ * @param message PlatformLogsSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IPlatformLogsSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PlatformLogsSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PlatformLogsSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.PlatformLogsSettings;
+
+ /**
+ * Decodes a PlatformLogsSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PlatformLogsSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.PlatformLogsSettings;
+
+ /**
+ * Verifies a PlatformLogsSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PlatformLogsSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PlatformLogsSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.PlatformLogsSettings;
+
+ /**
+ * Creates a plain object from a PlatformLogsSettings message. Also converts values to other types if specified.
+ * @param message PlatformLogsSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.PlatformLogsSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PlatformLogsSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PlatformLogsSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PlatformLogsSettings {
+
+ /** Severity enum. */
+ enum Severity {
+ SEVERITY_UNSPECIFIED = 0,
+ DISABLED = 1,
+ DEBUG = 2,
+ INFO = 3,
+ WARNING = 4,
+ ERROR = 5
+ }
+ }
+
+ /** Properties of an IngestionFailureEvent. */
+ interface IIngestionFailureEvent {
+
+ /** IngestionFailureEvent topic */
+ topic?: (string|null);
+
+ /** IngestionFailureEvent errorMessage */
+ errorMessage?: (string|null);
+
+ /** IngestionFailureEvent cloudStorageFailure */
+ cloudStorageFailure?: (google.pubsub.v1.IngestionFailureEvent.ICloudStorageFailure|null);
+
+ /** IngestionFailureEvent awsMskFailure */
+ awsMskFailure?: (google.pubsub.v1.IngestionFailureEvent.IAwsMskFailureReason|null);
+
+ /** IngestionFailureEvent azureEventHubsFailure */
+ azureEventHubsFailure?: (google.pubsub.v1.IngestionFailureEvent.IAzureEventHubsFailureReason|null);
+
+ /** IngestionFailureEvent confluentCloudFailure */
+ confluentCloudFailure?: (google.pubsub.v1.IngestionFailureEvent.IConfluentCloudFailureReason|null);
+
+ /** IngestionFailureEvent awsKinesisFailure */
+ awsKinesisFailure?: (google.pubsub.v1.IngestionFailureEvent.IAwsKinesisFailureReason|null);
+ }
+
+ /** Represents an IngestionFailureEvent. */
+ class IngestionFailureEvent implements IIngestionFailureEvent {
+
+ /**
+ * Constructs a new IngestionFailureEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IIngestionFailureEvent);
+
+ /** IngestionFailureEvent topic. */
+ public topic: string;
+
+ /** IngestionFailureEvent errorMessage. */
+ public errorMessage: string;
+
+ /** IngestionFailureEvent cloudStorageFailure. */
+ public cloudStorageFailure?: (google.pubsub.v1.IngestionFailureEvent.ICloudStorageFailure|null);
+
+ /** IngestionFailureEvent awsMskFailure. */
+ public awsMskFailure?: (google.pubsub.v1.IngestionFailureEvent.IAwsMskFailureReason|null);
+
+ /** IngestionFailureEvent azureEventHubsFailure. */
+ public azureEventHubsFailure?: (google.pubsub.v1.IngestionFailureEvent.IAzureEventHubsFailureReason|null);
+
+ /** IngestionFailureEvent confluentCloudFailure. */
+ public confluentCloudFailure?: (google.pubsub.v1.IngestionFailureEvent.IConfluentCloudFailureReason|null);
+
+ /** IngestionFailureEvent awsKinesisFailure. */
+ public awsKinesisFailure?: (google.pubsub.v1.IngestionFailureEvent.IAwsKinesisFailureReason|null);
+
+ /** IngestionFailureEvent failure. */
+ public failure?: ("cloudStorageFailure"|"awsMskFailure"|"azureEventHubsFailure"|"confluentCloudFailure"|"awsKinesisFailure");
+
+ /**
+ * Creates a new IngestionFailureEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IngestionFailureEvent instance
+ */
+ public static create(properties?: google.pubsub.v1.IIngestionFailureEvent): google.pubsub.v1.IngestionFailureEvent;
+
+ /**
+ * Encodes the specified IngestionFailureEvent message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.verify|verify} messages.
+ * @param message IngestionFailureEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IIngestionFailureEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IngestionFailureEvent message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.verify|verify} messages.
+ * @param message IngestionFailureEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IIngestionFailureEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IngestionFailureEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IngestionFailureEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionFailureEvent;
+
+ /**
+ * Decodes an IngestionFailureEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IngestionFailureEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionFailureEvent;
+
+ /**
+ * Verifies an IngestionFailureEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an IngestionFailureEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IngestionFailureEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionFailureEvent;
+
+ /**
+ * Creates a plain object from an IngestionFailureEvent message. Also converts values to other types if specified.
+ * @param message IngestionFailureEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionFailureEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IngestionFailureEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IngestionFailureEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace IngestionFailureEvent {
+
+ /** Properties of an ApiViolationReason. */
+ interface IApiViolationReason {
+ }
+
+ /** Represents an ApiViolationReason. */
+ class ApiViolationReason implements IApiViolationReason {
+
+ /**
+ * Constructs a new ApiViolationReason.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionFailureEvent.IApiViolationReason);
+
+ /**
+ * Creates a new ApiViolationReason instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ApiViolationReason instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionFailureEvent.IApiViolationReason): google.pubsub.v1.IngestionFailureEvent.ApiViolationReason;
+
+ /**
+ * Encodes the specified ApiViolationReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.verify|verify} messages.
+ * @param message ApiViolationReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionFailureEvent.IApiViolationReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ApiViolationReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.verify|verify} messages.
+ * @param message ApiViolationReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionFailureEvent.IApiViolationReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ApiViolationReason message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ApiViolationReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionFailureEvent.ApiViolationReason;
+
+ /**
+ * Decodes an ApiViolationReason message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ApiViolationReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionFailureEvent.ApiViolationReason;
+
+ /**
+ * Verifies an ApiViolationReason message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ApiViolationReason message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ApiViolationReason
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionFailureEvent.ApiViolationReason;
+
+ /**
+ * Creates a plain object from an ApiViolationReason message. Also converts values to other types if specified.
+ * @param message ApiViolationReason
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionFailureEvent.ApiViolationReason, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ApiViolationReason to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ApiViolationReason
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AvroFailureReason. */
+ interface IAvroFailureReason {
+ }
+
+ /** Represents an AvroFailureReason. */
+ class AvroFailureReason implements IAvroFailureReason {
+
+ /**
+ * Constructs a new AvroFailureReason.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionFailureEvent.IAvroFailureReason);
+
+ /**
+ * Creates a new AvroFailureReason instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AvroFailureReason instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionFailureEvent.IAvroFailureReason): google.pubsub.v1.IngestionFailureEvent.AvroFailureReason;
+
+ /**
+ * Encodes the specified AvroFailureReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AvroFailureReason.verify|verify} messages.
+ * @param message AvroFailureReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionFailureEvent.IAvroFailureReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AvroFailureReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AvroFailureReason.verify|verify} messages.
+ * @param message AvroFailureReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionFailureEvent.IAvroFailureReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AvroFailureReason message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AvroFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionFailureEvent.AvroFailureReason;
+
+ /**
+ * Decodes an AvroFailureReason message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AvroFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionFailureEvent.AvroFailureReason;
+
+ /**
+ * Verifies an AvroFailureReason message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AvroFailureReason message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AvroFailureReason
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionFailureEvent.AvroFailureReason;
+
+ /**
+ * Creates a plain object from an AvroFailureReason message. Also converts values to other types if specified.
+ * @param message AvroFailureReason
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionFailureEvent.AvroFailureReason, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AvroFailureReason to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AvroFailureReason
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SchemaViolationReason. */
+ interface ISchemaViolationReason {
+ }
+
+ /** Represents a SchemaViolationReason. */
+ class SchemaViolationReason implements ISchemaViolationReason {
+
+ /**
+ * Constructs a new SchemaViolationReason.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason);
+
+ /**
+ * Creates a new SchemaViolationReason instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SchemaViolationReason instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason): google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason;
+
+ /**
+ * Encodes the specified SchemaViolationReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.verify|verify} messages.
+ * @param message SchemaViolationReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SchemaViolationReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.verify|verify} messages.
+ * @param message SchemaViolationReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SchemaViolationReason message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SchemaViolationReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason;
+
+ /**
+ * Decodes a SchemaViolationReason message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SchemaViolationReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason;
+
+ /**
+ * Verifies a SchemaViolationReason message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SchemaViolationReason message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SchemaViolationReason
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason;
+
+ /**
+ * Creates a plain object from a SchemaViolationReason message. Also converts values to other types if specified.
+ * @param message SchemaViolationReason
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SchemaViolationReason to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SchemaViolationReason
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MessageTransformationFailureReason. */
+ interface IMessageTransformationFailureReason {
+ }
+
+ /** Represents a MessageTransformationFailureReason. */
+ class MessageTransformationFailureReason implements IMessageTransformationFailureReason {
+
+ /**
+ * Constructs a new MessageTransformationFailureReason.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason);
+
+ /**
+ * Creates a new MessageTransformationFailureReason instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MessageTransformationFailureReason instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason): google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason;
+
+ /**
+ * Encodes the specified MessageTransformationFailureReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.verify|verify} messages.
+ * @param message MessageTransformationFailureReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MessageTransformationFailureReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.verify|verify} messages.
+ * @param message MessageTransformationFailureReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MessageTransformationFailureReason message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MessageTransformationFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason;
+
+ /**
+ * Decodes a MessageTransformationFailureReason message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MessageTransformationFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason;
+
+ /**
+ * Verifies a MessageTransformationFailureReason message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MessageTransformationFailureReason message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MessageTransformationFailureReason
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason;
+
+ /**
+ * Creates a plain object from a MessageTransformationFailureReason message. Also converts values to other types if specified.
+ * @param message MessageTransformationFailureReason
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MessageTransformationFailureReason to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MessageTransformationFailureReason
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CloudStorageFailure. */
+ interface ICloudStorageFailure {
+
+ /** CloudStorageFailure bucket */
+ bucket?: (string|null);
+
+ /** CloudStorageFailure objectName */
+ objectName?: (string|null);
+
+ /** CloudStorageFailure objectGeneration */
+ objectGeneration?: (number|Long|string|null);
+
+ /** CloudStorageFailure avroFailureReason */
+ avroFailureReason?: (google.pubsub.v1.IngestionFailureEvent.IAvroFailureReason|null);
+
+ /** CloudStorageFailure apiViolationReason */
+ apiViolationReason?: (google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null);
+
+ /** CloudStorageFailure schemaViolationReason */
+ schemaViolationReason?: (google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null);
+
+ /** CloudStorageFailure messageTransformationFailureReason */
+ messageTransformationFailureReason?: (google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null);
+ }
+
+ /** Represents a CloudStorageFailure. */
+ class CloudStorageFailure implements ICloudStorageFailure {
+
+ /**
+ * Constructs a new CloudStorageFailure.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionFailureEvent.ICloudStorageFailure);
+
+ /** CloudStorageFailure bucket. */
+ public bucket: string;
+
+ /** CloudStorageFailure objectName. */
+ public objectName: string;
+
+ /** CloudStorageFailure objectGeneration. */
+ public objectGeneration: (number|Long|string);
+
+ /** CloudStorageFailure avroFailureReason. */
+ public avroFailureReason?: (google.pubsub.v1.IngestionFailureEvent.IAvroFailureReason|null);
+
+ /** CloudStorageFailure apiViolationReason. */
+ public apiViolationReason?: (google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null);
+
+ /** CloudStorageFailure schemaViolationReason. */
+ public schemaViolationReason?: (google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null);
+
+ /** CloudStorageFailure messageTransformationFailureReason. */
+ public messageTransformationFailureReason?: (google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null);
+
+ /** CloudStorageFailure reason. */
+ public reason?: ("avroFailureReason"|"apiViolationReason"|"schemaViolationReason"|"messageTransformationFailureReason");
+
+ /**
+ * Creates a new CloudStorageFailure instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CloudStorageFailure instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionFailureEvent.ICloudStorageFailure): google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure;
+
+ /**
+ * Encodes the specified CloudStorageFailure message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.verify|verify} messages.
+ * @param message CloudStorageFailure message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionFailureEvent.ICloudStorageFailure, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CloudStorageFailure message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.verify|verify} messages.
+ * @param message CloudStorageFailure message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionFailureEvent.ICloudStorageFailure, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CloudStorageFailure message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CloudStorageFailure
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure;
+
+ /**
+ * Decodes a CloudStorageFailure message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CloudStorageFailure
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure;
+
+ /**
+ * Verifies a CloudStorageFailure message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CloudStorageFailure message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CloudStorageFailure
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure;
+
+ /**
+ * Creates a plain object from a CloudStorageFailure message. Also converts values to other types if specified.
+ * @param message CloudStorageFailure
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CloudStorageFailure to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CloudStorageFailure
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AwsMskFailureReason. */
+ interface IAwsMskFailureReason {
+
+ /** AwsMskFailureReason clusterArn */
+ clusterArn?: (string|null);
+
+ /** AwsMskFailureReason kafkaTopic */
+ kafkaTopic?: (string|null);
+
+ /** AwsMskFailureReason partitionId */
+ partitionId?: (number|Long|string|null);
+
+ /** AwsMskFailureReason offset */
+ offset?: (number|Long|string|null);
+
+ /** AwsMskFailureReason apiViolationReason */
+ apiViolationReason?: (google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null);
+
+ /** AwsMskFailureReason schemaViolationReason */
+ schemaViolationReason?: (google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null);
+
+ /** AwsMskFailureReason messageTransformationFailureReason */
+ messageTransformationFailureReason?: (google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null);
+ }
+
+ /** Represents an AwsMskFailureReason. */
+ class AwsMskFailureReason implements IAwsMskFailureReason {
+
+ /**
+ * Constructs a new AwsMskFailureReason.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionFailureEvent.IAwsMskFailureReason);
+
+ /** AwsMskFailureReason clusterArn. */
+ public clusterArn: string;
+
+ /** AwsMskFailureReason kafkaTopic. */
+ public kafkaTopic: string;
+
+ /** AwsMskFailureReason partitionId. */
+ public partitionId: (number|Long|string);
+
+ /** AwsMskFailureReason offset. */
+ public offset: (number|Long|string);
+
+ /** AwsMskFailureReason apiViolationReason. */
+ public apiViolationReason?: (google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null);
+
+ /** AwsMskFailureReason schemaViolationReason. */
+ public schemaViolationReason?: (google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null);
+
+ /** AwsMskFailureReason messageTransformationFailureReason. */
+ public messageTransformationFailureReason?: (google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null);
+
+ /** AwsMskFailureReason reason. */
+ public reason?: ("apiViolationReason"|"schemaViolationReason"|"messageTransformationFailureReason");
+
+ /**
+ * Creates a new AwsMskFailureReason instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AwsMskFailureReason instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionFailureEvent.IAwsMskFailureReason): google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason;
+
+ /**
+ * Encodes the specified AwsMskFailureReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason.verify|verify} messages.
+ * @param message AwsMskFailureReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionFailureEvent.IAwsMskFailureReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AwsMskFailureReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason.verify|verify} messages.
+ * @param message AwsMskFailureReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionFailureEvent.IAwsMskFailureReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AwsMskFailureReason message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AwsMskFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason;
+
+ /**
+ * Decodes an AwsMskFailureReason message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AwsMskFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason;
+
+ /**
+ * Verifies an AwsMskFailureReason message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AwsMskFailureReason message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AwsMskFailureReason
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason;
+
+ /**
+ * Creates a plain object from an AwsMskFailureReason message. Also converts values to other types if specified.
+ * @param message AwsMskFailureReason
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AwsMskFailureReason to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AwsMskFailureReason
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AzureEventHubsFailureReason. */
+ interface IAzureEventHubsFailureReason {
+
+ /** AzureEventHubsFailureReason namespace */
+ namespace?: (string|null);
+
+ /** AzureEventHubsFailureReason eventHub */
+ eventHub?: (string|null);
+
+ /** AzureEventHubsFailureReason partitionId */
+ partitionId?: (number|Long|string|null);
+
+ /** AzureEventHubsFailureReason offset */
+ offset?: (number|Long|string|null);
+
+ /** AzureEventHubsFailureReason apiViolationReason */
+ apiViolationReason?: (google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null);
+
+ /** AzureEventHubsFailureReason schemaViolationReason */
+ schemaViolationReason?: (google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null);
+
+ /** AzureEventHubsFailureReason messageTransformationFailureReason */
+ messageTransformationFailureReason?: (google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null);
+ }
+
+ /** Represents an AzureEventHubsFailureReason. */
+ class AzureEventHubsFailureReason implements IAzureEventHubsFailureReason {
+
+ /**
+ * Constructs a new AzureEventHubsFailureReason.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionFailureEvent.IAzureEventHubsFailureReason);
+
+ /** AzureEventHubsFailureReason namespace. */
+ public namespace: string;
+
+ /** AzureEventHubsFailureReason eventHub. */
+ public eventHub: string;
+
+ /** AzureEventHubsFailureReason partitionId. */
+ public partitionId: (number|Long|string);
+
+ /** AzureEventHubsFailureReason offset. */
+ public offset: (number|Long|string);
+
+ /** AzureEventHubsFailureReason apiViolationReason. */
+ public apiViolationReason?: (google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null);
+
+ /** AzureEventHubsFailureReason schemaViolationReason. */
+ public schemaViolationReason?: (google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null);
+
+ /** AzureEventHubsFailureReason messageTransformationFailureReason. */
+ public messageTransformationFailureReason?: (google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null);
+
+ /** AzureEventHubsFailureReason reason. */
+ public reason?: ("apiViolationReason"|"schemaViolationReason"|"messageTransformationFailureReason");
+
+ /**
+ * Creates a new AzureEventHubsFailureReason instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AzureEventHubsFailureReason instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionFailureEvent.IAzureEventHubsFailureReason): google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason;
+
+ /**
+ * Encodes the specified AzureEventHubsFailureReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason.verify|verify} messages.
+ * @param message AzureEventHubsFailureReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionFailureEvent.IAzureEventHubsFailureReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AzureEventHubsFailureReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason.verify|verify} messages.
+ * @param message AzureEventHubsFailureReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionFailureEvent.IAzureEventHubsFailureReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AzureEventHubsFailureReason message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AzureEventHubsFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason;
+
+ /**
+ * Decodes an AzureEventHubsFailureReason message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AzureEventHubsFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason;
+
+ /**
+ * Verifies an AzureEventHubsFailureReason message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AzureEventHubsFailureReason message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AzureEventHubsFailureReason
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason;
+
+ /**
+ * Creates a plain object from an AzureEventHubsFailureReason message. Also converts values to other types if specified.
+ * @param message AzureEventHubsFailureReason
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AzureEventHubsFailureReason to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AzureEventHubsFailureReason
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ConfluentCloudFailureReason. */
+ interface IConfluentCloudFailureReason {
+
+ /** ConfluentCloudFailureReason clusterId */
+ clusterId?: (string|null);
+
+ /** ConfluentCloudFailureReason kafkaTopic */
+ kafkaTopic?: (string|null);
+
+ /** ConfluentCloudFailureReason partitionId */
+ partitionId?: (number|Long|string|null);
+
+ /** ConfluentCloudFailureReason offset */
+ offset?: (number|Long|string|null);
+
+ /** ConfluentCloudFailureReason apiViolationReason */
+ apiViolationReason?: (google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null);
+
+ /** ConfluentCloudFailureReason schemaViolationReason */
+ schemaViolationReason?: (google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null);
+
+ /** ConfluentCloudFailureReason messageTransformationFailureReason */
+ messageTransformationFailureReason?: (google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null);
+ }
+
+ /** Represents a ConfluentCloudFailureReason. */
+ class ConfluentCloudFailureReason implements IConfluentCloudFailureReason {
+
+ /**
+ * Constructs a new ConfluentCloudFailureReason.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionFailureEvent.IConfluentCloudFailureReason);
+
+ /** ConfluentCloudFailureReason clusterId. */
+ public clusterId: string;
+
+ /** ConfluentCloudFailureReason kafkaTopic. */
+ public kafkaTopic: string;
+
+ /** ConfluentCloudFailureReason partitionId. */
+ public partitionId: (number|Long|string);
+
+ /** ConfluentCloudFailureReason offset. */
+ public offset: (number|Long|string);
+
+ /** ConfluentCloudFailureReason apiViolationReason. */
+ public apiViolationReason?: (google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null);
+
+ /** ConfluentCloudFailureReason schemaViolationReason. */
+ public schemaViolationReason?: (google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null);
+
+ /** ConfluentCloudFailureReason messageTransformationFailureReason. */
+ public messageTransformationFailureReason?: (google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null);
+
+ /** ConfluentCloudFailureReason reason. */
+ public reason?: ("apiViolationReason"|"schemaViolationReason"|"messageTransformationFailureReason");
+
+ /**
+ * Creates a new ConfluentCloudFailureReason instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ConfluentCloudFailureReason instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionFailureEvent.IConfluentCloudFailureReason): google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason;
+
+ /**
+ * Encodes the specified ConfluentCloudFailureReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason.verify|verify} messages.
+ * @param message ConfluentCloudFailureReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionFailureEvent.IConfluentCloudFailureReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ConfluentCloudFailureReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason.verify|verify} messages.
+ * @param message ConfluentCloudFailureReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionFailureEvent.IConfluentCloudFailureReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ConfluentCloudFailureReason message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ConfluentCloudFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason;
+
+ /**
+ * Decodes a ConfluentCloudFailureReason message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ConfluentCloudFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason;
+
+ /**
+ * Verifies a ConfluentCloudFailureReason message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ConfluentCloudFailureReason message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ConfluentCloudFailureReason
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason;
+
+ /**
+ * Creates a plain object from a ConfluentCloudFailureReason message. Also converts values to other types if specified.
+ * @param message ConfluentCloudFailureReason
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ConfluentCloudFailureReason to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ConfluentCloudFailureReason
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AwsKinesisFailureReason. */
+ interface IAwsKinesisFailureReason {
+
+ /** AwsKinesisFailureReason streamArn */
+ streamArn?: (string|null);
+
+ /** AwsKinesisFailureReason partitionKey */
+ partitionKey?: (string|null);
+
+ /** AwsKinesisFailureReason sequenceNumber */
+ sequenceNumber?: (string|null);
+
+ /** AwsKinesisFailureReason schemaViolationReason */
+ schemaViolationReason?: (google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null);
+
+ /** AwsKinesisFailureReason messageTransformationFailureReason */
+ messageTransformationFailureReason?: (google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null);
+
+ /** AwsKinesisFailureReason apiViolationReason */
+ apiViolationReason?: (google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null);
+ }
+
+ /** Represents an AwsKinesisFailureReason. */
+ class AwsKinesisFailureReason implements IAwsKinesisFailureReason {
+
+ /**
+ * Constructs a new AwsKinesisFailureReason.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IngestionFailureEvent.IAwsKinesisFailureReason);
+
+ /** AwsKinesisFailureReason streamArn. */
+ public streamArn: string;
+
+ /** AwsKinesisFailureReason partitionKey. */
+ public partitionKey: string;
+
+ /** AwsKinesisFailureReason sequenceNumber. */
+ public sequenceNumber: string;
+
+ /** AwsKinesisFailureReason schemaViolationReason. */
+ public schemaViolationReason?: (google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null);
+
+ /** AwsKinesisFailureReason messageTransformationFailureReason. */
+ public messageTransformationFailureReason?: (google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null);
+
+ /** AwsKinesisFailureReason apiViolationReason. */
+ public apiViolationReason?: (google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null);
+
+ /** AwsKinesisFailureReason reason. */
+ public reason?: ("schemaViolationReason"|"messageTransformationFailureReason"|"apiViolationReason");
+
+ /**
+ * Creates a new AwsKinesisFailureReason instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AwsKinesisFailureReason instance
+ */
+ public static create(properties?: google.pubsub.v1.IngestionFailureEvent.IAwsKinesisFailureReason): google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason;
+
+ /**
+ * Encodes the specified AwsKinesisFailureReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason.verify|verify} messages.
+ * @param message AwsKinesisFailureReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IngestionFailureEvent.IAwsKinesisFailureReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AwsKinesisFailureReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason.verify|verify} messages.
+ * @param message AwsKinesisFailureReason message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IngestionFailureEvent.IAwsKinesisFailureReason, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AwsKinesisFailureReason message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AwsKinesisFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason;
+
+ /**
+ * Decodes an AwsKinesisFailureReason message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AwsKinesisFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason;
+
+ /**
+ * Verifies an AwsKinesisFailureReason message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AwsKinesisFailureReason message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AwsKinesisFailureReason
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason;
+
+ /**
+ * Creates a plain object from an AwsKinesisFailureReason message. Also converts values to other types if specified.
+ * @param message AwsKinesisFailureReason
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AwsKinesisFailureReason to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AwsKinesisFailureReason
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a JavaScriptUDF. */
+ interface IJavaScriptUDF {
+
+ /** JavaScriptUDF functionName */
+ functionName?: (string|null);
+
+ /** JavaScriptUDF code */
+ code?: (string|null);
+ }
+
+ /** Represents a JavaScriptUDF. */
+ class JavaScriptUDF implements IJavaScriptUDF {
+
+ /**
+ * Constructs a new JavaScriptUDF.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IJavaScriptUDF);
+
+ /** JavaScriptUDF functionName. */
+ public functionName: string;
+
+ /** JavaScriptUDF code. */
+ public code: string;
+
+ /**
+ * Creates a new JavaScriptUDF instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns JavaScriptUDF instance
+ */
+ public static create(properties?: google.pubsub.v1.IJavaScriptUDF): google.pubsub.v1.JavaScriptUDF;
+
+ /**
+ * Encodes the specified JavaScriptUDF message. Does not implicitly {@link google.pubsub.v1.JavaScriptUDF.verify|verify} messages.
+ * @param message JavaScriptUDF message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IJavaScriptUDF, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified JavaScriptUDF message, length delimited. Does not implicitly {@link google.pubsub.v1.JavaScriptUDF.verify|verify} messages.
+ * @param message JavaScriptUDF message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IJavaScriptUDF, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a JavaScriptUDF message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns JavaScriptUDF
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.JavaScriptUDF;
+
+ /**
+ * Decodes a JavaScriptUDF message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns JavaScriptUDF
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.JavaScriptUDF;
+
+ /**
+ * Verifies a JavaScriptUDF message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a JavaScriptUDF message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns JavaScriptUDF
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.JavaScriptUDF;
+
+ /**
+ * Creates a plain object from a JavaScriptUDF message. Also converts values to other types if specified.
+ * @param message JavaScriptUDF
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.JavaScriptUDF, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this JavaScriptUDF to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for JavaScriptUDF
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MessageTransform. */
+ interface IMessageTransform {
+
+ /** MessageTransform javascriptUdf */
+ javascriptUdf?: (google.pubsub.v1.IJavaScriptUDF|null);
+
+ /** MessageTransform enabled */
+ enabled?: (boolean|null);
+
+ /** MessageTransform disabled */
+ disabled?: (boolean|null);
+ }
+
+ /** Represents a MessageTransform. */
+ class MessageTransform implements IMessageTransform {
+
+ /**
+ * Constructs a new MessageTransform.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IMessageTransform);
+
+ /** MessageTransform javascriptUdf. */
+ public javascriptUdf?: (google.pubsub.v1.IJavaScriptUDF|null);
+
+ /** MessageTransform enabled. */
+ public enabled: boolean;
+
+ /** MessageTransform disabled. */
+ public disabled: boolean;
+
+ /** MessageTransform transform. */
+ public transform?: "javascriptUdf";
+
+ /**
+ * Creates a new MessageTransform instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MessageTransform instance
+ */
+ public static create(properties?: google.pubsub.v1.IMessageTransform): google.pubsub.v1.MessageTransform;
+
+ /**
+ * Encodes the specified MessageTransform message. Does not implicitly {@link google.pubsub.v1.MessageTransform.verify|verify} messages.
+ * @param message MessageTransform message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IMessageTransform, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MessageTransform message, length delimited. Does not implicitly {@link google.pubsub.v1.MessageTransform.verify|verify} messages.
+ * @param message MessageTransform message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IMessageTransform, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MessageTransform message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MessageTransform
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.MessageTransform;
+
+ /**
+ * Decodes a MessageTransform message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MessageTransform
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.MessageTransform;
+
+ /**
+ * Verifies a MessageTransform message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MessageTransform message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MessageTransform
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.MessageTransform;
+
+ /**
+ * Creates a plain object from a MessageTransform message. Also converts values to other types if specified.
+ * @param message MessageTransform
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.MessageTransform, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MessageTransform to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MessageTransform
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Topic. */
+ interface ITopic {
+
+ /** Topic name */
+ name?: (string|null);
+
+ /** Topic labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Topic messageStoragePolicy */
+ messageStoragePolicy?: (google.pubsub.v1.IMessageStoragePolicy|null);
+
+ /** Topic kmsKeyName */
+ kmsKeyName?: (string|null);
+
+ /** Topic schemaSettings */
+ schemaSettings?: (google.pubsub.v1.ISchemaSettings|null);
+
+ /** Topic satisfiesPzs */
+ satisfiesPzs?: (boolean|null);
+
+ /** Topic messageRetentionDuration */
+ messageRetentionDuration?: (google.protobuf.IDuration|null);
+
+ /** Topic state */
+ state?: (google.pubsub.v1.Topic.State|keyof typeof google.pubsub.v1.Topic.State|null);
+
+ /** Topic ingestionDataSourceSettings */
+ ingestionDataSourceSettings?: (google.pubsub.v1.IIngestionDataSourceSettings|null);
+
+ /** Topic messageTransforms */
+ messageTransforms?: (google.pubsub.v1.IMessageTransform[]|null);
+
+ /** Topic tags */
+ tags?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a Topic. */
+ class Topic implements ITopic {
+
+ /**
+ * Constructs a new Topic.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.ITopic);
+
+ /** Topic name. */
+ public name: string;
+
+ /** Topic labels. */
+ public labels: { [k: string]: string };
+
+ /** Topic messageStoragePolicy. */
+ public messageStoragePolicy?: (google.pubsub.v1.IMessageStoragePolicy|null);
+
+ /** Topic kmsKeyName. */
+ public kmsKeyName: string;
+
+ /** Topic schemaSettings. */
+ public schemaSettings?: (google.pubsub.v1.ISchemaSettings|null);
+
+ /** Topic satisfiesPzs. */
+ public satisfiesPzs: boolean;
+
+ /** Topic messageRetentionDuration. */
+ public messageRetentionDuration?: (google.protobuf.IDuration|null);
+
+ /** Topic state. */
+ public state: (google.pubsub.v1.Topic.State|keyof typeof google.pubsub.v1.Topic.State);
+
+ /** Topic ingestionDataSourceSettings. */
+ public ingestionDataSourceSettings?: (google.pubsub.v1.IIngestionDataSourceSettings|null);
+
+ /** Topic messageTransforms. */
+ public messageTransforms: google.pubsub.v1.IMessageTransform[];
+
+ /** Topic tags. */
+ public tags: { [k: string]: string };
+
+ /**
+ * Creates a new Topic instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Topic instance
+ */
+ public static create(properties?: google.pubsub.v1.ITopic): google.pubsub.v1.Topic;
+
+ /**
+ * Encodes the specified Topic message. Does not implicitly {@link google.pubsub.v1.Topic.verify|verify} messages.
+ * @param message Topic message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.ITopic, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Topic message, length delimited. Does not implicitly {@link google.pubsub.v1.Topic.verify|verify} messages.
+ * @param message Topic message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.ITopic, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Topic message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Topic
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.Topic;
+
+ /**
+ * Decodes a Topic message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Topic
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.Topic;
+
+ /**
+ * Verifies a Topic message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Topic message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Topic
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.Topic;
+
+ /**
+ * Creates a plain object from a Topic message. Also converts values to other types if specified.
+ * @param message Topic
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.Topic, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Topic to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Topic
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Topic {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ ACTIVE = 1,
+ INGESTION_RESOURCE_ERROR = 2
+ }
+ }
+
+ /** Properties of a PubsubMessage. */
+ interface IPubsubMessage {
+
+ /** PubsubMessage data */
+ data?: (Uint8Array|Buffer|string|null);
+
+ /** PubsubMessage attributes */
+ attributes?: ({ [k: string]: string }|null);
+
+ /** PubsubMessage messageId */
+ messageId?: (string|null);
+
+ /** PubsubMessage publishTime */
+ publishTime?: (google.protobuf.ITimestamp|null);
+
+ /** PubsubMessage orderingKey */
+ orderingKey?: (string|null);
+ }
+
+ /** Represents a PubsubMessage. */
+ class PubsubMessage implements IPubsubMessage {
+
+ /**
+ * Constructs a new PubsubMessage.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IPubsubMessage);
+
+ /** PubsubMessage data. */
+ public data: (Uint8Array|Buffer|string);
+
+ /** PubsubMessage attributes. */
+ public attributes: { [k: string]: string };
+
+ /** PubsubMessage messageId. */
+ public messageId: string;
+
+ /** PubsubMessage publishTime. */
+ public publishTime?: (google.protobuf.ITimestamp|null);
+
+ /** PubsubMessage orderingKey. */
+ public orderingKey: string;
+
+ /**
+ * Creates a new PubsubMessage instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PubsubMessage instance
+ */
+ public static create(properties?: google.pubsub.v1.IPubsubMessage): google.pubsub.v1.PubsubMessage;
+
+ /**
+ * Encodes the specified PubsubMessage message. Does not implicitly {@link google.pubsub.v1.PubsubMessage.verify|verify} messages.
+ * @param message PubsubMessage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IPubsubMessage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PubsubMessage message, length delimited. Does not implicitly {@link google.pubsub.v1.PubsubMessage.verify|verify} messages.
+ * @param message PubsubMessage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IPubsubMessage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PubsubMessage message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PubsubMessage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.PubsubMessage;
+
+ /**
+ * Decodes a PubsubMessage message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PubsubMessage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.PubsubMessage;
+
+ /**
+ * Verifies a PubsubMessage message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PubsubMessage message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PubsubMessage
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.PubsubMessage;
+
+ /**
+ * Creates a plain object from a PubsubMessage message. Also converts values to other types if specified.
+ * @param message PubsubMessage
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.PubsubMessage, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PubsubMessage to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PubsubMessage
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetTopicRequest. */
+ interface IGetTopicRequest {
+
+ /** GetTopicRequest topic */
+ topic?: (string|null);
+ }
+
+ /** Represents a GetTopicRequest. */
+ class GetTopicRequest implements IGetTopicRequest {
+
+ /**
+ * Constructs a new GetTopicRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IGetTopicRequest);
+
+ /** GetTopicRequest topic. */
+ public topic: string;
+
+ /**
+ * Creates a new GetTopicRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetTopicRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IGetTopicRequest): google.pubsub.v1.GetTopicRequest;
+
+ /**
+ * Encodes the specified GetTopicRequest message. Does not implicitly {@link google.pubsub.v1.GetTopicRequest.verify|verify} messages.
+ * @param message GetTopicRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IGetTopicRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetTopicRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.GetTopicRequest.verify|verify} messages.
+ * @param message GetTopicRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IGetTopicRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetTopicRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetTopicRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.GetTopicRequest;
+
+ /**
+ * Decodes a GetTopicRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetTopicRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.GetTopicRequest;
+
+ /**
+ * Verifies a GetTopicRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetTopicRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetTopicRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.GetTopicRequest;
+
+ /**
+ * Creates a plain object from a GetTopicRequest message. Also converts values to other types if specified.
+ * @param message GetTopicRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.GetTopicRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetTopicRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetTopicRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateTopicRequest. */
+ interface IUpdateTopicRequest {
+
+ /** UpdateTopicRequest topic */
+ topic?: (google.pubsub.v1.ITopic|null);
+
+ /** UpdateTopicRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateTopicRequest. */
+ class UpdateTopicRequest implements IUpdateTopicRequest {
+
+ /**
+ * Constructs a new UpdateTopicRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IUpdateTopicRequest);
+
+ /** UpdateTopicRequest topic. */
+ public topic?: (google.pubsub.v1.ITopic|null);
+
+ /** UpdateTopicRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateTopicRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateTopicRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IUpdateTopicRequest): google.pubsub.v1.UpdateTopicRequest;
+
+ /**
+ * Encodes the specified UpdateTopicRequest message. Does not implicitly {@link google.pubsub.v1.UpdateTopicRequest.verify|verify} messages.
+ * @param message UpdateTopicRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IUpdateTopicRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateTopicRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.UpdateTopicRequest.verify|verify} messages.
+ * @param message UpdateTopicRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IUpdateTopicRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateTopicRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateTopicRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.UpdateTopicRequest;
+
+ /**
+ * Decodes an UpdateTopicRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateTopicRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.UpdateTopicRequest;
+
+ /**
+ * Verifies an UpdateTopicRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UpdateTopicRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateTopicRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.UpdateTopicRequest;
+
+ /**
+ * Creates a plain object from an UpdateTopicRequest message. Also converts values to other types if specified.
+ * @param message UpdateTopicRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.UpdateTopicRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateTopicRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateTopicRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PublishRequest. */
+ interface IPublishRequest {
+
+ /** PublishRequest topic */
+ topic?: (string|null);
+
+ /** PublishRequest messages */
+ messages?: (google.pubsub.v1.IPubsubMessage[]|null);
+ }
+
+ /** Represents a PublishRequest. */
+ class PublishRequest implements IPublishRequest {
+
+ /**
+ * Constructs a new PublishRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IPublishRequest);
+
+ /** PublishRequest topic. */
+ public topic: string;
+
+ /** PublishRequest messages. */
+ public messages: google.pubsub.v1.IPubsubMessage[];
+
+ /**
+ * Creates a new PublishRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PublishRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IPublishRequest): google.pubsub.v1.PublishRequest;
+
+ /**
+ * Encodes the specified PublishRequest message. Does not implicitly {@link google.pubsub.v1.PublishRequest.verify|verify} messages.
+ * @param message PublishRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IPublishRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PublishRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.PublishRequest.verify|verify} messages.
+ * @param message PublishRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IPublishRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PublishRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PublishRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.PublishRequest;
+
+ /**
+ * Decodes a PublishRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PublishRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.PublishRequest;
+
+ /**
+ * Verifies a PublishRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PublishRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PublishRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.PublishRequest;
+
+ /**
+ * Creates a plain object from a PublishRequest message. Also converts values to other types if specified.
+ * @param message PublishRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.PublishRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PublishRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PublishRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PublishResponse. */
+ interface IPublishResponse {
+
+ /** PublishResponse messageIds */
+ messageIds?: (string[]|null);
+ }
+
+ /** Represents a PublishResponse. */
+ class PublishResponse implements IPublishResponse {
+
+ /**
+ * Constructs a new PublishResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IPublishResponse);
+
+ /** PublishResponse messageIds. */
+ public messageIds: string[];
+
+ /**
+ * Creates a new PublishResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PublishResponse instance
+ */
+ public static create(properties?: google.pubsub.v1.IPublishResponse): google.pubsub.v1.PublishResponse;
+
+ /**
+ * Encodes the specified PublishResponse message. Does not implicitly {@link google.pubsub.v1.PublishResponse.verify|verify} messages.
+ * @param message PublishResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IPublishResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PublishResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.PublishResponse.verify|verify} messages.
+ * @param message PublishResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IPublishResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PublishResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PublishResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.PublishResponse;
+
+ /**
+ * Decodes a PublishResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PublishResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.PublishResponse;
+
+ /**
+ * Verifies a PublishResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PublishResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PublishResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.PublishResponse;
+
+ /**
+ * Creates a plain object from a PublishResponse message. Also converts values to other types if specified.
+ * @param message PublishResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.PublishResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PublishResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PublishResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTopicsRequest. */
+ interface IListTopicsRequest {
+
+ /** ListTopicsRequest project */
+ project?: (string|null);
+
+ /** ListTopicsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListTopicsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListTopicsRequest. */
+ class ListTopicsRequest implements IListTopicsRequest {
+
+ /**
+ * Constructs a new ListTopicsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IListTopicsRequest);
+
+ /** ListTopicsRequest project. */
+ public project: string;
+
+ /** ListTopicsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListTopicsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListTopicsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTopicsRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IListTopicsRequest): google.pubsub.v1.ListTopicsRequest;
+
+ /**
+ * Encodes the specified ListTopicsRequest message. Does not implicitly {@link google.pubsub.v1.ListTopicsRequest.verify|verify} messages.
+ * @param message ListTopicsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IListTopicsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTopicsRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.ListTopicsRequest.verify|verify} messages.
+ * @param message ListTopicsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IListTopicsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTopicsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTopicsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ListTopicsRequest;
+
+ /**
+ * Decodes a ListTopicsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTopicsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ListTopicsRequest;
+
+ /**
+ * Verifies a ListTopicsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListTopicsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTopicsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ListTopicsRequest;
+
+ /**
+ * Creates a plain object from a ListTopicsRequest message. Also converts values to other types if specified.
+ * @param message ListTopicsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ListTopicsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTopicsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTopicsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTopicsResponse. */
+ interface IListTopicsResponse {
+
+ /** ListTopicsResponse topics */
+ topics?: (google.pubsub.v1.ITopic[]|null);
+
+ /** ListTopicsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListTopicsResponse. */
+ class ListTopicsResponse implements IListTopicsResponse {
+
+ /**
+ * Constructs a new ListTopicsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IListTopicsResponse);
+
+ /** ListTopicsResponse topics. */
+ public topics: google.pubsub.v1.ITopic[];
+
+ /** ListTopicsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListTopicsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTopicsResponse instance
+ */
+ public static create(properties?: google.pubsub.v1.IListTopicsResponse): google.pubsub.v1.ListTopicsResponse;
+
+ /**
+ * Encodes the specified ListTopicsResponse message. Does not implicitly {@link google.pubsub.v1.ListTopicsResponse.verify|verify} messages.
+ * @param message ListTopicsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IListTopicsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTopicsResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.ListTopicsResponse.verify|verify} messages.
+ * @param message ListTopicsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IListTopicsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTopicsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTopicsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ListTopicsResponse;
+
+ /**
+ * Decodes a ListTopicsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTopicsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ListTopicsResponse;
+
+ /**
+ * Verifies a ListTopicsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListTopicsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTopicsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ListTopicsResponse;
+
+ /**
+ * Creates a plain object from a ListTopicsResponse message. Also converts values to other types if specified.
+ * @param message ListTopicsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ListTopicsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTopicsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTopicsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTopicSubscriptionsRequest. */
+ interface IListTopicSubscriptionsRequest {
+
+ /** ListTopicSubscriptionsRequest topic */
+ topic?: (string|null);
+
+ /** ListTopicSubscriptionsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListTopicSubscriptionsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListTopicSubscriptionsRequest. */
+ class ListTopicSubscriptionsRequest implements IListTopicSubscriptionsRequest {
+
+ /**
+ * Constructs a new ListTopicSubscriptionsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IListTopicSubscriptionsRequest);
+
+ /** ListTopicSubscriptionsRequest topic. */
+ public topic: string;
+
+ /** ListTopicSubscriptionsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListTopicSubscriptionsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListTopicSubscriptionsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTopicSubscriptionsRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IListTopicSubscriptionsRequest): google.pubsub.v1.ListTopicSubscriptionsRequest;
+
+ /**
+ * Encodes the specified ListTopicSubscriptionsRequest message. Does not implicitly {@link google.pubsub.v1.ListTopicSubscriptionsRequest.verify|verify} messages.
+ * @param message ListTopicSubscriptionsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IListTopicSubscriptionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTopicSubscriptionsRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.ListTopicSubscriptionsRequest.verify|verify} messages.
+ * @param message ListTopicSubscriptionsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IListTopicSubscriptionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTopicSubscriptionsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTopicSubscriptionsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ListTopicSubscriptionsRequest;
+
+ /**
+ * Decodes a ListTopicSubscriptionsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTopicSubscriptionsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ListTopicSubscriptionsRequest;
+
+ /**
+ * Verifies a ListTopicSubscriptionsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListTopicSubscriptionsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTopicSubscriptionsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ListTopicSubscriptionsRequest;
+
+ /**
+ * Creates a plain object from a ListTopicSubscriptionsRequest message. Also converts values to other types if specified.
+ * @param message ListTopicSubscriptionsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ListTopicSubscriptionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTopicSubscriptionsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTopicSubscriptionsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTopicSubscriptionsResponse. */
+ interface IListTopicSubscriptionsResponse {
+
+ /** ListTopicSubscriptionsResponse subscriptions */
+ subscriptions?: (string[]|null);
+
+ /** ListTopicSubscriptionsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListTopicSubscriptionsResponse. */
+ class ListTopicSubscriptionsResponse implements IListTopicSubscriptionsResponse {
+
+ /**
+ * Constructs a new ListTopicSubscriptionsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IListTopicSubscriptionsResponse);
+
+ /** ListTopicSubscriptionsResponse subscriptions. */
+ public subscriptions: string[];
+
+ /** ListTopicSubscriptionsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListTopicSubscriptionsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTopicSubscriptionsResponse instance
+ */
+ public static create(properties?: google.pubsub.v1.IListTopicSubscriptionsResponse): google.pubsub.v1.ListTopicSubscriptionsResponse;
+
+ /**
+ * Encodes the specified ListTopicSubscriptionsResponse message. Does not implicitly {@link google.pubsub.v1.ListTopicSubscriptionsResponse.verify|verify} messages.
+ * @param message ListTopicSubscriptionsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IListTopicSubscriptionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTopicSubscriptionsResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.ListTopicSubscriptionsResponse.verify|verify} messages.
+ * @param message ListTopicSubscriptionsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IListTopicSubscriptionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTopicSubscriptionsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTopicSubscriptionsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ListTopicSubscriptionsResponse;
+
+ /**
+ * Decodes a ListTopicSubscriptionsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTopicSubscriptionsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ListTopicSubscriptionsResponse;
+
+ /**
+ * Verifies a ListTopicSubscriptionsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListTopicSubscriptionsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTopicSubscriptionsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ListTopicSubscriptionsResponse;
+
+ /**
+ * Creates a plain object from a ListTopicSubscriptionsResponse message. Also converts values to other types if specified.
+ * @param message ListTopicSubscriptionsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ListTopicSubscriptionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTopicSubscriptionsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTopicSubscriptionsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTopicSnapshotsRequest. */
+ interface IListTopicSnapshotsRequest {
+
+ /** ListTopicSnapshotsRequest topic */
+ topic?: (string|null);
+
+ /** ListTopicSnapshotsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListTopicSnapshotsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListTopicSnapshotsRequest. */
+ class ListTopicSnapshotsRequest implements IListTopicSnapshotsRequest {
+
+ /**
+ * Constructs a new ListTopicSnapshotsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IListTopicSnapshotsRequest);
+
+ /** ListTopicSnapshotsRequest topic. */
+ public topic: string;
+
+ /** ListTopicSnapshotsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListTopicSnapshotsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListTopicSnapshotsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTopicSnapshotsRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IListTopicSnapshotsRequest): google.pubsub.v1.ListTopicSnapshotsRequest;
+
+ /**
+ * Encodes the specified ListTopicSnapshotsRequest message. Does not implicitly {@link google.pubsub.v1.ListTopicSnapshotsRequest.verify|verify} messages.
+ * @param message ListTopicSnapshotsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IListTopicSnapshotsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTopicSnapshotsRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.ListTopicSnapshotsRequest.verify|verify} messages.
+ * @param message ListTopicSnapshotsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IListTopicSnapshotsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTopicSnapshotsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTopicSnapshotsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ListTopicSnapshotsRequest;
+
+ /**
+ * Decodes a ListTopicSnapshotsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTopicSnapshotsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ListTopicSnapshotsRequest;
+
+ /**
+ * Verifies a ListTopicSnapshotsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListTopicSnapshotsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTopicSnapshotsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ListTopicSnapshotsRequest;
+
+ /**
+ * Creates a plain object from a ListTopicSnapshotsRequest message. Also converts values to other types if specified.
+ * @param message ListTopicSnapshotsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ListTopicSnapshotsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTopicSnapshotsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTopicSnapshotsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTopicSnapshotsResponse. */
+ interface IListTopicSnapshotsResponse {
+
+ /** ListTopicSnapshotsResponse snapshots */
+ snapshots?: (string[]|null);
+
+ /** ListTopicSnapshotsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListTopicSnapshotsResponse. */
+ class ListTopicSnapshotsResponse implements IListTopicSnapshotsResponse {
+
+ /**
+ * Constructs a new ListTopicSnapshotsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IListTopicSnapshotsResponse);
+
+ /** ListTopicSnapshotsResponse snapshots. */
+ public snapshots: string[];
+
+ /** ListTopicSnapshotsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListTopicSnapshotsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTopicSnapshotsResponse instance
+ */
+ public static create(properties?: google.pubsub.v1.IListTopicSnapshotsResponse): google.pubsub.v1.ListTopicSnapshotsResponse;
+
+ /**
+ * Encodes the specified ListTopicSnapshotsResponse message. Does not implicitly {@link google.pubsub.v1.ListTopicSnapshotsResponse.verify|verify} messages.
+ * @param message ListTopicSnapshotsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IListTopicSnapshotsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTopicSnapshotsResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.ListTopicSnapshotsResponse.verify|verify} messages.
+ * @param message ListTopicSnapshotsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IListTopicSnapshotsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTopicSnapshotsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTopicSnapshotsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ListTopicSnapshotsResponse;
+
+ /**
+ * Decodes a ListTopicSnapshotsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTopicSnapshotsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ListTopicSnapshotsResponse;
+
+ /**
+ * Verifies a ListTopicSnapshotsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListTopicSnapshotsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTopicSnapshotsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ListTopicSnapshotsResponse;
+
+ /**
+ * Creates a plain object from a ListTopicSnapshotsResponse message. Also converts values to other types if specified.
+ * @param message ListTopicSnapshotsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ListTopicSnapshotsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTopicSnapshotsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTopicSnapshotsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteTopicRequest. */
+ interface IDeleteTopicRequest {
+
+ /** DeleteTopicRequest topic */
+ topic?: (string|null);
+ }
+
+ /** Represents a DeleteTopicRequest. */
+ class DeleteTopicRequest implements IDeleteTopicRequest {
+
+ /**
+ * Constructs a new DeleteTopicRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IDeleteTopicRequest);
+
+ /** DeleteTopicRequest topic. */
+ public topic: string;
+
+ /**
+ * Creates a new DeleteTopicRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteTopicRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IDeleteTopicRequest): google.pubsub.v1.DeleteTopicRequest;
+
+ /**
+ * Encodes the specified DeleteTopicRequest message. Does not implicitly {@link google.pubsub.v1.DeleteTopicRequest.verify|verify} messages.
+ * @param message DeleteTopicRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IDeleteTopicRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteTopicRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.DeleteTopicRequest.verify|verify} messages.
+ * @param message DeleteTopicRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IDeleteTopicRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteTopicRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteTopicRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.DeleteTopicRequest;
+
+ /**
+ * Decodes a DeleteTopicRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteTopicRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.DeleteTopicRequest;
+
+ /**
+ * Verifies a DeleteTopicRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteTopicRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteTopicRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.DeleteTopicRequest;
+
+ /**
+ * Creates a plain object from a DeleteTopicRequest message. Also converts values to other types if specified.
+ * @param message DeleteTopicRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.DeleteTopicRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteTopicRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteTopicRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DetachSubscriptionRequest. */
+ interface IDetachSubscriptionRequest {
+
+ /** DetachSubscriptionRequest subscription */
+ subscription?: (string|null);
+ }
+
+ /** Represents a DetachSubscriptionRequest. */
+ class DetachSubscriptionRequest implements IDetachSubscriptionRequest {
+
+ /**
+ * Constructs a new DetachSubscriptionRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IDetachSubscriptionRequest);
+
+ /** DetachSubscriptionRequest subscription. */
+ public subscription: string;
+
+ /**
+ * Creates a new DetachSubscriptionRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DetachSubscriptionRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IDetachSubscriptionRequest): google.pubsub.v1.DetachSubscriptionRequest;
+
+ /**
+ * Encodes the specified DetachSubscriptionRequest message. Does not implicitly {@link google.pubsub.v1.DetachSubscriptionRequest.verify|verify} messages.
+ * @param message DetachSubscriptionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IDetachSubscriptionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DetachSubscriptionRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.DetachSubscriptionRequest.verify|verify} messages.
+ * @param message DetachSubscriptionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IDetachSubscriptionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DetachSubscriptionRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DetachSubscriptionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.DetachSubscriptionRequest;
+
+ /**
+ * Decodes a DetachSubscriptionRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DetachSubscriptionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.DetachSubscriptionRequest;
+
+ /**
+ * Verifies a DetachSubscriptionRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DetachSubscriptionRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DetachSubscriptionRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.DetachSubscriptionRequest;
+
+ /**
+ * Creates a plain object from a DetachSubscriptionRequest message. Also converts values to other types if specified.
+ * @param message DetachSubscriptionRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.DetachSubscriptionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DetachSubscriptionRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DetachSubscriptionRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DetachSubscriptionResponse. */
+ interface IDetachSubscriptionResponse {
+ }
+
+ /** Represents a DetachSubscriptionResponse. */
+ class DetachSubscriptionResponse implements IDetachSubscriptionResponse {
+
+ /**
+ * Constructs a new DetachSubscriptionResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IDetachSubscriptionResponse);
+
+ /**
+ * Creates a new DetachSubscriptionResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DetachSubscriptionResponse instance
+ */
+ public static create(properties?: google.pubsub.v1.IDetachSubscriptionResponse): google.pubsub.v1.DetachSubscriptionResponse;
+
+ /**
+ * Encodes the specified DetachSubscriptionResponse message. Does not implicitly {@link google.pubsub.v1.DetachSubscriptionResponse.verify|verify} messages.
+ * @param message DetachSubscriptionResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IDetachSubscriptionResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DetachSubscriptionResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.DetachSubscriptionResponse.verify|verify} messages.
+ * @param message DetachSubscriptionResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IDetachSubscriptionResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DetachSubscriptionResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DetachSubscriptionResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.DetachSubscriptionResponse;
+
+ /**
+ * Decodes a DetachSubscriptionResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DetachSubscriptionResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.DetachSubscriptionResponse;
+
+ /**
+ * Verifies a DetachSubscriptionResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DetachSubscriptionResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DetachSubscriptionResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.DetachSubscriptionResponse;
+
+ /**
+ * Creates a plain object from a DetachSubscriptionResponse message. Also converts values to other types if specified.
+ * @param message DetachSubscriptionResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.DetachSubscriptionResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DetachSubscriptionResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DetachSubscriptionResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a Subscriber */
+ class Subscriber extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Subscriber service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new Subscriber service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): Subscriber;
+
+ /**
+ * Calls CreateSubscription.
+ * @param request Subscription message or plain object
+ * @param callback Node-style callback called with the error, if any, and Subscription
+ */
+ public createSubscription(request: google.pubsub.v1.ISubscription, callback: google.pubsub.v1.Subscriber.CreateSubscriptionCallback): void;
+
+ /**
+ * Calls CreateSubscription.
+ * @param request Subscription message or plain object
+ * @returns Promise
+ */
+ public createSubscription(request: google.pubsub.v1.ISubscription): Promise;
+
+ /**
+ * Calls GetSubscription.
+ * @param request GetSubscriptionRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Subscription
+ */
+ public getSubscription(request: google.pubsub.v1.IGetSubscriptionRequest, callback: google.pubsub.v1.Subscriber.GetSubscriptionCallback): void;
+
+ /**
+ * Calls GetSubscription.
+ * @param request GetSubscriptionRequest message or plain object
+ * @returns Promise
+ */
+ public getSubscription(request: google.pubsub.v1.IGetSubscriptionRequest): Promise;
+
+ /**
+ * Calls UpdateSubscription.
+ * @param request UpdateSubscriptionRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Subscription
+ */
+ public updateSubscription(request: google.pubsub.v1.IUpdateSubscriptionRequest, callback: google.pubsub.v1.Subscriber.UpdateSubscriptionCallback): void;
+
+ /**
+ * Calls UpdateSubscription.
+ * @param request UpdateSubscriptionRequest message or plain object
+ * @returns Promise
+ */
+ public updateSubscription(request: google.pubsub.v1.IUpdateSubscriptionRequest): Promise;
+
+ /**
+ * Calls ListSubscriptions.
+ * @param request ListSubscriptionsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListSubscriptionsResponse
+ */
+ public listSubscriptions(request: google.pubsub.v1.IListSubscriptionsRequest, callback: google.pubsub.v1.Subscriber.ListSubscriptionsCallback): void;
+
+ /**
+ * Calls ListSubscriptions.
+ * @param request ListSubscriptionsRequest message or plain object
+ * @returns Promise
+ */
+ public listSubscriptions(request: google.pubsub.v1.IListSubscriptionsRequest): Promise;
+
+ /**
+ * Calls DeleteSubscription.
+ * @param request DeleteSubscriptionRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteSubscription(request: google.pubsub.v1.IDeleteSubscriptionRequest, callback: google.pubsub.v1.Subscriber.DeleteSubscriptionCallback): void;
+
+ /**
+ * Calls DeleteSubscription.
+ * @param request DeleteSubscriptionRequest message or plain object
+ * @returns Promise
+ */
+ public deleteSubscription(request: google.pubsub.v1.IDeleteSubscriptionRequest): Promise;
+
+ /**
+ * Calls ModifyAckDeadline.
+ * @param request ModifyAckDeadlineRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public modifyAckDeadline(request: google.pubsub.v1.IModifyAckDeadlineRequest, callback: google.pubsub.v1.Subscriber.ModifyAckDeadlineCallback): void;
+
+ /**
+ * Calls ModifyAckDeadline.
+ * @param request ModifyAckDeadlineRequest message or plain object
+ * @returns Promise
+ */
+ public modifyAckDeadline(request: google.pubsub.v1.IModifyAckDeadlineRequest): Promise;
+
+ /**
+ * Calls Acknowledge.
+ * @param request AcknowledgeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public acknowledge(request: google.pubsub.v1.IAcknowledgeRequest, callback: google.pubsub.v1.Subscriber.AcknowledgeCallback): void;
+
+ /**
+ * Calls Acknowledge.
+ * @param request AcknowledgeRequest message or plain object
+ * @returns Promise
+ */
+ public acknowledge(request: google.pubsub.v1.IAcknowledgeRequest): Promise;
+
+ /**
+ * Calls Pull.
+ * @param request PullRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and PullResponse
+ */
+ public pull(request: google.pubsub.v1.IPullRequest, callback: google.pubsub.v1.Subscriber.PullCallback): void;
+
+ /**
+ * Calls Pull.
+ * @param request PullRequest message or plain object
+ * @returns Promise
+ */
+ public pull(request: google.pubsub.v1.IPullRequest): Promise;
+
+ /**
+ * Calls StreamingPull.
+ * @param request StreamingPullRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and StreamingPullResponse
+ */
+ public streamingPull(request: google.pubsub.v1.IStreamingPullRequest, callback: google.pubsub.v1.Subscriber.StreamingPullCallback): void;
+
+ /**
+ * Calls StreamingPull.
+ * @param request StreamingPullRequest message or plain object
+ * @returns Promise
+ */
+ public streamingPull(request: google.pubsub.v1.IStreamingPullRequest): Promise;
+
+ /**
+ * Calls ModifyPushConfig.
+ * @param request ModifyPushConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public modifyPushConfig(request: google.pubsub.v1.IModifyPushConfigRequest, callback: google.pubsub.v1.Subscriber.ModifyPushConfigCallback): void;
+
+ /**
+ * Calls ModifyPushConfig.
+ * @param request ModifyPushConfigRequest message or plain object
+ * @returns Promise
+ */
+ public modifyPushConfig(request: google.pubsub.v1.IModifyPushConfigRequest): Promise;
+
+ /**
+ * Calls GetSnapshot.
+ * @param request GetSnapshotRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Snapshot
+ */
+ public getSnapshot(request: google.pubsub.v1.IGetSnapshotRequest, callback: google.pubsub.v1.Subscriber.GetSnapshotCallback): void;
+
+ /**
+ * Calls GetSnapshot.
+ * @param request GetSnapshotRequest message or plain object
+ * @returns Promise
+ */
+ public getSnapshot(request: google.pubsub.v1.IGetSnapshotRequest): Promise;
+
+ /**
+ * Calls ListSnapshots.
+ * @param request ListSnapshotsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListSnapshotsResponse
+ */
+ public listSnapshots(request: google.pubsub.v1.IListSnapshotsRequest, callback: google.pubsub.v1.Subscriber.ListSnapshotsCallback): void;
+
+ /**
+ * Calls ListSnapshots.
+ * @param request ListSnapshotsRequest message or plain object
+ * @returns Promise
+ */
+ public listSnapshots(request: google.pubsub.v1.IListSnapshotsRequest): Promise;
+
+ /**
+ * Calls CreateSnapshot.
+ * @param request CreateSnapshotRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Snapshot
+ */
+ public createSnapshot(request: google.pubsub.v1.ICreateSnapshotRequest, callback: google.pubsub.v1.Subscriber.CreateSnapshotCallback): void;
+
+ /**
+ * Calls CreateSnapshot.
+ * @param request CreateSnapshotRequest message or plain object
+ * @returns Promise
+ */
+ public createSnapshot(request: google.pubsub.v1.ICreateSnapshotRequest): Promise;
+
+ /**
+ * Calls UpdateSnapshot.
+ * @param request UpdateSnapshotRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Snapshot
+ */
+ public updateSnapshot(request: google.pubsub.v1.IUpdateSnapshotRequest, callback: google.pubsub.v1.Subscriber.UpdateSnapshotCallback): void;
+
+ /**
+ * Calls UpdateSnapshot.
+ * @param request UpdateSnapshotRequest message or plain object
+ * @returns Promise
+ */
+ public updateSnapshot(request: google.pubsub.v1.IUpdateSnapshotRequest): Promise;
+
+ /**
+ * Calls DeleteSnapshot.
+ * @param request DeleteSnapshotRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteSnapshot(request: google.pubsub.v1.IDeleteSnapshotRequest, callback: google.pubsub.v1.Subscriber.DeleteSnapshotCallback): void;
+
+ /**
+ * Calls DeleteSnapshot.
+ * @param request DeleteSnapshotRequest message or plain object
+ * @returns Promise
+ */
+ public deleteSnapshot(request: google.pubsub.v1.IDeleteSnapshotRequest): Promise;
+
+ /**
+ * Calls Seek.
+ * @param request SeekRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SeekResponse
+ */
+ public seek(request: google.pubsub.v1.ISeekRequest, callback: google.pubsub.v1.Subscriber.SeekCallback): void;
+
+ /**
+ * Calls Seek.
+ * @param request SeekRequest message or plain object
+ * @returns Promise
+ */
+ public seek(request: google.pubsub.v1.ISeekRequest): Promise;
+ }
+
+ namespace Subscriber {
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|createSubscription}.
+ * @param error Error, if any
+ * @param [response] Subscription
+ */
+ type CreateSubscriptionCallback = (error: (Error|null), response?: google.pubsub.v1.Subscription) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|getSubscription}.
+ * @param error Error, if any
+ * @param [response] Subscription
+ */
+ type GetSubscriptionCallback = (error: (Error|null), response?: google.pubsub.v1.Subscription) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|updateSubscription}.
+ * @param error Error, if any
+ * @param [response] Subscription
+ */
+ type UpdateSubscriptionCallback = (error: (Error|null), response?: google.pubsub.v1.Subscription) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|listSubscriptions}.
+ * @param error Error, if any
+ * @param [response] ListSubscriptionsResponse
+ */
+ type ListSubscriptionsCallback = (error: (Error|null), response?: google.pubsub.v1.ListSubscriptionsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|deleteSubscription}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteSubscriptionCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|modifyAckDeadline}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type ModifyAckDeadlineCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|acknowledge}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type AcknowledgeCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|pull}.
+ * @param error Error, if any
+ * @param [response] PullResponse
+ */
+ type PullCallback = (error: (Error|null), response?: google.pubsub.v1.PullResponse) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|streamingPull}.
+ * @param error Error, if any
+ * @param [response] StreamingPullResponse
+ */
+ type StreamingPullCallback = (error: (Error|null), response?: google.pubsub.v1.StreamingPullResponse) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|modifyPushConfig}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type ModifyPushConfigCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|getSnapshot}.
+ * @param error Error, if any
+ * @param [response] Snapshot
+ */
+ type GetSnapshotCallback = (error: (Error|null), response?: google.pubsub.v1.Snapshot) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|listSnapshots}.
+ * @param error Error, if any
+ * @param [response] ListSnapshotsResponse
+ */
+ type ListSnapshotsCallback = (error: (Error|null), response?: google.pubsub.v1.ListSnapshotsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|createSnapshot}.
+ * @param error Error, if any
+ * @param [response] Snapshot
+ */
+ type CreateSnapshotCallback = (error: (Error|null), response?: google.pubsub.v1.Snapshot) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|updateSnapshot}.
+ * @param error Error, if any
+ * @param [response] Snapshot
+ */
+ type UpdateSnapshotCallback = (error: (Error|null), response?: google.pubsub.v1.Snapshot) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|deleteSnapshot}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteSnapshotCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|seek}.
+ * @param error Error, if any
+ * @param [response] SeekResponse
+ */
+ type SeekCallback = (error: (Error|null), response?: google.pubsub.v1.SeekResponse) => void;
+ }
+
+ /** Properties of a Subscription. */
+ interface ISubscription {
+
+ /** Subscription name */
+ name?: (string|null);
+
+ /** Subscription topic */
+ topic?: (string|null);
+
+ /** Subscription pushConfig */
+ pushConfig?: (google.pubsub.v1.IPushConfig|null);
+
+ /** Subscription bigqueryConfig */
+ bigqueryConfig?: (google.pubsub.v1.IBigQueryConfig|null);
+
+ /** Subscription cloudStorageConfig */
+ cloudStorageConfig?: (google.pubsub.v1.ICloudStorageConfig|null);
+
+ /** Subscription ackDeadlineSeconds */
+ ackDeadlineSeconds?: (number|null);
+
+ /** Subscription retainAckedMessages */
+ retainAckedMessages?: (boolean|null);
+
+ /** Subscription messageRetentionDuration */
+ messageRetentionDuration?: (google.protobuf.IDuration|null);
+
+ /** Subscription labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Subscription enableMessageOrdering */
+ enableMessageOrdering?: (boolean|null);
+
+ /** Subscription expirationPolicy */
+ expirationPolicy?: (google.pubsub.v1.IExpirationPolicy|null);
+
+ /** Subscription filter */
+ filter?: (string|null);
+
+ /** Subscription deadLetterPolicy */
+ deadLetterPolicy?: (google.pubsub.v1.IDeadLetterPolicy|null);
+
+ /** Subscription retryPolicy */
+ retryPolicy?: (google.pubsub.v1.IRetryPolicy|null);
+
+ /** Subscription detached */
+ detached?: (boolean|null);
+
+ /** Subscription enableExactlyOnceDelivery */
+ enableExactlyOnceDelivery?: (boolean|null);
+
+ /** Subscription topicMessageRetentionDuration */
+ topicMessageRetentionDuration?: (google.protobuf.IDuration|null);
+
+ /** Subscription state */
+ state?: (google.pubsub.v1.Subscription.State|keyof typeof google.pubsub.v1.Subscription.State|null);
+
+ /** Subscription analyticsHubSubscriptionInfo */
+ analyticsHubSubscriptionInfo?: (google.pubsub.v1.Subscription.IAnalyticsHubSubscriptionInfo|null);
+
+ /** Subscription messageTransforms */
+ messageTransforms?: (google.pubsub.v1.IMessageTransform[]|null);
+
+ /** Subscription tags */
+ tags?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a Subscription. */
+ class Subscription implements ISubscription {
+
+ /**
+ * Constructs a new Subscription.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.ISubscription);
+
+ /** Subscription name. */
+ public name: string;
+
+ /** Subscription topic. */
+ public topic: string;
+
+ /** Subscription pushConfig. */
+ public pushConfig?: (google.pubsub.v1.IPushConfig|null);
+
+ /** Subscription bigqueryConfig. */
+ public bigqueryConfig?: (google.pubsub.v1.IBigQueryConfig|null);
+
+ /** Subscription cloudStorageConfig. */
+ public cloudStorageConfig?: (google.pubsub.v1.ICloudStorageConfig|null);
+
+ /** Subscription ackDeadlineSeconds. */
+ public ackDeadlineSeconds: number;
+
+ /** Subscription retainAckedMessages. */
+ public retainAckedMessages: boolean;
+
+ /** Subscription messageRetentionDuration. */
+ public messageRetentionDuration?: (google.protobuf.IDuration|null);
+
+ /** Subscription labels. */
+ public labels: { [k: string]: string };
+
+ /** Subscription enableMessageOrdering. */
+ public enableMessageOrdering: boolean;
+
+ /** Subscription expirationPolicy. */
+ public expirationPolicy?: (google.pubsub.v1.IExpirationPolicy|null);
+
+ /** Subscription filter. */
+ public filter: string;
+
+ /** Subscription deadLetterPolicy. */
+ public deadLetterPolicy?: (google.pubsub.v1.IDeadLetterPolicy|null);
+
+ /** Subscription retryPolicy. */
+ public retryPolicy?: (google.pubsub.v1.IRetryPolicy|null);
+
+ /** Subscription detached. */
+ public detached: boolean;
+
+ /** Subscription enableExactlyOnceDelivery. */
+ public enableExactlyOnceDelivery: boolean;
+
+ /** Subscription topicMessageRetentionDuration. */
+ public topicMessageRetentionDuration?: (google.protobuf.IDuration|null);
+
+ /** Subscription state. */
+ public state: (google.pubsub.v1.Subscription.State|keyof typeof google.pubsub.v1.Subscription.State);
+
+ /** Subscription analyticsHubSubscriptionInfo. */
+ public analyticsHubSubscriptionInfo?: (google.pubsub.v1.Subscription.IAnalyticsHubSubscriptionInfo|null);
+
+ /** Subscription messageTransforms. */
+ public messageTransforms: google.pubsub.v1.IMessageTransform[];
+
+ /** Subscription tags. */
+ public tags: { [k: string]: string };
+
+ /**
+ * Creates a new Subscription instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Subscription instance
+ */
+ public static create(properties?: google.pubsub.v1.ISubscription): google.pubsub.v1.Subscription;
+
+ /**
+ * Encodes the specified Subscription message. Does not implicitly {@link google.pubsub.v1.Subscription.verify|verify} messages.
+ * @param message Subscription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.ISubscription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Subscription message, length delimited. Does not implicitly {@link google.pubsub.v1.Subscription.verify|verify} messages.
+ * @param message Subscription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.ISubscription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Subscription message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Subscription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.Subscription;
+
+ /**
+ * Decodes a Subscription message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Subscription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.Subscription;
+
+ /**
+ * Verifies a Subscription message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Subscription message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Subscription
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.Subscription;
+
+ /**
+ * Creates a plain object from a Subscription message. Also converts values to other types if specified.
+ * @param message Subscription
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.Subscription, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Subscription to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Subscription
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Subscription {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ ACTIVE = 1,
+ RESOURCE_ERROR = 2
+ }
+
+ /** Properties of an AnalyticsHubSubscriptionInfo. */
+ interface IAnalyticsHubSubscriptionInfo {
+
+ /** AnalyticsHubSubscriptionInfo listing */
+ listing?: (string|null);
+
+ /** AnalyticsHubSubscriptionInfo subscription */
+ subscription?: (string|null);
+ }
+
+ /** Represents an AnalyticsHubSubscriptionInfo. */
+ class AnalyticsHubSubscriptionInfo implements IAnalyticsHubSubscriptionInfo {
+
+ /**
+ * Constructs a new AnalyticsHubSubscriptionInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.Subscription.IAnalyticsHubSubscriptionInfo);
+
+ /** AnalyticsHubSubscriptionInfo listing. */
+ public listing: string;
+
+ /** AnalyticsHubSubscriptionInfo subscription. */
+ public subscription: string;
+
+ /**
+ * Creates a new AnalyticsHubSubscriptionInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnalyticsHubSubscriptionInfo instance
+ */
+ public static create(properties?: google.pubsub.v1.Subscription.IAnalyticsHubSubscriptionInfo): google.pubsub.v1.Subscription.AnalyticsHubSubscriptionInfo;
+
+ /**
+ * Encodes the specified AnalyticsHubSubscriptionInfo message. Does not implicitly {@link google.pubsub.v1.Subscription.AnalyticsHubSubscriptionInfo.verify|verify} messages.
+ * @param message AnalyticsHubSubscriptionInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.Subscription.IAnalyticsHubSubscriptionInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnalyticsHubSubscriptionInfo message, length delimited. Does not implicitly {@link google.pubsub.v1.Subscription.AnalyticsHubSubscriptionInfo.verify|verify} messages.
+ * @param message AnalyticsHubSubscriptionInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.Subscription.IAnalyticsHubSubscriptionInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnalyticsHubSubscriptionInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnalyticsHubSubscriptionInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.Subscription.AnalyticsHubSubscriptionInfo;
+
+ /**
+ * Decodes an AnalyticsHubSubscriptionInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnalyticsHubSubscriptionInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.Subscription.AnalyticsHubSubscriptionInfo;
+
+ /**
+ * Verifies an AnalyticsHubSubscriptionInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AnalyticsHubSubscriptionInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnalyticsHubSubscriptionInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.Subscription.AnalyticsHubSubscriptionInfo;
+
+ /**
+ * Creates a plain object from an AnalyticsHubSubscriptionInfo message. Also converts values to other types if specified.
+ * @param message AnalyticsHubSubscriptionInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.Subscription.AnalyticsHubSubscriptionInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnalyticsHubSubscriptionInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnalyticsHubSubscriptionInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a RetryPolicy. */
+ interface IRetryPolicy {
+
+ /** RetryPolicy minimumBackoff */
+ minimumBackoff?: (google.protobuf.IDuration|null);
+
+ /** RetryPolicy maximumBackoff */
+ maximumBackoff?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a RetryPolicy. */
+ class RetryPolicy implements IRetryPolicy {
+
+ /**
+ * Constructs a new RetryPolicy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IRetryPolicy);
+
+ /** RetryPolicy minimumBackoff. */
+ public minimumBackoff?: (google.protobuf.IDuration|null);
+
+ /** RetryPolicy maximumBackoff. */
+ public maximumBackoff?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new RetryPolicy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RetryPolicy instance
+ */
+ public static create(properties?: google.pubsub.v1.IRetryPolicy): google.pubsub.v1.RetryPolicy;
+
+ /**
+ * Encodes the specified RetryPolicy message. Does not implicitly {@link google.pubsub.v1.RetryPolicy.verify|verify} messages.
+ * @param message RetryPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IRetryPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RetryPolicy message, length delimited. Does not implicitly {@link google.pubsub.v1.RetryPolicy.verify|verify} messages.
+ * @param message RetryPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IRetryPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RetryPolicy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RetryPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.RetryPolicy;
+
+ /**
+ * Decodes a RetryPolicy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RetryPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.RetryPolicy;
+
+ /**
+ * Verifies a RetryPolicy message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RetryPolicy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RetryPolicy
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.RetryPolicy;
+
+ /**
+ * Creates a plain object from a RetryPolicy message. Also converts values to other types if specified.
+ * @param message RetryPolicy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.RetryPolicy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RetryPolicy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RetryPolicy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeadLetterPolicy. */
+ interface IDeadLetterPolicy {
+
+ /** DeadLetterPolicy deadLetterTopic */
+ deadLetterTopic?: (string|null);
+
+ /** DeadLetterPolicy maxDeliveryAttempts */
+ maxDeliveryAttempts?: (number|null);
+ }
+
+ /** Represents a DeadLetterPolicy. */
+ class DeadLetterPolicy implements IDeadLetterPolicy {
+
+ /**
+ * Constructs a new DeadLetterPolicy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IDeadLetterPolicy);
+
+ /** DeadLetterPolicy deadLetterTopic. */
+ public deadLetterTopic: string;
+
+ /** DeadLetterPolicy maxDeliveryAttempts. */
+ public maxDeliveryAttempts: number;
+
+ /**
+ * Creates a new DeadLetterPolicy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeadLetterPolicy instance
+ */
+ public static create(properties?: google.pubsub.v1.IDeadLetterPolicy): google.pubsub.v1.DeadLetterPolicy;
+
+ /**
+ * Encodes the specified DeadLetterPolicy message. Does not implicitly {@link google.pubsub.v1.DeadLetterPolicy.verify|verify} messages.
+ * @param message DeadLetterPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IDeadLetterPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeadLetterPolicy message, length delimited. Does not implicitly {@link google.pubsub.v1.DeadLetterPolicy.verify|verify} messages.
+ * @param message DeadLetterPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IDeadLetterPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeadLetterPolicy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeadLetterPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.DeadLetterPolicy;
+
+ /**
+ * Decodes a DeadLetterPolicy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeadLetterPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.DeadLetterPolicy;
+
+ /**
+ * Verifies a DeadLetterPolicy message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeadLetterPolicy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeadLetterPolicy
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.DeadLetterPolicy;
+
+ /**
+ * Creates a plain object from a DeadLetterPolicy message. Also converts values to other types if specified.
+ * @param message DeadLetterPolicy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.DeadLetterPolicy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeadLetterPolicy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeadLetterPolicy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExpirationPolicy. */
+ interface IExpirationPolicy {
+
+ /** ExpirationPolicy ttl */
+ ttl?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents an ExpirationPolicy. */
+ class ExpirationPolicy implements IExpirationPolicy {
+
+ /**
+ * Constructs a new ExpirationPolicy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IExpirationPolicy);
+
+ /** ExpirationPolicy ttl. */
+ public ttl?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new ExpirationPolicy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExpirationPolicy instance
+ */
+ public static create(properties?: google.pubsub.v1.IExpirationPolicy): google.pubsub.v1.ExpirationPolicy;
+
+ /**
+ * Encodes the specified ExpirationPolicy message. Does not implicitly {@link google.pubsub.v1.ExpirationPolicy.verify|verify} messages.
+ * @param message ExpirationPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IExpirationPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExpirationPolicy message, length delimited. Does not implicitly {@link google.pubsub.v1.ExpirationPolicy.verify|verify} messages.
+ * @param message ExpirationPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IExpirationPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExpirationPolicy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExpirationPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ExpirationPolicy;
+
+ /**
+ * Decodes an ExpirationPolicy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExpirationPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ExpirationPolicy;
+
+ /**
+ * Verifies an ExpirationPolicy message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExpirationPolicy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExpirationPolicy
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ExpirationPolicy;
+
+ /**
+ * Creates a plain object from an ExpirationPolicy message. Also converts values to other types if specified.
+ * @param message ExpirationPolicy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ExpirationPolicy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExpirationPolicy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExpirationPolicy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PushConfig. */
+ interface IPushConfig {
+
+ /** PushConfig pushEndpoint */
+ pushEndpoint?: (string|null);
+
+ /** PushConfig attributes */
+ attributes?: ({ [k: string]: string }|null);
+
+ /** PushConfig oidcToken */
+ oidcToken?: (google.pubsub.v1.PushConfig.IOidcToken|null);
+
+ /** PushConfig pubsubWrapper */
+ pubsubWrapper?: (google.pubsub.v1.PushConfig.IPubsubWrapper|null);
+
+ /** PushConfig noWrapper */
+ noWrapper?: (google.pubsub.v1.PushConfig.INoWrapper|null);
+ }
+
+ /** Represents a PushConfig. */
+ class PushConfig implements IPushConfig {
+
+ /**
+ * Constructs a new PushConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IPushConfig);
+
+ /** PushConfig pushEndpoint. */
+ public pushEndpoint: string;
+
+ /** PushConfig attributes. */
+ public attributes: { [k: string]: string };
+
+ /** PushConfig oidcToken. */
+ public oidcToken?: (google.pubsub.v1.PushConfig.IOidcToken|null);
+
+ /** PushConfig pubsubWrapper. */
+ public pubsubWrapper?: (google.pubsub.v1.PushConfig.IPubsubWrapper|null);
+
+ /** PushConfig noWrapper. */
+ public noWrapper?: (google.pubsub.v1.PushConfig.INoWrapper|null);
+
+ /** PushConfig authenticationMethod. */
+ public authenticationMethod?: "oidcToken";
+
+ /** PushConfig wrapper. */
+ public wrapper?: ("pubsubWrapper"|"noWrapper");
+
+ /**
+ * Creates a new PushConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PushConfig instance
+ */
+ public static create(properties?: google.pubsub.v1.IPushConfig): google.pubsub.v1.PushConfig;
+
+ /**
+ * Encodes the specified PushConfig message. Does not implicitly {@link google.pubsub.v1.PushConfig.verify|verify} messages.
+ * @param message PushConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IPushConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PushConfig message, length delimited. Does not implicitly {@link google.pubsub.v1.PushConfig.verify|verify} messages.
+ * @param message PushConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IPushConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PushConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PushConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.PushConfig;
+
+ /**
+ * Decodes a PushConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PushConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.PushConfig;
+
+ /**
+ * Verifies a PushConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PushConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PushConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.PushConfig;
+
+ /**
+ * Creates a plain object from a PushConfig message. Also converts values to other types if specified.
+ * @param message PushConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.PushConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PushConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PushConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PushConfig {
+
+ /** Properties of an OidcToken. */
+ interface IOidcToken {
+
+ /** OidcToken serviceAccountEmail */
+ serviceAccountEmail?: (string|null);
+
+ /** OidcToken audience */
+ audience?: (string|null);
+ }
+
+ /** Represents an OidcToken. */
+ class OidcToken implements IOidcToken {
+
+ /**
+ * Constructs a new OidcToken.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.PushConfig.IOidcToken);
+
+ /** OidcToken serviceAccountEmail. */
+ public serviceAccountEmail: string;
+
+ /** OidcToken audience. */
+ public audience: string;
+
+ /**
+ * Creates a new OidcToken instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OidcToken instance
+ */
+ public static create(properties?: google.pubsub.v1.PushConfig.IOidcToken): google.pubsub.v1.PushConfig.OidcToken;
+
+ /**
+ * Encodes the specified OidcToken message. Does not implicitly {@link google.pubsub.v1.PushConfig.OidcToken.verify|verify} messages.
+ * @param message OidcToken message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.PushConfig.IOidcToken, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OidcToken message, length delimited. Does not implicitly {@link google.pubsub.v1.PushConfig.OidcToken.verify|verify} messages.
+ * @param message OidcToken message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.PushConfig.IOidcToken, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OidcToken message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OidcToken
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.PushConfig.OidcToken;
+
+ /**
+ * Decodes an OidcToken message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OidcToken
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.PushConfig.OidcToken;
+
+ /**
+ * Verifies an OidcToken message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OidcToken message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OidcToken
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.PushConfig.OidcToken;
+
+ /**
+ * Creates a plain object from an OidcToken message. Also converts values to other types if specified.
+ * @param message OidcToken
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.PushConfig.OidcToken, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OidcToken to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OidcToken
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PubsubWrapper. */
+ interface IPubsubWrapper {
+ }
+
+ /** Represents a PubsubWrapper. */
+ class PubsubWrapper implements IPubsubWrapper {
+
+ /**
+ * Constructs a new PubsubWrapper.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.PushConfig.IPubsubWrapper);
+
+ /**
+ * Creates a new PubsubWrapper instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PubsubWrapper instance
+ */
+ public static create(properties?: google.pubsub.v1.PushConfig.IPubsubWrapper): google.pubsub.v1.PushConfig.PubsubWrapper;
+
+ /**
+ * Encodes the specified PubsubWrapper message. Does not implicitly {@link google.pubsub.v1.PushConfig.PubsubWrapper.verify|verify} messages.
+ * @param message PubsubWrapper message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.PushConfig.IPubsubWrapper, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PubsubWrapper message, length delimited. Does not implicitly {@link google.pubsub.v1.PushConfig.PubsubWrapper.verify|verify} messages.
+ * @param message PubsubWrapper message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.PushConfig.IPubsubWrapper, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PubsubWrapper message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PubsubWrapper
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.PushConfig.PubsubWrapper;
+
+ /**
+ * Decodes a PubsubWrapper message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PubsubWrapper
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.PushConfig.PubsubWrapper;
+
+ /**
+ * Verifies a PubsubWrapper message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PubsubWrapper message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PubsubWrapper
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.PushConfig.PubsubWrapper;
+
+ /**
+ * Creates a plain object from a PubsubWrapper message. Also converts values to other types if specified.
+ * @param message PubsubWrapper
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.PushConfig.PubsubWrapper, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PubsubWrapper to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PubsubWrapper
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NoWrapper. */
+ interface INoWrapper {
+
+ /** NoWrapper writeMetadata */
+ writeMetadata?: (boolean|null);
+ }
+
+ /** Represents a NoWrapper. */
+ class NoWrapper implements INoWrapper {
+
+ /**
+ * Constructs a new NoWrapper.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.PushConfig.INoWrapper);
+
+ /** NoWrapper writeMetadata. */
+ public writeMetadata: boolean;
+
+ /**
+ * Creates a new NoWrapper instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NoWrapper instance
+ */
+ public static create(properties?: google.pubsub.v1.PushConfig.INoWrapper): google.pubsub.v1.PushConfig.NoWrapper;
+
+ /**
+ * Encodes the specified NoWrapper message. Does not implicitly {@link google.pubsub.v1.PushConfig.NoWrapper.verify|verify} messages.
+ * @param message NoWrapper message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.PushConfig.INoWrapper, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NoWrapper message, length delimited. Does not implicitly {@link google.pubsub.v1.PushConfig.NoWrapper.verify|verify} messages.
+ * @param message NoWrapper message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.PushConfig.INoWrapper, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NoWrapper message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NoWrapper
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.PushConfig.NoWrapper;
+
+ /**
+ * Decodes a NoWrapper message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NoWrapper
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.PushConfig.NoWrapper;
+
+ /**
+ * Verifies a NoWrapper message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NoWrapper message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NoWrapper
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.PushConfig.NoWrapper;
+
+ /**
+ * Creates a plain object from a NoWrapper message. Also converts values to other types if specified.
+ * @param message NoWrapper
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.PushConfig.NoWrapper, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NoWrapper to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NoWrapper
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a BigQueryConfig. */
+ interface IBigQueryConfig {
+
+ /** BigQueryConfig table */
+ table?: (string|null);
+
+ /** BigQueryConfig useTopicSchema */
+ useTopicSchema?: (boolean|null);
+
+ /** BigQueryConfig writeMetadata */
+ writeMetadata?: (boolean|null);
+
+ /** BigQueryConfig dropUnknownFields */
+ dropUnknownFields?: (boolean|null);
+
+ /** BigQueryConfig state */
+ state?: (google.pubsub.v1.BigQueryConfig.State|keyof typeof google.pubsub.v1.BigQueryConfig.State|null);
+
+ /** BigQueryConfig useTableSchema */
+ useTableSchema?: (boolean|null);
+
+ /** BigQueryConfig serviceAccountEmail */
+ serviceAccountEmail?: (string|null);
+ }
+
+ /** Represents a BigQueryConfig. */
+ class BigQueryConfig implements IBigQueryConfig {
+
+ /**
+ * Constructs a new BigQueryConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IBigQueryConfig);
+
+ /** BigQueryConfig table. */
+ public table: string;
+
+ /** BigQueryConfig useTopicSchema. */
+ public useTopicSchema: boolean;
+
+ /** BigQueryConfig writeMetadata. */
+ public writeMetadata: boolean;
+
+ /** BigQueryConfig dropUnknownFields. */
+ public dropUnknownFields: boolean;
+
+ /** BigQueryConfig state. */
+ public state: (google.pubsub.v1.BigQueryConfig.State|keyof typeof google.pubsub.v1.BigQueryConfig.State);
+
+ /** BigQueryConfig useTableSchema. */
+ public useTableSchema: boolean;
+
+ /** BigQueryConfig serviceAccountEmail. */
+ public serviceAccountEmail: string;
+
+ /**
+ * Creates a new BigQueryConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQueryConfig instance
+ */
+ public static create(properties?: google.pubsub.v1.IBigQueryConfig): google.pubsub.v1.BigQueryConfig;
+
+ /**
+ * Encodes the specified BigQueryConfig message. Does not implicitly {@link google.pubsub.v1.BigQueryConfig.verify|verify} messages.
+ * @param message BigQueryConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IBigQueryConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQueryConfig message, length delimited. Does not implicitly {@link google.pubsub.v1.BigQueryConfig.verify|verify} messages.
+ * @param message BigQueryConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IBigQueryConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQueryConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQueryConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.BigQueryConfig;
+
+ /**
+ * Decodes a BigQueryConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQueryConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.BigQueryConfig;
+
+ /**
+ * Verifies a BigQueryConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BigQueryConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQueryConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.BigQueryConfig;
+
+ /**
+ * Creates a plain object from a BigQueryConfig message. Also converts values to other types if specified.
+ * @param message BigQueryConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.BigQueryConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQueryConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BigQueryConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace BigQueryConfig {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ ACTIVE = 1,
+ PERMISSION_DENIED = 2,
+ NOT_FOUND = 3,
+ SCHEMA_MISMATCH = 4,
+ IN_TRANSIT_LOCATION_RESTRICTION = 5
+ }
+ }
+
+ /** Properties of a CloudStorageConfig. */
+ interface ICloudStorageConfig {
+
+ /** CloudStorageConfig bucket */
+ bucket?: (string|null);
+
+ /** CloudStorageConfig filenamePrefix */
+ filenamePrefix?: (string|null);
+
+ /** CloudStorageConfig filenameSuffix */
+ filenameSuffix?: (string|null);
+
+ /** CloudStorageConfig filenameDatetimeFormat */
+ filenameDatetimeFormat?: (string|null);
+
+ /** CloudStorageConfig textConfig */
+ textConfig?: (google.pubsub.v1.CloudStorageConfig.ITextConfig|null);
+
+ /** CloudStorageConfig avroConfig */
+ avroConfig?: (google.pubsub.v1.CloudStorageConfig.IAvroConfig|null);
+
+ /** CloudStorageConfig maxDuration */
+ maxDuration?: (google.protobuf.IDuration|null);
+
+ /** CloudStorageConfig maxBytes */
+ maxBytes?: (number|Long|string|null);
+
+ /** CloudStorageConfig maxMessages */
+ maxMessages?: (number|Long|string|null);
+
+ /** CloudStorageConfig state */
+ state?: (google.pubsub.v1.CloudStorageConfig.State|keyof typeof google.pubsub.v1.CloudStorageConfig.State|null);
+
+ /** CloudStorageConfig serviceAccountEmail */
+ serviceAccountEmail?: (string|null);
+ }
+
+ /** Represents a CloudStorageConfig. */
+ class CloudStorageConfig implements ICloudStorageConfig {
+
+ /**
+ * Constructs a new CloudStorageConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.ICloudStorageConfig);
+
+ /** CloudStorageConfig bucket. */
+ public bucket: string;
+
+ /** CloudStorageConfig filenamePrefix. */
+ public filenamePrefix: string;
+
+ /** CloudStorageConfig filenameSuffix. */
+ public filenameSuffix: string;
+
+ /** CloudStorageConfig filenameDatetimeFormat. */
+ public filenameDatetimeFormat: string;
+
+ /** CloudStorageConfig textConfig. */
+ public textConfig?: (google.pubsub.v1.CloudStorageConfig.ITextConfig|null);
+
+ /** CloudStorageConfig avroConfig. */
+ public avroConfig?: (google.pubsub.v1.CloudStorageConfig.IAvroConfig|null);
+
+ /** CloudStorageConfig maxDuration. */
+ public maxDuration?: (google.protobuf.IDuration|null);
+
+ /** CloudStorageConfig maxBytes. */
+ public maxBytes: (number|Long|string);
+
+ /** CloudStorageConfig maxMessages. */
+ public maxMessages: (number|Long|string);
+
+ /** CloudStorageConfig state. */
+ public state: (google.pubsub.v1.CloudStorageConfig.State|keyof typeof google.pubsub.v1.CloudStorageConfig.State);
+
+ /** CloudStorageConfig serviceAccountEmail. */
+ public serviceAccountEmail: string;
+
+ /** CloudStorageConfig outputFormat. */
+ public outputFormat?: ("textConfig"|"avroConfig");
+
+ /**
+ * Creates a new CloudStorageConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CloudStorageConfig instance
+ */
+ public static create(properties?: google.pubsub.v1.ICloudStorageConfig): google.pubsub.v1.CloudStorageConfig;
+
+ /**
+ * Encodes the specified CloudStorageConfig message. Does not implicitly {@link google.pubsub.v1.CloudStorageConfig.verify|verify} messages.
+ * @param message CloudStorageConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.ICloudStorageConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CloudStorageConfig message, length delimited. Does not implicitly {@link google.pubsub.v1.CloudStorageConfig.verify|verify} messages.
+ * @param message CloudStorageConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.ICloudStorageConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CloudStorageConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CloudStorageConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.CloudStorageConfig;
+
+ /**
+ * Decodes a CloudStorageConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CloudStorageConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.CloudStorageConfig;
+
+ /**
+ * Verifies a CloudStorageConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CloudStorageConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CloudStorageConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.CloudStorageConfig;
+
+ /**
+ * Creates a plain object from a CloudStorageConfig message. Also converts values to other types if specified.
+ * @param message CloudStorageConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.CloudStorageConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CloudStorageConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CloudStorageConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CloudStorageConfig {
+
+ /** Properties of a TextConfig. */
+ interface ITextConfig {
+ }
+
+ /** Represents a TextConfig. */
+ class TextConfig implements ITextConfig {
+
+ /**
+ * Constructs a new TextConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.CloudStorageConfig.ITextConfig);
+
+ /**
+ * Creates a new TextConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextConfig instance
+ */
+ public static create(properties?: google.pubsub.v1.CloudStorageConfig.ITextConfig): google.pubsub.v1.CloudStorageConfig.TextConfig;
+
+ /**
+ * Encodes the specified TextConfig message. Does not implicitly {@link google.pubsub.v1.CloudStorageConfig.TextConfig.verify|verify} messages.
+ * @param message TextConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.CloudStorageConfig.ITextConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextConfig message, length delimited. Does not implicitly {@link google.pubsub.v1.CloudStorageConfig.TextConfig.verify|verify} messages.
+ * @param message TextConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.CloudStorageConfig.ITextConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.CloudStorageConfig.TextConfig;
+
+ /**
+ * Decodes a TextConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.CloudStorageConfig.TextConfig;
+
+ /**
+ * Verifies a TextConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.CloudStorageConfig.TextConfig;
+
+ /**
+ * Creates a plain object from a TextConfig message. Also converts values to other types if specified.
+ * @param message TextConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.CloudStorageConfig.TextConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AvroConfig. */
+ interface IAvroConfig {
+
+ /** AvroConfig writeMetadata */
+ writeMetadata?: (boolean|null);
+
+ /** AvroConfig useTopicSchema */
+ useTopicSchema?: (boolean|null);
+ }
+
+ /** Represents an AvroConfig. */
+ class AvroConfig implements IAvroConfig {
+
+ /**
+ * Constructs a new AvroConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.CloudStorageConfig.IAvroConfig);
+
+ /** AvroConfig writeMetadata. */
+ public writeMetadata: boolean;
+
+ /** AvroConfig useTopicSchema. */
+ public useTopicSchema: boolean;
+
+ /**
+ * Creates a new AvroConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AvroConfig instance
+ */
+ public static create(properties?: google.pubsub.v1.CloudStorageConfig.IAvroConfig): google.pubsub.v1.CloudStorageConfig.AvroConfig;
+
+ /**
+ * Encodes the specified AvroConfig message. Does not implicitly {@link google.pubsub.v1.CloudStorageConfig.AvroConfig.verify|verify} messages.
+ * @param message AvroConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.CloudStorageConfig.IAvroConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AvroConfig message, length delimited. Does not implicitly {@link google.pubsub.v1.CloudStorageConfig.AvroConfig.verify|verify} messages.
+ * @param message AvroConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.CloudStorageConfig.IAvroConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AvroConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AvroConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.CloudStorageConfig.AvroConfig;
+
+ /**
+ * Decodes an AvroConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AvroConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.CloudStorageConfig.AvroConfig;
+
+ /**
+ * Verifies an AvroConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AvroConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AvroConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.CloudStorageConfig.AvroConfig;
+
+ /**
+ * Creates a plain object from an AvroConfig message. Also converts values to other types if specified.
+ * @param message AvroConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.CloudStorageConfig.AvroConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AvroConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AvroConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ ACTIVE = 1,
+ PERMISSION_DENIED = 2,
+ NOT_FOUND = 3,
+ IN_TRANSIT_LOCATION_RESTRICTION = 4,
+ SCHEMA_MISMATCH = 5
+ }
+ }
+
+ /** Properties of a ReceivedMessage. */
+ interface IReceivedMessage {
+
+ /** ReceivedMessage ackId */
+ ackId?: (string|null);
+
+ /** ReceivedMessage message */
+ message?: (google.pubsub.v1.IPubsubMessage|null);
+
+ /** ReceivedMessage deliveryAttempt */
+ deliveryAttempt?: (number|null);
+ }
+
+ /** Represents a ReceivedMessage. */
+ class ReceivedMessage implements IReceivedMessage {
+
+ /**
+ * Constructs a new ReceivedMessage.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IReceivedMessage);
+
+ /** ReceivedMessage ackId. */
+ public ackId: string;
+
+ /** ReceivedMessage message. */
+ public message?: (google.pubsub.v1.IPubsubMessage|null);
+
+ /** ReceivedMessage deliveryAttempt. */
+ public deliveryAttempt: number;
+
+ /**
+ * Creates a new ReceivedMessage instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReceivedMessage instance
+ */
+ public static create(properties?: google.pubsub.v1.IReceivedMessage): google.pubsub.v1.ReceivedMessage;
+
+ /**
+ * Encodes the specified ReceivedMessage message. Does not implicitly {@link google.pubsub.v1.ReceivedMessage.verify|verify} messages.
+ * @param message ReceivedMessage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IReceivedMessage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReceivedMessage message, length delimited. Does not implicitly {@link google.pubsub.v1.ReceivedMessage.verify|verify} messages.
+ * @param message ReceivedMessage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IReceivedMessage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReceivedMessage message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReceivedMessage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ReceivedMessage;
+
+ /**
+ * Decodes a ReceivedMessage message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReceivedMessage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ReceivedMessage;
+
+ /**
+ * Verifies a ReceivedMessage message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReceivedMessage message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReceivedMessage
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ReceivedMessage;
+
+ /**
+ * Creates a plain object from a ReceivedMessage message. Also converts values to other types if specified.
+ * @param message ReceivedMessage
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ReceivedMessage, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReceivedMessage to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReceivedMessage
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetSubscriptionRequest. */
+ interface IGetSubscriptionRequest {
+
+ /** GetSubscriptionRequest subscription */
+ subscription?: (string|null);
+ }
+
+ /** Represents a GetSubscriptionRequest. */
+ class GetSubscriptionRequest implements IGetSubscriptionRequest {
+
+ /**
+ * Constructs a new GetSubscriptionRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IGetSubscriptionRequest);
+
+ /** GetSubscriptionRequest subscription. */
+ public subscription: string;
+
+ /**
+ * Creates a new GetSubscriptionRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetSubscriptionRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IGetSubscriptionRequest): google.pubsub.v1.GetSubscriptionRequest;
+
+ /**
+ * Encodes the specified GetSubscriptionRequest message. Does not implicitly {@link google.pubsub.v1.GetSubscriptionRequest.verify|verify} messages.
+ * @param message GetSubscriptionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IGetSubscriptionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetSubscriptionRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.GetSubscriptionRequest.verify|verify} messages.
+ * @param message GetSubscriptionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IGetSubscriptionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetSubscriptionRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetSubscriptionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.GetSubscriptionRequest;
+
+ /**
+ * Decodes a GetSubscriptionRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetSubscriptionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.GetSubscriptionRequest;
+
+ /**
+ * Verifies a GetSubscriptionRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetSubscriptionRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetSubscriptionRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.GetSubscriptionRequest;
+
+ /**
+ * Creates a plain object from a GetSubscriptionRequest message. Also converts values to other types if specified.
+ * @param message GetSubscriptionRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.GetSubscriptionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetSubscriptionRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetSubscriptionRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateSubscriptionRequest. */
+ interface IUpdateSubscriptionRequest {
+
+ /** UpdateSubscriptionRequest subscription */
+ subscription?: (google.pubsub.v1.ISubscription|null);
+
+ /** UpdateSubscriptionRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateSubscriptionRequest. */
+ class UpdateSubscriptionRequest implements IUpdateSubscriptionRequest {
+
+ /**
+ * Constructs a new UpdateSubscriptionRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IUpdateSubscriptionRequest);
+
+ /** UpdateSubscriptionRequest subscription. */
+ public subscription?: (google.pubsub.v1.ISubscription|null);
+
+ /** UpdateSubscriptionRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateSubscriptionRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateSubscriptionRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IUpdateSubscriptionRequest): google.pubsub.v1.UpdateSubscriptionRequest;
+
+ /**
+ * Encodes the specified UpdateSubscriptionRequest message. Does not implicitly {@link google.pubsub.v1.UpdateSubscriptionRequest.verify|verify} messages.
+ * @param message UpdateSubscriptionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IUpdateSubscriptionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateSubscriptionRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.UpdateSubscriptionRequest.verify|verify} messages.
+ * @param message UpdateSubscriptionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IUpdateSubscriptionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateSubscriptionRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateSubscriptionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.UpdateSubscriptionRequest;
+
+ /**
+ * Decodes an UpdateSubscriptionRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateSubscriptionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.UpdateSubscriptionRequest;
+
+ /**
+ * Verifies an UpdateSubscriptionRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UpdateSubscriptionRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateSubscriptionRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.UpdateSubscriptionRequest;
+
+ /**
+ * Creates a plain object from an UpdateSubscriptionRequest message. Also converts values to other types if specified.
+ * @param message UpdateSubscriptionRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.UpdateSubscriptionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateSubscriptionRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateSubscriptionRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSubscriptionsRequest. */
+ interface IListSubscriptionsRequest {
+
+ /** ListSubscriptionsRequest project */
+ project?: (string|null);
+
+ /** ListSubscriptionsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListSubscriptionsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListSubscriptionsRequest. */
+ class ListSubscriptionsRequest implements IListSubscriptionsRequest {
+
+ /**
+ * Constructs a new ListSubscriptionsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IListSubscriptionsRequest);
+
+ /** ListSubscriptionsRequest project. */
+ public project: string;
+
+ /** ListSubscriptionsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListSubscriptionsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListSubscriptionsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSubscriptionsRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IListSubscriptionsRequest): google.pubsub.v1.ListSubscriptionsRequest;
+
+ /**
+ * Encodes the specified ListSubscriptionsRequest message. Does not implicitly {@link google.pubsub.v1.ListSubscriptionsRequest.verify|verify} messages.
+ * @param message ListSubscriptionsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IListSubscriptionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSubscriptionsRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.ListSubscriptionsRequest.verify|verify} messages.
+ * @param message ListSubscriptionsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IListSubscriptionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSubscriptionsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSubscriptionsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ListSubscriptionsRequest;
+
+ /**
+ * Decodes a ListSubscriptionsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSubscriptionsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ListSubscriptionsRequest;
+
+ /**
+ * Verifies a ListSubscriptionsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListSubscriptionsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSubscriptionsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ListSubscriptionsRequest;
+
+ /**
+ * Creates a plain object from a ListSubscriptionsRequest message. Also converts values to other types if specified.
+ * @param message ListSubscriptionsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ListSubscriptionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSubscriptionsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSubscriptionsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSubscriptionsResponse. */
+ interface IListSubscriptionsResponse {
+
+ /** ListSubscriptionsResponse subscriptions */
+ subscriptions?: (google.pubsub.v1.ISubscription[]|null);
+
+ /** ListSubscriptionsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListSubscriptionsResponse. */
+ class ListSubscriptionsResponse implements IListSubscriptionsResponse {
+
+ /**
+ * Constructs a new ListSubscriptionsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IListSubscriptionsResponse);
+
+ /** ListSubscriptionsResponse subscriptions. */
+ public subscriptions: google.pubsub.v1.ISubscription[];
+
+ /** ListSubscriptionsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListSubscriptionsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSubscriptionsResponse instance
+ */
+ public static create(properties?: google.pubsub.v1.IListSubscriptionsResponse): google.pubsub.v1.ListSubscriptionsResponse;
+
+ /**
+ * Encodes the specified ListSubscriptionsResponse message. Does not implicitly {@link google.pubsub.v1.ListSubscriptionsResponse.verify|verify} messages.
+ * @param message ListSubscriptionsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IListSubscriptionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSubscriptionsResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.ListSubscriptionsResponse.verify|verify} messages.
+ * @param message ListSubscriptionsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IListSubscriptionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSubscriptionsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSubscriptionsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ListSubscriptionsResponse;
+
+ /**
+ * Decodes a ListSubscriptionsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSubscriptionsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ListSubscriptionsResponse;
+
+ /**
+ * Verifies a ListSubscriptionsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListSubscriptionsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSubscriptionsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ListSubscriptionsResponse;
+
+ /**
+ * Creates a plain object from a ListSubscriptionsResponse message. Also converts values to other types if specified.
+ * @param message ListSubscriptionsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ListSubscriptionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSubscriptionsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSubscriptionsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteSubscriptionRequest. */
+ interface IDeleteSubscriptionRequest {
+
+ /** DeleteSubscriptionRequest subscription */
+ subscription?: (string|null);
+ }
+
+ /** Represents a DeleteSubscriptionRequest. */
+ class DeleteSubscriptionRequest implements IDeleteSubscriptionRequest {
+
+ /**
+ * Constructs a new DeleteSubscriptionRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IDeleteSubscriptionRequest);
+
+ /** DeleteSubscriptionRequest subscription. */
+ public subscription: string;
+
+ /**
+ * Creates a new DeleteSubscriptionRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteSubscriptionRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IDeleteSubscriptionRequest): google.pubsub.v1.DeleteSubscriptionRequest;
+
+ /**
+ * Encodes the specified DeleteSubscriptionRequest message. Does not implicitly {@link google.pubsub.v1.DeleteSubscriptionRequest.verify|verify} messages.
+ * @param message DeleteSubscriptionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IDeleteSubscriptionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteSubscriptionRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.DeleteSubscriptionRequest.verify|verify} messages.
+ * @param message DeleteSubscriptionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IDeleteSubscriptionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteSubscriptionRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteSubscriptionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.DeleteSubscriptionRequest;
+
+ /**
+ * Decodes a DeleteSubscriptionRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteSubscriptionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.DeleteSubscriptionRequest;
+
+ /**
+ * Verifies a DeleteSubscriptionRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteSubscriptionRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteSubscriptionRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.DeleteSubscriptionRequest;
+
+ /**
+ * Creates a plain object from a DeleteSubscriptionRequest message. Also converts values to other types if specified.
+ * @param message DeleteSubscriptionRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.DeleteSubscriptionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteSubscriptionRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteSubscriptionRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ModifyPushConfigRequest. */
+ interface IModifyPushConfigRequest {
+
+ /** ModifyPushConfigRequest subscription */
+ subscription?: (string|null);
+
+ /** ModifyPushConfigRequest pushConfig */
+ pushConfig?: (google.pubsub.v1.IPushConfig|null);
+ }
+
+ /** Represents a ModifyPushConfigRequest. */
+ class ModifyPushConfigRequest implements IModifyPushConfigRequest {
+
+ /**
+ * Constructs a new ModifyPushConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IModifyPushConfigRequest);
+
+ /** ModifyPushConfigRequest subscription. */
+ public subscription: string;
+
+ /** ModifyPushConfigRequest pushConfig. */
+ public pushConfig?: (google.pubsub.v1.IPushConfig|null);
+
+ /**
+ * Creates a new ModifyPushConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ModifyPushConfigRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IModifyPushConfigRequest): google.pubsub.v1.ModifyPushConfigRequest;
+
+ /**
+ * Encodes the specified ModifyPushConfigRequest message. Does not implicitly {@link google.pubsub.v1.ModifyPushConfigRequest.verify|verify} messages.
+ * @param message ModifyPushConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IModifyPushConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ModifyPushConfigRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.ModifyPushConfigRequest.verify|verify} messages.
+ * @param message ModifyPushConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IModifyPushConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ModifyPushConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ModifyPushConfigRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ModifyPushConfigRequest;
+
+ /**
+ * Decodes a ModifyPushConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ModifyPushConfigRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ModifyPushConfigRequest;
+
+ /**
+ * Verifies a ModifyPushConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ModifyPushConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ModifyPushConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ModifyPushConfigRequest;
+
+ /**
+ * Creates a plain object from a ModifyPushConfigRequest message. Also converts values to other types if specified.
+ * @param message ModifyPushConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ModifyPushConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ModifyPushConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ModifyPushConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PullRequest. */
+ interface IPullRequest {
+
+ /** PullRequest subscription */
+ subscription?: (string|null);
+
+ /** PullRequest returnImmediately */
+ returnImmediately?: (boolean|null);
+
+ /** PullRequest maxMessages */
+ maxMessages?: (number|null);
+ }
+
+ /** Represents a PullRequest. */
+ class PullRequest implements IPullRequest {
+
+ /**
+ * Constructs a new PullRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IPullRequest);
+
+ /** PullRequest subscription. */
+ public subscription: string;
+
+ /** PullRequest returnImmediately. */
+ public returnImmediately: boolean;
+
+ /** PullRequest maxMessages. */
+ public maxMessages: number;
+
+ /**
+ * Creates a new PullRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PullRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IPullRequest): google.pubsub.v1.PullRequest;
+
+ /**
+ * Encodes the specified PullRequest message. Does not implicitly {@link google.pubsub.v1.PullRequest.verify|verify} messages.
+ * @param message PullRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IPullRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PullRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.PullRequest.verify|verify} messages.
+ * @param message PullRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IPullRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PullRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PullRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.PullRequest;
+
+ /**
+ * Decodes a PullRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PullRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.PullRequest;
+
+ /**
+ * Verifies a PullRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PullRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PullRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.PullRequest;
+
+ /**
+ * Creates a plain object from a PullRequest message. Also converts values to other types if specified.
+ * @param message PullRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.PullRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PullRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PullRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PullResponse. */
+ interface IPullResponse {
+
+ /** PullResponse receivedMessages */
+ receivedMessages?: (google.pubsub.v1.IReceivedMessage[]|null);
+ }
+
+ /** Represents a PullResponse. */
+ class PullResponse implements IPullResponse {
+
+ /**
+ * Constructs a new PullResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IPullResponse);
+
+ /** PullResponse receivedMessages. */
+ public receivedMessages: google.pubsub.v1.IReceivedMessage[];
+
+ /**
+ * Creates a new PullResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PullResponse instance
+ */
+ public static create(properties?: google.pubsub.v1.IPullResponse): google.pubsub.v1.PullResponse;
+
+ /**
+ * Encodes the specified PullResponse message. Does not implicitly {@link google.pubsub.v1.PullResponse.verify|verify} messages.
+ * @param message PullResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IPullResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PullResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.PullResponse.verify|verify} messages.
+ * @param message PullResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IPullResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PullResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PullResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.PullResponse;
+
+ /**
+ * Decodes a PullResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PullResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.PullResponse;
+
+ /**
+ * Verifies a PullResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PullResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PullResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.PullResponse;
+
+ /**
+ * Creates a plain object from a PullResponse message. Also converts values to other types if specified.
+ * @param message PullResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.PullResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PullResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PullResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ModifyAckDeadlineRequest. */
+ interface IModifyAckDeadlineRequest {
+
+ /** ModifyAckDeadlineRequest subscription */
+ subscription?: (string|null);
+
+ /** ModifyAckDeadlineRequest ackIds */
+ ackIds?: (string[]|null);
+
+ /** ModifyAckDeadlineRequest ackDeadlineSeconds */
+ ackDeadlineSeconds?: (number|null);
+ }
+
+ /** Represents a ModifyAckDeadlineRequest. */
+ class ModifyAckDeadlineRequest implements IModifyAckDeadlineRequest {
+
+ /**
+ * Constructs a new ModifyAckDeadlineRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IModifyAckDeadlineRequest);
+
+ /** ModifyAckDeadlineRequest subscription. */
+ public subscription: string;
+
+ /** ModifyAckDeadlineRequest ackIds. */
+ public ackIds: string[];
+
+ /** ModifyAckDeadlineRequest ackDeadlineSeconds. */
+ public ackDeadlineSeconds: number;
+
+ /**
+ * Creates a new ModifyAckDeadlineRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ModifyAckDeadlineRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IModifyAckDeadlineRequest): google.pubsub.v1.ModifyAckDeadlineRequest;
+
+ /**
+ * Encodes the specified ModifyAckDeadlineRequest message. Does not implicitly {@link google.pubsub.v1.ModifyAckDeadlineRequest.verify|verify} messages.
+ * @param message ModifyAckDeadlineRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IModifyAckDeadlineRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ModifyAckDeadlineRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.ModifyAckDeadlineRequest.verify|verify} messages.
+ * @param message ModifyAckDeadlineRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IModifyAckDeadlineRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ModifyAckDeadlineRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ModifyAckDeadlineRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ModifyAckDeadlineRequest;
+
+ /**
+ * Decodes a ModifyAckDeadlineRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ModifyAckDeadlineRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ModifyAckDeadlineRequest;
+
+ /**
+ * Verifies a ModifyAckDeadlineRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ModifyAckDeadlineRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ModifyAckDeadlineRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ModifyAckDeadlineRequest;
+
+ /**
+ * Creates a plain object from a ModifyAckDeadlineRequest message. Also converts values to other types if specified.
+ * @param message ModifyAckDeadlineRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ModifyAckDeadlineRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ModifyAckDeadlineRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ModifyAckDeadlineRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AcknowledgeRequest. */
+ interface IAcknowledgeRequest {
+
+ /** AcknowledgeRequest subscription */
+ subscription?: (string|null);
+
+ /** AcknowledgeRequest ackIds */
+ ackIds?: (string[]|null);
+ }
+
+ /** Represents an AcknowledgeRequest. */
+ class AcknowledgeRequest implements IAcknowledgeRequest {
+
+ /**
+ * Constructs a new AcknowledgeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IAcknowledgeRequest);
+
+ /** AcknowledgeRequest subscription. */
+ public subscription: string;
+
+ /** AcknowledgeRequest ackIds. */
+ public ackIds: string[];
+
+ /**
+ * Creates a new AcknowledgeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AcknowledgeRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IAcknowledgeRequest): google.pubsub.v1.AcknowledgeRequest;
+
+ /**
+ * Encodes the specified AcknowledgeRequest message. Does not implicitly {@link google.pubsub.v1.AcknowledgeRequest.verify|verify} messages.
+ * @param message AcknowledgeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IAcknowledgeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AcknowledgeRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.AcknowledgeRequest.verify|verify} messages.
+ * @param message AcknowledgeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IAcknowledgeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AcknowledgeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AcknowledgeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.AcknowledgeRequest;
+
+ /**
+ * Decodes an AcknowledgeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AcknowledgeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.AcknowledgeRequest;
+
+ /**
+ * Verifies an AcknowledgeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AcknowledgeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AcknowledgeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.AcknowledgeRequest;
+
+ /**
+ * Creates a plain object from an AcknowledgeRequest message. Also converts values to other types if specified.
+ * @param message AcknowledgeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.AcknowledgeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AcknowledgeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AcknowledgeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StreamingPullRequest. */
+ interface IStreamingPullRequest {
+
+ /** StreamingPullRequest subscription */
+ subscription?: (string|null);
+
+ /** StreamingPullRequest ackIds */
+ ackIds?: (string[]|null);
+
+ /** StreamingPullRequest modifyDeadlineSeconds */
+ modifyDeadlineSeconds?: (number[]|null);
+
+ /** StreamingPullRequest modifyDeadlineAckIds */
+ modifyDeadlineAckIds?: (string[]|null);
+
+ /** StreamingPullRequest streamAckDeadlineSeconds */
+ streamAckDeadlineSeconds?: (number|null);
+
+ /** StreamingPullRequest clientId */
+ clientId?: (string|null);
+
+ /** StreamingPullRequest maxOutstandingMessages */
+ maxOutstandingMessages?: (number|Long|string|null);
+
+ /** StreamingPullRequest maxOutstandingBytes */
+ maxOutstandingBytes?: (number|Long|string|null);
+
+ /** StreamingPullRequest protocolVersion */
+ protocolVersion?: (number|Long|string|null);
+ }
+
+ /** Represents a StreamingPullRequest. */
+ class StreamingPullRequest implements IStreamingPullRequest {
+
+ /**
+ * Constructs a new StreamingPullRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IStreamingPullRequest);
+
+ /** StreamingPullRequest subscription. */
+ public subscription: string;
+
+ /** StreamingPullRequest ackIds. */
+ public ackIds: string[];
+
+ /** StreamingPullRequest modifyDeadlineSeconds. */
+ public modifyDeadlineSeconds: number[];
+
+ /** StreamingPullRequest modifyDeadlineAckIds. */
+ public modifyDeadlineAckIds: string[];
+
+ /** StreamingPullRequest streamAckDeadlineSeconds. */
+ public streamAckDeadlineSeconds: number;
+
+ /** StreamingPullRequest clientId. */
+ public clientId: string;
+
+ /** StreamingPullRequest maxOutstandingMessages. */
+ public maxOutstandingMessages: (number|Long|string);
+
+ /** StreamingPullRequest maxOutstandingBytes. */
+ public maxOutstandingBytes: (number|Long|string);
+
+ /** StreamingPullRequest protocolVersion. */
+ public protocolVersion: (number|Long|string);
+
+ /**
+ * Creates a new StreamingPullRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StreamingPullRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IStreamingPullRequest): google.pubsub.v1.StreamingPullRequest;
+
+ /**
+ * Encodes the specified StreamingPullRequest message. Does not implicitly {@link google.pubsub.v1.StreamingPullRequest.verify|verify} messages.
+ * @param message StreamingPullRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IStreamingPullRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StreamingPullRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.StreamingPullRequest.verify|verify} messages.
+ * @param message StreamingPullRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IStreamingPullRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StreamingPullRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StreamingPullRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.StreamingPullRequest;
+
+ /**
+ * Decodes a StreamingPullRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StreamingPullRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.StreamingPullRequest;
+
+ /**
+ * Verifies a StreamingPullRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StreamingPullRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StreamingPullRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.StreamingPullRequest;
+
+ /**
+ * Creates a plain object from a StreamingPullRequest message. Also converts values to other types if specified.
+ * @param message StreamingPullRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.StreamingPullRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StreamingPullRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StreamingPullRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StreamingPullResponse. */
+ interface IStreamingPullResponse {
+
+ /** StreamingPullResponse receivedMessages */
+ receivedMessages?: (google.pubsub.v1.IReceivedMessage[]|null);
+
+ /** StreamingPullResponse acknowledgeConfirmation */
+ acknowledgeConfirmation?: (google.pubsub.v1.StreamingPullResponse.IAcknowledgeConfirmation|null);
+
+ /** StreamingPullResponse modifyAckDeadlineConfirmation */
+ modifyAckDeadlineConfirmation?: (google.pubsub.v1.StreamingPullResponse.IModifyAckDeadlineConfirmation|null);
+
+ /** StreamingPullResponse subscriptionProperties */
+ subscriptionProperties?: (google.pubsub.v1.StreamingPullResponse.ISubscriptionProperties|null);
+ }
+
+ /** Represents a StreamingPullResponse. */
+ class StreamingPullResponse implements IStreamingPullResponse {
+
+ /**
+ * Constructs a new StreamingPullResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IStreamingPullResponse);
+
+ /** StreamingPullResponse receivedMessages. */
+ public receivedMessages: google.pubsub.v1.IReceivedMessage[];
+
+ /** StreamingPullResponse acknowledgeConfirmation. */
+ public acknowledgeConfirmation?: (google.pubsub.v1.StreamingPullResponse.IAcknowledgeConfirmation|null);
+
+ /** StreamingPullResponse modifyAckDeadlineConfirmation. */
+ public modifyAckDeadlineConfirmation?: (google.pubsub.v1.StreamingPullResponse.IModifyAckDeadlineConfirmation|null);
+
+ /** StreamingPullResponse subscriptionProperties. */
+ public subscriptionProperties?: (google.pubsub.v1.StreamingPullResponse.ISubscriptionProperties|null);
+
+ /**
+ * Creates a new StreamingPullResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StreamingPullResponse instance
+ */
+ public static create(properties?: google.pubsub.v1.IStreamingPullResponse): google.pubsub.v1.StreamingPullResponse;
+
+ /**
+ * Encodes the specified StreamingPullResponse message. Does not implicitly {@link google.pubsub.v1.StreamingPullResponse.verify|verify} messages.
+ * @param message StreamingPullResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IStreamingPullResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StreamingPullResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.StreamingPullResponse.verify|verify} messages.
+ * @param message StreamingPullResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IStreamingPullResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StreamingPullResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StreamingPullResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.StreamingPullResponse;
+
+ /**
+ * Decodes a StreamingPullResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StreamingPullResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.StreamingPullResponse;
+
+ /**
+ * Verifies a StreamingPullResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StreamingPullResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StreamingPullResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.StreamingPullResponse;
+
+ /**
+ * Creates a plain object from a StreamingPullResponse message. Also converts values to other types if specified.
+ * @param message StreamingPullResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.StreamingPullResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StreamingPullResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StreamingPullResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace StreamingPullResponse {
+
+ /** Properties of an AcknowledgeConfirmation. */
+ interface IAcknowledgeConfirmation {
+
+ /** AcknowledgeConfirmation ackIds */
+ ackIds?: (string[]|null);
+
+ /** AcknowledgeConfirmation invalidAckIds */
+ invalidAckIds?: (string[]|null);
+
+ /** AcknowledgeConfirmation unorderedAckIds */
+ unorderedAckIds?: (string[]|null);
+
+ /** AcknowledgeConfirmation temporaryFailedAckIds */
+ temporaryFailedAckIds?: (string[]|null);
+ }
+
+ /** Represents an AcknowledgeConfirmation. */
+ class AcknowledgeConfirmation implements IAcknowledgeConfirmation {
+
+ /**
+ * Constructs a new AcknowledgeConfirmation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.StreamingPullResponse.IAcknowledgeConfirmation);
+
+ /** AcknowledgeConfirmation ackIds. */
+ public ackIds: string[];
+
+ /** AcknowledgeConfirmation invalidAckIds. */
+ public invalidAckIds: string[];
+
+ /** AcknowledgeConfirmation unorderedAckIds. */
+ public unorderedAckIds: string[];
+
+ /** AcknowledgeConfirmation temporaryFailedAckIds. */
+ public temporaryFailedAckIds: string[];
+
+ /**
+ * Creates a new AcknowledgeConfirmation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AcknowledgeConfirmation instance
+ */
+ public static create(properties?: google.pubsub.v1.StreamingPullResponse.IAcknowledgeConfirmation): google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation;
+
+ /**
+ * Encodes the specified AcknowledgeConfirmation message. Does not implicitly {@link google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation.verify|verify} messages.
+ * @param message AcknowledgeConfirmation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.StreamingPullResponse.IAcknowledgeConfirmation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AcknowledgeConfirmation message, length delimited. Does not implicitly {@link google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation.verify|verify} messages.
+ * @param message AcknowledgeConfirmation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.StreamingPullResponse.IAcknowledgeConfirmation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AcknowledgeConfirmation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AcknowledgeConfirmation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation;
+
+ /**
+ * Decodes an AcknowledgeConfirmation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AcknowledgeConfirmation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation;
+
+ /**
+ * Verifies an AcknowledgeConfirmation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AcknowledgeConfirmation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AcknowledgeConfirmation
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation;
+
+ /**
+ * Creates a plain object from an AcknowledgeConfirmation message. Also converts values to other types if specified.
+ * @param message AcknowledgeConfirmation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AcknowledgeConfirmation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AcknowledgeConfirmation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ModifyAckDeadlineConfirmation. */
+ interface IModifyAckDeadlineConfirmation {
+
+ /** ModifyAckDeadlineConfirmation ackIds */
+ ackIds?: (string[]|null);
+
+ /** ModifyAckDeadlineConfirmation invalidAckIds */
+ invalidAckIds?: (string[]|null);
+
+ /** ModifyAckDeadlineConfirmation temporaryFailedAckIds */
+ temporaryFailedAckIds?: (string[]|null);
+ }
+
+ /** Represents a ModifyAckDeadlineConfirmation. */
+ class ModifyAckDeadlineConfirmation implements IModifyAckDeadlineConfirmation {
+
+ /**
+ * Constructs a new ModifyAckDeadlineConfirmation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.StreamingPullResponse.IModifyAckDeadlineConfirmation);
+
+ /** ModifyAckDeadlineConfirmation ackIds. */
+ public ackIds: string[];
+
+ /** ModifyAckDeadlineConfirmation invalidAckIds. */
+ public invalidAckIds: string[];
+
+ /** ModifyAckDeadlineConfirmation temporaryFailedAckIds. */
+ public temporaryFailedAckIds: string[];
+
+ /**
+ * Creates a new ModifyAckDeadlineConfirmation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ModifyAckDeadlineConfirmation instance
+ */
+ public static create(properties?: google.pubsub.v1.StreamingPullResponse.IModifyAckDeadlineConfirmation): google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation;
+
+ /**
+ * Encodes the specified ModifyAckDeadlineConfirmation message. Does not implicitly {@link google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation.verify|verify} messages.
+ * @param message ModifyAckDeadlineConfirmation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.StreamingPullResponse.IModifyAckDeadlineConfirmation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ModifyAckDeadlineConfirmation message, length delimited. Does not implicitly {@link google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation.verify|verify} messages.
+ * @param message ModifyAckDeadlineConfirmation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.StreamingPullResponse.IModifyAckDeadlineConfirmation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ModifyAckDeadlineConfirmation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ModifyAckDeadlineConfirmation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation;
+
+ /**
+ * Decodes a ModifyAckDeadlineConfirmation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ModifyAckDeadlineConfirmation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation;
+
+ /**
+ * Verifies a ModifyAckDeadlineConfirmation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ModifyAckDeadlineConfirmation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ModifyAckDeadlineConfirmation
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation;
+
+ /**
+ * Creates a plain object from a ModifyAckDeadlineConfirmation message. Also converts values to other types if specified.
+ * @param message ModifyAckDeadlineConfirmation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ModifyAckDeadlineConfirmation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ModifyAckDeadlineConfirmation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SubscriptionProperties. */
+ interface ISubscriptionProperties {
+
+ /** SubscriptionProperties exactlyOnceDeliveryEnabled */
+ exactlyOnceDeliveryEnabled?: (boolean|null);
+
+ /** SubscriptionProperties messageOrderingEnabled */
+ messageOrderingEnabled?: (boolean|null);
+ }
+
+ /** Represents a SubscriptionProperties. */
+ class SubscriptionProperties implements ISubscriptionProperties {
+
+ /**
+ * Constructs a new SubscriptionProperties.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.StreamingPullResponse.ISubscriptionProperties);
+
+ /** SubscriptionProperties exactlyOnceDeliveryEnabled. */
+ public exactlyOnceDeliveryEnabled: boolean;
+
+ /** SubscriptionProperties messageOrderingEnabled. */
+ public messageOrderingEnabled: boolean;
+
+ /**
+ * Creates a new SubscriptionProperties instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SubscriptionProperties instance
+ */
+ public static create(properties?: google.pubsub.v1.StreamingPullResponse.ISubscriptionProperties): google.pubsub.v1.StreamingPullResponse.SubscriptionProperties;
+
+ /**
+ * Encodes the specified SubscriptionProperties message. Does not implicitly {@link google.pubsub.v1.StreamingPullResponse.SubscriptionProperties.verify|verify} messages.
+ * @param message SubscriptionProperties message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.StreamingPullResponse.ISubscriptionProperties, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SubscriptionProperties message, length delimited. Does not implicitly {@link google.pubsub.v1.StreamingPullResponse.SubscriptionProperties.verify|verify} messages.
+ * @param message SubscriptionProperties message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.StreamingPullResponse.ISubscriptionProperties, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SubscriptionProperties message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SubscriptionProperties
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.StreamingPullResponse.SubscriptionProperties;
+
+ /**
+ * Decodes a SubscriptionProperties message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SubscriptionProperties
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.StreamingPullResponse.SubscriptionProperties;
+
+ /**
+ * Verifies a SubscriptionProperties message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SubscriptionProperties message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SubscriptionProperties
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.StreamingPullResponse.SubscriptionProperties;
+
+ /**
+ * Creates a plain object from a SubscriptionProperties message. Also converts values to other types if specified.
+ * @param message SubscriptionProperties
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.StreamingPullResponse.SubscriptionProperties, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SubscriptionProperties to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SubscriptionProperties
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a CreateSnapshotRequest. */
+ interface ICreateSnapshotRequest {
+
+ /** CreateSnapshotRequest name */
+ name?: (string|null);
+
+ /** CreateSnapshotRequest subscription */
+ subscription?: (string|null);
+
+ /** CreateSnapshotRequest labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** CreateSnapshotRequest tags */
+ tags?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a CreateSnapshotRequest. */
+ class CreateSnapshotRequest implements ICreateSnapshotRequest {
+
+ /**
+ * Constructs a new CreateSnapshotRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.ICreateSnapshotRequest);
+
+ /** CreateSnapshotRequest name. */
+ public name: string;
+
+ /** CreateSnapshotRequest subscription. */
+ public subscription: string;
+
+ /** CreateSnapshotRequest labels. */
+ public labels: { [k: string]: string };
+
+ /** CreateSnapshotRequest tags. */
+ public tags: { [k: string]: string };
+
+ /**
+ * Creates a new CreateSnapshotRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateSnapshotRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.ICreateSnapshotRequest): google.pubsub.v1.CreateSnapshotRequest;
+
+ /**
+ * Encodes the specified CreateSnapshotRequest message. Does not implicitly {@link google.pubsub.v1.CreateSnapshotRequest.verify|verify} messages.
+ * @param message CreateSnapshotRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.ICreateSnapshotRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateSnapshotRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.CreateSnapshotRequest.verify|verify} messages.
+ * @param message CreateSnapshotRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.ICreateSnapshotRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateSnapshotRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateSnapshotRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.CreateSnapshotRequest;
+
+ /**
+ * Decodes a CreateSnapshotRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateSnapshotRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.CreateSnapshotRequest;
+
+ /**
+ * Verifies a CreateSnapshotRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateSnapshotRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateSnapshotRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.CreateSnapshotRequest;
+
+ /**
+ * Creates a plain object from a CreateSnapshotRequest message. Also converts values to other types if specified.
+ * @param message CreateSnapshotRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.CreateSnapshotRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateSnapshotRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateSnapshotRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateSnapshotRequest. */
+ interface IUpdateSnapshotRequest {
+
+ /** UpdateSnapshotRequest snapshot */
+ snapshot?: (google.pubsub.v1.ISnapshot|null);
+
+ /** UpdateSnapshotRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateSnapshotRequest. */
+ class UpdateSnapshotRequest implements IUpdateSnapshotRequest {
+
+ /**
+ * Constructs a new UpdateSnapshotRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IUpdateSnapshotRequest);
+
+ /** UpdateSnapshotRequest snapshot. */
+ public snapshot?: (google.pubsub.v1.ISnapshot|null);
+
+ /** UpdateSnapshotRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateSnapshotRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateSnapshotRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IUpdateSnapshotRequest): google.pubsub.v1.UpdateSnapshotRequest;
+
+ /**
+ * Encodes the specified UpdateSnapshotRequest message. Does not implicitly {@link google.pubsub.v1.UpdateSnapshotRequest.verify|verify} messages.
+ * @param message UpdateSnapshotRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IUpdateSnapshotRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateSnapshotRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.UpdateSnapshotRequest.verify|verify} messages.
+ * @param message UpdateSnapshotRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IUpdateSnapshotRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateSnapshotRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateSnapshotRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.UpdateSnapshotRequest;
+
+ /**
+ * Decodes an UpdateSnapshotRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateSnapshotRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.UpdateSnapshotRequest;
+
+ /**
+ * Verifies an UpdateSnapshotRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UpdateSnapshotRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateSnapshotRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.UpdateSnapshotRequest;
+
+ /**
+ * Creates a plain object from an UpdateSnapshotRequest message. Also converts values to other types if specified.
+ * @param message UpdateSnapshotRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.UpdateSnapshotRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateSnapshotRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateSnapshotRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Snapshot. */
+ interface ISnapshot {
+
+ /** Snapshot name */
+ name?: (string|null);
+
+ /** Snapshot topic */
+ topic?: (string|null);
+
+ /** Snapshot expireTime */
+ expireTime?: (google.protobuf.ITimestamp|null);
+
+ /** Snapshot labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a Snapshot. */
+ class Snapshot implements ISnapshot {
+
+ /**
+ * Constructs a new Snapshot.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.ISnapshot);
+
+ /** Snapshot name. */
+ public name: string;
+
+ /** Snapshot topic. */
+ public topic: string;
+
+ /** Snapshot expireTime. */
+ public expireTime?: (google.protobuf.ITimestamp|null);
+
+ /** Snapshot labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new Snapshot instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Snapshot instance
+ */
+ public static create(properties?: google.pubsub.v1.ISnapshot): google.pubsub.v1.Snapshot;
+
+ /**
+ * Encodes the specified Snapshot message. Does not implicitly {@link google.pubsub.v1.Snapshot.verify|verify} messages.
+ * @param message Snapshot message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.ISnapshot, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Snapshot message, length delimited. Does not implicitly {@link google.pubsub.v1.Snapshot.verify|verify} messages.
+ * @param message Snapshot message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.ISnapshot, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Snapshot message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Snapshot
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.Snapshot;
+
+ /**
+ * Decodes a Snapshot message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Snapshot
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.Snapshot;
+
+ /**
+ * Verifies a Snapshot message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Snapshot message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Snapshot
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.Snapshot;
+
+ /**
+ * Creates a plain object from a Snapshot message. Also converts values to other types if specified.
+ * @param message Snapshot
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.Snapshot, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Snapshot to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Snapshot
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetSnapshotRequest. */
+ interface IGetSnapshotRequest {
+
+ /** GetSnapshotRequest snapshot */
+ snapshot?: (string|null);
+ }
+
+ /** Represents a GetSnapshotRequest. */
+ class GetSnapshotRequest implements IGetSnapshotRequest {
+
+ /**
+ * Constructs a new GetSnapshotRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IGetSnapshotRequest);
+
+ /** GetSnapshotRequest snapshot. */
+ public snapshot: string;
+
+ /**
+ * Creates a new GetSnapshotRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetSnapshotRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IGetSnapshotRequest): google.pubsub.v1.GetSnapshotRequest;
+
+ /**
+ * Encodes the specified GetSnapshotRequest message. Does not implicitly {@link google.pubsub.v1.GetSnapshotRequest.verify|verify} messages.
+ * @param message GetSnapshotRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IGetSnapshotRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetSnapshotRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.GetSnapshotRequest.verify|verify} messages.
+ * @param message GetSnapshotRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IGetSnapshotRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetSnapshotRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetSnapshotRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.GetSnapshotRequest;
+
+ /**
+ * Decodes a GetSnapshotRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetSnapshotRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.GetSnapshotRequest;
+
+ /**
+ * Verifies a GetSnapshotRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetSnapshotRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetSnapshotRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.GetSnapshotRequest;
+
+ /**
+ * Creates a plain object from a GetSnapshotRequest message. Also converts values to other types if specified.
+ * @param message GetSnapshotRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.GetSnapshotRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetSnapshotRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetSnapshotRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSnapshotsRequest. */
+ interface IListSnapshotsRequest {
+
+ /** ListSnapshotsRequest project */
+ project?: (string|null);
+
+ /** ListSnapshotsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListSnapshotsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListSnapshotsRequest. */
+ class ListSnapshotsRequest implements IListSnapshotsRequest {
+
+ /**
+ * Constructs a new ListSnapshotsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IListSnapshotsRequest);
+
+ /** ListSnapshotsRequest project. */
+ public project: string;
+
+ /** ListSnapshotsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListSnapshotsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListSnapshotsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSnapshotsRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IListSnapshotsRequest): google.pubsub.v1.ListSnapshotsRequest;
+
+ /**
+ * Encodes the specified ListSnapshotsRequest message. Does not implicitly {@link google.pubsub.v1.ListSnapshotsRequest.verify|verify} messages.
+ * @param message ListSnapshotsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IListSnapshotsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSnapshotsRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.ListSnapshotsRequest.verify|verify} messages.
+ * @param message ListSnapshotsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IListSnapshotsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSnapshotsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSnapshotsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ListSnapshotsRequest;
+
+ /**
+ * Decodes a ListSnapshotsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSnapshotsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ListSnapshotsRequest;
+
+ /**
+ * Verifies a ListSnapshotsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListSnapshotsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSnapshotsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ListSnapshotsRequest;
+
+ /**
+ * Creates a plain object from a ListSnapshotsRequest message. Also converts values to other types if specified.
+ * @param message ListSnapshotsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ListSnapshotsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSnapshotsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSnapshotsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSnapshotsResponse. */
+ interface IListSnapshotsResponse {
+
+ /** ListSnapshotsResponse snapshots */
+ snapshots?: (google.pubsub.v1.ISnapshot[]|null);
+
+ /** ListSnapshotsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListSnapshotsResponse. */
+ class ListSnapshotsResponse implements IListSnapshotsResponse {
+
+ /**
+ * Constructs a new ListSnapshotsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IListSnapshotsResponse);
+
+ /** ListSnapshotsResponse snapshots. */
+ public snapshots: google.pubsub.v1.ISnapshot[];
+
+ /** ListSnapshotsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListSnapshotsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSnapshotsResponse instance
+ */
+ public static create(properties?: google.pubsub.v1.IListSnapshotsResponse): google.pubsub.v1.ListSnapshotsResponse;
+
+ /**
+ * Encodes the specified ListSnapshotsResponse message. Does not implicitly {@link google.pubsub.v1.ListSnapshotsResponse.verify|verify} messages.
+ * @param message ListSnapshotsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IListSnapshotsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSnapshotsResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.ListSnapshotsResponse.verify|verify} messages.
+ * @param message ListSnapshotsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IListSnapshotsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSnapshotsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSnapshotsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ListSnapshotsResponse;
+
+ /**
+ * Decodes a ListSnapshotsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSnapshotsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ListSnapshotsResponse;
+
+ /**
+ * Verifies a ListSnapshotsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListSnapshotsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSnapshotsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ListSnapshotsResponse;
+
+ /**
+ * Creates a plain object from a ListSnapshotsResponse message. Also converts values to other types if specified.
+ * @param message ListSnapshotsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ListSnapshotsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSnapshotsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSnapshotsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteSnapshotRequest. */
+ interface IDeleteSnapshotRequest {
+
+ /** DeleteSnapshotRequest snapshot */
+ snapshot?: (string|null);
+ }
+
+ /** Represents a DeleteSnapshotRequest. */
+ class DeleteSnapshotRequest implements IDeleteSnapshotRequest {
+
+ /**
+ * Constructs a new DeleteSnapshotRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IDeleteSnapshotRequest);
+
+ /** DeleteSnapshotRequest snapshot. */
+ public snapshot: string;
+
+ /**
+ * Creates a new DeleteSnapshotRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteSnapshotRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IDeleteSnapshotRequest): google.pubsub.v1.DeleteSnapshotRequest;
+
+ /**
+ * Encodes the specified DeleteSnapshotRequest message. Does not implicitly {@link google.pubsub.v1.DeleteSnapshotRequest.verify|verify} messages.
+ * @param message DeleteSnapshotRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IDeleteSnapshotRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteSnapshotRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.DeleteSnapshotRequest.verify|verify} messages.
+ * @param message DeleteSnapshotRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IDeleteSnapshotRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteSnapshotRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteSnapshotRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.DeleteSnapshotRequest;
+
+ /**
+ * Decodes a DeleteSnapshotRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteSnapshotRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.DeleteSnapshotRequest;
+
+ /**
+ * Verifies a DeleteSnapshotRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteSnapshotRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteSnapshotRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.DeleteSnapshotRequest;
+
+ /**
+ * Creates a plain object from a DeleteSnapshotRequest message. Also converts values to other types if specified.
+ * @param message DeleteSnapshotRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.DeleteSnapshotRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteSnapshotRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteSnapshotRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SeekRequest. */
+ interface ISeekRequest {
+
+ /** SeekRequest subscription */
+ subscription?: (string|null);
+
+ /** SeekRequest time */
+ time?: (google.protobuf.ITimestamp|null);
+
+ /** SeekRequest snapshot */
+ snapshot?: (string|null);
+ }
+
+ /** Represents a SeekRequest. */
+ class SeekRequest implements ISeekRequest {
+
+ /**
+ * Constructs a new SeekRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.ISeekRequest);
+
+ /** SeekRequest subscription. */
+ public subscription: string;
+
+ /** SeekRequest time. */
+ public time?: (google.protobuf.ITimestamp|null);
+
+ /** SeekRequest snapshot. */
+ public snapshot?: (string|null);
+
+ /** SeekRequest target. */
+ public target?: ("time"|"snapshot");
+
+ /**
+ * Creates a new SeekRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SeekRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.ISeekRequest): google.pubsub.v1.SeekRequest;
+
+ /**
+ * Encodes the specified SeekRequest message. Does not implicitly {@link google.pubsub.v1.SeekRequest.verify|verify} messages.
+ * @param message SeekRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.ISeekRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SeekRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.SeekRequest.verify|verify} messages.
+ * @param message SeekRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.ISeekRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SeekRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SeekRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.SeekRequest;
+
+ /**
+ * Decodes a SeekRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SeekRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.SeekRequest;
+
+ /**
+ * Verifies a SeekRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SeekRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SeekRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.SeekRequest;
+
+ /**
+ * Creates a plain object from a SeekRequest message. Also converts values to other types if specified.
+ * @param message SeekRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.SeekRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SeekRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SeekRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SeekResponse. */
+ interface ISeekResponse {
+ }
+
+ /** Represents a SeekResponse. */
+ class SeekResponse implements ISeekResponse {
+
+ /**
+ * Constructs a new SeekResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.ISeekResponse);
+
+ /**
+ * Creates a new SeekResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SeekResponse instance
+ */
+ public static create(properties?: google.pubsub.v1.ISeekResponse): google.pubsub.v1.SeekResponse;
+
+ /**
+ * Encodes the specified SeekResponse message. Does not implicitly {@link google.pubsub.v1.SeekResponse.verify|verify} messages.
+ * @param message SeekResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.ISeekResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SeekResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.SeekResponse.verify|verify} messages.
+ * @param message SeekResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.ISeekResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SeekResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SeekResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.SeekResponse;
+
+ /**
+ * Decodes a SeekResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SeekResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.SeekResponse;
+
+ /**
+ * Verifies a SeekResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SeekResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SeekResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.SeekResponse;
+
+ /**
+ * Creates a plain object from a SeekResponse message. Also converts values to other types if specified.
+ * @param message SeekResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.SeekResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SeekResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SeekResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a SchemaService */
+ class SchemaService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new SchemaService service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new SchemaService service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): SchemaService;
+
+ /**
+ * Calls CreateSchema.
+ * @param request CreateSchemaRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Schema
+ */
+ public createSchema(request: google.pubsub.v1.ICreateSchemaRequest, callback: google.pubsub.v1.SchemaService.CreateSchemaCallback): void;
+
+ /**
+ * Calls CreateSchema.
+ * @param request CreateSchemaRequest message or plain object
+ * @returns Promise
+ */
+ public createSchema(request: google.pubsub.v1.ICreateSchemaRequest): Promise;
+
+ /**
+ * Calls GetSchema.
+ * @param request GetSchemaRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Schema
+ */
+ public getSchema(request: google.pubsub.v1.IGetSchemaRequest, callback: google.pubsub.v1.SchemaService.GetSchemaCallback): void;
+
+ /**
+ * Calls GetSchema.
+ * @param request GetSchemaRequest message or plain object
+ * @returns Promise
+ */
+ public getSchema(request: google.pubsub.v1.IGetSchemaRequest): Promise;
+
+ /**
+ * Calls ListSchemas.
+ * @param request ListSchemasRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListSchemasResponse
+ */
+ public listSchemas(request: google.pubsub.v1.IListSchemasRequest, callback: google.pubsub.v1.SchemaService.ListSchemasCallback): void;
+
+ /**
+ * Calls ListSchemas.
+ * @param request ListSchemasRequest message or plain object
+ * @returns Promise
+ */
+ public listSchemas(request: google.pubsub.v1.IListSchemasRequest): Promise;
+
+ /**
+ * Calls ListSchemaRevisions.
+ * @param request ListSchemaRevisionsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListSchemaRevisionsResponse
+ */
+ public listSchemaRevisions(request: google.pubsub.v1.IListSchemaRevisionsRequest, callback: google.pubsub.v1.SchemaService.ListSchemaRevisionsCallback): void;
+
+ /**
+ * Calls ListSchemaRevisions.
+ * @param request ListSchemaRevisionsRequest message or plain object
+ * @returns Promise
+ */
+ public listSchemaRevisions(request: google.pubsub.v1.IListSchemaRevisionsRequest): Promise;
+
+ /**
+ * Calls CommitSchema.
+ * @param request CommitSchemaRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Schema
+ */
+ public commitSchema(request: google.pubsub.v1.ICommitSchemaRequest, callback: google.pubsub.v1.SchemaService.CommitSchemaCallback): void;
+
+ /**
+ * Calls CommitSchema.
+ * @param request CommitSchemaRequest message or plain object
+ * @returns Promise
+ */
+ public commitSchema(request: google.pubsub.v1.ICommitSchemaRequest): Promise;
+
+ /**
+ * Calls RollbackSchema.
+ * @param request RollbackSchemaRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Schema
+ */
+ public rollbackSchema(request: google.pubsub.v1.IRollbackSchemaRequest, callback: google.pubsub.v1.SchemaService.RollbackSchemaCallback): void;
+
+ /**
+ * Calls RollbackSchema.
+ * @param request RollbackSchemaRequest message or plain object
+ * @returns Promise
+ */
+ public rollbackSchema(request: google.pubsub.v1.IRollbackSchemaRequest): Promise;
+
+ /**
+ * Calls DeleteSchemaRevision.
+ * @param request DeleteSchemaRevisionRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Schema
+ */
+ public deleteSchemaRevision(request: google.pubsub.v1.IDeleteSchemaRevisionRequest, callback: google.pubsub.v1.SchemaService.DeleteSchemaRevisionCallback): void;
+
+ /**
+ * Calls DeleteSchemaRevision.
+ * @param request DeleteSchemaRevisionRequest message or plain object
+ * @returns Promise
+ */
+ public deleteSchemaRevision(request: google.pubsub.v1.IDeleteSchemaRevisionRequest): Promise;
+
+ /**
+ * Calls DeleteSchema.
+ * @param request DeleteSchemaRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteSchema(request: google.pubsub.v1.IDeleteSchemaRequest, callback: google.pubsub.v1.SchemaService.DeleteSchemaCallback): void;
+
+ /**
+ * Calls DeleteSchema.
+ * @param request DeleteSchemaRequest message or plain object
+ * @returns Promise
+ */
+ public deleteSchema(request: google.pubsub.v1.IDeleteSchemaRequest): Promise;
+
+ /**
+ * Calls ValidateSchema.
+ * @param request ValidateSchemaRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ValidateSchemaResponse
+ */
+ public validateSchema(request: google.pubsub.v1.IValidateSchemaRequest, callback: google.pubsub.v1.SchemaService.ValidateSchemaCallback): void;
+
+ /**
+ * Calls ValidateSchema.
+ * @param request ValidateSchemaRequest message or plain object
+ * @returns Promise
+ */
+ public validateSchema(request: google.pubsub.v1.IValidateSchemaRequest): Promise;
+
+ /**
+ * Calls ValidateMessage.
+ * @param request ValidateMessageRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ValidateMessageResponse
+ */
+ public validateMessage(request: google.pubsub.v1.IValidateMessageRequest, callback: google.pubsub.v1.SchemaService.ValidateMessageCallback): void;
+
+ /**
+ * Calls ValidateMessage.
+ * @param request ValidateMessageRequest message or plain object
+ * @returns Promise
+ */
+ public validateMessage(request: google.pubsub.v1.IValidateMessageRequest): Promise;
+ }
+
+ namespace SchemaService {
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.SchemaService|createSchema}.
+ * @param error Error, if any
+ * @param [response] Schema
+ */
+ type CreateSchemaCallback = (error: (Error|null), response?: google.pubsub.v1.Schema) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.SchemaService|getSchema}.
+ * @param error Error, if any
+ * @param [response] Schema
+ */
+ type GetSchemaCallback = (error: (Error|null), response?: google.pubsub.v1.Schema) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.SchemaService|listSchemas}.
+ * @param error Error, if any
+ * @param [response] ListSchemasResponse
+ */
+ type ListSchemasCallback = (error: (Error|null), response?: google.pubsub.v1.ListSchemasResponse) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.SchemaService|listSchemaRevisions}.
+ * @param error Error, if any
+ * @param [response] ListSchemaRevisionsResponse
+ */
+ type ListSchemaRevisionsCallback = (error: (Error|null), response?: google.pubsub.v1.ListSchemaRevisionsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.SchemaService|commitSchema}.
+ * @param error Error, if any
+ * @param [response] Schema
+ */
+ type CommitSchemaCallback = (error: (Error|null), response?: google.pubsub.v1.Schema) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.SchemaService|rollbackSchema}.
+ * @param error Error, if any
+ * @param [response] Schema
+ */
+ type RollbackSchemaCallback = (error: (Error|null), response?: google.pubsub.v1.Schema) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.SchemaService|deleteSchemaRevision}.
+ * @param error Error, if any
+ * @param [response] Schema
+ */
+ type DeleteSchemaRevisionCallback = (error: (Error|null), response?: google.pubsub.v1.Schema) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.SchemaService|deleteSchema}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteSchemaCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.SchemaService|validateSchema}.
+ * @param error Error, if any
+ * @param [response] ValidateSchemaResponse
+ */
+ type ValidateSchemaCallback = (error: (Error|null), response?: google.pubsub.v1.ValidateSchemaResponse) => void;
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.SchemaService|validateMessage}.
+ * @param error Error, if any
+ * @param [response] ValidateMessageResponse
+ */
+ type ValidateMessageCallback = (error: (Error|null), response?: google.pubsub.v1.ValidateMessageResponse) => void;
+ }
+
+ /** Properties of a Schema. */
+ interface ISchema {
+
+ /** Schema name */
+ name?: (string|null);
+
+ /** Schema type */
+ type?: (google.pubsub.v1.Schema.Type|keyof typeof google.pubsub.v1.Schema.Type|null);
+
+ /** Schema definition */
+ definition?: (string|null);
+
+ /** Schema revisionId */
+ revisionId?: (string|null);
+
+ /** Schema revisionCreateTime */
+ revisionCreateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a Schema. */
+ class Schema implements ISchema {
+
+ /**
+ * Constructs a new Schema.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.ISchema);
+
+ /** Schema name. */
+ public name: string;
+
+ /** Schema type. */
+ public type: (google.pubsub.v1.Schema.Type|keyof typeof google.pubsub.v1.Schema.Type);
+
+ /** Schema definition. */
+ public definition: string;
+
+ /** Schema revisionId. */
+ public revisionId: string;
+
+ /** Schema revisionCreateTime. */
+ public revisionCreateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new Schema instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Schema instance
+ */
+ public static create(properties?: google.pubsub.v1.ISchema): google.pubsub.v1.Schema;
+
+ /**
+ * Encodes the specified Schema message. Does not implicitly {@link google.pubsub.v1.Schema.verify|verify} messages.
+ * @param message Schema message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.ISchema, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Schema message, length delimited. Does not implicitly {@link google.pubsub.v1.Schema.verify|verify} messages.
+ * @param message Schema message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.ISchema, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Schema message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Schema
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.Schema;
+
+ /**
+ * Decodes a Schema message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Schema
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.Schema;
+
+ /**
+ * Verifies a Schema message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Schema message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Schema
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.Schema;
+
+ /**
+ * Creates a plain object from a Schema message. Also converts values to other types if specified.
+ * @param message Schema
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.Schema, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Schema to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Schema
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Schema {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_UNSPECIFIED = 0,
+ PROTOCOL_BUFFER = 1,
+ AVRO = 2
+ }
+ }
+
+ /** SchemaView enum. */
+ enum SchemaView {
+ SCHEMA_VIEW_UNSPECIFIED = 0,
+ BASIC = 1,
+ FULL = 2
+ }
+
+ /** Properties of a CreateSchemaRequest. */
+ interface ICreateSchemaRequest {
+
+ /** CreateSchemaRequest parent */
+ parent?: (string|null);
+
+ /** CreateSchemaRequest schema */
+ schema?: (google.pubsub.v1.ISchema|null);
+
+ /** CreateSchemaRequest schemaId */
+ schemaId?: (string|null);
+ }
+
+ /** Represents a CreateSchemaRequest. */
+ class CreateSchemaRequest implements ICreateSchemaRequest {
+
+ /**
+ * Constructs a new CreateSchemaRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.ICreateSchemaRequest);
+
+ /** CreateSchemaRequest parent. */
+ public parent: string;
+
+ /** CreateSchemaRequest schema. */
+ public schema?: (google.pubsub.v1.ISchema|null);
+
+ /** CreateSchemaRequest schemaId. */
+ public schemaId: string;
+
+ /**
+ * Creates a new CreateSchemaRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateSchemaRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.ICreateSchemaRequest): google.pubsub.v1.CreateSchemaRequest;
+
+ /**
+ * Encodes the specified CreateSchemaRequest message. Does not implicitly {@link google.pubsub.v1.CreateSchemaRequest.verify|verify} messages.
+ * @param message CreateSchemaRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.ICreateSchemaRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateSchemaRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.CreateSchemaRequest.verify|verify} messages.
+ * @param message CreateSchemaRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.ICreateSchemaRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateSchemaRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateSchemaRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.CreateSchemaRequest;
+
+ /**
+ * Decodes a CreateSchemaRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateSchemaRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.CreateSchemaRequest;
+
+ /**
+ * Verifies a CreateSchemaRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateSchemaRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateSchemaRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.CreateSchemaRequest;
+
+ /**
+ * Creates a plain object from a CreateSchemaRequest message. Also converts values to other types if specified.
+ * @param message CreateSchemaRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.CreateSchemaRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateSchemaRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateSchemaRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetSchemaRequest. */
+ interface IGetSchemaRequest {
+
+ /** GetSchemaRequest name */
+ name?: (string|null);
+
+ /** GetSchemaRequest view */
+ view?: (google.pubsub.v1.SchemaView|keyof typeof google.pubsub.v1.SchemaView|null);
+ }
+
+ /** Represents a GetSchemaRequest. */
+ class GetSchemaRequest implements IGetSchemaRequest {
+
+ /**
+ * Constructs a new GetSchemaRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IGetSchemaRequest);
+
+ /** GetSchemaRequest name. */
+ public name: string;
+
+ /** GetSchemaRequest view. */
+ public view: (google.pubsub.v1.SchemaView|keyof typeof google.pubsub.v1.SchemaView);
+
+ /**
+ * Creates a new GetSchemaRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetSchemaRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IGetSchemaRequest): google.pubsub.v1.GetSchemaRequest;
+
+ /**
+ * Encodes the specified GetSchemaRequest message. Does not implicitly {@link google.pubsub.v1.GetSchemaRequest.verify|verify} messages.
+ * @param message GetSchemaRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IGetSchemaRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetSchemaRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.GetSchemaRequest.verify|verify} messages.
+ * @param message GetSchemaRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IGetSchemaRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetSchemaRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetSchemaRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.GetSchemaRequest;
+
+ /**
+ * Decodes a GetSchemaRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetSchemaRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.GetSchemaRequest;
+
+ /**
+ * Verifies a GetSchemaRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetSchemaRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetSchemaRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.GetSchemaRequest;
+
+ /**
+ * Creates a plain object from a GetSchemaRequest message. Also converts values to other types if specified.
+ * @param message GetSchemaRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.GetSchemaRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetSchemaRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetSchemaRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSchemasRequest. */
+ interface IListSchemasRequest {
+
+ /** ListSchemasRequest parent */
+ parent?: (string|null);
+
+ /** ListSchemasRequest view */
+ view?: (google.pubsub.v1.SchemaView|keyof typeof google.pubsub.v1.SchemaView|null);
+
+ /** ListSchemasRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListSchemasRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListSchemasRequest. */
+ class ListSchemasRequest implements IListSchemasRequest {
+
+ /**
+ * Constructs a new ListSchemasRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IListSchemasRequest);
+
+ /** ListSchemasRequest parent. */
+ public parent: string;
+
+ /** ListSchemasRequest view. */
+ public view: (google.pubsub.v1.SchemaView|keyof typeof google.pubsub.v1.SchemaView);
+
+ /** ListSchemasRequest pageSize. */
+ public pageSize: number;
+
+ /** ListSchemasRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListSchemasRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSchemasRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IListSchemasRequest): google.pubsub.v1.ListSchemasRequest;
+
+ /**
+ * Encodes the specified ListSchemasRequest message. Does not implicitly {@link google.pubsub.v1.ListSchemasRequest.verify|verify} messages.
+ * @param message ListSchemasRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IListSchemasRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSchemasRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.ListSchemasRequest.verify|verify} messages.
+ * @param message ListSchemasRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IListSchemasRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSchemasRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSchemasRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ListSchemasRequest;
+
+ /**
+ * Decodes a ListSchemasRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSchemasRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ListSchemasRequest;
+
+ /**
+ * Verifies a ListSchemasRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListSchemasRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSchemasRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ListSchemasRequest;
+
+ /**
+ * Creates a plain object from a ListSchemasRequest message. Also converts values to other types if specified.
+ * @param message ListSchemasRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ListSchemasRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSchemasRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSchemasRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSchemasResponse. */
+ interface IListSchemasResponse {
+
+ /** ListSchemasResponse schemas */
+ schemas?: (google.pubsub.v1.ISchema[]|null);
+
+ /** ListSchemasResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListSchemasResponse. */
+ class ListSchemasResponse implements IListSchemasResponse {
+
+ /**
+ * Constructs a new ListSchemasResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IListSchemasResponse);
+
+ /** ListSchemasResponse schemas. */
+ public schemas: google.pubsub.v1.ISchema[];
+
+ /** ListSchemasResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListSchemasResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSchemasResponse instance
+ */
+ public static create(properties?: google.pubsub.v1.IListSchemasResponse): google.pubsub.v1.ListSchemasResponse;
+
+ /**
+ * Encodes the specified ListSchemasResponse message. Does not implicitly {@link google.pubsub.v1.ListSchemasResponse.verify|verify} messages.
+ * @param message ListSchemasResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IListSchemasResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSchemasResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.ListSchemasResponse.verify|verify} messages.
+ * @param message ListSchemasResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IListSchemasResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSchemasResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSchemasResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ListSchemasResponse;
+
+ /**
+ * Decodes a ListSchemasResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSchemasResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ListSchemasResponse;
+
+ /**
+ * Verifies a ListSchemasResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListSchemasResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSchemasResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ListSchemasResponse;
+
+ /**
+ * Creates a plain object from a ListSchemasResponse message. Also converts values to other types if specified.
+ * @param message ListSchemasResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ListSchemasResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSchemasResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSchemasResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSchemaRevisionsRequest. */
+ interface IListSchemaRevisionsRequest {
+
+ /** ListSchemaRevisionsRequest name */
+ name?: (string|null);
+
+ /** ListSchemaRevisionsRequest view */
+ view?: (google.pubsub.v1.SchemaView|keyof typeof google.pubsub.v1.SchemaView|null);
+
+ /** ListSchemaRevisionsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListSchemaRevisionsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListSchemaRevisionsRequest. */
+ class ListSchemaRevisionsRequest implements IListSchemaRevisionsRequest {
+
+ /**
+ * Constructs a new ListSchemaRevisionsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IListSchemaRevisionsRequest);
+
+ /** ListSchemaRevisionsRequest name. */
+ public name: string;
+
+ /** ListSchemaRevisionsRequest view. */
+ public view: (google.pubsub.v1.SchemaView|keyof typeof google.pubsub.v1.SchemaView);
+
+ /** ListSchemaRevisionsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListSchemaRevisionsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListSchemaRevisionsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSchemaRevisionsRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IListSchemaRevisionsRequest): google.pubsub.v1.ListSchemaRevisionsRequest;
+
+ /**
+ * Encodes the specified ListSchemaRevisionsRequest message. Does not implicitly {@link google.pubsub.v1.ListSchemaRevisionsRequest.verify|verify} messages.
+ * @param message ListSchemaRevisionsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IListSchemaRevisionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSchemaRevisionsRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.ListSchemaRevisionsRequest.verify|verify} messages.
+ * @param message ListSchemaRevisionsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IListSchemaRevisionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSchemaRevisionsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSchemaRevisionsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ListSchemaRevisionsRequest;
+
+ /**
+ * Decodes a ListSchemaRevisionsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSchemaRevisionsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ListSchemaRevisionsRequest;
+
+ /**
+ * Verifies a ListSchemaRevisionsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListSchemaRevisionsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSchemaRevisionsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ListSchemaRevisionsRequest;
+
+ /**
+ * Creates a plain object from a ListSchemaRevisionsRequest message. Also converts values to other types if specified.
+ * @param message ListSchemaRevisionsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ListSchemaRevisionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSchemaRevisionsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSchemaRevisionsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSchemaRevisionsResponse. */
+ interface IListSchemaRevisionsResponse {
+
+ /** ListSchemaRevisionsResponse schemas */
+ schemas?: (google.pubsub.v1.ISchema[]|null);
+
+ /** ListSchemaRevisionsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListSchemaRevisionsResponse. */
+ class ListSchemaRevisionsResponse implements IListSchemaRevisionsResponse {
+
+ /**
+ * Constructs a new ListSchemaRevisionsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IListSchemaRevisionsResponse);
+
+ /** ListSchemaRevisionsResponse schemas. */
+ public schemas: google.pubsub.v1.ISchema[];
+
+ /** ListSchemaRevisionsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListSchemaRevisionsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSchemaRevisionsResponse instance
+ */
+ public static create(properties?: google.pubsub.v1.IListSchemaRevisionsResponse): google.pubsub.v1.ListSchemaRevisionsResponse;
+
+ /**
+ * Encodes the specified ListSchemaRevisionsResponse message. Does not implicitly {@link google.pubsub.v1.ListSchemaRevisionsResponse.verify|verify} messages.
+ * @param message ListSchemaRevisionsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IListSchemaRevisionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSchemaRevisionsResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.ListSchemaRevisionsResponse.verify|verify} messages.
+ * @param message ListSchemaRevisionsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IListSchemaRevisionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSchemaRevisionsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSchemaRevisionsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ListSchemaRevisionsResponse;
+
+ /**
+ * Decodes a ListSchemaRevisionsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSchemaRevisionsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ListSchemaRevisionsResponse;
+
+ /**
+ * Verifies a ListSchemaRevisionsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListSchemaRevisionsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSchemaRevisionsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ListSchemaRevisionsResponse;
+
+ /**
+ * Creates a plain object from a ListSchemaRevisionsResponse message. Also converts values to other types if specified.
+ * @param message ListSchemaRevisionsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ListSchemaRevisionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSchemaRevisionsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSchemaRevisionsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CommitSchemaRequest. */
+ interface ICommitSchemaRequest {
+
+ /** CommitSchemaRequest name */
+ name?: (string|null);
+
+ /** CommitSchemaRequest schema */
+ schema?: (google.pubsub.v1.ISchema|null);
+ }
+
+ /** Represents a CommitSchemaRequest. */
+ class CommitSchemaRequest implements ICommitSchemaRequest {
+
+ /**
+ * Constructs a new CommitSchemaRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.ICommitSchemaRequest);
+
+ /** CommitSchemaRequest name. */
+ public name: string;
+
+ /** CommitSchemaRequest schema. */
+ public schema?: (google.pubsub.v1.ISchema|null);
+
+ /**
+ * Creates a new CommitSchemaRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CommitSchemaRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.ICommitSchemaRequest): google.pubsub.v1.CommitSchemaRequest;
+
+ /**
+ * Encodes the specified CommitSchemaRequest message. Does not implicitly {@link google.pubsub.v1.CommitSchemaRequest.verify|verify} messages.
+ * @param message CommitSchemaRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.ICommitSchemaRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CommitSchemaRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.CommitSchemaRequest.verify|verify} messages.
+ * @param message CommitSchemaRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.ICommitSchemaRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CommitSchemaRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CommitSchemaRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.CommitSchemaRequest;
+
+ /**
+ * Decodes a CommitSchemaRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CommitSchemaRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.CommitSchemaRequest;
+
+ /**
+ * Verifies a CommitSchemaRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CommitSchemaRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CommitSchemaRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.CommitSchemaRequest;
+
+ /**
+ * Creates a plain object from a CommitSchemaRequest message. Also converts values to other types if specified.
+ * @param message CommitSchemaRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.CommitSchemaRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CommitSchemaRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CommitSchemaRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RollbackSchemaRequest. */
+ interface IRollbackSchemaRequest {
+
+ /** RollbackSchemaRequest name */
+ name?: (string|null);
+
+ /** RollbackSchemaRequest revisionId */
+ revisionId?: (string|null);
+ }
+
+ /** Represents a RollbackSchemaRequest. */
+ class RollbackSchemaRequest implements IRollbackSchemaRequest {
+
+ /**
+ * Constructs a new RollbackSchemaRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IRollbackSchemaRequest);
+
+ /** RollbackSchemaRequest name. */
+ public name: string;
+
+ /** RollbackSchemaRequest revisionId. */
+ public revisionId: string;
+
+ /**
+ * Creates a new RollbackSchemaRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RollbackSchemaRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IRollbackSchemaRequest): google.pubsub.v1.RollbackSchemaRequest;
+
+ /**
+ * Encodes the specified RollbackSchemaRequest message. Does not implicitly {@link google.pubsub.v1.RollbackSchemaRequest.verify|verify} messages.
+ * @param message RollbackSchemaRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IRollbackSchemaRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RollbackSchemaRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.RollbackSchemaRequest.verify|verify} messages.
+ * @param message RollbackSchemaRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IRollbackSchemaRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RollbackSchemaRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RollbackSchemaRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.RollbackSchemaRequest;
+
+ /**
+ * Decodes a RollbackSchemaRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RollbackSchemaRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.RollbackSchemaRequest;
+
+ /**
+ * Verifies a RollbackSchemaRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RollbackSchemaRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RollbackSchemaRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.RollbackSchemaRequest;
+
+ /**
+ * Creates a plain object from a RollbackSchemaRequest message. Also converts values to other types if specified.
+ * @param message RollbackSchemaRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.RollbackSchemaRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RollbackSchemaRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RollbackSchemaRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteSchemaRevisionRequest. */
+ interface IDeleteSchemaRevisionRequest {
+
+ /** DeleteSchemaRevisionRequest name */
+ name?: (string|null);
+
+ /** DeleteSchemaRevisionRequest revisionId */
+ revisionId?: (string|null);
+ }
+
+ /** Represents a DeleteSchemaRevisionRequest. */
+ class DeleteSchemaRevisionRequest implements IDeleteSchemaRevisionRequest {
+
+ /**
+ * Constructs a new DeleteSchemaRevisionRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IDeleteSchemaRevisionRequest);
+
+ /** DeleteSchemaRevisionRequest name. */
+ public name: string;
+
+ /** DeleteSchemaRevisionRequest revisionId. */
+ public revisionId: string;
+
+ /**
+ * Creates a new DeleteSchemaRevisionRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteSchemaRevisionRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IDeleteSchemaRevisionRequest): google.pubsub.v1.DeleteSchemaRevisionRequest;
+
+ /**
+ * Encodes the specified DeleteSchemaRevisionRequest message. Does not implicitly {@link google.pubsub.v1.DeleteSchemaRevisionRequest.verify|verify} messages.
+ * @param message DeleteSchemaRevisionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IDeleteSchemaRevisionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteSchemaRevisionRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.DeleteSchemaRevisionRequest.verify|verify} messages.
+ * @param message DeleteSchemaRevisionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IDeleteSchemaRevisionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteSchemaRevisionRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteSchemaRevisionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.DeleteSchemaRevisionRequest;
+
+ /**
+ * Decodes a DeleteSchemaRevisionRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteSchemaRevisionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.DeleteSchemaRevisionRequest;
+
+ /**
+ * Verifies a DeleteSchemaRevisionRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteSchemaRevisionRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteSchemaRevisionRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.DeleteSchemaRevisionRequest;
+
+ /**
+ * Creates a plain object from a DeleteSchemaRevisionRequest message. Also converts values to other types if specified.
+ * @param message DeleteSchemaRevisionRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.DeleteSchemaRevisionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteSchemaRevisionRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteSchemaRevisionRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteSchemaRequest. */
+ interface IDeleteSchemaRequest {
+
+ /** DeleteSchemaRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteSchemaRequest. */
+ class DeleteSchemaRequest implements IDeleteSchemaRequest {
+
+ /**
+ * Constructs a new DeleteSchemaRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IDeleteSchemaRequest);
+
+ /** DeleteSchemaRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteSchemaRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteSchemaRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IDeleteSchemaRequest): google.pubsub.v1.DeleteSchemaRequest;
+
+ /**
+ * Encodes the specified DeleteSchemaRequest message. Does not implicitly {@link google.pubsub.v1.DeleteSchemaRequest.verify|verify} messages.
+ * @param message DeleteSchemaRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IDeleteSchemaRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteSchemaRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.DeleteSchemaRequest.verify|verify} messages.
+ * @param message DeleteSchemaRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IDeleteSchemaRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteSchemaRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteSchemaRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.DeleteSchemaRequest;
+
+ /**
+ * Decodes a DeleteSchemaRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteSchemaRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.DeleteSchemaRequest;
+
+ /**
+ * Verifies a DeleteSchemaRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteSchemaRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteSchemaRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.DeleteSchemaRequest;
+
+ /**
+ * Creates a plain object from a DeleteSchemaRequest message. Also converts values to other types if specified.
+ * @param message DeleteSchemaRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.DeleteSchemaRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteSchemaRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteSchemaRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ValidateSchemaRequest. */
+ interface IValidateSchemaRequest {
+
+ /** ValidateSchemaRequest parent */
+ parent?: (string|null);
+
+ /** ValidateSchemaRequest schema */
+ schema?: (google.pubsub.v1.ISchema|null);
+ }
+
+ /** Represents a ValidateSchemaRequest. */
+ class ValidateSchemaRequest implements IValidateSchemaRequest {
+
+ /**
+ * Constructs a new ValidateSchemaRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IValidateSchemaRequest);
+
+ /** ValidateSchemaRequest parent. */
+ public parent: string;
+
+ /** ValidateSchemaRequest schema. */
+ public schema?: (google.pubsub.v1.ISchema|null);
+
+ /**
+ * Creates a new ValidateSchemaRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ValidateSchemaRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IValidateSchemaRequest): google.pubsub.v1.ValidateSchemaRequest;
+
+ /**
+ * Encodes the specified ValidateSchemaRequest message. Does not implicitly {@link google.pubsub.v1.ValidateSchemaRequest.verify|verify} messages.
+ * @param message ValidateSchemaRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IValidateSchemaRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ValidateSchemaRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.ValidateSchemaRequest.verify|verify} messages.
+ * @param message ValidateSchemaRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IValidateSchemaRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ValidateSchemaRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ValidateSchemaRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ValidateSchemaRequest;
+
+ /**
+ * Decodes a ValidateSchemaRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ValidateSchemaRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ValidateSchemaRequest;
+
+ /**
+ * Verifies a ValidateSchemaRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ValidateSchemaRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ValidateSchemaRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ValidateSchemaRequest;
+
+ /**
+ * Creates a plain object from a ValidateSchemaRequest message. Also converts values to other types if specified.
+ * @param message ValidateSchemaRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ValidateSchemaRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ValidateSchemaRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ValidateSchemaRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ValidateSchemaResponse. */
+ interface IValidateSchemaResponse {
+ }
+
+ /** Represents a ValidateSchemaResponse. */
+ class ValidateSchemaResponse implements IValidateSchemaResponse {
+
+ /**
+ * Constructs a new ValidateSchemaResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IValidateSchemaResponse);
+
+ /**
+ * Creates a new ValidateSchemaResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ValidateSchemaResponse instance
+ */
+ public static create(properties?: google.pubsub.v1.IValidateSchemaResponse): google.pubsub.v1.ValidateSchemaResponse;
+
+ /**
+ * Encodes the specified ValidateSchemaResponse message. Does not implicitly {@link google.pubsub.v1.ValidateSchemaResponse.verify|verify} messages.
+ * @param message ValidateSchemaResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IValidateSchemaResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ValidateSchemaResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.ValidateSchemaResponse.verify|verify} messages.
+ * @param message ValidateSchemaResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IValidateSchemaResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ValidateSchemaResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ValidateSchemaResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ValidateSchemaResponse;
+
+ /**
+ * Decodes a ValidateSchemaResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ValidateSchemaResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ValidateSchemaResponse;
+
+ /**
+ * Verifies a ValidateSchemaResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ValidateSchemaResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ValidateSchemaResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ValidateSchemaResponse;
+
+ /**
+ * Creates a plain object from a ValidateSchemaResponse message. Also converts values to other types if specified.
+ * @param message ValidateSchemaResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ValidateSchemaResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ValidateSchemaResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ValidateSchemaResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ValidateMessageRequest. */
+ interface IValidateMessageRequest {
+
+ /** ValidateMessageRequest parent */
+ parent?: (string|null);
+
+ /** ValidateMessageRequest name */
+ name?: (string|null);
+
+ /** ValidateMessageRequest schema */
+ schema?: (google.pubsub.v1.ISchema|null);
+
+ /** ValidateMessageRequest message */
+ message?: (Uint8Array|Buffer|string|null);
+
+ /** ValidateMessageRequest encoding */
+ encoding?: (google.pubsub.v1.Encoding|keyof typeof google.pubsub.v1.Encoding|null);
+ }
+
+ /** Represents a ValidateMessageRequest. */
+ class ValidateMessageRequest implements IValidateMessageRequest {
+
+ /**
+ * Constructs a new ValidateMessageRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IValidateMessageRequest);
+
+ /** ValidateMessageRequest parent. */
+ public parent: string;
+
+ /** ValidateMessageRequest name. */
+ public name?: (string|null);
+
+ /** ValidateMessageRequest schema. */
+ public schema?: (google.pubsub.v1.ISchema|null);
+
+ /** ValidateMessageRequest message. */
+ public message: (Uint8Array|Buffer|string);
+
+ /** ValidateMessageRequest encoding. */
+ public encoding: (google.pubsub.v1.Encoding|keyof typeof google.pubsub.v1.Encoding);
+
+ /** ValidateMessageRequest schemaSpec. */
+ public schemaSpec?: ("name"|"schema");
+
+ /**
+ * Creates a new ValidateMessageRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ValidateMessageRequest instance
+ */
+ public static create(properties?: google.pubsub.v1.IValidateMessageRequest): google.pubsub.v1.ValidateMessageRequest;
+
+ /**
+ * Encodes the specified ValidateMessageRequest message. Does not implicitly {@link google.pubsub.v1.ValidateMessageRequest.verify|verify} messages.
+ * @param message ValidateMessageRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IValidateMessageRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ValidateMessageRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.ValidateMessageRequest.verify|verify} messages.
+ * @param message ValidateMessageRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IValidateMessageRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ValidateMessageRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ValidateMessageRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ValidateMessageRequest;
+
+ /**
+ * Decodes a ValidateMessageRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ValidateMessageRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ValidateMessageRequest;
+
+ /**
+ * Verifies a ValidateMessageRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ValidateMessageRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ValidateMessageRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ValidateMessageRequest;
+
+ /**
+ * Creates a plain object from a ValidateMessageRequest message. Also converts values to other types if specified.
+ * @param message ValidateMessageRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ValidateMessageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ValidateMessageRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ValidateMessageRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ValidateMessageResponse. */
+ interface IValidateMessageResponse {
+ }
+
+ /** Represents a ValidateMessageResponse. */
+ class ValidateMessageResponse implements IValidateMessageResponse {
+
+ /**
+ * Constructs a new ValidateMessageResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.pubsub.v1.IValidateMessageResponse);
+
+ /**
+ * Creates a new ValidateMessageResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ValidateMessageResponse instance
+ */
+ public static create(properties?: google.pubsub.v1.IValidateMessageResponse): google.pubsub.v1.ValidateMessageResponse;
+
+ /**
+ * Encodes the specified ValidateMessageResponse message. Does not implicitly {@link google.pubsub.v1.ValidateMessageResponse.verify|verify} messages.
+ * @param message ValidateMessageResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.pubsub.v1.IValidateMessageResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ValidateMessageResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.ValidateMessageResponse.verify|verify} messages.
+ * @param message ValidateMessageResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.pubsub.v1.IValidateMessageResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ValidateMessageResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ValidateMessageResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.pubsub.v1.ValidateMessageResponse;
+
+ /**
+ * Decodes a ValidateMessageResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ValidateMessageResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.pubsub.v1.ValidateMessageResponse;
+
+ /**
+ * Verifies a ValidateMessageResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ValidateMessageResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ValidateMessageResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.pubsub.v1.ValidateMessageResponse;
+
+ /**
+ * Creates a plain object from a ValidateMessageResponse message. Also converts values to other types if specified.
+ * @param message ValidateMessageResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.pubsub.v1.ValidateMessageResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ValidateMessageResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ValidateMessageResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Encoding enum. */
+ enum Encoding {
+ ENCODING_UNSPECIFIED = 0,
+ JSON = 1,
+ BINARY = 2
+ }
+ }
+ }
+
+ /** Namespace api. */
+ namespace api {
+
+ /** Properties of a Http. */
+ interface IHttp {
+
+ /** Http rules */
+ rules?: (google.api.IHttpRule[]|null);
+
+ /** Http fullyDecodeReservedExpansion */
+ fullyDecodeReservedExpansion?: (boolean|null);
+ }
+
+ /** Represents a Http. */
+ class Http implements IHttp {
+
+ /**
+ * Constructs a new Http.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttp);
+
+ /** Http rules. */
+ public rules: google.api.IHttpRule[];
+
+ /** Http fullyDecodeReservedExpansion. */
+ public fullyDecodeReservedExpansion: boolean;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Http instance
+ */
+ public static create(properties?: google.api.IHttp): google.api.Http;
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http;
+
+ /**
+ * Verifies a Http message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Http
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Http;
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @param message Http
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Http to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Http
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HttpRule. */
+ interface IHttpRule {
+
+ /** HttpRule selector */
+ selector?: (string|null);
+
+ /** HttpRule get */
+ get?: (string|null);
+
+ /** HttpRule put */
+ put?: (string|null);
+
+ /** HttpRule post */
+ post?: (string|null);
+
+ /** HttpRule delete */
+ "delete"?: (string|null);
+
+ /** HttpRule patch */
+ patch?: (string|null);
+
+ /** HttpRule custom */
+ custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body */
+ body?: (string|null);
+
+ /** HttpRule responseBody */
+ responseBody?: (string|null);
+
+ /** HttpRule additionalBindings */
+ additionalBindings?: (google.api.IHttpRule[]|null);
+ }
+
+ /** Represents a HttpRule. */
+ class HttpRule implements IHttpRule {
+
+ /**
+ * Constructs a new HttpRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttpRule);
+
+ /** HttpRule selector. */
+ public selector: string;
+
+ /** HttpRule get. */
+ public get?: (string|null);
+
+ /** HttpRule put. */
+ public put?: (string|null);
+
+ /** HttpRule post. */
+ public post?: (string|null);
+
+ /** HttpRule delete. */
+ public delete?: (string|null);
+
+ /** HttpRule patch. */
+ public patch?: (string|null);
+
+ /** HttpRule custom. */
+ public custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body. */
+ public body: string;
+
+ /** HttpRule responseBody. */
+ public responseBody: string;
+
+ /** HttpRule additionalBindings. */
+ public additionalBindings: google.api.IHttpRule[];
+
+ /** HttpRule pattern. */
+ public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom");
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpRule instance
+ */
+ public static create(properties?: google.api.IHttpRule): google.api.HttpRule;
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule;
+
+ /**
+ * Verifies a HttpRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.HttpRule;
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @param message HttpRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomHttpPattern. */
+ interface ICustomHttpPattern {
+
+ /** CustomHttpPattern kind */
+ kind?: (string|null);
+
+ /** CustomHttpPattern path */
+ path?: (string|null);
+ }
+
+ /** Represents a CustomHttpPattern. */
+ class CustomHttpPattern implements ICustomHttpPattern {
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICustomHttpPattern);
+
+ /** CustomHttpPattern kind. */
+ public kind: string;
+
+ /** CustomHttpPattern path. */
+ public path: string;
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomHttpPattern instance
+ */
+ public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern;
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern;
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomHttpPattern
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern;
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @param message CustomHttpPattern
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CommonLanguageSettings. */
+ interface ICommonLanguageSettings {
+
+ /** CommonLanguageSettings referenceDocsUri */
+ referenceDocsUri?: (string|null);
+
+ /** CommonLanguageSettings destinations */
+ destinations?: (google.api.ClientLibraryDestination[]|null);
+
+ /** CommonLanguageSettings selectiveGapicGeneration */
+ selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null);
+ }
+
+ /** Represents a CommonLanguageSettings. */
+ class CommonLanguageSettings implements ICommonLanguageSettings {
+
+ /**
+ * Constructs a new CommonLanguageSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICommonLanguageSettings);
+
+ /** CommonLanguageSettings referenceDocsUri. */
+ public referenceDocsUri: string;
+
+ /** CommonLanguageSettings destinations. */
+ public destinations: google.api.ClientLibraryDestination[];
+
+ /** CommonLanguageSettings selectiveGapicGeneration. */
+ public selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null);
+
+ /**
+ * Creates a new CommonLanguageSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CommonLanguageSettings instance
+ */
+ public static create(properties?: google.api.ICommonLanguageSettings): google.api.CommonLanguageSettings;
+
+ /**
+ * Encodes the specified CommonLanguageSettings message. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages.
+ * @param message CommonLanguageSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICommonLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CommonLanguageSettings message, length delimited. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages.
+ * @param message CommonLanguageSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICommonLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CommonLanguageSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CommonLanguageSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CommonLanguageSettings;
+
+ /**
+ * Decodes a CommonLanguageSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CommonLanguageSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CommonLanguageSettings;
+
+ /**
+ * Verifies a CommonLanguageSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CommonLanguageSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CommonLanguageSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CommonLanguageSettings;
+
+ /**
+ * Creates a plain object from a CommonLanguageSettings message. Also converts values to other types if specified.
+ * @param message CommonLanguageSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CommonLanguageSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CommonLanguageSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CommonLanguageSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ClientLibrarySettings. */
+ interface IClientLibrarySettings {
+
+ /** ClientLibrarySettings version */
+ version?: (string|null);
+
+ /** ClientLibrarySettings launchStage */
+ launchStage?: (google.api.LaunchStage|keyof typeof google.api.LaunchStage|null);
+
+ /** ClientLibrarySettings restNumericEnums */
+ restNumericEnums?: (boolean|null);
+
+ /** ClientLibrarySettings javaSettings */
+ javaSettings?: (google.api.IJavaSettings|null);
+
+ /** ClientLibrarySettings cppSettings */
+ cppSettings?: (google.api.ICppSettings|null);
+
+ /** ClientLibrarySettings phpSettings */
+ phpSettings?: (google.api.IPhpSettings|null);
+
+ /** ClientLibrarySettings pythonSettings */
+ pythonSettings?: (google.api.IPythonSettings|null);
+
+ /** ClientLibrarySettings nodeSettings */
+ nodeSettings?: (google.api.INodeSettings|null);
+
+ /** ClientLibrarySettings dotnetSettings */
+ dotnetSettings?: (google.api.IDotnetSettings|null);
+
+ /** ClientLibrarySettings rubySettings */
+ rubySettings?: (google.api.IRubySettings|null);
+
+ /** ClientLibrarySettings goSettings */
+ goSettings?: (google.api.IGoSettings|null);
+ }
+
+ /** Represents a ClientLibrarySettings. */
+ class ClientLibrarySettings implements IClientLibrarySettings {
+
+ /**
+ * Constructs a new ClientLibrarySettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IClientLibrarySettings);
+
+ /** ClientLibrarySettings version. */
+ public version: string;
+
+ /** ClientLibrarySettings launchStage. */
+ public launchStage: (google.api.LaunchStage|keyof typeof google.api.LaunchStage);
+
+ /** ClientLibrarySettings restNumericEnums. */
+ public restNumericEnums: boolean;
+
+ /** ClientLibrarySettings javaSettings. */
+ public javaSettings?: (google.api.IJavaSettings|null);
+
+ /** ClientLibrarySettings cppSettings. */
+ public cppSettings?: (google.api.ICppSettings|null);
+
+ /** ClientLibrarySettings phpSettings. */
+ public phpSettings?: (google.api.IPhpSettings|null);
+
+ /** ClientLibrarySettings pythonSettings. */
+ public pythonSettings?: (google.api.IPythonSettings|null);
+
+ /** ClientLibrarySettings nodeSettings. */
+ public nodeSettings?: (google.api.INodeSettings|null);
+
+ /** ClientLibrarySettings dotnetSettings. */
+ public dotnetSettings?: (google.api.IDotnetSettings|null);
+
+ /** ClientLibrarySettings rubySettings. */
+ public rubySettings?: (google.api.IRubySettings|null);
+
+ /** ClientLibrarySettings goSettings. */
+ public goSettings?: (google.api.IGoSettings|null);
+
+ /**
+ * Creates a new ClientLibrarySettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ClientLibrarySettings instance
+ */
+ public static create(properties?: google.api.IClientLibrarySettings): google.api.ClientLibrarySettings;
+
+ /**
+ * Encodes the specified ClientLibrarySettings message. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages.
+ * @param message ClientLibrarySettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IClientLibrarySettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ClientLibrarySettings message, length delimited. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages.
+ * @param message ClientLibrarySettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IClientLibrarySettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ClientLibrarySettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ClientLibrarySettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ClientLibrarySettings;
+
+ /**
+ * Decodes a ClientLibrarySettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ClientLibrarySettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ClientLibrarySettings;
+
+ /**
+ * Verifies a ClientLibrarySettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ClientLibrarySettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ClientLibrarySettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ClientLibrarySettings;
+
+ /**
+ * Creates a plain object from a ClientLibrarySettings message. Also converts values to other types if specified.
+ * @param message ClientLibrarySettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ClientLibrarySettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ClientLibrarySettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ClientLibrarySettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Publishing. */
+ interface IPublishing {
+
+ /** Publishing methodSettings */
+ methodSettings?: (google.api.IMethodSettings[]|null);
+
+ /** Publishing newIssueUri */
+ newIssueUri?: (string|null);
+
+ /** Publishing documentationUri */
+ documentationUri?: (string|null);
+
+ /** Publishing apiShortName */
+ apiShortName?: (string|null);
+
+ /** Publishing githubLabel */
+ githubLabel?: (string|null);
+
+ /** Publishing codeownerGithubTeams */
+ codeownerGithubTeams?: (string[]|null);
+
+ /** Publishing docTagPrefix */
+ docTagPrefix?: (string|null);
+
+ /** Publishing organization */
+ organization?: (google.api.ClientLibraryOrganization|keyof typeof google.api.ClientLibraryOrganization|null);
+
+ /** Publishing librarySettings */
+ librarySettings?: (google.api.IClientLibrarySettings[]|null);
+
+ /** Publishing protoReferenceDocumentationUri */
+ protoReferenceDocumentationUri?: (string|null);
+
+ /** Publishing restReferenceDocumentationUri */
+ restReferenceDocumentationUri?: (string|null);
+ }
+
+ /** Represents a Publishing. */
+ class Publishing implements IPublishing {
+
+ /**
+ * Constructs a new Publishing.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IPublishing);
+
+ /** Publishing methodSettings. */
+ public methodSettings: google.api.IMethodSettings[];
+
+ /** Publishing newIssueUri. */
+ public newIssueUri: string;
+
+ /** Publishing documentationUri. */
+ public documentationUri: string;
+
+ /** Publishing apiShortName. */
+ public apiShortName: string;
+
+ /** Publishing githubLabel. */
+ public githubLabel: string;
+
+ /** Publishing codeownerGithubTeams. */
+ public codeownerGithubTeams: string[];
+
+ /** Publishing docTagPrefix. */
+ public docTagPrefix: string;
+
+ /** Publishing organization. */
+ public organization: (google.api.ClientLibraryOrganization|keyof typeof google.api.ClientLibraryOrganization);
+
+ /** Publishing librarySettings. */
+ public librarySettings: google.api.IClientLibrarySettings[];
+
+ /** Publishing protoReferenceDocumentationUri. */
+ public protoReferenceDocumentationUri: string;
+
+ /** Publishing restReferenceDocumentationUri. */
+ public restReferenceDocumentationUri: string;
+
+ /**
+ * Creates a new Publishing instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Publishing instance
+ */
+ public static create(properties?: google.api.IPublishing): google.api.Publishing;
+
+ /**
+ * Encodes the specified Publishing message. Does not implicitly {@link google.api.Publishing.verify|verify} messages.
+ * @param message Publishing message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IPublishing, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Publishing message, length delimited. Does not implicitly {@link google.api.Publishing.verify|verify} messages.
+ * @param message Publishing message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IPublishing, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Publishing message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Publishing
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Publishing;
+
+ /**
+ * Decodes a Publishing message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Publishing
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Publishing;
+
+ /**
+ * Verifies a Publishing message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Publishing message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Publishing
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Publishing;
+
+ /**
+ * Creates a plain object from a Publishing message. Also converts values to other types if specified.
+ * @param message Publishing
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Publishing, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Publishing to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Publishing
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a JavaSettings. */
+ interface IJavaSettings {
+
+ /** JavaSettings libraryPackage */
+ libraryPackage?: (string|null);
+
+ /** JavaSettings serviceClassNames */
+ serviceClassNames?: ({ [k: string]: string }|null);
+
+ /** JavaSettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+ }
+
+ /** Represents a JavaSettings. */
+ class JavaSettings implements IJavaSettings {
+
+ /**
+ * Constructs a new JavaSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IJavaSettings);
+
+ /** JavaSettings libraryPackage. */
+ public libraryPackage: string;
+
+ /** JavaSettings serviceClassNames. */
+ public serviceClassNames: { [k: string]: string };
+
+ /** JavaSettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /**
+ * Creates a new JavaSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns JavaSettings instance
+ */
+ public static create(properties?: google.api.IJavaSettings): google.api.JavaSettings;
+
+ /**
+ * Encodes the specified JavaSettings message. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages.
+ * @param message JavaSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IJavaSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified JavaSettings message, length delimited. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages.
+ * @param message JavaSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IJavaSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a JavaSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns JavaSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.JavaSettings;
+
+ /**
+ * Decodes a JavaSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns JavaSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.JavaSettings;
+
+ /**
+ * Verifies a JavaSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a JavaSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns JavaSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.JavaSettings;
+
+ /**
+ * Creates a plain object from a JavaSettings message. Also converts values to other types if specified.
+ * @param message JavaSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.JavaSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this JavaSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for JavaSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CppSettings. */
+ interface ICppSettings {
+
+ /** CppSettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+ }
+
+ /** Represents a CppSettings. */
+ class CppSettings implements ICppSettings {
+
+ /**
+ * Constructs a new CppSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICppSettings);
+
+ /** CppSettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /**
+ * Creates a new CppSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CppSettings instance
+ */
+ public static create(properties?: google.api.ICppSettings): google.api.CppSettings;
+
+ /**
+ * Encodes the specified CppSettings message. Does not implicitly {@link google.api.CppSettings.verify|verify} messages.
+ * @param message CppSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICppSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CppSettings message, length delimited. Does not implicitly {@link google.api.CppSettings.verify|verify} messages.
+ * @param message CppSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICppSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CppSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CppSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CppSettings;
+
+ /**
+ * Decodes a CppSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CppSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CppSettings;
+
+ /**
+ * Verifies a CppSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CppSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CppSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CppSettings;
+
+ /**
+ * Creates a plain object from a CppSettings message. Also converts values to other types if specified.
+ * @param message CppSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CppSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CppSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CppSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PhpSettings. */
+ interface IPhpSettings {
+
+ /** PhpSettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+ }
+
+ /** Represents a PhpSettings. */
+ class PhpSettings implements IPhpSettings {
+
+ /**
+ * Constructs a new PhpSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IPhpSettings);
+
+ /** PhpSettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /**
+ * Creates a new PhpSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PhpSettings instance
+ */
+ public static create(properties?: google.api.IPhpSettings): google.api.PhpSettings;
+
+ /**
+ * Encodes the specified PhpSettings message. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages.
+ * @param message PhpSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IPhpSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PhpSettings message, length delimited. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages.
+ * @param message PhpSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IPhpSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PhpSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PhpSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PhpSettings;
+
+ /**
+ * Decodes a PhpSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PhpSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PhpSettings;
+
+ /**
+ * Verifies a PhpSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PhpSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PhpSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.PhpSettings;
+
+ /**
+ * Creates a plain object from a PhpSettings message. Also converts values to other types if specified.
+ * @param message PhpSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.PhpSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PhpSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PhpSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PythonSettings. */
+ interface IPythonSettings {
+
+ /** PythonSettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+
+ /** PythonSettings experimentalFeatures */
+ experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null);
+ }
+
+ /** Represents a PythonSettings. */
+ class PythonSettings implements IPythonSettings {
+
+ /**
+ * Constructs a new PythonSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IPythonSettings);
+
+ /** PythonSettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /** PythonSettings experimentalFeatures. */
+ public experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null);
+
+ /**
+ * Creates a new PythonSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PythonSettings instance
+ */
+ public static create(properties?: google.api.IPythonSettings): google.api.PythonSettings;
+
+ /**
+ * Encodes the specified PythonSettings message. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages.
+ * @param message PythonSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IPythonSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PythonSettings message, length delimited. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages.
+ * @param message PythonSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IPythonSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PythonSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PythonSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PythonSettings;
+
+ /**
+ * Decodes a PythonSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PythonSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PythonSettings;
+
+ /**
+ * Verifies a PythonSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PythonSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PythonSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.PythonSettings;
+
+ /**
+ * Creates a plain object from a PythonSettings message. Also converts values to other types if specified.
+ * @param message PythonSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.PythonSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PythonSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PythonSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PythonSettings {
+
+ /** Properties of an ExperimentalFeatures. */
+ interface IExperimentalFeatures {
+
+ /** ExperimentalFeatures restAsyncIoEnabled */
+ restAsyncIoEnabled?: (boolean|null);
+
+ /** ExperimentalFeatures protobufPythonicTypesEnabled */
+ protobufPythonicTypesEnabled?: (boolean|null);
+
+ /** ExperimentalFeatures unversionedPackageDisabled */
+ unversionedPackageDisabled?: (boolean|null);
+ }
+
+ /** Represents an ExperimentalFeatures. */
+ class ExperimentalFeatures implements IExperimentalFeatures {
+
+ /**
+ * Constructs a new ExperimentalFeatures.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.PythonSettings.IExperimentalFeatures);
+
+ /** ExperimentalFeatures restAsyncIoEnabled. */
+ public restAsyncIoEnabled: boolean;
+
+ /** ExperimentalFeatures protobufPythonicTypesEnabled. */
+ public protobufPythonicTypesEnabled: boolean;
+
+ /** ExperimentalFeatures unversionedPackageDisabled. */
+ public unversionedPackageDisabled: boolean;
+
+ /**
+ * Creates a new ExperimentalFeatures instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExperimentalFeatures instance
+ */
+ public static create(properties?: google.api.PythonSettings.IExperimentalFeatures): google.api.PythonSettings.ExperimentalFeatures;
+
+ /**
+ * Encodes the specified ExperimentalFeatures message. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages.
+ * @param message ExperimentalFeatures message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExperimentalFeatures message, length delimited. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages.
+ * @param message ExperimentalFeatures message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExperimentalFeatures message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExperimentalFeatures
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PythonSettings.ExperimentalFeatures;
+
+ /**
+ * Decodes an ExperimentalFeatures message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExperimentalFeatures
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PythonSettings.ExperimentalFeatures;
+
+ /**
+ * Verifies an ExperimentalFeatures message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExperimentalFeatures message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExperimentalFeatures
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.PythonSettings.ExperimentalFeatures;
+
+ /**
+ * Creates a plain object from an ExperimentalFeatures message. Also converts values to other types if specified.
+ * @param message ExperimentalFeatures
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.PythonSettings.ExperimentalFeatures, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExperimentalFeatures to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExperimentalFeatures
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a NodeSettings. */
+ interface INodeSettings {
+
+ /** NodeSettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+ }
+
+ /** Represents a NodeSettings. */
+ class NodeSettings implements INodeSettings {
+
+ /**
+ * Constructs a new NodeSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.INodeSettings);
+
+ /** NodeSettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /**
+ * Creates a new NodeSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NodeSettings instance
+ */
+ public static create(properties?: google.api.INodeSettings): google.api.NodeSettings;
+
+ /**
+ * Encodes the specified NodeSettings message. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages.
+ * @param message NodeSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.INodeSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NodeSettings message, length delimited. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages.
+ * @param message NodeSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.INodeSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NodeSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NodeSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.NodeSettings;
+
+ /**
+ * Decodes a NodeSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NodeSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.NodeSettings;
+
+ /**
+ * Verifies a NodeSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NodeSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NodeSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.NodeSettings;
+
+ /**
+ * Creates a plain object from a NodeSettings message. Also converts values to other types if specified.
+ * @param message NodeSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.NodeSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NodeSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NodeSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DotnetSettings. */
+ interface IDotnetSettings {
+
+ /** DotnetSettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+
+ /** DotnetSettings renamedServices */
+ renamedServices?: ({ [k: string]: string }|null);
+
+ /** DotnetSettings renamedResources */
+ renamedResources?: ({ [k: string]: string }|null);
+
+ /** DotnetSettings ignoredResources */
+ ignoredResources?: (string[]|null);
+
+ /** DotnetSettings forcedNamespaceAliases */
+ forcedNamespaceAliases?: (string[]|null);
+
+ /** DotnetSettings handwrittenSignatures */
+ handwrittenSignatures?: (string[]|null);
+ }
+
+ /** Represents a DotnetSettings. */
+ class DotnetSettings implements IDotnetSettings {
+
+ /**
+ * Constructs a new DotnetSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IDotnetSettings);
+
+ /** DotnetSettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /** DotnetSettings renamedServices. */
+ public renamedServices: { [k: string]: string };
+
+ /** DotnetSettings renamedResources. */
+ public renamedResources: { [k: string]: string };
+
+ /** DotnetSettings ignoredResources. */
+ public ignoredResources: string[];
+
+ /** DotnetSettings forcedNamespaceAliases. */
+ public forcedNamespaceAliases: string[];
+
+ /** DotnetSettings handwrittenSignatures. */
+ public handwrittenSignatures: string[];
+
+ /**
+ * Creates a new DotnetSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DotnetSettings instance
+ */
+ public static create(properties?: google.api.IDotnetSettings): google.api.DotnetSettings;
+
+ /**
+ * Encodes the specified DotnetSettings message. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages.
+ * @param message DotnetSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IDotnetSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DotnetSettings message, length delimited. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages.
+ * @param message DotnetSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IDotnetSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DotnetSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DotnetSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.DotnetSettings;
+
+ /**
+ * Decodes a DotnetSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DotnetSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.DotnetSettings;
+
+ /**
+ * Verifies a DotnetSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DotnetSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DotnetSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.DotnetSettings;
+
+ /**
+ * Creates a plain object from a DotnetSettings message. Also converts values to other types if specified.
+ * @param message DotnetSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.DotnetSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DotnetSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DotnetSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RubySettings. */
+ interface IRubySettings {
+
+ /** RubySettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+ }
+
+ /** Represents a RubySettings. */
+ class RubySettings implements IRubySettings {
+
+ /**
+ * Constructs a new RubySettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IRubySettings);
+
+ /** RubySettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /**
+ * Creates a new RubySettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RubySettings instance
+ */
+ public static create(properties?: google.api.IRubySettings): google.api.RubySettings;
+
+ /**
+ * Encodes the specified RubySettings message. Does not implicitly {@link google.api.RubySettings.verify|verify} messages.
+ * @param message RubySettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IRubySettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RubySettings message, length delimited. Does not implicitly {@link google.api.RubySettings.verify|verify} messages.
+ * @param message RubySettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IRubySettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RubySettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RubySettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.RubySettings;
+
+ /**
+ * Decodes a RubySettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RubySettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.RubySettings;
+
+ /**
+ * Verifies a RubySettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RubySettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RubySettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.RubySettings;
+
+ /**
+ * Creates a plain object from a RubySettings message. Also converts values to other types if specified.
+ * @param message RubySettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.RubySettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RubySettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RubySettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GoSettings. */
+ interface IGoSettings {
+
+ /** GoSettings common */
+ common?: (google.api.ICommonLanguageSettings|null);
+
+ /** GoSettings renamedServices */
+ renamedServices?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a GoSettings. */
+ class GoSettings implements IGoSettings {
+
+ /**
+ * Constructs a new GoSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IGoSettings);
+
+ /** GoSettings common. */
+ public common?: (google.api.ICommonLanguageSettings|null);
+
+ /** GoSettings renamedServices. */
+ public renamedServices: { [k: string]: string };
+
+ /**
+ * Creates a new GoSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GoSettings instance
+ */
+ public static create(properties?: google.api.IGoSettings): google.api.GoSettings;
+
+ /**
+ * Encodes the specified GoSettings message. Does not implicitly {@link google.api.GoSettings.verify|verify} messages.
+ * @param message GoSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IGoSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GoSettings message, length delimited. Does not implicitly {@link google.api.GoSettings.verify|verify} messages.
+ * @param message GoSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IGoSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GoSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GoSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.GoSettings;
+
+ /**
+ * Decodes a GoSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GoSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.GoSettings;
+
+ /**
+ * Verifies a GoSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GoSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GoSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.GoSettings;
+
+ /**
+ * Creates a plain object from a GoSettings message. Also converts values to other types if specified.
+ * @param message GoSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.GoSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GoSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GoSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodSettings. */
+ interface IMethodSettings {
+
+ /** MethodSettings selector */
+ selector?: (string|null);
+
+ /** MethodSettings longRunning */
+ longRunning?: (google.api.MethodSettings.ILongRunning|null);
+
+ /** MethodSettings autoPopulatedFields */
+ autoPopulatedFields?: (string[]|null);
+ }
+
+ /** Represents a MethodSettings. */
+ class MethodSettings implements IMethodSettings {
+
+ /**
+ * Constructs a new MethodSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IMethodSettings);
+
+ /** MethodSettings selector. */
+ public selector: string;
+
+ /** MethodSettings longRunning. */
+ public longRunning?: (google.api.MethodSettings.ILongRunning|null);
+
+ /** MethodSettings autoPopulatedFields. */
+ public autoPopulatedFields: string[];
+
+ /**
+ * Creates a new MethodSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodSettings instance
+ */
+ public static create(properties?: google.api.IMethodSettings): google.api.MethodSettings;
+
+ /**
+ * Encodes the specified MethodSettings message. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages.
+ * @param message MethodSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IMethodSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodSettings message, length delimited. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages.
+ * @param message MethodSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IMethodSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MethodSettings;
+
+ /**
+ * Decodes a MethodSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MethodSettings;
+
+ /**
+ * Verifies a MethodSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.MethodSettings;
+
+ /**
+ * Creates a plain object from a MethodSettings message. Also converts values to other types if specified.
+ * @param message MethodSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.MethodSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MethodSettings {
+
+ /** Properties of a LongRunning. */
+ interface ILongRunning {
+
+ /** LongRunning initialPollDelay */
+ initialPollDelay?: (google.protobuf.IDuration|null);
+
+ /** LongRunning pollDelayMultiplier */
+ pollDelayMultiplier?: (number|null);
+
+ /** LongRunning maxPollDelay */
+ maxPollDelay?: (google.protobuf.IDuration|null);
+
+ /** LongRunning totalPollTimeout */
+ totalPollTimeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a LongRunning. */
+ class LongRunning implements ILongRunning {
+
+ /**
+ * Constructs a new LongRunning.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.MethodSettings.ILongRunning);
+
+ /** LongRunning initialPollDelay. */
+ public initialPollDelay?: (google.protobuf.IDuration|null);
+
+ /** LongRunning pollDelayMultiplier. */
+ public pollDelayMultiplier: number;
+
+ /** LongRunning maxPollDelay. */
+ public maxPollDelay?: (google.protobuf.IDuration|null);
+
+ /** LongRunning totalPollTimeout. */
+ public totalPollTimeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new LongRunning instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LongRunning instance
+ */
+ public static create(properties?: google.api.MethodSettings.ILongRunning): google.api.MethodSettings.LongRunning;
+
+ /**
+ * Encodes the specified LongRunning message. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages.
+ * @param message LongRunning message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.MethodSettings.ILongRunning, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LongRunning message, length delimited. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages.
+ * @param message LongRunning message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.MethodSettings.ILongRunning, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LongRunning message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LongRunning
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MethodSettings.LongRunning;
+
+ /**
+ * Decodes a LongRunning message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LongRunning
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MethodSettings.LongRunning;
+
+ /**
+ * Verifies a LongRunning message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LongRunning message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LongRunning
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.MethodSettings.LongRunning;
+
+ /**
+ * Creates a plain object from a LongRunning message. Also converts values to other types if specified.
+ * @param message LongRunning
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.MethodSettings.LongRunning, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LongRunning to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LongRunning
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** ClientLibraryOrganization enum. */
+ enum ClientLibraryOrganization {
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0,
+ CLOUD = 1,
+ ADS = 2,
+ PHOTOS = 3,
+ STREET_VIEW = 4,
+ SHOPPING = 5,
+ GEO = 6,
+ GENERATIVE_AI = 7
+ }
+
+ /** ClientLibraryDestination enum. */
+ enum ClientLibraryDestination {
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0,
+ GITHUB = 10,
+ PACKAGE_MANAGER = 20
+ }
+
+ /** Properties of a SelectiveGapicGeneration. */
+ interface ISelectiveGapicGeneration {
+
+ /** SelectiveGapicGeneration methods */
+ methods?: (string[]|null);
+
+ /** SelectiveGapicGeneration generateOmittedAsInternal */
+ generateOmittedAsInternal?: (boolean|null);
+ }
+
+ /** Represents a SelectiveGapicGeneration. */
+ class SelectiveGapicGeneration implements ISelectiveGapicGeneration {
+
+ /**
+ * Constructs a new SelectiveGapicGeneration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ISelectiveGapicGeneration);
+
+ /** SelectiveGapicGeneration methods. */
+ public methods: string[];
+
+ /** SelectiveGapicGeneration generateOmittedAsInternal. */
+ public generateOmittedAsInternal: boolean;
+
+ /**
+ * Creates a new SelectiveGapicGeneration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SelectiveGapicGeneration instance
+ */
+ public static create(properties?: google.api.ISelectiveGapicGeneration): google.api.SelectiveGapicGeneration;
+
+ /**
+ * Encodes the specified SelectiveGapicGeneration message. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages.
+ * @param message SelectiveGapicGeneration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SelectiveGapicGeneration message, length delimited. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages.
+ * @param message SelectiveGapicGeneration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SelectiveGapicGeneration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SelectiveGapicGeneration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.SelectiveGapicGeneration;
+
+ /**
+ * Decodes a SelectiveGapicGeneration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SelectiveGapicGeneration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.SelectiveGapicGeneration;
+
+ /**
+ * Verifies a SelectiveGapicGeneration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SelectiveGapicGeneration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SelectiveGapicGeneration
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.SelectiveGapicGeneration;
+
+ /**
+ * Creates a plain object from a SelectiveGapicGeneration message. Also converts values to other types if specified.
+ * @param message SelectiveGapicGeneration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.SelectiveGapicGeneration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SelectiveGapicGeneration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SelectiveGapicGeneration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** LaunchStage enum. */
+ enum LaunchStage {
+ LAUNCH_STAGE_UNSPECIFIED = 0,
+ UNIMPLEMENTED = 6,
+ PRELAUNCH = 7,
+ EARLY_ACCESS = 1,
+ ALPHA = 2,
+ BETA = 3,
+ GA = 4,
+ DEPRECATED = 5
+ }
+
+ /** FieldBehavior enum. */
+ enum FieldBehavior {
+ FIELD_BEHAVIOR_UNSPECIFIED = 0,
+ OPTIONAL = 1,
+ REQUIRED = 2,
+ OUTPUT_ONLY = 3,
+ INPUT_ONLY = 4,
+ IMMUTABLE = 5,
+ UNORDERED_LIST = 6,
+ NON_EMPTY_DEFAULT = 7,
+ IDENTIFIER = 8
+ }
+
+ /** Properties of a ResourceDescriptor. */
+ interface IResourceDescriptor {
+
+ /** ResourceDescriptor type */
+ type?: (string|null);
+
+ /** ResourceDescriptor pattern */
+ pattern?: (string[]|null);
+
+ /** ResourceDescriptor nameField */
+ nameField?: (string|null);
+
+ /** ResourceDescriptor history */
+ history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null);
+
+ /** ResourceDescriptor plural */
+ plural?: (string|null);
+
+ /** ResourceDescriptor singular */
+ singular?: (string|null);
+
+ /** ResourceDescriptor style */
+ style?: (google.api.ResourceDescriptor.Style[]|null);
+ }
+
+ /** Represents a ResourceDescriptor. */
+ class ResourceDescriptor implements IResourceDescriptor {
+
+ /**
+ * Constructs a new ResourceDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceDescriptor);
+
+ /** ResourceDescriptor type. */
+ public type: string;
+
+ /** ResourceDescriptor pattern. */
+ public pattern: string[];
+
+ /** ResourceDescriptor nameField. */
+ public nameField: string;
+
+ /** ResourceDescriptor history. */
+ public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History);
+
+ /** ResourceDescriptor plural. */
+ public plural: string;
+
+ /** ResourceDescriptor singular. */
+ public singular: string;
+
+ /** ResourceDescriptor style. */
+ public style: google.api.ResourceDescriptor.Style[];
+
+ /**
+ * Creates a new ResourceDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceDescriptor instance
+ */
+ public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor;
+
+ /**
+ * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceDescriptor;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceDescriptor;
+
+ /**
+ * Verifies a ResourceDescriptor message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor;
+
+ /**
+ * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified.
+ * @param message ResourceDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ResourceDescriptor {
+
+ /** History enum. */
+ enum History {
+ HISTORY_UNSPECIFIED = 0,
+ ORIGINALLY_SINGLE_PATTERN = 1,
+ FUTURE_MULTI_PATTERN = 2
+ }
+
+ /** Style enum. */
+ enum Style {
+ STYLE_UNSPECIFIED = 0,
+ DECLARATIVE_FRIENDLY = 1
+ }
+ }
+
+ /** Properties of a ResourceReference. */
+ interface IResourceReference {
+
+ /** ResourceReference type */
+ type?: (string|null);
+
+ /** ResourceReference childType */
+ childType?: (string|null);
+ }
+
+ /** Represents a ResourceReference. */
+ class ResourceReference implements IResourceReference {
+
+ /**
+ * Constructs a new ResourceReference.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceReference);
+
+ /** ResourceReference type. */
+ public type: string;
+
+ /** ResourceReference childType. */
+ public childType: string;
+
+ /**
+ * Creates a new ResourceReference instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceReference instance
+ */
+ public static create(properties?: google.api.IResourceReference): google.api.ResourceReference;
+
+ /**
+ * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceReference;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceReference;
+
+ /**
+ * Verifies a ResourceReference message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceReference
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceReference;
+
+ /**
+ * Creates a plain object from a ResourceReference message. Also converts values to other types if specified.
+ * @param message ResourceReference
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceReference to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceReference
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace protobuf. */
+ namespace protobuf {
+
+ /** Properties of a FileDescriptorSet. */
+ interface IFileDescriptorSet {
+
+ /** FileDescriptorSet file */
+ file?: (google.protobuf.IFileDescriptorProto[]|null);
+ }
+
+ /** Represents a FileDescriptorSet. */
+ class FileDescriptorSet implements IFileDescriptorSet {
+
+ /**
+ * Constructs a new FileDescriptorSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorSet);
+
+ /** FileDescriptorSet file. */
+ public file: google.protobuf.IFileDescriptorProto[];
+
+ /**
+ * Creates a new FileDescriptorSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorSet instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Verifies a FileDescriptorSet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified.
+ * @param message FileDescriptorSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorSet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Edition enum. */
+ enum Edition {
+ EDITION_UNKNOWN = 0,
+ EDITION_LEGACY = 900,
+ EDITION_PROTO2 = 998,
+ EDITION_PROTO3 = 999,
+ EDITION_2023 = 1000,
+ EDITION_2024 = 1001,
+ EDITION_1_TEST_ONLY = 1,
+ EDITION_2_TEST_ONLY = 2,
+ EDITION_99997_TEST_ONLY = 99997,
+ EDITION_99998_TEST_ONLY = 99998,
+ EDITION_99999_TEST_ONLY = 99999,
+ EDITION_MAX = 2147483647
+ }
+
+ /** Properties of a FileDescriptorProto. */
+ interface IFileDescriptorProto {
+
+ /** FileDescriptorProto name */
+ name?: (string|null);
+
+ /** FileDescriptorProto package */
+ "package"?: (string|null);
+
+ /** FileDescriptorProto dependency */
+ dependency?: (string[]|null);
+
+ /** FileDescriptorProto publicDependency */
+ publicDependency?: (number[]|null);
+
+ /** FileDescriptorProto weakDependency */
+ weakDependency?: (number[]|null);
+
+ /** FileDescriptorProto optionDependency */
+ optionDependency?: (string[]|null);
+
+ /** FileDescriptorProto messageType */
+ messageType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** FileDescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** FileDescriptorProto service */
+ service?: (google.protobuf.IServiceDescriptorProto[]|null);
+
+ /** FileDescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** FileDescriptorProto options */
+ options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo */
+ sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax */
+ syntax?: (string|null);
+
+ /** FileDescriptorProto edition */
+ edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+ }
+
+ /** Represents a FileDescriptorProto. */
+ class FileDescriptorProto implements IFileDescriptorProto {
+
+ /**
+ * Constructs a new FileDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorProto);
+
+ /** FileDescriptorProto name. */
+ public name: string;
+
+ /** FileDescriptorProto package. */
+ public package: string;
+
+ /** FileDescriptorProto dependency. */
+ public dependency: string[];
+
+ /** FileDescriptorProto publicDependency. */
+ public publicDependency: number[];
+
+ /** FileDescriptorProto weakDependency. */
+ public weakDependency: number[];
+
+ /** FileDescriptorProto optionDependency. */
+ public optionDependency: string[];
+
+ /** FileDescriptorProto messageType. */
+ public messageType: google.protobuf.IDescriptorProto[];
+
+ /** FileDescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** FileDescriptorProto service. */
+ public service: google.protobuf.IServiceDescriptorProto[];
+
+ /** FileDescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** FileDescriptorProto options. */
+ public options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo. */
+ public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax. */
+ public syntax: string;
+
+ /** FileDescriptorProto edition. */
+ public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /**
+ * Creates a new FileDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Verifies a FileDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified.
+ * @param message FileDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DescriptorProto. */
+ interface IDescriptorProto {
+
+ /** DescriptorProto name */
+ name?: (string|null);
+
+ /** DescriptorProto field */
+ field?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto nestedType */
+ nestedType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** DescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** DescriptorProto extensionRange */
+ extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null);
+
+ /** DescriptorProto oneofDecl */
+ oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null);
+
+ /** DescriptorProto options */
+ options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null);
+
+ /** DescriptorProto reservedName */
+ reservedName?: (string[]|null);
+
+ /** DescriptorProto visibility */
+ visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null);
+ }
+
+ /** Represents a DescriptorProto. */
+ class DescriptorProto implements IDescriptorProto {
+
+ /**
+ * Constructs a new DescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDescriptorProto);
+
+ /** DescriptorProto name. */
+ public name: string;
+
+ /** DescriptorProto field. */
+ public field: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto nestedType. */
+ public nestedType: google.protobuf.IDescriptorProto[];
+
+ /** DescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** DescriptorProto extensionRange. */
+ public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[];
+
+ /** DescriptorProto oneofDecl. */
+ public oneofDecl: google.protobuf.IOneofDescriptorProto[];
+
+ /** DescriptorProto options. */
+ public options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.DescriptorProto.IReservedRange[];
+
+ /** DescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /** DescriptorProto visibility. */
+ public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility);
+
+ /**
+ * Creates a new DescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto;
+
+ /**
+ * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto;
+
+ /**
+ * Verifies a DescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto;
+
+ /**
+ * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified.
+ * @param message DescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace DescriptorProto {
+
+ /** Properties of an ExtensionRange. */
+ interface IExtensionRange {
+
+ /** ExtensionRange start */
+ start?: (number|null);
+
+ /** ExtensionRange end */
+ end?: (number|null);
+
+ /** ExtensionRange options */
+ options?: (google.protobuf.IExtensionRangeOptions|null);
+ }
+
+ /** Represents an ExtensionRange. */
+ class ExtensionRange implements IExtensionRange {
+
+ /**
+ * Constructs a new ExtensionRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange);
+
+ /** ExtensionRange start. */
+ public start: number;
+
+ /** ExtensionRange end. */
+ public end: number;
+
+ /** ExtensionRange options. */
+ public options?: (google.protobuf.IExtensionRangeOptions|null);
+
+ /**
+ * Creates a new ExtensionRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Verifies an ExtensionRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified.
+ * @param message ExtensionRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReservedRange. */
+ interface IReservedRange {
+
+ /** ReservedRange start */
+ start?: (number|null);
+
+ /** ReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents a ReservedRange. */
+ class ReservedRange implements IReservedRange {
+
+ /**
+ * Constructs a new ReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IReservedRange);
+
+ /** ReservedRange start. */
+ public start: number;
+
+ /** ReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new ReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReservedRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Verifies a ReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Creates a plain object from a ReservedRange message. Also converts values to other types if specified.
+ * @param message ReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an ExtensionRangeOptions. */
+ interface IExtensionRangeOptions {
+
+ /** ExtensionRangeOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** ExtensionRangeOptions declaration */
+ declaration?: (google.protobuf.ExtensionRangeOptions.IDeclaration[]|null);
+
+ /** ExtensionRangeOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** ExtensionRangeOptions verification */
+ verification?: (google.protobuf.ExtensionRangeOptions.VerificationState|keyof typeof google.protobuf.ExtensionRangeOptions.VerificationState|null);
+ }
+
+ /** Represents an ExtensionRangeOptions. */
+ class ExtensionRangeOptions implements IExtensionRangeOptions {
+
+ /**
+ * Constructs a new ExtensionRangeOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IExtensionRangeOptions);
+
+ /** ExtensionRangeOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /** ExtensionRangeOptions declaration. */
+ public declaration: google.protobuf.ExtensionRangeOptions.IDeclaration[];
+
+ /** ExtensionRangeOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** ExtensionRangeOptions verification. */
+ public verification: (google.protobuf.ExtensionRangeOptions.VerificationState|keyof typeof google.protobuf.ExtensionRangeOptions.VerificationState);
+
+ /**
+ * Creates a new ExtensionRangeOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRangeOptions instance
+ */
+ public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Verifies an ExtensionRangeOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRangeOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified.
+ * @param message ExtensionRangeOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRangeOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRangeOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ExtensionRangeOptions {
+
+ /** Properties of a Declaration. */
+ interface IDeclaration {
+
+ /** Declaration number */
+ number?: (number|null);
+
+ /** Declaration fullName */
+ fullName?: (string|null);
+
+ /** Declaration type */
+ type?: (string|null);
+
+ /** Declaration reserved */
+ reserved?: (boolean|null);
+
+ /** Declaration repeated */
+ repeated?: (boolean|null);
+ }
+
+ /** Represents a Declaration. */
+ class Declaration implements IDeclaration {
+
+ /**
+ * Constructs a new Declaration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ExtensionRangeOptions.IDeclaration);
+
+ /** Declaration number. */
+ public number: number;
+
+ /** Declaration fullName. */
+ public fullName: string;
+
+ /** Declaration type. */
+ public type: string;
+
+ /** Declaration reserved. */
+ public reserved: boolean;
+
+ /** Declaration repeated. */
+ public repeated: boolean;
+
+ /**
+ * Creates a new Declaration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Declaration instance
+ */
+ public static create(properties?: google.protobuf.ExtensionRangeOptions.IDeclaration): google.protobuf.ExtensionRangeOptions.Declaration;
+
+ /**
+ * Encodes the specified Declaration message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages.
+ * @param message Declaration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ExtensionRangeOptions.IDeclaration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Declaration message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages.
+ * @param message Declaration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ExtensionRangeOptions.IDeclaration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Declaration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Declaration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions.Declaration;
+
+ /**
+ * Decodes a Declaration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Declaration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions.Declaration;
+
+ /**
+ * Verifies a Declaration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Declaration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Declaration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions.Declaration;
+
+ /**
+ * Creates a plain object from a Declaration message. Also converts values to other types if specified.
+ * @param message Declaration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ExtensionRangeOptions.Declaration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Declaration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Declaration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** VerificationState enum. */
+ enum VerificationState {
+ DECLARATION = 0,
+ UNVERIFIED = 1
+ }
+ }
+
+ /** Properties of a FieldDescriptorProto. */
+ interface IFieldDescriptorProto {
+
+ /** FieldDescriptorProto name */
+ name?: (string|null);
+
+ /** FieldDescriptorProto number */
+ number?: (number|null);
+
+ /** FieldDescriptorProto label */
+ label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null);
+
+ /** FieldDescriptorProto type */
+ type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null);
+
+ /** FieldDescriptorProto typeName */
+ typeName?: (string|null);
+
+ /** FieldDescriptorProto extendee */
+ extendee?: (string|null);
+
+ /** FieldDescriptorProto defaultValue */
+ defaultValue?: (string|null);
+
+ /** FieldDescriptorProto oneofIndex */
+ oneofIndex?: (number|null);
+
+ /** FieldDescriptorProto jsonName */
+ jsonName?: (string|null);
+
+ /** FieldDescriptorProto options */
+ options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional */
+ proto3Optional?: (boolean|null);
+ }
+
+ /** Represents a FieldDescriptorProto. */
+ class FieldDescriptorProto implements IFieldDescriptorProto {
+
+ /**
+ * Constructs a new FieldDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldDescriptorProto);
+
+ /** FieldDescriptorProto name. */
+ public name: string;
+
+ /** FieldDescriptorProto number. */
+ public number: number;
+
+ /** FieldDescriptorProto label. */
+ public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label);
+
+ /** FieldDescriptorProto type. */
+ public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type);
+
+ /** FieldDescriptorProto typeName. */
+ public typeName: string;
+
+ /** FieldDescriptorProto extendee. */
+ public extendee: string;
+
+ /** FieldDescriptorProto defaultValue. */
+ public defaultValue: string;
+
+ /** FieldDescriptorProto oneofIndex. */
+ public oneofIndex: number;
+
+ /** FieldDescriptorProto jsonName. */
+ public jsonName: string;
+
+ /** FieldDescriptorProto options. */
+ public options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional. */
+ public proto3Optional: boolean;
+
+ /**
+ * Creates a new FieldDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Verifies a FieldDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified.
+ * @param message FieldDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldDescriptorProto {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_DOUBLE = 1,
+ TYPE_FLOAT = 2,
+ TYPE_INT64 = 3,
+ TYPE_UINT64 = 4,
+ TYPE_INT32 = 5,
+ TYPE_FIXED64 = 6,
+ TYPE_FIXED32 = 7,
+ TYPE_BOOL = 8,
+ TYPE_STRING = 9,
+ TYPE_GROUP = 10,
+ TYPE_MESSAGE = 11,
+ TYPE_BYTES = 12,
+ TYPE_UINT32 = 13,
+ TYPE_ENUM = 14,
+ TYPE_SFIXED32 = 15,
+ TYPE_SFIXED64 = 16,
+ TYPE_SINT32 = 17,
+ TYPE_SINT64 = 18
+ }
+
+ /** Label enum. */
+ enum Label {
+ LABEL_OPTIONAL = 1,
+ LABEL_REPEATED = 3,
+ LABEL_REQUIRED = 2
+ }
+ }
+
+ /** Properties of an OneofDescriptorProto. */
+ interface IOneofDescriptorProto {
+
+ /** OneofDescriptorProto name */
+ name?: (string|null);
+
+ /** OneofDescriptorProto options */
+ options?: (google.protobuf.IOneofOptions|null);
+ }
+
+ /** Represents an OneofDescriptorProto. */
+ class OneofDescriptorProto implements IOneofDescriptorProto {
+
+ /**
+ * Constructs a new OneofDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofDescriptorProto);
+
+ /** OneofDescriptorProto name. */
+ public name: string;
+
+ /** OneofDescriptorProto options. */
+ public options?: (google.protobuf.IOneofOptions|null);
+
+ /**
+ * Creates a new OneofDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Verifies an OneofDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified.
+ * @param message OneofDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumDescriptorProto. */
+ interface IEnumDescriptorProto {
+
+ /** EnumDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumDescriptorProto value */
+ value?: (google.protobuf.IEnumValueDescriptorProto[]|null);
+
+ /** EnumDescriptorProto options */
+ options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null);
+
+ /** EnumDescriptorProto reservedName */
+ reservedName?: (string[]|null);
+
+ /** EnumDescriptorProto visibility */
+ visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null);
+ }
+
+ /** Represents an EnumDescriptorProto. */
+ class EnumDescriptorProto implements IEnumDescriptorProto {
+
+ /**
+ * Constructs a new EnumDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumDescriptorProto);
+
+ /** EnumDescriptorProto name. */
+ public name: string;
+
+ /** EnumDescriptorProto value. */
+ public value: google.protobuf.IEnumValueDescriptorProto[];
+
+ /** EnumDescriptorProto options. */
+ public options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[];
+
+ /** EnumDescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /** EnumDescriptorProto visibility. */
+ public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility);
+
+ /**
+ * Creates a new EnumDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Verifies an EnumDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace EnumDescriptorProto {
+
+ /** Properties of an EnumReservedRange. */
+ interface IEnumReservedRange {
+
+ /** EnumReservedRange start */
+ start?: (number|null);
+
+ /** EnumReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents an EnumReservedRange. */
+ class EnumReservedRange implements IEnumReservedRange {
+
+ /**
+ * Constructs a new EnumReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange);
+
+ /** EnumReservedRange start. */
+ public start: number;
+
+ /** EnumReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new EnumReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumReservedRange instance
+ */
+ public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Verifies an EnumReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified.
+ * @param message EnumReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an EnumValueDescriptorProto. */
+ interface IEnumValueDescriptorProto {
+
+ /** EnumValueDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumValueDescriptorProto number */
+ number?: (number|null);
+
+ /** EnumValueDescriptorProto options */
+ options?: (google.protobuf.IEnumValueOptions|null);
+ }
+
+ /** Represents an EnumValueDescriptorProto. */
+ class EnumValueDescriptorProto implements IEnumValueDescriptorProto {
+
+ /**
+ * Constructs a new EnumValueDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueDescriptorProto);
+
+ /** EnumValueDescriptorProto name. */
+ public name: string;
+
+ /** EnumValueDescriptorProto number. */
+ public number: number;
+
+ /** EnumValueDescriptorProto options. */
+ public options?: (google.protobuf.IEnumValueOptions|null);
+
+ /**
+ * Creates a new EnumValueDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Verifies an EnumValueDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumValueDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceDescriptorProto. */
+ interface IServiceDescriptorProto {
+
+ /** ServiceDescriptorProto name */
+ name?: (string|null);
+
+ /** ServiceDescriptorProto method */
+ method?: (google.protobuf.IMethodDescriptorProto[]|null);
+
+ /** ServiceDescriptorProto options */
+ options?: (google.protobuf.IServiceOptions|null);
+ }
+
+ /** Represents a ServiceDescriptorProto. */
+ class ServiceDescriptorProto implements IServiceDescriptorProto {
+
+ /**
+ * Constructs a new ServiceDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceDescriptorProto);
+
+ /** ServiceDescriptorProto name. */
+ public name: string;
+
+ /** ServiceDescriptorProto method. */
+ public method: google.protobuf.IMethodDescriptorProto[];
+
+ /** ServiceDescriptorProto options. */
+ public options?: (google.protobuf.IServiceOptions|null);
+
+ /**
+ * Creates a new ServiceDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Verifies a ServiceDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified.
+ * @param message ServiceDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodDescriptorProto. */
+ interface IMethodDescriptorProto {
+
+ /** MethodDescriptorProto name */
+ name?: (string|null);
+
+ /** MethodDescriptorProto inputType */
+ inputType?: (string|null);
+
+ /** MethodDescriptorProto outputType */
+ outputType?: (string|null);
+
+ /** MethodDescriptorProto options */
+ options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming */
+ clientStreaming?: (boolean|null);
+
+ /** MethodDescriptorProto serverStreaming */
+ serverStreaming?: (boolean|null);
+ }
+
+ /** Represents a MethodDescriptorProto. */
+ class MethodDescriptorProto implements IMethodDescriptorProto {
+
+ /**
+ * Constructs a new MethodDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodDescriptorProto);
+
+ /** MethodDescriptorProto name. */
+ public name: string;
+
+ /** MethodDescriptorProto inputType. */
+ public inputType: string;
+
+ /** MethodDescriptorProto outputType. */
+ public outputType: string;
+
+ /** MethodDescriptorProto options. */
+ public options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming. */
+ public clientStreaming: boolean;
+
+ /** MethodDescriptorProto serverStreaming. */
+ public serverStreaming: boolean;
+
+ /**
+ * Creates a new MethodDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Verifies a MethodDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified.
+ * @param message MethodDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileOptions. */
+ interface IFileOptions {
+
+ /** FileOptions javaPackage */
+ javaPackage?: (string|null);
+
+ /** FileOptions javaOuterClassname */
+ javaOuterClassname?: (string|null);
+
+ /** FileOptions javaMultipleFiles */
+ javaMultipleFiles?: (boolean|null);
+
+ /** FileOptions javaGenerateEqualsAndHash */
+ javaGenerateEqualsAndHash?: (boolean|null);
+
+ /** FileOptions javaStringCheckUtf8 */
+ javaStringCheckUtf8?: (boolean|null);
+
+ /** FileOptions optimizeFor */
+ optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null);
+
+ /** FileOptions goPackage */
+ goPackage?: (string|null);
+
+ /** FileOptions ccGenericServices */
+ ccGenericServices?: (boolean|null);
+
+ /** FileOptions javaGenericServices */
+ javaGenericServices?: (boolean|null);
+
+ /** FileOptions pyGenericServices */
+ pyGenericServices?: (boolean|null);
+
+ /** FileOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FileOptions ccEnableArenas */
+ ccEnableArenas?: (boolean|null);
+
+ /** FileOptions objcClassPrefix */
+ objcClassPrefix?: (string|null);
+
+ /** FileOptions csharpNamespace */
+ csharpNamespace?: (string|null);
+
+ /** FileOptions swiftPrefix */
+ swiftPrefix?: (string|null);
+
+ /** FileOptions phpClassPrefix */
+ phpClassPrefix?: (string|null);
+
+ /** FileOptions phpNamespace */
+ phpNamespace?: (string|null);
+
+ /** FileOptions phpMetadataNamespace */
+ phpMetadataNamespace?: (string|null);
+
+ /** FileOptions rubyPackage */
+ rubyPackage?: (string|null);
+
+ /** FileOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** FileOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FileOptions .google.api.resourceDefinition */
+ ".google.api.resourceDefinition"?: (google.api.IResourceDescriptor[]|null);
+ }
+
+ /** Represents a FileOptions. */
+ class FileOptions implements IFileOptions {
+
+ /**
+ * Constructs a new FileOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileOptions);
+
+ /** FileOptions javaPackage. */
+ public javaPackage: string;
+
+ /** FileOptions javaOuterClassname. */
+ public javaOuterClassname: string;
+
+ /** FileOptions javaMultipleFiles. */
+ public javaMultipleFiles: boolean;
+
+ /** FileOptions javaGenerateEqualsAndHash. */
+ public javaGenerateEqualsAndHash: boolean;
+
+ /** FileOptions javaStringCheckUtf8. */
+ public javaStringCheckUtf8: boolean;
+
+ /** FileOptions optimizeFor. */
+ public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode);
+
+ /** FileOptions goPackage. */
+ public goPackage: string;
+
+ /** FileOptions ccGenericServices. */
+ public ccGenericServices: boolean;
+
+ /** FileOptions javaGenericServices. */
+ public javaGenericServices: boolean;
+
+ /** FileOptions pyGenericServices. */
+ public pyGenericServices: boolean;
+
+ /** FileOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FileOptions ccEnableArenas. */
+ public ccEnableArenas: boolean;
+
+ /** FileOptions objcClassPrefix. */
+ public objcClassPrefix: string;
+
+ /** FileOptions csharpNamespace. */
+ public csharpNamespace: string;
+
+ /** FileOptions swiftPrefix. */
+ public swiftPrefix: string;
+
+ /** FileOptions phpClassPrefix. */
+ public phpClassPrefix: string;
+
+ /** FileOptions phpNamespace. */
+ public phpNamespace: string;
+
+ /** FileOptions phpMetadataNamespace. */
+ public phpMetadataNamespace: string;
+
+ /** FileOptions rubyPackage. */
+ public rubyPackage: string;
+
+ /** FileOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** FileOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FileOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileOptions instance
+ */
+ public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions;
+
+ /**
+ * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions;
+
+ /**
+ * Verifies a FileOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions;
+
+ /**
+ * Creates a plain object from a FileOptions message. Also converts values to other types if specified.
+ * @param message FileOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FileOptions {
+
+ /** OptimizeMode enum. */
+ enum OptimizeMode {
+ SPEED = 1,
+ CODE_SIZE = 2,
+ LITE_RUNTIME = 3
+ }
+ }
+
+ /** Properties of a MessageOptions. */
+ interface IMessageOptions {
+
+ /** MessageOptions messageSetWireFormat */
+ messageSetWireFormat?: (boolean|null);
+
+ /** MessageOptions noStandardDescriptorAccessor */
+ noStandardDescriptorAccessor?: (boolean|null);
+
+ /** MessageOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MessageOptions mapEntry */
+ mapEntry?: (boolean|null);
+
+ /** MessageOptions deprecatedLegacyJsonFieldConflicts */
+ deprecatedLegacyJsonFieldConflicts?: (boolean|null);
+
+ /** MessageOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** MessageOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MessageOptions .google.api.resource */
+ ".google.api.resource"?: (google.api.IResourceDescriptor|null);
+ }
+
+ /** Represents a MessageOptions. */
+ class MessageOptions implements IMessageOptions {
+
+ /**
+ * Constructs a new MessageOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMessageOptions);
+
+ /** MessageOptions messageSetWireFormat. */
+ public messageSetWireFormat: boolean;
+
+ /** MessageOptions noStandardDescriptorAccessor. */
+ public noStandardDescriptorAccessor: boolean;
+
+ /** MessageOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MessageOptions mapEntry. */
+ public mapEntry: boolean;
+
+ /** MessageOptions deprecatedLegacyJsonFieldConflicts. */
+ public deprecatedLegacyJsonFieldConflicts: boolean;
+
+ /** MessageOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** MessageOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MessageOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MessageOptions instance
+ */
+ public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions;
+
+ /**
+ * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions;
+
+ /**
+ * Verifies a MessageOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MessageOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions;
+
+ /**
+ * Creates a plain object from a MessageOptions message. Also converts values to other types if specified.
+ * @param message MessageOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MessageOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MessageOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldOptions. */
+ interface IFieldOptions {
+
+ /** FieldOptions ctype */
+ ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null);
+
+ /** FieldOptions packed */
+ packed?: (boolean|null);
+
+ /** FieldOptions jstype */
+ jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null);
+
+ /** FieldOptions lazy */
+ lazy?: (boolean|null);
+
+ /** FieldOptions unverifiedLazy */
+ unverifiedLazy?: (boolean|null);
+
+ /** FieldOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FieldOptions weak */
+ weak?: (boolean|null);
+
+ /** FieldOptions debugRedact */
+ debugRedact?: (boolean|null);
+
+ /** FieldOptions retention */
+ retention?: (google.protobuf.FieldOptions.OptionRetention|keyof typeof google.protobuf.FieldOptions.OptionRetention|null);
+
+ /** FieldOptions targets */
+ targets?: (google.protobuf.FieldOptions.OptionTargetType[]|null);
+
+ /** FieldOptions editionDefaults */
+ editionDefaults?: (google.protobuf.FieldOptions.IEditionDefault[]|null);
+
+ /** FieldOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** FieldOptions featureSupport */
+ featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null);
+
+ /** FieldOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FieldOptions .google.api.fieldBehavior */
+ ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null);
+
+ /** FieldOptions .google.api.resourceReference */
+ ".google.api.resourceReference"?: (google.api.IResourceReference|null);
+ }
+
+ /** Represents a FieldOptions. */
+ class FieldOptions implements IFieldOptions {
+
+ /**
+ * Constructs a new FieldOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldOptions);
+
+ /** FieldOptions ctype. */
+ public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType);
+
+ /** FieldOptions packed. */
+ public packed: boolean;
+
+ /** FieldOptions jstype. */
+ public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType);
+
+ /** FieldOptions lazy. */
+ public lazy: boolean;
+
+ /** FieldOptions unverifiedLazy. */
+ public unverifiedLazy: boolean;
+
+ /** FieldOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FieldOptions weak. */
+ public weak: boolean;
+
+ /** FieldOptions debugRedact. */
+ public debugRedact: boolean;
+
+ /** FieldOptions retention. */
+ public retention: (google.protobuf.FieldOptions.OptionRetention|keyof typeof google.protobuf.FieldOptions.OptionRetention);
+
+ /** FieldOptions targets. */
+ public targets: google.protobuf.FieldOptions.OptionTargetType[];
+
+ /** FieldOptions editionDefaults. */
+ public editionDefaults: google.protobuf.FieldOptions.IEditionDefault[];
+
+ /** FieldOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** FieldOptions featureSupport. */
+ public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null);
+
+ /** FieldOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FieldOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldOptions instance
+ */
+ public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions;
+
+ /**
+ * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions;
+
+ /**
+ * Verifies a FieldOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions;
+
+ /**
+ * Creates a plain object from a FieldOptions message. Also converts values to other types if specified.
+ * @param message FieldOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldOptions {
+
+ /** CType enum. */
+ enum CType {
+ STRING = 0,
+ CORD = 1,
+ STRING_PIECE = 2
+ }
+
+ /** JSType enum. */
+ enum JSType {
+ JS_NORMAL = 0,
+ JS_STRING = 1,
+ JS_NUMBER = 2
+ }
+
+ /** OptionRetention enum. */
+ enum OptionRetention {
+ RETENTION_UNKNOWN = 0,
+ RETENTION_RUNTIME = 1,
+ RETENTION_SOURCE = 2
+ }
+
+ /** OptionTargetType enum. */
+ enum OptionTargetType {
+ TARGET_TYPE_UNKNOWN = 0,
+ TARGET_TYPE_FILE = 1,
+ TARGET_TYPE_EXTENSION_RANGE = 2,
+ TARGET_TYPE_MESSAGE = 3,
+ TARGET_TYPE_FIELD = 4,
+ TARGET_TYPE_ONEOF = 5,
+ TARGET_TYPE_ENUM = 6,
+ TARGET_TYPE_ENUM_ENTRY = 7,
+ TARGET_TYPE_SERVICE = 8,
+ TARGET_TYPE_METHOD = 9
+ }
+
+ /** Properties of an EditionDefault. */
+ interface IEditionDefault {
+
+ /** EditionDefault edition */
+ edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+
+ /** EditionDefault value */
+ value?: (string|null);
+ }
+
+ /** Represents an EditionDefault. */
+ class EditionDefault implements IEditionDefault {
+
+ /**
+ * Constructs a new EditionDefault.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.FieldOptions.IEditionDefault);
+
+ /** EditionDefault edition. */
+ public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /** EditionDefault value. */
+ public value: string;
+
+ /**
+ * Creates a new EditionDefault instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EditionDefault instance
+ */
+ public static create(properties?: google.protobuf.FieldOptions.IEditionDefault): google.protobuf.FieldOptions.EditionDefault;
+
+ /**
+ * Encodes the specified EditionDefault message. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages.
+ * @param message EditionDefault message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.FieldOptions.IEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages.
+ * @param message EditionDefault message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.FieldOptions.IEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EditionDefault message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EditionDefault
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions.EditionDefault;
+
+ /**
+ * Decodes an EditionDefault message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EditionDefault
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions.EditionDefault;
+
+ /**
+ * Verifies an EditionDefault message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EditionDefault message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EditionDefault
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.EditionDefault;
+
+ /**
+ * Creates a plain object from an EditionDefault message. Also converts values to other types if specified.
+ * @param message EditionDefault
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldOptions.EditionDefault, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EditionDefault to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EditionDefault
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FeatureSupport. */
+ interface IFeatureSupport {
+
+ /** FeatureSupport editionIntroduced */
+ editionIntroduced?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+
+ /** FeatureSupport editionDeprecated */
+ editionDeprecated?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+
+ /** FeatureSupport deprecationWarning */
+ deprecationWarning?: (string|null);
+
+ /** FeatureSupport editionRemoved */
+ editionRemoved?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+ }
+
+ /** Represents a FeatureSupport. */
+ class FeatureSupport implements IFeatureSupport {
+
+ /**
+ * Constructs a new FeatureSupport.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.FieldOptions.IFeatureSupport);
+
+ /** FeatureSupport editionIntroduced. */
+ public editionIntroduced: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /** FeatureSupport editionDeprecated. */
+ public editionDeprecated: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /** FeatureSupport deprecationWarning. */
+ public deprecationWarning: string;
+
+ /** FeatureSupport editionRemoved. */
+ public editionRemoved: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /**
+ * Creates a new FeatureSupport instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FeatureSupport instance
+ */
+ public static create(properties?: google.protobuf.FieldOptions.IFeatureSupport): google.protobuf.FieldOptions.FeatureSupport;
+
+ /**
+ * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages.
+ * @param message FeatureSupport message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages.
+ * @param message FeatureSupport message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FeatureSupport message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FeatureSupport
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions.FeatureSupport;
+
+ /**
+ * Decodes a FeatureSupport message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FeatureSupport
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions.FeatureSupport;
+
+ /**
+ * Verifies a FeatureSupport message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FeatureSupport
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.FeatureSupport;
+
+ /**
+ * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified.
+ * @param message FeatureSupport
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldOptions.FeatureSupport, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FeatureSupport to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FeatureSupport
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an OneofOptions. */
+ interface IOneofOptions {
+
+ /** OneofOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** OneofOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an OneofOptions. */
+ class OneofOptions implements IOneofOptions {
+
+ /**
+ * Constructs a new OneofOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofOptions);
+
+ /** OneofOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** OneofOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new OneofOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofOptions instance
+ */
+ public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions;
+
+ /**
+ * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions;
+
+ /**
+ * Verifies an OneofOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions;
+
+ /**
+ * Creates a plain object from an OneofOptions message. Also converts values to other types if specified.
+ * @param message OneofOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumOptions. */
+ interface IEnumOptions {
+
+ /** EnumOptions allowAlias */
+ allowAlias?: (boolean|null);
+
+ /** EnumOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumOptions deprecatedLegacyJsonFieldConflicts */
+ deprecatedLegacyJsonFieldConflicts?: (boolean|null);
+
+ /** EnumOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** EnumOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumOptions. */
+ class EnumOptions implements IEnumOptions {
+
+ /**
+ * Constructs a new EnumOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumOptions);
+
+ /** EnumOptions allowAlias. */
+ public allowAlias: boolean;
+
+ /** EnumOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumOptions deprecatedLegacyJsonFieldConflicts. */
+ public deprecatedLegacyJsonFieldConflicts: boolean;
+
+ /** EnumOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** EnumOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions;
+
+ /**
+ * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions;
+
+ /**
+ * Verifies an EnumOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions;
+
+ /**
+ * Creates a plain object from an EnumOptions message. Also converts values to other types if specified.
+ * @param message EnumOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumValueOptions. */
+ interface IEnumValueOptions {
+
+ /** EnumValueOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumValueOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** EnumValueOptions debugRedact */
+ debugRedact?: (boolean|null);
+
+ /** EnumValueOptions featureSupport */
+ featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null);
+
+ /** EnumValueOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumValueOptions. */
+ class EnumValueOptions implements IEnumValueOptions {
+
+ /**
+ * Constructs a new EnumValueOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueOptions);
+
+ /** EnumValueOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumValueOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** EnumValueOptions debugRedact. */
+ public debugRedact: boolean;
+
+ /** EnumValueOptions featureSupport. */
+ public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null);
+
+ /** EnumValueOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumValueOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions;
+
+ /**
+ * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions;
+
+ /**
+ * Verifies an EnumValueOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions;
+
+ /**
+ * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified.
+ * @param message EnumValueOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceOptions. */
+ interface IServiceOptions {
+
+ /** ServiceOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** ServiceOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** ServiceOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** ServiceOptions .google.api.defaultHost */
+ ".google.api.defaultHost"?: (string|null);
+
+ /** ServiceOptions .google.api.oauthScopes */
+ ".google.api.oauthScopes"?: (string|null);
+
+ /** ServiceOptions .google.api.apiVersion */
+ ".google.api.apiVersion"?: (string|null);
+ }
+
+ /** Represents a ServiceOptions. */
+ class ServiceOptions implements IServiceOptions {
+
+ /**
+ * Constructs a new ServiceOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceOptions);
+
+ /** ServiceOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** ServiceOptions deprecated. */
+ public deprecated: boolean;
+
+ /** ServiceOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ServiceOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceOptions instance
+ */
+ public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions;
+
+ /**
+ * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions;
+
+ /**
+ * Verifies a ServiceOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions;
+
+ /**
+ * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified.
+ * @param message ServiceOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodOptions. */
+ interface IMethodOptions {
+
+ /** MethodOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MethodOptions idempotencyLevel */
+ idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null);
+
+ /** MethodOptions features */
+ features?: (google.protobuf.IFeatureSet|null);
+
+ /** MethodOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MethodOptions .google.api.http */
+ ".google.api.http"?: (google.api.IHttpRule|null);
+
+ /** MethodOptions .google.api.methodSignature */
+ ".google.api.methodSignature"?: (string[]|null);
+ }
+
+ /** Represents a MethodOptions. */
+ class MethodOptions implements IMethodOptions {
+
+ /**
+ * Constructs a new MethodOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodOptions);
+
+ /** MethodOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MethodOptions idempotencyLevel. */
+ public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel);
+
+ /** MethodOptions features. */
+ public features?: (google.protobuf.IFeatureSet|null);
+
+ /** MethodOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MethodOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodOptions instance
+ */
+ public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions;
+
+ /**
+ * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions;
+
+ /**
+ * Verifies a MethodOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions;
+
+ /**
+ * Creates a plain object from a MethodOptions message. Also converts values to other types if specified.
+ * @param message MethodOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MethodOptions {
+
+ /** IdempotencyLevel enum. */
+ enum IdempotencyLevel {
+ IDEMPOTENCY_UNKNOWN = 0,
+ NO_SIDE_EFFECTS = 1,
+ IDEMPOTENT = 2
+ }
+ }
+
+ /** Properties of an UninterpretedOption. */
+ interface IUninterpretedOption {
+
+ /** UninterpretedOption name */
+ name?: (google.protobuf.UninterpretedOption.INamePart[]|null);
+
+ /** UninterpretedOption identifierValue */
+ identifierValue?: (string|null);
+
+ /** UninterpretedOption positiveIntValue */
+ positiveIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption negativeIntValue */
+ negativeIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption doubleValue */
+ doubleValue?: (number|null);
+
+ /** UninterpretedOption stringValue */
+ stringValue?: (Uint8Array|Buffer|string|null);
+
+ /** UninterpretedOption aggregateValue */
+ aggregateValue?: (string|null);
+ }
+
+ /** Represents an UninterpretedOption. */
+ class UninterpretedOption implements IUninterpretedOption {
+
+ /**
+ * Constructs a new UninterpretedOption.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUninterpretedOption);
+
+ /** UninterpretedOption name. */
+ public name: google.protobuf.UninterpretedOption.INamePart[];
+
+ /** UninterpretedOption identifierValue. */
+ public identifierValue: string;
+
+ /** UninterpretedOption positiveIntValue. */
+ public positiveIntValue: (number|Long|string);
+
+ /** UninterpretedOption negativeIntValue. */
+ public negativeIntValue: (number|Long|string);
+
+ /** UninterpretedOption doubleValue. */
+ public doubleValue: number;
+
+ /** UninterpretedOption stringValue. */
+ public stringValue: (Uint8Array|Buffer|string);
+
+ /** UninterpretedOption aggregateValue. */
+ public aggregateValue: string;
+
+ /**
+ * Creates a new UninterpretedOption instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UninterpretedOption instance
+ */
+ public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption;
+
+ /**
+ * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption;
+
+ /**
+ * Verifies an UninterpretedOption message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UninterpretedOption
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption;
+
+ /**
+ * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified.
+ * @param message UninterpretedOption
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UninterpretedOption to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UninterpretedOption
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace UninterpretedOption {
+
+ /** Properties of a NamePart. */
+ interface INamePart {
+
+ /** NamePart namePart */
+ namePart: string;
+
+ /** NamePart isExtension */
+ isExtension: boolean;
+ }
+
+ /** Represents a NamePart. */
+ class NamePart implements INamePart {
+
+ /**
+ * Constructs a new NamePart.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.UninterpretedOption.INamePart);
+
+ /** NamePart namePart. */
+ public namePart: string;
+
+ /** NamePart isExtension. */
+ public isExtension: boolean;
+
+ /**
+ * Creates a new NamePart instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NamePart instance
+ */
+ public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Verifies a NamePart message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NamePart message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NamePart
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Creates a plain object from a NamePart message. Also converts values to other types if specified.
+ * @param message NamePart
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NamePart to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NamePart
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a FeatureSet. */
+ interface IFeatureSet {
+
+ /** FeatureSet fieldPresence */
+ fieldPresence?: (google.protobuf.FeatureSet.FieldPresence|keyof typeof google.protobuf.FeatureSet.FieldPresence|null);
+
+ /** FeatureSet enumType */
+ enumType?: (google.protobuf.FeatureSet.EnumType|keyof typeof google.protobuf.FeatureSet.EnumType|null);
+
+ /** FeatureSet repeatedFieldEncoding */
+ repeatedFieldEncoding?: (google.protobuf.FeatureSet.RepeatedFieldEncoding|keyof typeof google.protobuf.FeatureSet.RepeatedFieldEncoding|null);
+
+ /** FeatureSet utf8Validation */
+ utf8Validation?: (google.protobuf.FeatureSet.Utf8Validation|keyof typeof google.protobuf.FeatureSet.Utf8Validation|null);
+
+ /** FeatureSet messageEncoding */
+ messageEncoding?: (google.protobuf.FeatureSet.MessageEncoding|keyof typeof google.protobuf.FeatureSet.MessageEncoding|null);
+
+ /** FeatureSet jsonFormat */
+ jsonFormat?: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat|null);
+
+ /** FeatureSet enforceNamingStyle */
+ enforceNamingStyle?: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle|null);
+
+ /** FeatureSet defaultSymbolVisibility */
+ defaultSymbolVisibility?: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|null);
+ }
+
+ /** Represents a FeatureSet. */
+ class FeatureSet implements IFeatureSet {
+
+ /**
+ * Constructs a new FeatureSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFeatureSet);
+
+ /** FeatureSet fieldPresence. */
+ public fieldPresence: (google.protobuf.FeatureSet.FieldPresence|keyof typeof google.protobuf.FeatureSet.FieldPresence);
+
+ /** FeatureSet enumType. */
+ public enumType: (google.protobuf.FeatureSet.EnumType|keyof typeof google.protobuf.FeatureSet.EnumType);
+
+ /** FeatureSet repeatedFieldEncoding. */
+ public repeatedFieldEncoding: (google.protobuf.FeatureSet.RepeatedFieldEncoding|keyof typeof google.protobuf.FeatureSet.RepeatedFieldEncoding);
+
+ /** FeatureSet utf8Validation. */
+ public utf8Validation: (google.protobuf.FeatureSet.Utf8Validation|keyof typeof google.protobuf.FeatureSet.Utf8Validation);
+
+ /** FeatureSet messageEncoding. */
+ public messageEncoding: (google.protobuf.FeatureSet.MessageEncoding|keyof typeof google.protobuf.FeatureSet.MessageEncoding);
+
+ /** FeatureSet jsonFormat. */
+ public jsonFormat: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat);
+
+ /** FeatureSet enforceNamingStyle. */
+ public enforceNamingStyle: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle);
+
+ /** FeatureSet defaultSymbolVisibility. */
+ public defaultSymbolVisibility: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility);
+
+ /**
+ * Creates a new FeatureSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FeatureSet instance
+ */
+ public static create(properties?: google.protobuf.IFeatureSet): google.protobuf.FeatureSet;
+
+ /**
+ * Encodes the specified FeatureSet message. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages.
+ * @param message FeatureSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFeatureSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FeatureSet message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages.
+ * @param message FeatureSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFeatureSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FeatureSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FeatureSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSet;
+
+ /**
+ * Decodes a FeatureSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FeatureSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSet;
+
+ /**
+ * Verifies a FeatureSet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FeatureSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FeatureSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet;
+
+ /**
+ * Creates a plain object from a FeatureSet message. Also converts values to other types if specified.
+ * @param message FeatureSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FeatureSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FeatureSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FeatureSet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FeatureSet {
+
+ /** FieldPresence enum. */
+ enum FieldPresence {
+ FIELD_PRESENCE_UNKNOWN = 0,
+ EXPLICIT = 1,
+ IMPLICIT = 2,
+ LEGACY_REQUIRED = 3
+ }
+
+ /** EnumType enum. */
+ enum EnumType {
+ ENUM_TYPE_UNKNOWN = 0,
+ OPEN = 1,
+ CLOSED = 2
+ }
+
+ /** RepeatedFieldEncoding enum. */
+ enum RepeatedFieldEncoding {
+ REPEATED_FIELD_ENCODING_UNKNOWN = 0,
+ PACKED = 1,
+ EXPANDED = 2
+ }
+
+ /** Utf8Validation enum. */
+ enum Utf8Validation {
+ UTF8_VALIDATION_UNKNOWN = 0,
+ VERIFY = 2,
+ NONE = 3
+ }
+
+ /** MessageEncoding enum. */
+ enum MessageEncoding {
+ MESSAGE_ENCODING_UNKNOWN = 0,
+ LENGTH_PREFIXED = 1,
+ DELIMITED = 2
+ }
+
+ /** JsonFormat enum. */
+ enum JsonFormat {
+ JSON_FORMAT_UNKNOWN = 0,
+ ALLOW = 1,
+ LEGACY_BEST_EFFORT = 2
+ }
+
+ /** EnforceNamingStyle enum. */
+ enum EnforceNamingStyle {
+ ENFORCE_NAMING_STYLE_UNKNOWN = 0,
+ STYLE2024 = 1,
+ STYLE_LEGACY = 2
+ }
+
+ /** Properties of a VisibilityFeature. */
+ interface IVisibilityFeature {
+ }
+
+ /** Represents a VisibilityFeature. */
+ class VisibilityFeature implements IVisibilityFeature {
+
+ /**
+ * Constructs a new VisibilityFeature.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.FeatureSet.IVisibilityFeature);
+
+ /**
+ * Creates a new VisibilityFeature instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VisibilityFeature instance
+ */
+ public static create(properties?: google.protobuf.FeatureSet.IVisibilityFeature): google.protobuf.FeatureSet.VisibilityFeature;
+
+ /**
+ * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages.
+ * @param message VisibilityFeature message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages.
+ * @param message VisibilityFeature message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VisibilityFeature message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VisibilityFeature
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSet.VisibilityFeature;
+
+ /**
+ * Decodes a VisibilityFeature message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VisibilityFeature
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSet.VisibilityFeature;
+
+ /**
+ * Verifies a VisibilityFeature message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VisibilityFeature
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet.VisibilityFeature;
+
+ /**
+ * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified.
+ * @param message VisibilityFeature
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FeatureSet.VisibilityFeature, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VisibilityFeature to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VisibilityFeature
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace VisibilityFeature {
+
+ /** DefaultSymbolVisibility enum. */
+ enum DefaultSymbolVisibility {
+ DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0,
+ EXPORT_ALL = 1,
+ EXPORT_TOP_LEVEL = 2,
+ LOCAL_ALL = 3,
+ STRICT = 4
+ }
+ }
+ }
+
+ /** Properties of a FeatureSetDefaults. */
+ interface IFeatureSetDefaults {
+
+ /** FeatureSetDefaults defaults */
+ defaults?: (google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault[]|null);
+
+ /** FeatureSetDefaults minimumEdition */
+ minimumEdition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+
+ /** FeatureSetDefaults maximumEdition */
+ maximumEdition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+ }
+
+ /** Represents a FeatureSetDefaults. */
+ class FeatureSetDefaults implements IFeatureSetDefaults {
+
+ /**
+ * Constructs a new FeatureSetDefaults.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFeatureSetDefaults);
+
+ /** FeatureSetDefaults defaults. */
+ public defaults: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault[];
+
+ /** FeatureSetDefaults minimumEdition. */
+ public minimumEdition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /** FeatureSetDefaults maximumEdition. */
+ public maximumEdition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /**
+ * Creates a new FeatureSetDefaults instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FeatureSetDefaults instance
+ */
+ public static create(properties?: google.protobuf.IFeatureSetDefaults): google.protobuf.FeatureSetDefaults;
+
+ /**
+ * Encodes the specified FeatureSetDefaults message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages.
+ * @param message FeatureSetDefaults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFeatureSetDefaults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FeatureSetDefaults message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages.
+ * @param message FeatureSetDefaults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFeatureSetDefaults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FeatureSetDefaults message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FeatureSetDefaults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSetDefaults;
+
+ /**
+ * Decodes a FeatureSetDefaults message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FeatureSetDefaults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSetDefaults;
+
+ /**
+ * Verifies a FeatureSetDefaults message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FeatureSetDefaults message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FeatureSetDefaults
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSetDefaults;
+
+ /**
+ * Creates a plain object from a FeatureSetDefaults message. Also converts values to other types if specified.
+ * @param message FeatureSetDefaults
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FeatureSetDefaults, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FeatureSetDefaults to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FeatureSetDefaults
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FeatureSetDefaults {
+
+ /** Properties of a FeatureSetEditionDefault. */
+ interface IFeatureSetEditionDefault {
+
+ /** FeatureSetEditionDefault edition */
+ edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+
+ /** FeatureSetEditionDefault overridableFeatures */
+ overridableFeatures?: (google.protobuf.IFeatureSet|null);
+
+ /** FeatureSetEditionDefault fixedFeatures */
+ fixedFeatures?: (google.protobuf.IFeatureSet|null);
+ }
+
+ /** Represents a FeatureSetEditionDefault. */
+ class FeatureSetEditionDefault implements IFeatureSetEditionDefault {
+
+ /**
+ * Constructs a new FeatureSetEditionDefault.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault);
+
+ /** FeatureSetEditionDefault edition. */
+ public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+ /** FeatureSetEditionDefault overridableFeatures. */
+ public overridableFeatures?: (google.protobuf.IFeatureSet|null);
+
+ /** FeatureSetEditionDefault fixedFeatures. */
+ public fixedFeatures?: (google.protobuf.IFeatureSet|null);
+
+ /**
+ * Creates a new FeatureSetEditionDefault instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FeatureSetEditionDefault instance
+ */
+ public static create(properties?: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;
+
+ /**
+ * Encodes the specified FeatureSetEditionDefault message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages.
+ * @param message FeatureSetEditionDefault message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FeatureSetEditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages.
+ * @param message FeatureSetEditionDefault message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FeatureSetEditionDefault message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FeatureSetEditionDefault
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;
+
+ /**
+ * Decodes a FeatureSetEditionDefault message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FeatureSetEditionDefault
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;
+
+ /**
+ * Verifies a FeatureSetEditionDefault message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FeatureSetEditionDefault
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;
+
+ /**
+ * Creates a plain object from a FeatureSetEditionDefault message. Also converts values to other types if specified.
+ * @param message FeatureSetEditionDefault
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FeatureSetEditionDefault to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FeatureSetEditionDefault
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a SourceCodeInfo. */
+ interface ISourceCodeInfo {
+
+ /** SourceCodeInfo location */
+ location?: (google.protobuf.SourceCodeInfo.ILocation[]|null);
+ }
+
+ /** Represents a SourceCodeInfo. */
+ class SourceCodeInfo implements ISourceCodeInfo {
+
+ /**
+ * Constructs a new SourceCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ISourceCodeInfo);
+
+ /** SourceCodeInfo location. */
+ public location: google.protobuf.SourceCodeInfo.ILocation[];
+
+ /**
+ * Creates a new SourceCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SourceCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Verifies a SourceCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SourceCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified.
+ * @param message SourceCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SourceCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SourceCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SourceCodeInfo {
+
+ /** Properties of a Location. */
+ interface ILocation {
+
+ /** Location path */
+ path?: (number[]|null);
+
+ /** Location span */
+ span?: (number[]|null);
+
+ /** Location leadingComments */
+ leadingComments?: (string|null);
+
+ /** Location trailingComments */
+ trailingComments?: (string|null);
+
+ /** Location leadingDetachedComments */
+ leadingDetachedComments?: (string[]|null);
+ }
+
+ /** Represents a Location. */
+ class Location implements ILocation {
+
+ /**
+ * Constructs a new Location.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.SourceCodeInfo.ILocation);
+
+ /** Location path. */
+ public path: number[];
+
+ /** Location span. */
+ public span: number[];
+
+ /** Location leadingComments. */
+ public leadingComments: string;
+
+ /** Location trailingComments. */
+ public trailingComments: string;
+
+ /** Location leadingDetachedComments. */
+ public leadingDetachedComments: string[];
+
+ /**
+ * Creates a new Location instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Location instance
+ */
+ public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Verifies a Location message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Location message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Location
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Creates a plain object from a Location message. Also converts values to other types if specified.
+ * @param message Location
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Location to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Location
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a GeneratedCodeInfo. */
+ interface IGeneratedCodeInfo {
+
+ /** GeneratedCodeInfo annotation */
+ annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null);
+ }
+
+ /** Represents a GeneratedCodeInfo. */
+ class GeneratedCodeInfo implements IGeneratedCodeInfo {
+
+ /**
+ * Constructs a new GeneratedCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IGeneratedCodeInfo);
+
+ /** GeneratedCodeInfo annotation. */
+ public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[];
+
+ /**
+ * Creates a new GeneratedCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeneratedCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Verifies a GeneratedCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeneratedCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified.
+ * @param message GeneratedCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeneratedCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeneratedCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace GeneratedCodeInfo {
+
+ /** Properties of an Annotation. */
+ interface IAnnotation {
+
+ /** Annotation path */
+ path?: (number[]|null);
+
+ /** Annotation sourceFile */
+ sourceFile?: (string|null);
+
+ /** Annotation begin */
+ begin?: (number|null);
+
+ /** Annotation end */
+ end?: (number|null);
+
+ /** Annotation semantic */
+ semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null);
+ }
+
+ /** Represents an Annotation. */
+ class Annotation implements IAnnotation {
+
+ /**
+ * Constructs a new Annotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation);
+
+ /** Annotation path. */
+ public path: number[];
+
+ /** Annotation sourceFile. */
+ public sourceFile: string;
+
+ /** Annotation begin. */
+ public begin: number;
+
+ /** Annotation end. */
+ public end: number;
+
+ /** Annotation semantic. */
+ public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic);
+
+ /**
+ * Creates a new Annotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Annotation instance
+ */
+ public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Verifies an Annotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Annotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Annotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Creates a plain object from an Annotation message. Also converts values to other types if specified.
+ * @param message Annotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Annotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Annotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Annotation {
+
+ /** Semantic enum. */
+ enum Semantic {
+ NONE = 0,
+ SET = 1,
+ ALIAS = 2
+ }
+ }
+ }
+
+ /** SymbolVisibility enum. */
+ enum SymbolVisibility {
+ VISIBILITY_UNSET = 0,
+ VISIBILITY_LOCAL = 1,
+ VISIBILITY_EXPORT = 2
+ }
+
+ /** Properties of a Duration. */
+ interface IDuration {
+
+ /** Duration seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Duration nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Duration. */
+ class Duration implements IDuration {
+
+ /**
+ * Constructs a new Duration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDuration);
+
+ /** Duration seconds. */
+ public seconds: (number|Long|string);
+
+ /** Duration nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Duration instance
+ */
+ public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;
+
+ /**
+ * Verifies a Duration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Duration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @param message Duration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Duration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Duration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Empty. */
+ interface IEmpty {
+ }
+
+ /** Represents an Empty. */
+ class Empty implements IEmpty {
+
+ /**
+ * Constructs a new Empty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEmpty);
+
+ /**
+ * Creates a new Empty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Empty instance
+ */
+ public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty;
+
+ /**
+ * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty;
+
+ /**
+ * Verifies an Empty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Empty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Empty
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Empty;
+
+ /**
+ * Creates a plain object from an Empty message. Also converts values to other types if specified.
+ * @param message Empty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Empty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Empty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldMask. */
+ interface IFieldMask {
+
+ /** FieldMask paths */
+ paths?: (string[]|null);
+ }
+
+ /** Represents a FieldMask. */
+ class FieldMask implements IFieldMask {
+
+ /**
+ * Constructs a new FieldMask.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldMask);
+
+ /** FieldMask paths. */
+ public paths: string[];
+
+ /**
+ * Creates a new FieldMask instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldMask instance
+ */
+ public static create(properties?: google.protobuf.IFieldMask): google.protobuf.FieldMask;
+
+ /**
+ * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldMask;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldMask;
+
+ /**
+ * Verifies a FieldMask message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldMask message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldMask
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldMask;
+
+ /**
+ * Creates a plain object from a FieldMask message. Also converts values to other types if specified.
+ * @param message FieldMask
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldMask, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldMask to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldMask
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Timestamp. */
+ interface ITimestamp {
+
+ /** Timestamp seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Timestamp nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Timestamp. */
+ class Timestamp implements ITimestamp {
+
+ /**
+ * Constructs a new Timestamp.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ITimestamp);
+
+ /** Timestamp seconds. */
+ public seconds: (number|Long|string);
+
+ /** Timestamp nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Timestamp instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Timestamp instance
+ */
+ public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp;
+
+ /**
+ * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp;
+
+ /**
+ * Verifies a Timestamp message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Timestamp message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Timestamp
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp;
+
+ /**
+ * Creates a plain object from a Timestamp message. Also converts values to other types if specified.
+ * @param message Timestamp
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Timestamp to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Timestamp
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+}
diff --git a/handwritten/pubsub/protos/protos.js b/handwritten/pubsub/protos/protos.js
new file mode 100644
index 00000000000..319bc79955f
--- /dev/null
+++ b/handwritten/pubsub/protos/protos.js
@@ -0,0 +1,47589 @@
+// Copyright 2026 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
+(function(global, factory) { /* global define, require, module */
+
+ /* AMD */ if (typeof define === 'function' && define.amd)
+ define(["protobufjs/minimal"], factory);
+
+ /* CommonJS */ else if (typeof require === 'function' && typeof module === 'object' && module && module.exports)
+ module.exports = factory(require("google-gax/build/src/protobuf").protobufMinimal);
+
+})(this, function($protobuf) {
+ "use strict";
+
+ // Common aliases
+ var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;
+
+ // Exported root namespace
+ var $root = $protobuf.roots._google_cloud_pubsub_protos || ($protobuf.roots._google_cloud_pubsub_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.pubsub = (function() {
+
+ /**
+ * Namespace pubsub.
+ * @memberof google
+ * @namespace
+ */
+ var pubsub = {};
+
+ pubsub.v1 = (function() {
+
+ /**
+ * Namespace v1.
+ * @memberof google.pubsub
+ * @namespace
+ */
+ var v1 = {};
+
+ v1.Publisher = (function() {
+
+ /**
+ * Constructs a new Publisher service.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a Publisher
+ * @extends $protobuf.rpc.Service
+ * @constructor
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ */
+ function Publisher(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (Publisher.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Publisher;
+
+ /**
+ * Creates new Publisher service using the specified rpc implementation.
+ * @function create
+ * @memberof google.pubsub.v1.Publisher
+ * @static
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ * @returns {Publisher} RPC service. Useful where requests and/or responses are streamed.
+ */
+ Publisher.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|createTopic}.
+ * @memberof google.pubsub.v1.Publisher
+ * @typedef CreateTopicCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.Topic} [response] Topic
+ */
+
+ /**
+ * Calls CreateTopic.
+ * @function createTopic
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.ITopic} request Topic message or plain object
+ * @param {google.pubsub.v1.Publisher.CreateTopicCallback} callback Node-style callback called with the error, if any, and Topic
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Publisher.prototype.createTopic = function createTopic(request, callback) {
+ return this.rpcCall(createTopic, $root.google.pubsub.v1.Topic, $root.google.pubsub.v1.Topic, request, callback);
+ }, "name", { value: "CreateTopic" });
+
+ /**
+ * Calls CreateTopic.
+ * @function createTopic
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.ITopic} request Topic message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|updateTopic}.
+ * @memberof google.pubsub.v1.Publisher
+ * @typedef UpdateTopicCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.Topic} [response] Topic
+ */
+
+ /**
+ * Calls UpdateTopic.
+ * @function updateTopic
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IUpdateTopicRequest} request UpdateTopicRequest message or plain object
+ * @param {google.pubsub.v1.Publisher.UpdateTopicCallback} callback Node-style callback called with the error, if any, and Topic
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Publisher.prototype.updateTopic = function updateTopic(request, callback) {
+ return this.rpcCall(updateTopic, $root.google.pubsub.v1.UpdateTopicRequest, $root.google.pubsub.v1.Topic, request, callback);
+ }, "name", { value: "UpdateTopic" });
+
+ /**
+ * Calls UpdateTopic.
+ * @function updateTopic
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IUpdateTopicRequest} request UpdateTopicRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|publish}.
+ * @memberof google.pubsub.v1.Publisher
+ * @typedef PublishCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.PublishResponse} [response] PublishResponse
+ */
+
+ /**
+ * Calls Publish.
+ * @function publish
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IPublishRequest} request PublishRequest message or plain object
+ * @param {google.pubsub.v1.Publisher.PublishCallback} callback Node-style callback called with the error, if any, and PublishResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Publisher.prototype.publish = function publish(request, callback) {
+ return this.rpcCall(publish, $root.google.pubsub.v1.PublishRequest, $root.google.pubsub.v1.PublishResponse, request, callback);
+ }, "name", { value: "Publish" });
+
+ /**
+ * Calls Publish.
+ * @function publish
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IPublishRequest} request PublishRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|getTopic}.
+ * @memberof google.pubsub.v1.Publisher
+ * @typedef GetTopicCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.Topic} [response] Topic
+ */
+
+ /**
+ * Calls GetTopic.
+ * @function getTopic
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IGetTopicRequest} request GetTopicRequest message or plain object
+ * @param {google.pubsub.v1.Publisher.GetTopicCallback} callback Node-style callback called with the error, if any, and Topic
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Publisher.prototype.getTopic = function getTopic(request, callback) {
+ return this.rpcCall(getTopic, $root.google.pubsub.v1.GetTopicRequest, $root.google.pubsub.v1.Topic, request, callback);
+ }, "name", { value: "GetTopic" });
+
+ /**
+ * Calls GetTopic.
+ * @function getTopic
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IGetTopicRequest} request GetTopicRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|listTopics}.
+ * @memberof google.pubsub.v1.Publisher
+ * @typedef ListTopicsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.ListTopicsResponse} [response] ListTopicsResponse
+ */
+
+ /**
+ * Calls ListTopics.
+ * @function listTopics
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IListTopicsRequest} request ListTopicsRequest message or plain object
+ * @param {google.pubsub.v1.Publisher.ListTopicsCallback} callback Node-style callback called with the error, if any, and ListTopicsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Publisher.prototype.listTopics = function listTopics(request, callback) {
+ return this.rpcCall(listTopics, $root.google.pubsub.v1.ListTopicsRequest, $root.google.pubsub.v1.ListTopicsResponse, request, callback);
+ }, "name", { value: "ListTopics" });
+
+ /**
+ * Calls ListTopics.
+ * @function listTopics
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IListTopicsRequest} request ListTopicsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|listTopicSubscriptions}.
+ * @memberof google.pubsub.v1.Publisher
+ * @typedef ListTopicSubscriptionsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.ListTopicSubscriptionsResponse} [response] ListTopicSubscriptionsResponse
+ */
+
+ /**
+ * Calls ListTopicSubscriptions.
+ * @function listTopicSubscriptions
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IListTopicSubscriptionsRequest} request ListTopicSubscriptionsRequest message or plain object
+ * @param {google.pubsub.v1.Publisher.ListTopicSubscriptionsCallback} callback Node-style callback called with the error, if any, and ListTopicSubscriptionsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Publisher.prototype.listTopicSubscriptions = function listTopicSubscriptions(request, callback) {
+ return this.rpcCall(listTopicSubscriptions, $root.google.pubsub.v1.ListTopicSubscriptionsRequest, $root.google.pubsub.v1.ListTopicSubscriptionsResponse, request, callback);
+ }, "name", { value: "ListTopicSubscriptions" });
+
+ /**
+ * Calls ListTopicSubscriptions.
+ * @function listTopicSubscriptions
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IListTopicSubscriptionsRequest} request ListTopicSubscriptionsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|listTopicSnapshots}.
+ * @memberof google.pubsub.v1.Publisher
+ * @typedef ListTopicSnapshotsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.ListTopicSnapshotsResponse} [response] ListTopicSnapshotsResponse
+ */
+
+ /**
+ * Calls ListTopicSnapshots.
+ * @function listTopicSnapshots
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IListTopicSnapshotsRequest} request ListTopicSnapshotsRequest message or plain object
+ * @param {google.pubsub.v1.Publisher.ListTopicSnapshotsCallback} callback Node-style callback called with the error, if any, and ListTopicSnapshotsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Publisher.prototype.listTopicSnapshots = function listTopicSnapshots(request, callback) {
+ return this.rpcCall(listTopicSnapshots, $root.google.pubsub.v1.ListTopicSnapshotsRequest, $root.google.pubsub.v1.ListTopicSnapshotsResponse, request, callback);
+ }, "name", { value: "ListTopicSnapshots" });
+
+ /**
+ * Calls ListTopicSnapshots.
+ * @function listTopicSnapshots
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IListTopicSnapshotsRequest} request ListTopicSnapshotsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|deleteTopic}.
+ * @memberof google.pubsub.v1.Publisher
+ * @typedef DeleteTopicCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteTopic.
+ * @function deleteTopic
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IDeleteTopicRequest} request DeleteTopicRequest message or plain object
+ * @param {google.pubsub.v1.Publisher.DeleteTopicCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Publisher.prototype.deleteTopic = function deleteTopic(request, callback) {
+ return this.rpcCall(deleteTopic, $root.google.pubsub.v1.DeleteTopicRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteTopic" });
+
+ /**
+ * Calls DeleteTopic.
+ * @function deleteTopic
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IDeleteTopicRequest} request DeleteTopicRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Publisher|detachSubscription}.
+ * @memberof google.pubsub.v1.Publisher
+ * @typedef DetachSubscriptionCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.DetachSubscriptionResponse} [response] DetachSubscriptionResponse
+ */
+
+ /**
+ * Calls DetachSubscription.
+ * @function detachSubscription
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IDetachSubscriptionRequest} request DetachSubscriptionRequest message or plain object
+ * @param {google.pubsub.v1.Publisher.DetachSubscriptionCallback} callback Node-style callback called with the error, if any, and DetachSubscriptionResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Publisher.prototype.detachSubscription = function detachSubscription(request, callback) {
+ return this.rpcCall(detachSubscription, $root.google.pubsub.v1.DetachSubscriptionRequest, $root.google.pubsub.v1.DetachSubscriptionResponse, request, callback);
+ }, "name", { value: "DetachSubscription" });
+
+ /**
+ * Calls DetachSubscription.
+ * @function detachSubscription
+ * @memberof google.pubsub.v1.Publisher
+ * @instance
+ * @param {google.pubsub.v1.IDetachSubscriptionRequest} request DetachSubscriptionRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return Publisher;
+ })();
+
+ v1.MessageStoragePolicy = (function() {
+
+ /**
+ * Properties of a MessageStoragePolicy.
+ * @memberof google.pubsub.v1
+ * @interface IMessageStoragePolicy
+ * @property {Array.|null} [allowedPersistenceRegions] MessageStoragePolicy allowedPersistenceRegions
+ * @property {boolean|null} [enforceInTransit] MessageStoragePolicy enforceInTransit
+ */
+
+ /**
+ * Constructs a new MessageStoragePolicy.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a MessageStoragePolicy.
+ * @implements IMessageStoragePolicy
+ * @constructor
+ * @param {google.pubsub.v1.IMessageStoragePolicy=} [properties] Properties to set
+ */
+ function MessageStoragePolicy(properties) {
+ this.allowedPersistenceRegions = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * MessageStoragePolicy allowedPersistenceRegions.
+ * @member {Array.} allowedPersistenceRegions
+ * @memberof google.pubsub.v1.MessageStoragePolicy
+ * @instance
+ */
+ MessageStoragePolicy.prototype.allowedPersistenceRegions = $util.emptyArray;
+
+ /**
+ * MessageStoragePolicy enforceInTransit.
+ * @member {boolean} enforceInTransit
+ * @memberof google.pubsub.v1.MessageStoragePolicy
+ * @instance
+ */
+ MessageStoragePolicy.prototype.enforceInTransit = false;
+
+ /**
+ * Creates a new MessageStoragePolicy instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.MessageStoragePolicy
+ * @static
+ * @param {google.pubsub.v1.IMessageStoragePolicy=} [properties] Properties to set
+ * @returns {google.pubsub.v1.MessageStoragePolicy} MessageStoragePolicy instance
+ */
+ MessageStoragePolicy.create = function create(properties) {
+ return new MessageStoragePolicy(properties);
+ };
+
+ /**
+ * Encodes the specified MessageStoragePolicy message. Does not implicitly {@link google.pubsub.v1.MessageStoragePolicy.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.MessageStoragePolicy
+ * @static
+ * @param {google.pubsub.v1.IMessageStoragePolicy} message MessageStoragePolicy message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MessageStoragePolicy.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.allowedPersistenceRegions != null && message.allowedPersistenceRegions.length)
+ for (var i = 0; i < message.allowedPersistenceRegions.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.allowedPersistenceRegions[i]);
+ if (message.enforceInTransit != null && Object.hasOwnProperty.call(message, "enforceInTransit"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.enforceInTransit);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MessageStoragePolicy message, length delimited. Does not implicitly {@link google.pubsub.v1.MessageStoragePolicy.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.MessageStoragePolicy
+ * @static
+ * @param {google.pubsub.v1.IMessageStoragePolicy} message MessageStoragePolicy message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MessageStoragePolicy.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MessageStoragePolicy message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.MessageStoragePolicy
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.MessageStoragePolicy} MessageStoragePolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MessageStoragePolicy.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.MessageStoragePolicy();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.allowedPersistenceRegions && message.allowedPersistenceRegions.length))
+ message.allowedPersistenceRegions = [];
+ message.allowedPersistenceRegions.push(reader.string());
+ break;
+ }
+ case 2: {
+ message.enforceInTransit = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MessageStoragePolicy message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.MessageStoragePolicy
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.MessageStoragePolicy} MessageStoragePolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MessageStoragePolicy.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MessageStoragePolicy message.
+ * @function verify
+ * @memberof google.pubsub.v1.MessageStoragePolicy
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MessageStoragePolicy.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.allowedPersistenceRegions != null && message.hasOwnProperty("allowedPersistenceRegions")) {
+ if (!Array.isArray(message.allowedPersistenceRegions))
+ return "allowedPersistenceRegions: array expected";
+ for (var i = 0; i < message.allowedPersistenceRegions.length; ++i)
+ if (!$util.isString(message.allowedPersistenceRegions[i]))
+ return "allowedPersistenceRegions: string[] expected";
+ }
+ if (message.enforceInTransit != null && message.hasOwnProperty("enforceInTransit"))
+ if (typeof message.enforceInTransit !== "boolean")
+ return "enforceInTransit: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a MessageStoragePolicy message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.MessageStoragePolicy
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.MessageStoragePolicy} MessageStoragePolicy
+ */
+ MessageStoragePolicy.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.MessageStoragePolicy)
+ return object;
+ var message = new $root.google.pubsub.v1.MessageStoragePolicy();
+ if (object.allowedPersistenceRegions) {
+ if (!Array.isArray(object.allowedPersistenceRegions))
+ throw TypeError(".google.pubsub.v1.MessageStoragePolicy.allowedPersistenceRegions: array expected");
+ message.allowedPersistenceRegions = [];
+ for (var i = 0; i < object.allowedPersistenceRegions.length; ++i)
+ message.allowedPersistenceRegions[i] = String(object.allowedPersistenceRegions[i]);
+ }
+ if (object.enforceInTransit != null)
+ message.enforceInTransit = Boolean(object.enforceInTransit);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MessageStoragePolicy message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.MessageStoragePolicy
+ * @static
+ * @param {google.pubsub.v1.MessageStoragePolicy} message MessageStoragePolicy
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MessageStoragePolicy.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.allowedPersistenceRegions = [];
+ if (options.defaults)
+ object.enforceInTransit = false;
+ if (message.allowedPersistenceRegions && message.allowedPersistenceRegions.length) {
+ object.allowedPersistenceRegions = [];
+ for (var j = 0; j < message.allowedPersistenceRegions.length; ++j)
+ object.allowedPersistenceRegions[j] = message.allowedPersistenceRegions[j];
+ }
+ if (message.enforceInTransit != null && message.hasOwnProperty("enforceInTransit"))
+ object.enforceInTransit = message.enforceInTransit;
+ return object;
+ };
+
+ /**
+ * Converts this MessageStoragePolicy to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.MessageStoragePolicy
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MessageStoragePolicy.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MessageStoragePolicy
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.MessageStoragePolicy
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MessageStoragePolicy.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.MessageStoragePolicy";
+ };
+
+ return MessageStoragePolicy;
+ })();
+
+ v1.SchemaSettings = (function() {
+
+ /**
+ * Properties of a SchemaSettings.
+ * @memberof google.pubsub.v1
+ * @interface ISchemaSettings
+ * @property {string|null} [schema] SchemaSettings schema
+ * @property {google.pubsub.v1.Encoding|null} [encoding] SchemaSettings encoding
+ * @property {string|null} [firstRevisionId] SchemaSettings firstRevisionId
+ * @property {string|null} [lastRevisionId] SchemaSettings lastRevisionId
+ */
+
+ /**
+ * Constructs a new SchemaSettings.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a SchemaSettings.
+ * @implements ISchemaSettings
+ * @constructor
+ * @param {google.pubsub.v1.ISchemaSettings=} [properties] Properties to set
+ */
+ function SchemaSettings(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * SchemaSettings schema.
+ * @member {string} schema
+ * @memberof google.pubsub.v1.SchemaSettings
+ * @instance
+ */
+ SchemaSettings.prototype.schema = "";
+
+ /**
+ * SchemaSettings encoding.
+ * @member {google.pubsub.v1.Encoding} encoding
+ * @memberof google.pubsub.v1.SchemaSettings
+ * @instance
+ */
+ SchemaSettings.prototype.encoding = 0;
+
+ /**
+ * SchemaSettings firstRevisionId.
+ * @member {string} firstRevisionId
+ * @memberof google.pubsub.v1.SchemaSettings
+ * @instance
+ */
+ SchemaSettings.prototype.firstRevisionId = "";
+
+ /**
+ * SchemaSettings lastRevisionId.
+ * @member {string} lastRevisionId
+ * @memberof google.pubsub.v1.SchemaSettings
+ * @instance
+ */
+ SchemaSettings.prototype.lastRevisionId = "";
+
+ /**
+ * Creates a new SchemaSettings instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.SchemaSettings
+ * @static
+ * @param {google.pubsub.v1.ISchemaSettings=} [properties] Properties to set
+ * @returns {google.pubsub.v1.SchemaSettings} SchemaSettings instance
+ */
+ SchemaSettings.create = function create(properties) {
+ return new SchemaSettings(properties);
+ };
+
+ /**
+ * Encodes the specified SchemaSettings message. Does not implicitly {@link google.pubsub.v1.SchemaSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.SchemaSettings
+ * @static
+ * @param {google.pubsub.v1.ISchemaSettings} message SchemaSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SchemaSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.schema != null && Object.hasOwnProperty.call(message, "schema"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.schema);
+ if (message.encoding != null && Object.hasOwnProperty.call(message, "encoding"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.encoding);
+ if (message.firstRevisionId != null && Object.hasOwnProperty.call(message, "firstRevisionId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.firstRevisionId);
+ if (message.lastRevisionId != null && Object.hasOwnProperty.call(message, "lastRevisionId"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.lastRevisionId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SchemaSettings message, length delimited. Does not implicitly {@link google.pubsub.v1.SchemaSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.SchemaSettings
+ * @static
+ * @param {google.pubsub.v1.ISchemaSettings} message SchemaSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SchemaSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SchemaSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.SchemaSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.SchemaSettings} SchemaSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SchemaSettings.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.SchemaSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.schema = reader.string();
+ break;
+ }
+ case 2: {
+ message.encoding = reader.int32();
+ break;
+ }
+ case 3: {
+ message.firstRevisionId = reader.string();
+ break;
+ }
+ case 4: {
+ message.lastRevisionId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SchemaSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.SchemaSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.SchemaSettings} SchemaSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SchemaSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SchemaSettings message.
+ * @function verify
+ * @memberof google.pubsub.v1.SchemaSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SchemaSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.schema != null && message.hasOwnProperty("schema"))
+ if (!$util.isString(message.schema))
+ return "schema: string expected";
+ if (message.encoding != null && message.hasOwnProperty("encoding"))
+ switch (message.encoding) {
+ default:
+ return "encoding: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.firstRevisionId != null && message.hasOwnProperty("firstRevisionId"))
+ if (!$util.isString(message.firstRevisionId))
+ return "firstRevisionId: string expected";
+ if (message.lastRevisionId != null && message.hasOwnProperty("lastRevisionId"))
+ if (!$util.isString(message.lastRevisionId))
+ return "lastRevisionId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a SchemaSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.SchemaSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.SchemaSettings} SchemaSettings
+ */
+ SchemaSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.SchemaSettings)
+ return object;
+ var message = new $root.google.pubsub.v1.SchemaSettings();
+ if (object.schema != null)
+ message.schema = String(object.schema);
+ switch (object.encoding) {
+ default:
+ if (typeof object.encoding === "number") {
+ message.encoding = object.encoding;
+ break;
+ }
+ break;
+ case "ENCODING_UNSPECIFIED":
+ case 0:
+ message.encoding = 0;
+ break;
+ case "JSON":
+ case 1:
+ message.encoding = 1;
+ break;
+ case "BINARY":
+ case 2:
+ message.encoding = 2;
+ break;
+ }
+ if (object.firstRevisionId != null)
+ message.firstRevisionId = String(object.firstRevisionId);
+ if (object.lastRevisionId != null)
+ message.lastRevisionId = String(object.lastRevisionId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SchemaSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.SchemaSettings
+ * @static
+ * @param {google.pubsub.v1.SchemaSettings} message SchemaSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SchemaSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.schema = "";
+ object.encoding = options.enums === String ? "ENCODING_UNSPECIFIED" : 0;
+ object.firstRevisionId = "";
+ object.lastRevisionId = "";
+ }
+ if (message.schema != null && message.hasOwnProperty("schema"))
+ object.schema = message.schema;
+ if (message.encoding != null && message.hasOwnProperty("encoding"))
+ object.encoding = options.enums === String ? $root.google.pubsub.v1.Encoding[message.encoding] === undefined ? message.encoding : $root.google.pubsub.v1.Encoding[message.encoding] : message.encoding;
+ if (message.firstRevisionId != null && message.hasOwnProperty("firstRevisionId"))
+ object.firstRevisionId = message.firstRevisionId;
+ if (message.lastRevisionId != null && message.hasOwnProperty("lastRevisionId"))
+ object.lastRevisionId = message.lastRevisionId;
+ return object;
+ };
+
+ /**
+ * Converts this SchemaSettings to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.SchemaSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SchemaSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SchemaSettings
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.SchemaSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SchemaSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.SchemaSettings";
+ };
+
+ return SchemaSettings;
+ })();
+
+ v1.IngestionDataSourceSettings = (function() {
+
+ /**
+ * Properties of an IngestionDataSourceSettings.
+ * @memberof google.pubsub.v1
+ * @interface IIngestionDataSourceSettings
+ * @property {google.pubsub.v1.IngestionDataSourceSettings.IAwsKinesis|null} [awsKinesis] IngestionDataSourceSettings awsKinesis
+ * @property {google.pubsub.v1.IngestionDataSourceSettings.ICloudStorage|null} [cloudStorage] IngestionDataSourceSettings cloudStorage
+ * @property {google.pubsub.v1.IngestionDataSourceSettings.IAzureEventHubs|null} [azureEventHubs] IngestionDataSourceSettings azureEventHubs
+ * @property {google.pubsub.v1.IngestionDataSourceSettings.IAwsMsk|null} [awsMsk] IngestionDataSourceSettings awsMsk
+ * @property {google.pubsub.v1.IngestionDataSourceSettings.IConfluentCloud|null} [confluentCloud] IngestionDataSourceSettings confluentCloud
+ * @property {google.pubsub.v1.IPlatformLogsSettings|null} [platformLogsSettings] IngestionDataSourceSettings platformLogsSettings
+ */
+
+ /**
+ * Constructs a new IngestionDataSourceSettings.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents an IngestionDataSourceSettings.
+ * @implements IIngestionDataSourceSettings
+ * @constructor
+ * @param {google.pubsub.v1.IIngestionDataSourceSettings=} [properties] Properties to set
+ */
+ function IngestionDataSourceSettings(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * IngestionDataSourceSettings awsKinesis.
+ * @member {google.pubsub.v1.IngestionDataSourceSettings.IAwsKinesis|null|undefined} awsKinesis
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @instance
+ */
+ IngestionDataSourceSettings.prototype.awsKinesis = null;
+
+ /**
+ * IngestionDataSourceSettings cloudStorage.
+ * @member {google.pubsub.v1.IngestionDataSourceSettings.ICloudStorage|null|undefined} cloudStorage
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @instance
+ */
+ IngestionDataSourceSettings.prototype.cloudStorage = null;
+
+ /**
+ * IngestionDataSourceSettings azureEventHubs.
+ * @member {google.pubsub.v1.IngestionDataSourceSettings.IAzureEventHubs|null|undefined} azureEventHubs
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @instance
+ */
+ IngestionDataSourceSettings.prototype.azureEventHubs = null;
+
+ /**
+ * IngestionDataSourceSettings awsMsk.
+ * @member {google.pubsub.v1.IngestionDataSourceSettings.IAwsMsk|null|undefined} awsMsk
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @instance
+ */
+ IngestionDataSourceSettings.prototype.awsMsk = null;
+
+ /**
+ * IngestionDataSourceSettings confluentCloud.
+ * @member {google.pubsub.v1.IngestionDataSourceSettings.IConfluentCloud|null|undefined} confluentCloud
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @instance
+ */
+ IngestionDataSourceSettings.prototype.confluentCloud = null;
+
+ /**
+ * IngestionDataSourceSettings platformLogsSettings.
+ * @member {google.pubsub.v1.IPlatformLogsSettings|null|undefined} platformLogsSettings
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @instance
+ */
+ IngestionDataSourceSettings.prototype.platformLogsSettings = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * IngestionDataSourceSettings source.
+ * @member {"awsKinesis"|"cloudStorage"|"azureEventHubs"|"awsMsk"|"confluentCloud"|undefined} source
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @instance
+ */
+ Object.defineProperty(IngestionDataSourceSettings.prototype, "source", {
+ get: $util.oneOfGetter($oneOfFields = ["awsKinesis", "cloudStorage", "azureEventHubs", "awsMsk", "confluentCloud"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new IngestionDataSourceSettings instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @static
+ * @param {google.pubsub.v1.IIngestionDataSourceSettings=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings} IngestionDataSourceSettings instance
+ */
+ IngestionDataSourceSettings.create = function create(properties) {
+ return new IngestionDataSourceSettings(properties);
+ };
+
+ /**
+ * Encodes the specified IngestionDataSourceSettings message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @static
+ * @param {google.pubsub.v1.IIngestionDataSourceSettings} message IngestionDataSourceSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IngestionDataSourceSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.awsKinesis != null && Object.hasOwnProperty.call(message, "awsKinesis"))
+ $root.google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.encode(message.awsKinesis, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.cloudStorage != null && Object.hasOwnProperty.call(message, "cloudStorage"))
+ $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.encode(message.cloudStorage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.azureEventHubs != null && Object.hasOwnProperty.call(message, "azureEventHubs"))
+ $root.google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.encode(message.azureEventHubs, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.platformLogsSettings != null && Object.hasOwnProperty.call(message, "platformLogsSettings"))
+ $root.google.pubsub.v1.PlatformLogsSettings.encode(message.platformLogsSettings, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.awsMsk != null && Object.hasOwnProperty.call(message, "awsMsk"))
+ $root.google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.encode(message.awsMsk, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.confluentCloud != null && Object.hasOwnProperty.call(message, "confluentCloud"))
+ $root.google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.encode(message.confluentCloud, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified IngestionDataSourceSettings message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @static
+ * @param {google.pubsub.v1.IIngestionDataSourceSettings} message IngestionDataSourceSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IngestionDataSourceSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an IngestionDataSourceSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings} IngestionDataSourceSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IngestionDataSourceSettings.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionDataSourceSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.awsKinesis = $root.google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.cloudStorage = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.azureEventHubs = $root.google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.awsMsk = $root.google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.confluentCloud = $root.google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.platformLogsSettings = $root.google.pubsub.v1.PlatformLogsSettings.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an IngestionDataSourceSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings} IngestionDataSourceSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IngestionDataSourceSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an IngestionDataSourceSettings message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ IngestionDataSourceSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.awsKinesis != null && message.hasOwnProperty("awsKinesis")) {
+ properties.source = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.verify(message.awsKinesis);
+ if (error)
+ return "awsKinesis." + error;
+ }
+ }
+ if (message.cloudStorage != null && message.hasOwnProperty("cloudStorage")) {
+ if (properties.source === 1)
+ return "source: multiple values";
+ properties.source = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.verify(message.cloudStorage);
+ if (error)
+ return "cloudStorage." + error;
+ }
+ }
+ if (message.azureEventHubs != null && message.hasOwnProperty("azureEventHubs")) {
+ if (properties.source === 1)
+ return "source: multiple values";
+ properties.source = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.verify(message.azureEventHubs);
+ if (error)
+ return "azureEventHubs." + error;
+ }
+ }
+ if (message.awsMsk != null && message.hasOwnProperty("awsMsk")) {
+ if (properties.source === 1)
+ return "source: multiple values";
+ properties.source = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.verify(message.awsMsk);
+ if (error)
+ return "awsMsk." + error;
+ }
+ }
+ if (message.confluentCloud != null && message.hasOwnProperty("confluentCloud")) {
+ if (properties.source === 1)
+ return "source: multiple values";
+ properties.source = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.verify(message.confluentCloud);
+ if (error)
+ return "confluentCloud." + error;
+ }
+ }
+ if (message.platformLogsSettings != null && message.hasOwnProperty("platformLogsSettings")) {
+ var error = $root.google.pubsub.v1.PlatformLogsSettings.verify(message.platformLogsSettings);
+ if (error)
+ return "platformLogsSettings." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an IngestionDataSourceSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings} IngestionDataSourceSettings
+ */
+ IngestionDataSourceSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionDataSourceSettings)
+ return object;
+ var message = new $root.google.pubsub.v1.IngestionDataSourceSettings();
+ if (object.awsKinesis != null) {
+ if (typeof object.awsKinesis !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionDataSourceSettings.awsKinesis: object expected");
+ message.awsKinesis = $root.google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.fromObject(object.awsKinesis);
+ }
+ if (object.cloudStorage != null) {
+ if (typeof object.cloudStorage !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionDataSourceSettings.cloudStorage: object expected");
+ message.cloudStorage = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.fromObject(object.cloudStorage);
+ }
+ if (object.azureEventHubs != null) {
+ if (typeof object.azureEventHubs !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionDataSourceSettings.azureEventHubs: object expected");
+ message.azureEventHubs = $root.google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.fromObject(object.azureEventHubs);
+ }
+ if (object.awsMsk != null) {
+ if (typeof object.awsMsk !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionDataSourceSettings.awsMsk: object expected");
+ message.awsMsk = $root.google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.fromObject(object.awsMsk);
+ }
+ if (object.confluentCloud != null) {
+ if (typeof object.confluentCloud !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionDataSourceSettings.confluentCloud: object expected");
+ message.confluentCloud = $root.google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.fromObject(object.confluentCloud);
+ }
+ if (object.platformLogsSettings != null) {
+ if (typeof object.platformLogsSettings !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionDataSourceSettings.platformLogsSettings: object expected");
+ message.platformLogsSettings = $root.google.pubsub.v1.PlatformLogsSettings.fromObject(object.platformLogsSettings);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an IngestionDataSourceSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings} message IngestionDataSourceSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ IngestionDataSourceSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.platformLogsSettings = null;
+ if (message.awsKinesis != null && message.hasOwnProperty("awsKinesis")) {
+ object.awsKinesis = $root.google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.toObject(message.awsKinesis, options);
+ if (options.oneofs)
+ object.source = "awsKinesis";
+ }
+ if (message.cloudStorage != null && message.hasOwnProperty("cloudStorage")) {
+ object.cloudStorage = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.toObject(message.cloudStorage, options);
+ if (options.oneofs)
+ object.source = "cloudStorage";
+ }
+ if (message.azureEventHubs != null && message.hasOwnProperty("azureEventHubs")) {
+ object.azureEventHubs = $root.google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.toObject(message.azureEventHubs, options);
+ if (options.oneofs)
+ object.source = "azureEventHubs";
+ }
+ if (message.platformLogsSettings != null && message.hasOwnProperty("platformLogsSettings"))
+ object.platformLogsSettings = $root.google.pubsub.v1.PlatformLogsSettings.toObject(message.platformLogsSettings, options);
+ if (message.awsMsk != null && message.hasOwnProperty("awsMsk")) {
+ object.awsMsk = $root.google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.toObject(message.awsMsk, options);
+ if (options.oneofs)
+ object.source = "awsMsk";
+ }
+ if (message.confluentCloud != null && message.hasOwnProperty("confluentCloud")) {
+ object.confluentCloud = $root.google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.toObject(message.confluentCloud, options);
+ if (options.oneofs)
+ object.source = "confluentCloud";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this IngestionDataSourceSettings to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ IngestionDataSourceSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for IngestionDataSourceSettings
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ IngestionDataSourceSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionDataSourceSettings";
+ };
+
+ IngestionDataSourceSettings.AwsKinesis = (function() {
+
+ /**
+ * Properties of an AwsKinesis.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @interface IAwsKinesis
+ * @property {google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State|null} [state] AwsKinesis state
+ * @property {string|null} [streamArn] AwsKinesis streamArn
+ * @property {string|null} [consumerArn] AwsKinesis consumerArn
+ * @property {string|null} [awsRoleArn] AwsKinesis awsRoleArn
+ * @property {string|null} [gcpServiceAccount] AwsKinesis gcpServiceAccount
+ */
+
+ /**
+ * Constructs a new AwsKinesis.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @classdesc Represents an AwsKinesis.
+ * @implements IAwsKinesis
+ * @constructor
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IAwsKinesis=} [properties] Properties to set
+ */
+ function AwsKinesis(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AwsKinesis state.
+ * @member {google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State} state
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @instance
+ */
+ AwsKinesis.prototype.state = 0;
+
+ /**
+ * AwsKinesis streamArn.
+ * @member {string} streamArn
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @instance
+ */
+ AwsKinesis.prototype.streamArn = "";
+
+ /**
+ * AwsKinesis consumerArn.
+ * @member {string} consumerArn
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @instance
+ */
+ AwsKinesis.prototype.consumerArn = "";
+
+ /**
+ * AwsKinesis awsRoleArn.
+ * @member {string} awsRoleArn
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @instance
+ */
+ AwsKinesis.prototype.awsRoleArn = "";
+
+ /**
+ * AwsKinesis gcpServiceAccount.
+ * @member {string} gcpServiceAccount
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @instance
+ */
+ AwsKinesis.prototype.gcpServiceAccount = "";
+
+ /**
+ * Creates a new AwsKinesis instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IAwsKinesis=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis} AwsKinesis instance
+ */
+ AwsKinesis.create = function create(properties) {
+ return new AwsKinesis(properties);
+ };
+
+ /**
+ * Encodes the specified AwsKinesis message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IAwsKinesis} message AwsKinesis message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AwsKinesis.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state);
+ if (message.streamArn != null && Object.hasOwnProperty.call(message, "streamArn"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.streamArn);
+ if (message.consumerArn != null && Object.hasOwnProperty.call(message, "consumerArn"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.consumerArn);
+ if (message.awsRoleArn != null && Object.hasOwnProperty.call(message, "awsRoleArn"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.awsRoleArn);
+ if (message.gcpServiceAccount != null && Object.hasOwnProperty.call(message, "gcpServiceAccount"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.gcpServiceAccount);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AwsKinesis message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IAwsKinesis} message AwsKinesis message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AwsKinesis.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AwsKinesis message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis} AwsKinesis
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AwsKinesis.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.state = reader.int32();
+ break;
+ }
+ case 2: {
+ message.streamArn = reader.string();
+ break;
+ }
+ case 3: {
+ message.consumerArn = reader.string();
+ break;
+ }
+ case 4: {
+ message.awsRoleArn = reader.string();
+ break;
+ }
+ case 5: {
+ message.gcpServiceAccount = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AwsKinesis message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis} AwsKinesis
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AwsKinesis.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AwsKinesis message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AwsKinesis.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ if (message.streamArn != null && message.hasOwnProperty("streamArn"))
+ if (!$util.isString(message.streamArn))
+ return "streamArn: string expected";
+ if (message.consumerArn != null && message.hasOwnProperty("consumerArn"))
+ if (!$util.isString(message.consumerArn))
+ return "consumerArn: string expected";
+ if (message.awsRoleArn != null && message.hasOwnProperty("awsRoleArn"))
+ if (!$util.isString(message.awsRoleArn))
+ return "awsRoleArn: string expected";
+ if (message.gcpServiceAccount != null && message.hasOwnProperty("gcpServiceAccount"))
+ if (!$util.isString(message.gcpServiceAccount))
+ return "gcpServiceAccount: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an AwsKinesis message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis} AwsKinesis
+ */
+ AwsKinesis.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis)
+ return object;
+ var message = new $root.google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis();
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "ACTIVE":
+ case 1:
+ message.state = 1;
+ break;
+ case "KINESIS_PERMISSION_DENIED":
+ case 2:
+ message.state = 2;
+ break;
+ case "PUBLISH_PERMISSION_DENIED":
+ case 3:
+ message.state = 3;
+ break;
+ case "STREAM_NOT_FOUND":
+ case 4:
+ message.state = 4;
+ break;
+ case "CONSUMER_NOT_FOUND":
+ case 5:
+ message.state = 5;
+ break;
+ }
+ if (object.streamArn != null)
+ message.streamArn = String(object.streamArn);
+ if (object.consumerArn != null)
+ message.consumerArn = String(object.consumerArn);
+ if (object.awsRoleArn != null)
+ message.awsRoleArn = String(object.awsRoleArn);
+ if (object.gcpServiceAccount != null)
+ message.gcpServiceAccount = String(object.gcpServiceAccount);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AwsKinesis message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis} message AwsKinesis
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AwsKinesis.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.streamArn = "";
+ object.consumerArn = "";
+ object.awsRoleArn = "";
+ object.gcpServiceAccount = "";
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State[message.state] === undefined ? message.state : $root.google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State[message.state] : message.state;
+ if (message.streamArn != null && message.hasOwnProperty("streamArn"))
+ object.streamArn = message.streamArn;
+ if (message.consumerArn != null && message.hasOwnProperty("consumerArn"))
+ object.consumerArn = message.consumerArn;
+ if (message.awsRoleArn != null && message.hasOwnProperty("awsRoleArn"))
+ object.awsRoleArn = message.awsRoleArn;
+ if (message.gcpServiceAccount != null && message.hasOwnProperty("gcpServiceAccount"))
+ object.gcpServiceAccount = message.gcpServiceAccount;
+ return object;
+ };
+
+ /**
+ * Converts this AwsKinesis to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AwsKinesis.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AwsKinesis
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AwsKinesis.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis";
+ };
+
+ /**
+ * State enum.
+ * @name google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} ACTIVE=1 ACTIVE value
+ * @property {number} KINESIS_PERMISSION_DENIED=2 KINESIS_PERMISSION_DENIED value
+ * @property {number} PUBLISH_PERMISSION_DENIED=3 PUBLISH_PERMISSION_DENIED value
+ * @property {number} STREAM_NOT_FOUND=4 STREAM_NOT_FOUND value
+ * @property {number} CONSUMER_NOT_FOUND=5 CONSUMER_NOT_FOUND value
+ */
+ AwsKinesis.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ACTIVE"] = 1;
+ values[valuesById[2] = "KINESIS_PERMISSION_DENIED"] = 2;
+ values[valuesById[3] = "PUBLISH_PERMISSION_DENIED"] = 3;
+ values[valuesById[4] = "STREAM_NOT_FOUND"] = 4;
+ values[valuesById[5] = "CONSUMER_NOT_FOUND"] = 5;
+ return values;
+ })();
+
+ return AwsKinesis;
+ })();
+
+ IngestionDataSourceSettings.CloudStorage = (function() {
+
+ /**
+ * Properties of a CloudStorage.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @interface ICloudStorage
+ * @property {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.State|null} [state] CloudStorage state
+ * @property {string|null} [bucket] CloudStorage bucket
+ * @property {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.ITextFormat|null} [textFormat] CloudStorage textFormat
+ * @property {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IAvroFormat|null} [avroFormat] CloudStorage avroFormat
+ * @property {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IPubSubAvroFormat|null} [pubsubAvroFormat] CloudStorage pubsubAvroFormat
+ * @property {google.protobuf.ITimestamp|null} [minimumObjectCreateTime] CloudStorage minimumObjectCreateTime
+ * @property {string|null} [matchGlob] CloudStorage matchGlob
+ */
+
+ /**
+ * Constructs a new CloudStorage.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @classdesc Represents a CloudStorage.
+ * @implements ICloudStorage
+ * @constructor
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.ICloudStorage=} [properties] Properties to set
+ */
+ function CloudStorage(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CloudStorage state.
+ * @member {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.State} state
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @instance
+ */
+ CloudStorage.prototype.state = 0;
+
+ /**
+ * CloudStorage bucket.
+ * @member {string} bucket
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @instance
+ */
+ CloudStorage.prototype.bucket = "";
+
+ /**
+ * CloudStorage textFormat.
+ * @member {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.ITextFormat|null|undefined} textFormat
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @instance
+ */
+ CloudStorage.prototype.textFormat = null;
+
+ /**
+ * CloudStorage avroFormat.
+ * @member {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IAvroFormat|null|undefined} avroFormat
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @instance
+ */
+ CloudStorage.prototype.avroFormat = null;
+
+ /**
+ * CloudStorage pubsubAvroFormat.
+ * @member {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IPubSubAvroFormat|null|undefined} pubsubAvroFormat
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @instance
+ */
+ CloudStorage.prototype.pubsubAvroFormat = null;
+
+ /**
+ * CloudStorage minimumObjectCreateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} minimumObjectCreateTime
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @instance
+ */
+ CloudStorage.prototype.minimumObjectCreateTime = null;
+
+ /**
+ * CloudStorage matchGlob.
+ * @member {string} matchGlob
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @instance
+ */
+ CloudStorage.prototype.matchGlob = "";
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * CloudStorage inputFormat.
+ * @member {"textFormat"|"avroFormat"|"pubsubAvroFormat"|undefined} inputFormat
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @instance
+ */
+ Object.defineProperty(CloudStorage.prototype, "inputFormat", {
+ get: $util.oneOfGetter($oneOfFields = ["textFormat", "avroFormat", "pubsubAvroFormat"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new CloudStorage instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.ICloudStorage=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage} CloudStorage instance
+ */
+ CloudStorage.create = function create(properties) {
+ return new CloudStorage(properties);
+ };
+
+ /**
+ * Encodes the specified CloudStorage message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.ICloudStorage} message CloudStorage message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CloudStorage.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state);
+ if (message.bucket != null && Object.hasOwnProperty.call(message, "bucket"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.bucket);
+ if (message.textFormat != null && Object.hasOwnProperty.call(message, "textFormat"))
+ $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat.encode(message.textFormat, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.avroFormat != null && Object.hasOwnProperty.call(message, "avroFormat"))
+ $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat.encode(message.avroFormat, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.pubsubAvroFormat != null && Object.hasOwnProperty.call(message, "pubsubAvroFormat"))
+ $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat.encode(message.pubsubAvroFormat, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.minimumObjectCreateTime != null && Object.hasOwnProperty.call(message, "minimumObjectCreateTime"))
+ $root.google.protobuf.Timestamp.encode(message.minimumObjectCreateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.matchGlob != null && Object.hasOwnProperty.call(message, "matchGlob"))
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.matchGlob);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CloudStorage message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.ICloudStorage} message CloudStorage message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CloudStorage.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CloudStorage message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage} CloudStorage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CloudStorage.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.state = reader.int32();
+ break;
+ }
+ case 2: {
+ message.bucket = reader.string();
+ break;
+ }
+ case 3: {
+ message.textFormat = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.avroFormat = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.pubsubAvroFormat = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.minimumObjectCreateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.matchGlob = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CloudStorage message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage} CloudStorage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CloudStorage.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CloudStorage message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CloudStorage.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ if (message.bucket != null && message.hasOwnProperty("bucket"))
+ if (!$util.isString(message.bucket))
+ return "bucket: string expected";
+ if (message.textFormat != null && message.hasOwnProperty("textFormat")) {
+ properties.inputFormat = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat.verify(message.textFormat);
+ if (error)
+ return "textFormat." + error;
+ }
+ }
+ if (message.avroFormat != null && message.hasOwnProperty("avroFormat")) {
+ if (properties.inputFormat === 1)
+ return "inputFormat: multiple values";
+ properties.inputFormat = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat.verify(message.avroFormat);
+ if (error)
+ return "avroFormat." + error;
+ }
+ }
+ if (message.pubsubAvroFormat != null && message.hasOwnProperty("pubsubAvroFormat")) {
+ if (properties.inputFormat === 1)
+ return "inputFormat: multiple values";
+ properties.inputFormat = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat.verify(message.pubsubAvroFormat);
+ if (error)
+ return "pubsubAvroFormat." + error;
+ }
+ }
+ if (message.minimumObjectCreateTime != null && message.hasOwnProperty("minimumObjectCreateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.minimumObjectCreateTime);
+ if (error)
+ return "minimumObjectCreateTime." + error;
+ }
+ if (message.matchGlob != null && message.hasOwnProperty("matchGlob"))
+ if (!$util.isString(message.matchGlob))
+ return "matchGlob: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a CloudStorage message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage} CloudStorage
+ */
+ CloudStorage.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage)
+ return object;
+ var message = new $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage();
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "ACTIVE":
+ case 1:
+ message.state = 1;
+ break;
+ case "CLOUD_STORAGE_PERMISSION_DENIED":
+ case 2:
+ message.state = 2;
+ break;
+ case "PUBLISH_PERMISSION_DENIED":
+ case 3:
+ message.state = 3;
+ break;
+ case "BUCKET_NOT_FOUND":
+ case 4:
+ message.state = 4;
+ break;
+ case "TOO_MANY_OBJECTS":
+ case 5:
+ message.state = 5;
+ break;
+ }
+ if (object.bucket != null)
+ message.bucket = String(object.bucket);
+ if (object.textFormat != null) {
+ if (typeof object.textFormat !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.textFormat: object expected");
+ message.textFormat = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat.fromObject(object.textFormat);
+ }
+ if (object.avroFormat != null) {
+ if (typeof object.avroFormat !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.avroFormat: object expected");
+ message.avroFormat = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat.fromObject(object.avroFormat);
+ }
+ if (object.pubsubAvroFormat != null) {
+ if (typeof object.pubsubAvroFormat !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.pubsubAvroFormat: object expected");
+ message.pubsubAvroFormat = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat.fromObject(object.pubsubAvroFormat);
+ }
+ if (object.minimumObjectCreateTime != null) {
+ if (typeof object.minimumObjectCreateTime !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.minimumObjectCreateTime: object expected");
+ message.minimumObjectCreateTime = $root.google.protobuf.Timestamp.fromObject(object.minimumObjectCreateTime);
+ }
+ if (object.matchGlob != null)
+ message.matchGlob = String(object.matchGlob);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CloudStorage message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage} message CloudStorage
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CloudStorage.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.bucket = "";
+ object.minimumObjectCreateTime = null;
+ object.matchGlob = "";
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.State[message.state] === undefined ? message.state : $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.State[message.state] : message.state;
+ if (message.bucket != null && message.hasOwnProperty("bucket"))
+ object.bucket = message.bucket;
+ if (message.textFormat != null && message.hasOwnProperty("textFormat")) {
+ object.textFormat = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat.toObject(message.textFormat, options);
+ if (options.oneofs)
+ object.inputFormat = "textFormat";
+ }
+ if (message.avroFormat != null && message.hasOwnProperty("avroFormat")) {
+ object.avroFormat = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat.toObject(message.avroFormat, options);
+ if (options.oneofs)
+ object.inputFormat = "avroFormat";
+ }
+ if (message.pubsubAvroFormat != null && message.hasOwnProperty("pubsubAvroFormat")) {
+ object.pubsubAvroFormat = $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat.toObject(message.pubsubAvroFormat, options);
+ if (options.oneofs)
+ object.inputFormat = "pubsubAvroFormat";
+ }
+ if (message.minimumObjectCreateTime != null && message.hasOwnProperty("minimumObjectCreateTime"))
+ object.minimumObjectCreateTime = $root.google.protobuf.Timestamp.toObject(message.minimumObjectCreateTime, options);
+ if (message.matchGlob != null && message.hasOwnProperty("matchGlob"))
+ object.matchGlob = message.matchGlob;
+ return object;
+ };
+
+ /**
+ * Converts this CloudStorage to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CloudStorage.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CloudStorage
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CloudStorage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionDataSourceSettings.CloudStorage";
+ };
+
+ /**
+ * State enum.
+ * @name google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} ACTIVE=1 ACTIVE value
+ * @property {number} CLOUD_STORAGE_PERMISSION_DENIED=2 CLOUD_STORAGE_PERMISSION_DENIED value
+ * @property {number} PUBLISH_PERMISSION_DENIED=3 PUBLISH_PERMISSION_DENIED value
+ * @property {number} BUCKET_NOT_FOUND=4 BUCKET_NOT_FOUND value
+ * @property {number} TOO_MANY_OBJECTS=5 TOO_MANY_OBJECTS value
+ */
+ CloudStorage.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ACTIVE"] = 1;
+ values[valuesById[2] = "CLOUD_STORAGE_PERMISSION_DENIED"] = 2;
+ values[valuesById[3] = "PUBLISH_PERMISSION_DENIED"] = 3;
+ values[valuesById[4] = "BUCKET_NOT_FOUND"] = 4;
+ values[valuesById[5] = "TOO_MANY_OBJECTS"] = 5;
+ return values;
+ })();
+
+ CloudStorage.TextFormat = (function() {
+
+ /**
+ * Properties of a TextFormat.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @interface ITextFormat
+ * @property {string|null} [delimiter] TextFormat delimiter
+ */
+
+ /**
+ * Constructs a new TextFormat.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @classdesc Represents a TextFormat.
+ * @implements ITextFormat
+ * @constructor
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.ITextFormat=} [properties] Properties to set
+ */
+ function TextFormat(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * TextFormat delimiter.
+ * @member {string|null|undefined} delimiter
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat
+ * @instance
+ */
+ TextFormat.prototype.delimiter = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ // Virtual OneOf for proto3 optional field
+ Object.defineProperty(TextFormat.prototype, "_delimiter", {
+ get: $util.oneOfGetter($oneOfFields = ["delimiter"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new TextFormat instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.ITextFormat=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat} TextFormat instance
+ */
+ TextFormat.create = function create(properties) {
+ return new TextFormat(properties);
+ };
+
+ /**
+ * Encodes the specified TextFormat message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.ITextFormat} message TextFormat message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextFormat.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.delimiter != null && Object.hasOwnProperty.call(message, "delimiter"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.delimiter);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TextFormat message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.ITextFormat} message TextFormat message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextFormat.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TextFormat message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat} TextFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextFormat.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.delimiter = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TextFormat message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat} TextFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextFormat.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TextFormat message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TextFormat.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.delimiter != null && message.hasOwnProperty("delimiter")) {
+ properties._delimiter = 1;
+ if (!$util.isString(message.delimiter))
+ return "delimiter: string expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a TextFormat message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat} TextFormat
+ */
+ TextFormat.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat)
+ return object;
+ var message = new $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat();
+ if (object.delimiter != null)
+ message.delimiter = String(object.delimiter);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TextFormat message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat} message TextFormat
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TextFormat.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.delimiter != null && message.hasOwnProperty("delimiter")) {
+ object.delimiter = message.delimiter;
+ if (options.oneofs)
+ object._delimiter = "delimiter";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this TextFormat to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TextFormat.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TextFormat
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TextFormat.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.TextFormat";
+ };
+
+ return TextFormat;
+ })();
+
+ CloudStorage.AvroFormat = (function() {
+
+ /**
+ * Properties of an AvroFormat.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @interface IAvroFormat
+ */
+
+ /**
+ * Constructs a new AvroFormat.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @classdesc Represents an AvroFormat.
+ * @implements IAvroFormat
+ * @constructor
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IAvroFormat=} [properties] Properties to set
+ */
+ function AvroFormat(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Creates a new AvroFormat instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IAvroFormat=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat} AvroFormat instance
+ */
+ AvroFormat.create = function create(properties) {
+ return new AvroFormat(properties);
+ };
+
+ /**
+ * Encodes the specified AvroFormat message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IAvroFormat} message AvroFormat message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AvroFormat.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AvroFormat message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IAvroFormat} message AvroFormat message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AvroFormat.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AvroFormat message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat} AvroFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AvroFormat.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AvroFormat message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat} AvroFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AvroFormat.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AvroFormat message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AvroFormat.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ return null;
+ };
+
+ /**
+ * Creates an AvroFormat message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat} AvroFormat
+ */
+ AvroFormat.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat)
+ return object;
+ return new $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat();
+ };
+
+ /**
+ * Creates a plain object from an AvroFormat message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat} message AvroFormat
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AvroFormat.toObject = function toObject() {
+ return {};
+ };
+
+ /**
+ * Converts this AvroFormat to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AvroFormat.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AvroFormat
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AvroFormat.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.AvroFormat";
+ };
+
+ return AvroFormat;
+ })();
+
+ CloudStorage.PubSubAvroFormat = (function() {
+
+ /**
+ * Properties of a PubSubAvroFormat.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @interface IPubSubAvroFormat
+ */
+
+ /**
+ * Constructs a new PubSubAvroFormat.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage
+ * @classdesc Represents a PubSubAvroFormat.
+ * @implements IPubSubAvroFormat
+ * @constructor
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IPubSubAvroFormat=} [properties] Properties to set
+ */
+ function PubSubAvroFormat(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Creates a new PubSubAvroFormat instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IPubSubAvroFormat=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat} PubSubAvroFormat instance
+ */
+ PubSubAvroFormat.create = function create(properties) {
+ return new PubSubAvroFormat(properties);
+ };
+
+ /**
+ * Encodes the specified PubSubAvroFormat message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IPubSubAvroFormat} message PubSubAvroFormat message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PubSubAvroFormat.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PubSubAvroFormat message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.IPubSubAvroFormat} message PubSubAvroFormat message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PubSubAvroFormat.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PubSubAvroFormat message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat} PubSubAvroFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PubSubAvroFormat.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PubSubAvroFormat message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat} PubSubAvroFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PubSubAvroFormat.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PubSubAvroFormat message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PubSubAvroFormat.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ return null;
+ };
+
+ /**
+ * Creates a PubSubAvroFormat message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat} PubSubAvroFormat
+ */
+ PubSubAvroFormat.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat)
+ return object;
+ return new $root.google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat();
+ };
+
+ /**
+ * Creates a plain object from a PubSubAvroFormat message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat} message PubSubAvroFormat
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PubSubAvroFormat.toObject = function toObject() {
+ return {};
+ };
+
+ /**
+ * Converts this PubSubAvroFormat to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PubSubAvroFormat.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PubSubAvroFormat
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PubSubAvroFormat.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat";
+ };
+
+ return PubSubAvroFormat;
+ })();
+
+ return CloudStorage;
+ })();
+
+ IngestionDataSourceSettings.AzureEventHubs = (function() {
+
+ /**
+ * Properties of an AzureEventHubs.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @interface IAzureEventHubs
+ * @property {google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.State|null} [state] AzureEventHubs state
+ * @property {string|null} [resourceGroup] AzureEventHubs resourceGroup
+ * @property {string|null} [namespace] AzureEventHubs namespace
+ * @property {string|null} [eventHub] AzureEventHubs eventHub
+ * @property {string|null} [clientId] AzureEventHubs clientId
+ * @property {string|null} [tenantId] AzureEventHubs tenantId
+ * @property {string|null} [subscriptionId] AzureEventHubs subscriptionId
+ * @property {string|null} [gcpServiceAccount] AzureEventHubs gcpServiceAccount
+ */
+
+ /**
+ * Constructs a new AzureEventHubs.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @classdesc Represents an AzureEventHubs.
+ * @implements IAzureEventHubs
+ * @constructor
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IAzureEventHubs=} [properties] Properties to set
+ */
+ function AzureEventHubs(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AzureEventHubs state.
+ * @member {google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.State} state
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @instance
+ */
+ AzureEventHubs.prototype.state = 0;
+
+ /**
+ * AzureEventHubs resourceGroup.
+ * @member {string} resourceGroup
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @instance
+ */
+ AzureEventHubs.prototype.resourceGroup = "";
+
+ /**
+ * AzureEventHubs namespace.
+ * @member {string} namespace
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @instance
+ */
+ AzureEventHubs.prototype.namespace = "";
+
+ /**
+ * AzureEventHubs eventHub.
+ * @member {string} eventHub
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @instance
+ */
+ AzureEventHubs.prototype.eventHub = "";
+
+ /**
+ * AzureEventHubs clientId.
+ * @member {string} clientId
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @instance
+ */
+ AzureEventHubs.prototype.clientId = "";
+
+ /**
+ * AzureEventHubs tenantId.
+ * @member {string} tenantId
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @instance
+ */
+ AzureEventHubs.prototype.tenantId = "";
+
+ /**
+ * AzureEventHubs subscriptionId.
+ * @member {string} subscriptionId
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @instance
+ */
+ AzureEventHubs.prototype.subscriptionId = "";
+
+ /**
+ * AzureEventHubs gcpServiceAccount.
+ * @member {string} gcpServiceAccount
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @instance
+ */
+ AzureEventHubs.prototype.gcpServiceAccount = "";
+
+ /**
+ * Creates a new AzureEventHubs instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IAzureEventHubs=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs} AzureEventHubs instance
+ */
+ AzureEventHubs.create = function create(properties) {
+ return new AzureEventHubs(properties);
+ };
+
+ /**
+ * Encodes the specified AzureEventHubs message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IAzureEventHubs} message AzureEventHubs message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AzureEventHubs.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state);
+ if (message.resourceGroup != null && Object.hasOwnProperty.call(message, "resourceGroup"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.resourceGroup);
+ if (message.namespace != null && Object.hasOwnProperty.call(message, "namespace"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.namespace);
+ if (message.eventHub != null && Object.hasOwnProperty.call(message, "eventHub"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.eventHub);
+ if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.clientId);
+ if (message.tenantId != null && Object.hasOwnProperty.call(message, "tenantId"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.tenantId);
+ if (message.subscriptionId != null && Object.hasOwnProperty.call(message, "subscriptionId"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.subscriptionId);
+ if (message.gcpServiceAccount != null && Object.hasOwnProperty.call(message, "gcpServiceAccount"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.gcpServiceAccount);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AzureEventHubs message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IAzureEventHubs} message AzureEventHubs message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AzureEventHubs.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AzureEventHubs message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs} AzureEventHubs
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AzureEventHubs.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.state = reader.int32();
+ break;
+ }
+ case 2: {
+ message.resourceGroup = reader.string();
+ break;
+ }
+ case 3: {
+ message.namespace = reader.string();
+ break;
+ }
+ case 4: {
+ message.eventHub = reader.string();
+ break;
+ }
+ case 5: {
+ message.clientId = reader.string();
+ break;
+ }
+ case 6: {
+ message.tenantId = reader.string();
+ break;
+ }
+ case 7: {
+ message.subscriptionId = reader.string();
+ break;
+ }
+ case 8: {
+ message.gcpServiceAccount = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AzureEventHubs message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs} AzureEventHubs
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AzureEventHubs.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AzureEventHubs message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AzureEventHubs.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ break;
+ }
+ if (message.resourceGroup != null && message.hasOwnProperty("resourceGroup"))
+ if (!$util.isString(message.resourceGroup))
+ return "resourceGroup: string expected";
+ if (message.namespace != null && message.hasOwnProperty("namespace"))
+ if (!$util.isString(message.namespace))
+ return "namespace: string expected";
+ if (message.eventHub != null && message.hasOwnProperty("eventHub"))
+ if (!$util.isString(message.eventHub))
+ return "eventHub: string expected";
+ if (message.clientId != null && message.hasOwnProperty("clientId"))
+ if (!$util.isString(message.clientId))
+ return "clientId: string expected";
+ if (message.tenantId != null && message.hasOwnProperty("tenantId"))
+ if (!$util.isString(message.tenantId))
+ return "tenantId: string expected";
+ if (message.subscriptionId != null && message.hasOwnProperty("subscriptionId"))
+ if (!$util.isString(message.subscriptionId))
+ return "subscriptionId: string expected";
+ if (message.gcpServiceAccount != null && message.hasOwnProperty("gcpServiceAccount"))
+ if (!$util.isString(message.gcpServiceAccount))
+ return "gcpServiceAccount: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an AzureEventHubs message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs} AzureEventHubs
+ */
+ AzureEventHubs.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs)
+ return object;
+ var message = new $root.google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs();
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "ACTIVE":
+ case 1:
+ message.state = 1;
+ break;
+ case "EVENT_HUBS_PERMISSION_DENIED":
+ case 2:
+ message.state = 2;
+ break;
+ case "PUBLISH_PERMISSION_DENIED":
+ case 3:
+ message.state = 3;
+ break;
+ case "NAMESPACE_NOT_FOUND":
+ case 4:
+ message.state = 4;
+ break;
+ case "EVENT_HUB_NOT_FOUND":
+ case 5:
+ message.state = 5;
+ break;
+ case "SUBSCRIPTION_NOT_FOUND":
+ case 6:
+ message.state = 6;
+ break;
+ case "RESOURCE_GROUP_NOT_FOUND":
+ case 7:
+ message.state = 7;
+ break;
+ }
+ if (object.resourceGroup != null)
+ message.resourceGroup = String(object.resourceGroup);
+ if (object.namespace != null)
+ message.namespace = String(object.namespace);
+ if (object.eventHub != null)
+ message.eventHub = String(object.eventHub);
+ if (object.clientId != null)
+ message.clientId = String(object.clientId);
+ if (object.tenantId != null)
+ message.tenantId = String(object.tenantId);
+ if (object.subscriptionId != null)
+ message.subscriptionId = String(object.subscriptionId);
+ if (object.gcpServiceAccount != null)
+ message.gcpServiceAccount = String(object.gcpServiceAccount);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AzureEventHubs message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs} message AzureEventHubs
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AzureEventHubs.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.resourceGroup = "";
+ object.namespace = "";
+ object.eventHub = "";
+ object.clientId = "";
+ object.tenantId = "";
+ object.subscriptionId = "";
+ object.gcpServiceAccount = "";
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.State[message.state] === undefined ? message.state : $root.google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.State[message.state] : message.state;
+ if (message.resourceGroup != null && message.hasOwnProperty("resourceGroup"))
+ object.resourceGroup = message.resourceGroup;
+ if (message.namespace != null && message.hasOwnProperty("namespace"))
+ object.namespace = message.namespace;
+ if (message.eventHub != null && message.hasOwnProperty("eventHub"))
+ object.eventHub = message.eventHub;
+ if (message.clientId != null && message.hasOwnProperty("clientId"))
+ object.clientId = message.clientId;
+ if (message.tenantId != null && message.hasOwnProperty("tenantId"))
+ object.tenantId = message.tenantId;
+ if (message.subscriptionId != null && message.hasOwnProperty("subscriptionId"))
+ object.subscriptionId = message.subscriptionId;
+ if (message.gcpServiceAccount != null && message.hasOwnProperty("gcpServiceAccount"))
+ object.gcpServiceAccount = message.gcpServiceAccount;
+ return object;
+ };
+
+ /**
+ * Converts this AzureEventHubs to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AzureEventHubs.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AzureEventHubs
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AzureEventHubs.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs";
+ };
+
+ /**
+ * State enum.
+ * @name google.pubsub.v1.IngestionDataSourceSettings.AzureEventHubs.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} ACTIVE=1 ACTIVE value
+ * @property {number} EVENT_HUBS_PERMISSION_DENIED=2 EVENT_HUBS_PERMISSION_DENIED value
+ * @property {number} PUBLISH_PERMISSION_DENIED=3 PUBLISH_PERMISSION_DENIED value
+ * @property {number} NAMESPACE_NOT_FOUND=4 NAMESPACE_NOT_FOUND value
+ * @property {number} EVENT_HUB_NOT_FOUND=5 EVENT_HUB_NOT_FOUND value
+ * @property {number} SUBSCRIPTION_NOT_FOUND=6 SUBSCRIPTION_NOT_FOUND value
+ * @property {number} RESOURCE_GROUP_NOT_FOUND=7 RESOURCE_GROUP_NOT_FOUND value
+ */
+ AzureEventHubs.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ACTIVE"] = 1;
+ values[valuesById[2] = "EVENT_HUBS_PERMISSION_DENIED"] = 2;
+ values[valuesById[3] = "PUBLISH_PERMISSION_DENIED"] = 3;
+ values[valuesById[4] = "NAMESPACE_NOT_FOUND"] = 4;
+ values[valuesById[5] = "EVENT_HUB_NOT_FOUND"] = 5;
+ values[valuesById[6] = "SUBSCRIPTION_NOT_FOUND"] = 6;
+ values[valuesById[7] = "RESOURCE_GROUP_NOT_FOUND"] = 7;
+ return values;
+ })();
+
+ return AzureEventHubs;
+ })();
+
+ IngestionDataSourceSettings.AwsMsk = (function() {
+
+ /**
+ * Properties of an AwsMsk.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @interface IAwsMsk
+ * @property {google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.State|null} [state] AwsMsk state
+ * @property {string|null} [clusterArn] AwsMsk clusterArn
+ * @property {string|null} [topic] AwsMsk topic
+ * @property {string|null} [awsRoleArn] AwsMsk awsRoleArn
+ * @property {string|null} [gcpServiceAccount] AwsMsk gcpServiceAccount
+ */
+
+ /**
+ * Constructs a new AwsMsk.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @classdesc Represents an AwsMsk.
+ * @implements IAwsMsk
+ * @constructor
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IAwsMsk=} [properties] Properties to set
+ */
+ function AwsMsk(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AwsMsk state.
+ * @member {google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.State} state
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @instance
+ */
+ AwsMsk.prototype.state = 0;
+
+ /**
+ * AwsMsk clusterArn.
+ * @member {string} clusterArn
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @instance
+ */
+ AwsMsk.prototype.clusterArn = "";
+
+ /**
+ * AwsMsk topic.
+ * @member {string} topic
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @instance
+ */
+ AwsMsk.prototype.topic = "";
+
+ /**
+ * AwsMsk awsRoleArn.
+ * @member {string} awsRoleArn
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @instance
+ */
+ AwsMsk.prototype.awsRoleArn = "";
+
+ /**
+ * AwsMsk gcpServiceAccount.
+ * @member {string} gcpServiceAccount
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @instance
+ */
+ AwsMsk.prototype.gcpServiceAccount = "";
+
+ /**
+ * Creates a new AwsMsk instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IAwsMsk=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.AwsMsk} AwsMsk instance
+ */
+ AwsMsk.create = function create(properties) {
+ return new AwsMsk(properties);
+ };
+
+ /**
+ * Encodes the specified AwsMsk message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IAwsMsk} message AwsMsk message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AwsMsk.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state);
+ if (message.clusterArn != null && Object.hasOwnProperty.call(message, "clusterArn"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.clusterArn);
+ if (message.topic != null && Object.hasOwnProperty.call(message, "topic"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.topic);
+ if (message.awsRoleArn != null && Object.hasOwnProperty.call(message, "awsRoleArn"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.awsRoleArn);
+ if (message.gcpServiceAccount != null && Object.hasOwnProperty.call(message, "gcpServiceAccount"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.gcpServiceAccount);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AwsMsk message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IAwsMsk} message AwsMsk message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AwsMsk.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AwsMsk message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.AwsMsk} AwsMsk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AwsMsk.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionDataSourceSettings.AwsMsk();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.state = reader.int32();
+ break;
+ }
+ case 2: {
+ message.clusterArn = reader.string();
+ break;
+ }
+ case 3: {
+ message.topic = reader.string();
+ break;
+ }
+ case 4: {
+ message.awsRoleArn = reader.string();
+ break;
+ }
+ case 5: {
+ message.gcpServiceAccount = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AwsMsk message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.AwsMsk} AwsMsk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AwsMsk.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AwsMsk message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AwsMsk.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ if (message.clusterArn != null && message.hasOwnProperty("clusterArn"))
+ if (!$util.isString(message.clusterArn))
+ return "clusterArn: string expected";
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ if (!$util.isString(message.topic))
+ return "topic: string expected";
+ if (message.awsRoleArn != null && message.hasOwnProperty("awsRoleArn"))
+ if (!$util.isString(message.awsRoleArn))
+ return "awsRoleArn: string expected";
+ if (message.gcpServiceAccount != null && message.hasOwnProperty("gcpServiceAccount"))
+ if (!$util.isString(message.gcpServiceAccount))
+ return "gcpServiceAccount: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an AwsMsk message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.AwsMsk} AwsMsk
+ */
+ AwsMsk.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionDataSourceSettings.AwsMsk)
+ return object;
+ var message = new $root.google.pubsub.v1.IngestionDataSourceSettings.AwsMsk();
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "ACTIVE":
+ case 1:
+ message.state = 1;
+ break;
+ case "MSK_PERMISSION_DENIED":
+ case 2:
+ message.state = 2;
+ break;
+ case "PUBLISH_PERMISSION_DENIED":
+ case 3:
+ message.state = 3;
+ break;
+ case "CLUSTER_NOT_FOUND":
+ case 4:
+ message.state = 4;
+ break;
+ case "TOPIC_NOT_FOUND":
+ case 5:
+ message.state = 5;
+ break;
+ }
+ if (object.clusterArn != null)
+ message.clusterArn = String(object.clusterArn);
+ if (object.topic != null)
+ message.topic = String(object.topic);
+ if (object.awsRoleArn != null)
+ message.awsRoleArn = String(object.awsRoleArn);
+ if (object.gcpServiceAccount != null)
+ message.gcpServiceAccount = String(object.gcpServiceAccount);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AwsMsk message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.AwsMsk} message AwsMsk
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AwsMsk.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.clusterArn = "";
+ object.topic = "";
+ object.awsRoleArn = "";
+ object.gcpServiceAccount = "";
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.State[message.state] === undefined ? message.state : $root.google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.State[message.state] : message.state;
+ if (message.clusterArn != null && message.hasOwnProperty("clusterArn"))
+ object.clusterArn = message.clusterArn;
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ object.topic = message.topic;
+ if (message.awsRoleArn != null && message.hasOwnProperty("awsRoleArn"))
+ object.awsRoleArn = message.awsRoleArn;
+ if (message.gcpServiceAccount != null && message.hasOwnProperty("gcpServiceAccount"))
+ object.gcpServiceAccount = message.gcpServiceAccount;
+ return object;
+ };
+
+ /**
+ * Converts this AwsMsk to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AwsMsk.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AwsMsk
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.AwsMsk
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AwsMsk.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionDataSourceSettings.AwsMsk";
+ };
+
+ /**
+ * State enum.
+ * @name google.pubsub.v1.IngestionDataSourceSettings.AwsMsk.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} ACTIVE=1 ACTIVE value
+ * @property {number} MSK_PERMISSION_DENIED=2 MSK_PERMISSION_DENIED value
+ * @property {number} PUBLISH_PERMISSION_DENIED=3 PUBLISH_PERMISSION_DENIED value
+ * @property {number} CLUSTER_NOT_FOUND=4 CLUSTER_NOT_FOUND value
+ * @property {number} TOPIC_NOT_FOUND=5 TOPIC_NOT_FOUND value
+ */
+ AwsMsk.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ACTIVE"] = 1;
+ values[valuesById[2] = "MSK_PERMISSION_DENIED"] = 2;
+ values[valuesById[3] = "PUBLISH_PERMISSION_DENIED"] = 3;
+ values[valuesById[4] = "CLUSTER_NOT_FOUND"] = 4;
+ values[valuesById[5] = "TOPIC_NOT_FOUND"] = 5;
+ return values;
+ })();
+
+ return AwsMsk;
+ })();
+
+ IngestionDataSourceSettings.ConfluentCloud = (function() {
+
+ /**
+ * Properties of a ConfluentCloud.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @interface IConfluentCloud
+ * @property {google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.State|null} [state] ConfluentCloud state
+ * @property {string|null} [bootstrapServer] ConfluentCloud bootstrapServer
+ * @property {string|null} [clusterId] ConfluentCloud clusterId
+ * @property {string|null} [topic] ConfluentCloud topic
+ * @property {string|null} [identityPoolId] ConfluentCloud identityPoolId
+ * @property {string|null} [gcpServiceAccount] ConfluentCloud gcpServiceAccount
+ */
+
+ /**
+ * Constructs a new ConfluentCloud.
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings
+ * @classdesc Represents a ConfluentCloud.
+ * @implements IConfluentCloud
+ * @constructor
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IConfluentCloud=} [properties] Properties to set
+ */
+ function ConfluentCloud(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ConfluentCloud state.
+ * @member {google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.State} state
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @instance
+ */
+ ConfluentCloud.prototype.state = 0;
+
+ /**
+ * ConfluentCloud bootstrapServer.
+ * @member {string} bootstrapServer
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @instance
+ */
+ ConfluentCloud.prototype.bootstrapServer = "";
+
+ /**
+ * ConfluentCloud clusterId.
+ * @member {string} clusterId
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @instance
+ */
+ ConfluentCloud.prototype.clusterId = "";
+
+ /**
+ * ConfluentCloud topic.
+ * @member {string} topic
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @instance
+ */
+ ConfluentCloud.prototype.topic = "";
+
+ /**
+ * ConfluentCloud identityPoolId.
+ * @member {string} identityPoolId
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @instance
+ */
+ ConfluentCloud.prototype.identityPoolId = "";
+
+ /**
+ * ConfluentCloud gcpServiceAccount.
+ * @member {string} gcpServiceAccount
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @instance
+ */
+ ConfluentCloud.prototype.gcpServiceAccount = "";
+
+ /**
+ * Creates a new ConfluentCloud instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IConfluentCloud=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud} ConfluentCloud instance
+ */
+ ConfluentCloud.create = function create(properties) {
+ return new ConfluentCloud(properties);
+ };
+
+ /**
+ * Encodes the specified ConfluentCloud message. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IConfluentCloud} message ConfluentCloud message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ConfluentCloud.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state);
+ if (message.bootstrapServer != null && Object.hasOwnProperty.call(message, "bootstrapServer"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.bootstrapServer);
+ if (message.clusterId != null && Object.hasOwnProperty.call(message, "clusterId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.clusterId);
+ if (message.topic != null && Object.hasOwnProperty.call(message, "topic"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.topic);
+ if (message.identityPoolId != null && Object.hasOwnProperty.call(message, "identityPoolId"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.identityPoolId);
+ if (message.gcpServiceAccount != null && Object.hasOwnProperty.call(message, "gcpServiceAccount"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.gcpServiceAccount);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ConfluentCloud message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.IConfluentCloud} message ConfluentCloud message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ConfluentCloud.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ConfluentCloud message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud} ConfluentCloud
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ConfluentCloud.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.state = reader.int32();
+ break;
+ }
+ case 2: {
+ message.bootstrapServer = reader.string();
+ break;
+ }
+ case 3: {
+ message.clusterId = reader.string();
+ break;
+ }
+ case 4: {
+ message.topic = reader.string();
+ break;
+ }
+ case 5: {
+ message.identityPoolId = reader.string();
+ break;
+ }
+ case 6: {
+ message.gcpServiceAccount = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ConfluentCloud message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud} ConfluentCloud
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ConfluentCloud.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ConfluentCloud message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ConfluentCloud.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ break;
+ }
+ if (message.bootstrapServer != null && message.hasOwnProperty("bootstrapServer"))
+ if (!$util.isString(message.bootstrapServer))
+ return "bootstrapServer: string expected";
+ if (message.clusterId != null && message.hasOwnProperty("clusterId"))
+ if (!$util.isString(message.clusterId))
+ return "clusterId: string expected";
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ if (!$util.isString(message.topic))
+ return "topic: string expected";
+ if (message.identityPoolId != null && message.hasOwnProperty("identityPoolId"))
+ if (!$util.isString(message.identityPoolId))
+ return "identityPoolId: string expected";
+ if (message.gcpServiceAccount != null && message.hasOwnProperty("gcpServiceAccount"))
+ if (!$util.isString(message.gcpServiceAccount))
+ return "gcpServiceAccount: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ConfluentCloud message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud} ConfluentCloud
+ */
+ ConfluentCloud.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud)
+ return object;
+ var message = new $root.google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud();
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "ACTIVE":
+ case 1:
+ message.state = 1;
+ break;
+ case "CONFLUENT_CLOUD_PERMISSION_DENIED":
+ case 2:
+ message.state = 2;
+ break;
+ case "PUBLISH_PERMISSION_DENIED":
+ case 3:
+ message.state = 3;
+ break;
+ case "UNREACHABLE_BOOTSTRAP_SERVER":
+ case 4:
+ message.state = 4;
+ break;
+ case "CLUSTER_NOT_FOUND":
+ case 5:
+ message.state = 5;
+ break;
+ case "TOPIC_NOT_FOUND":
+ case 6:
+ message.state = 6;
+ break;
+ }
+ if (object.bootstrapServer != null)
+ message.bootstrapServer = String(object.bootstrapServer);
+ if (object.clusterId != null)
+ message.clusterId = String(object.clusterId);
+ if (object.topic != null)
+ message.topic = String(object.topic);
+ if (object.identityPoolId != null)
+ message.identityPoolId = String(object.identityPoolId);
+ if (object.gcpServiceAccount != null)
+ message.gcpServiceAccount = String(object.gcpServiceAccount);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ConfluentCloud message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @static
+ * @param {google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud} message ConfluentCloud
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ConfluentCloud.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.bootstrapServer = "";
+ object.clusterId = "";
+ object.topic = "";
+ object.identityPoolId = "";
+ object.gcpServiceAccount = "";
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.State[message.state] === undefined ? message.state : $root.google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.State[message.state] : message.state;
+ if (message.bootstrapServer != null && message.hasOwnProperty("bootstrapServer"))
+ object.bootstrapServer = message.bootstrapServer;
+ if (message.clusterId != null && message.hasOwnProperty("clusterId"))
+ object.clusterId = message.clusterId;
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ object.topic = message.topic;
+ if (message.identityPoolId != null && message.hasOwnProperty("identityPoolId"))
+ object.identityPoolId = message.identityPoolId;
+ if (message.gcpServiceAccount != null && message.hasOwnProperty("gcpServiceAccount"))
+ object.gcpServiceAccount = message.gcpServiceAccount;
+ return object;
+ };
+
+ /**
+ * Converts this ConfluentCloud to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ConfluentCloud.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ConfluentCloud
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ConfluentCloud.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud";
+ };
+
+ /**
+ * State enum.
+ * @name google.pubsub.v1.IngestionDataSourceSettings.ConfluentCloud.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} ACTIVE=1 ACTIVE value
+ * @property {number} CONFLUENT_CLOUD_PERMISSION_DENIED=2 CONFLUENT_CLOUD_PERMISSION_DENIED value
+ * @property {number} PUBLISH_PERMISSION_DENIED=3 PUBLISH_PERMISSION_DENIED value
+ * @property {number} UNREACHABLE_BOOTSTRAP_SERVER=4 UNREACHABLE_BOOTSTRAP_SERVER value
+ * @property {number} CLUSTER_NOT_FOUND=5 CLUSTER_NOT_FOUND value
+ * @property {number} TOPIC_NOT_FOUND=6 TOPIC_NOT_FOUND value
+ */
+ ConfluentCloud.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ACTIVE"] = 1;
+ values[valuesById[2] = "CONFLUENT_CLOUD_PERMISSION_DENIED"] = 2;
+ values[valuesById[3] = "PUBLISH_PERMISSION_DENIED"] = 3;
+ values[valuesById[4] = "UNREACHABLE_BOOTSTRAP_SERVER"] = 4;
+ values[valuesById[5] = "CLUSTER_NOT_FOUND"] = 5;
+ values[valuesById[6] = "TOPIC_NOT_FOUND"] = 6;
+ return values;
+ })();
+
+ return ConfluentCloud;
+ })();
+
+ return IngestionDataSourceSettings;
+ })();
+
+ v1.PlatformLogsSettings = (function() {
+
+ /**
+ * Properties of a PlatformLogsSettings.
+ * @memberof google.pubsub.v1
+ * @interface IPlatformLogsSettings
+ * @property {google.pubsub.v1.PlatformLogsSettings.Severity|null} [severity] PlatformLogsSettings severity
+ */
+
+ /**
+ * Constructs a new PlatformLogsSettings.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a PlatformLogsSettings.
+ * @implements IPlatformLogsSettings
+ * @constructor
+ * @param {google.pubsub.v1.IPlatformLogsSettings=} [properties] Properties to set
+ */
+ function PlatformLogsSettings(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * PlatformLogsSettings severity.
+ * @member {google.pubsub.v1.PlatformLogsSettings.Severity} severity
+ * @memberof google.pubsub.v1.PlatformLogsSettings
+ * @instance
+ */
+ PlatformLogsSettings.prototype.severity = 0;
+
+ /**
+ * Creates a new PlatformLogsSettings instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.PlatformLogsSettings
+ * @static
+ * @param {google.pubsub.v1.IPlatformLogsSettings=} [properties] Properties to set
+ * @returns {google.pubsub.v1.PlatformLogsSettings} PlatformLogsSettings instance
+ */
+ PlatformLogsSettings.create = function create(properties) {
+ return new PlatformLogsSettings(properties);
+ };
+
+ /**
+ * Encodes the specified PlatformLogsSettings message. Does not implicitly {@link google.pubsub.v1.PlatformLogsSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.PlatformLogsSettings
+ * @static
+ * @param {google.pubsub.v1.IPlatformLogsSettings} message PlatformLogsSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PlatformLogsSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.severity != null && Object.hasOwnProperty.call(message, "severity"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.severity);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PlatformLogsSettings message, length delimited. Does not implicitly {@link google.pubsub.v1.PlatformLogsSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.PlatformLogsSettings
+ * @static
+ * @param {google.pubsub.v1.IPlatformLogsSettings} message PlatformLogsSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PlatformLogsSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PlatformLogsSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.PlatformLogsSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.PlatformLogsSettings} PlatformLogsSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PlatformLogsSettings.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.PlatformLogsSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.severity = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PlatformLogsSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.PlatformLogsSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.PlatformLogsSettings} PlatformLogsSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PlatformLogsSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PlatformLogsSettings message.
+ * @function verify
+ * @memberof google.pubsub.v1.PlatformLogsSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PlatformLogsSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.severity != null && message.hasOwnProperty("severity"))
+ switch (message.severity) {
+ default:
+ return "severity: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PlatformLogsSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.PlatformLogsSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.PlatformLogsSettings} PlatformLogsSettings
+ */
+ PlatformLogsSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.PlatformLogsSettings)
+ return object;
+ var message = new $root.google.pubsub.v1.PlatformLogsSettings();
+ switch (object.severity) {
+ default:
+ if (typeof object.severity === "number") {
+ message.severity = object.severity;
+ break;
+ }
+ break;
+ case "SEVERITY_UNSPECIFIED":
+ case 0:
+ message.severity = 0;
+ break;
+ case "DISABLED":
+ case 1:
+ message.severity = 1;
+ break;
+ case "DEBUG":
+ case 2:
+ message.severity = 2;
+ break;
+ case "INFO":
+ case 3:
+ message.severity = 3;
+ break;
+ case "WARNING":
+ case 4:
+ message.severity = 4;
+ break;
+ case "ERROR":
+ case 5:
+ message.severity = 5;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PlatformLogsSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.PlatformLogsSettings
+ * @static
+ * @param {google.pubsub.v1.PlatformLogsSettings} message PlatformLogsSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PlatformLogsSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.severity = options.enums === String ? "SEVERITY_UNSPECIFIED" : 0;
+ if (message.severity != null && message.hasOwnProperty("severity"))
+ object.severity = options.enums === String ? $root.google.pubsub.v1.PlatformLogsSettings.Severity[message.severity] === undefined ? message.severity : $root.google.pubsub.v1.PlatformLogsSettings.Severity[message.severity] : message.severity;
+ return object;
+ };
+
+ /**
+ * Converts this PlatformLogsSettings to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.PlatformLogsSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PlatformLogsSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PlatformLogsSettings
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.PlatformLogsSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PlatformLogsSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.PlatformLogsSettings";
+ };
+
+ /**
+ * Severity enum.
+ * @name google.pubsub.v1.PlatformLogsSettings.Severity
+ * @enum {number}
+ * @property {number} SEVERITY_UNSPECIFIED=0 SEVERITY_UNSPECIFIED value
+ * @property {number} DISABLED=1 DISABLED value
+ * @property {number} DEBUG=2 DEBUG value
+ * @property {number} INFO=3 INFO value
+ * @property {number} WARNING=4 WARNING value
+ * @property {number} ERROR=5 ERROR value
+ */
+ PlatformLogsSettings.Severity = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "SEVERITY_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "DISABLED"] = 1;
+ values[valuesById[2] = "DEBUG"] = 2;
+ values[valuesById[3] = "INFO"] = 3;
+ values[valuesById[4] = "WARNING"] = 4;
+ values[valuesById[5] = "ERROR"] = 5;
+ return values;
+ })();
+
+ return PlatformLogsSettings;
+ })();
+
+ v1.IngestionFailureEvent = (function() {
+
+ /**
+ * Properties of an IngestionFailureEvent.
+ * @memberof google.pubsub.v1
+ * @interface IIngestionFailureEvent
+ * @property {string|null} [topic] IngestionFailureEvent topic
+ * @property {string|null} [errorMessage] IngestionFailureEvent errorMessage
+ * @property {google.pubsub.v1.IngestionFailureEvent.ICloudStorageFailure|null} [cloudStorageFailure] IngestionFailureEvent cloudStorageFailure
+ * @property {google.pubsub.v1.IngestionFailureEvent.IAwsMskFailureReason|null} [awsMskFailure] IngestionFailureEvent awsMskFailure
+ * @property {google.pubsub.v1.IngestionFailureEvent.IAzureEventHubsFailureReason|null} [azureEventHubsFailure] IngestionFailureEvent azureEventHubsFailure
+ * @property {google.pubsub.v1.IngestionFailureEvent.IConfluentCloudFailureReason|null} [confluentCloudFailure] IngestionFailureEvent confluentCloudFailure
+ * @property {google.pubsub.v1.IngestionFailureEvent.IAwsKinesisFailureReason|null} [awsKinesisFailure] IngestionFailureEvent awsKinesisFailure
+ */
+
+ /**
+ * Constructs a new IngestionFailureEvent.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents an IngestionFailureEvent.
+ * @implements IIngestionFailureEvent
+ * @constructor
+ * @param {google.pubsub.v1.IIngestionFailureEvent=} [properties] Properties to set
+ */
+ function IngestionFailureEvent(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * IngestionFailureEvent topic.
+ * @member {string} topic
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @instance
+ */
+ IngestionFailureEvent.prototype.topic = "";
+
+ /**
+ * IngestionFailureEvent errorMessage.
+ * @member {string} errorMessage
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @instance
+ */
+ IngestionFailureEvent.prototype.errorMessage = "";
+
+ /**
+ * IngestionFailureEvent cloudStorageFailure.
+ * @member {google.pubsub.v1.IngestionFailureEvent.ICloudStorageFailure|null|undefined} cloudStorageFailure
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @instance
+ */
+ IngestionFailureEvent.prototype.cloudStorageFailure = null;
+
+ /**
+ * IngestionFailureEvent awsMskFailure.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IAwsMskFailureReason|null|undefined} awsMskFailure
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @instance
+ */
+ IngestionFailureEvent.prototype.awsMskFailure = null;
+
+ /**
+ * IngestionFailureEvent azureEventHubsFailure.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IAzureEventHubsFailureReason|null|undefined} azureEventHubsFailure
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @instance
+ */
+ IngestionFailureEvent.prototype.azureEventHubsFailure = null;
+
+ /**
+ * IngestionFailureEvent confluentCloudFailure.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IConfluentCloudFailureReason|null|undefined} confluentCloudFailure
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @instance
+ */
+ IngestionFailureEvent.prototype.confluentCloudFailure = null;
+
+ /**
+ * IngestionFailureEvent awsKinesisFailure.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IAwsKinesisFailureReason|null|undefined} awsKinesisFailure
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @instance
+ */
+ IngestionFailureEvent.prototype.awsKinesisFailure = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * IngestionFailureEvent failure.
+ * @member {"cloudStorageFailure"|"awsMskFailure"|"azureEventHubsFailure"|"confluentCloudFailure"|"awsKinesisFailure"|undefined} failure
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @instance
+ */
+ Object.defineProperty(IngestionFailureEvent.prototype, "failure", {
+ get: $util.oneOfGetter($oneOfFields = ["cloudStorageFailure", "awsMskFailure", "azureEventHubsFailure", "confluentCloudFailure", "awsKinesisFailure"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new IngestionFailureEvent instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @static
+ * @param {google.pubsub.v1.IIngestionFailureEvent=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionFailureEvent} IngestionFailureEvent instance
+ */
+ IngestionFailureEvent.create = function create(properties) {
+ return new IngestionFailureEvent(properties);
+ };
+
+ /**
+ * Encodes the specified IngestionFailureEvent message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @static
+ * @param {google.pubsub.v1.IIngestionFailureEvent} message IngestionFailureEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IngestionFailureEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.topic != null && Object.hasOwnProperty.call(message, "topic"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.topic);
+ if (message.errorMessage != null && Object.hasOwnProperty.call(message, "errorMessage"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.errorMessage);
+ if (message.cloudStorageFailure != null && Object.hasOwnProperty.call(message, "cloudStorageFailure"))
+ $root.google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.encode(message.cloudStorageFailure, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.awsMskFailure != null && Object.hasOwnProperty.call(message, "awsMskFailure"))
+ $root.google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason.encode(message.awsMskFailure, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.azureEventHubsFailure != null && Object.hasOwnProperty.call(message, "azureEventHubsFailure"))
+ $root.google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason.encode(message.azureEventHubsFailure, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.confluentCloudFailure != null && Object.hasOwnProperty.call(message, "confluentCloudFailure"))
+ $root.google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason.encode(message.confluentCloudFailure, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.awsKinesisFailure != null && Object.hasOwnProperty.call(message, "awsKinesisFailure"))
+ $root.google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason.encode(message.awsKinesisFailure, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified IngestionFailureEvent message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @static
+ * @param {google.pubsub.v1.IIngestionFailureEvent} message IngestionFailureEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IngestionFailureEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an IngestionFailureEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionFailureEvent} IngestionFailureEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IngestionFailureEvent.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionFailureEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.topic = reader.string();
+ break;
+ }
+ case 2: {
+ message.errorMessage = reader.string();
+ break;
+ }
+ case 3: {
+ message.cloudStorageFailure = $root.google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.awsMskFailure = $root.google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.azureEventHubsFailure = $root.google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.confluentCloudFailure = $root.google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.awsKinesisFailure = $root.google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an IngestionFailureEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionFailureEvent} IngestionFailureEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IngestionFailureEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an IngestionFailureEvent message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ IngestionFailureEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ if (!$util.isString(message.topic))
+ return "topic: string expected";
+ if (message.errorMessage != null && message.hasOwnProperty("errorMessage"))
+ if (!$util.isString(message.errorMessage))
+ return "errorMessage: string expected";
+ if (message.cloudStorageFailure != null && message.hasOwnProperty("cloudStorageFailure")) {
+ properties.failure = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.verify(message.cloudStorageFailure);
+ if (error)
+ return "cloudStorageFailure." + error;
+ }
+ }
+ if (message.awsMskFailure != null && message.hasOwnProperty("awsMskFailure")) {
+ if (properties.failure === 1)
+ return "failure: multiple values";
+ properties.failure = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason.verify(message.awsMskFailure);
+ if (error)
+ return "awsMskFailure." + error;
+ }
+ }
+ if (message.azureEventHubsFailure != null && message.hasOwnProperty("azureEventHubsFailure")) {
+ if (properties.failure === 1)
+ return "failure: multiple values";
+ properties.failure = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason.verify(message.azureEventHubsFailure);
+ if (error)
+ return "azureEventHubsFailure." + error;
+ }
+ }
+ if (message.confluentCloudFailure != null && message.hasOwnProperty("confluentCloudFailure")) {
+ if (properties.failure === 1)
+ return "failure: multiple values";
+ properties.failure = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason.verify(message.confluentCloudFailure);
+ if (error)
+ return "confluentCloudFailure." + error;
+ }
+ }
+ if (message.awsKinesisFailure != null && message.hasOwnProperty("awsKinesisFailure")) {
+ if (properties.failure === 1)
+ return "failure: multiple values";
+ properties.failure = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason.verify(message.awsKinesisFailure);
+ if (error)
+ return "awsKinesisFailure." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an IngestionFailureEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionFailureEvent} IngestionFailureEvent
+ */
+ IngestionFailureEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionFailureEvent)
+ return object;
+ var message = new $root.google.pubsub.v1.IngestionFailureEvent();
+ if (object.topic != null)
+ message.topic = String(object.topic);
+ if (object.errorMessage != null)
+ message.errorMessage = String(object.errorMessage);
+ if (object.cloudStorageFailure != null) {
+ if (typeof object.cloudStorageFailure !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.cloudStorageFailure: object expected");
+ message.cloudStorageFailure = $root.google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.fromObject(object.cloudStorageFailure);
+ }
+ if (object.awsMskFailure != null) {
+ if (typeof object.awsMskFailure !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.awsMskFailure: object expected");
+ message.awsMskFailure = $root.google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason.fromObject(object.awsMskFailure);
+ }
+ if (object.azureEventHubsFailure != null) {
+ if (typeof object.azureEventHubsFailure !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.azureEventHubsFailure: object expected");
+ message.azureEventHubsFailure = $root.google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason.fromObject(object.azureEventHubsFailure);
+ }
+ if (object.confluentCloudFailure != null) {
+ if (typeof object.confluentCloudFailure !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.confluentCloudFailure: object expected");
+ message.confluentCloudFailure = $root.google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason.fromObject(object.confluentCloudFailure);
+ }
+ if (object.awsKinesisFailure != null) {
+ if (typeof object.awsKinesisFailure !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.awsKinesisFailure: object expected");
+ message.awsKinesisFailure = $root.google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason.fromObject(object.awsKinesisFailure);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an IngestionFailureEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent} message IngestionFailureEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ IngestionFailureEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.topic = "";
+ object.errorMessage = "";
+ }
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ object.topic = message.topic;
+ if (message.errorMessage != null && message.hasOwnProperty("errorMessage"))
+ object.errorMessage = message.errorMessage;
+ if (message.cloudStorageFailure != null && message.hasOwnProperty("cloudStorageFailure")) {
+ object.cloudStorageFailure = $root.google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.toObject(message.cloudStorageFailure, options);
+ if (options.oneofs)
+ object.failure = "cloudStorageFailure";
+ }
+ if (message.awsMskFailure != null && message.hasOwnProperty("awsMskFailure")) {
+ object.awsMskFailure = $root.google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason.toObject(message.awsMskFailure, options);
+ if (options.oneofs)
+ object.failure = "awsMskFailure";
+ }
+ if (message.azureEventHubsFailure != null && message.hasOwnProperty("azureEventHubsFailure")) {
+ object.azureEventHubsFailure = $root.google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason.toObject(message.azureEventHubsFailure, options);
+ if (options.oneofs)
+ object.failure = "azureEventHubsFailure";
+ }
+ if (message.confluentCloudFailure != null && message.hasOwnProperty("confluentCloudFailure")) {
+ object.confluentCloudFailure = $root.google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason.toObject(message.confluentCloudFailure, options);
+ if (options.oneofs)
+ object.failure = "confluentCloudFailure";
+ }
+ if (message.awsKinesisFailure != null && message.hasOwnProperty("awsKinesisFailure")) {
+ object.awsKinesisFailure = $root.google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason.toObject(message.awsKinesisFailure, options);
+ if (options.oneofs)
+ object.failure = "awsKinesisFailure";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this IngestionFailureEvent to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ IngestionFailureEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for IngestionFailureEvent
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ IngestionFailureEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionFailureEvent";
+ };
+
+ IngestionFailureEvent.ApiViolationReason = (function() {
+
+ /**
+ * Properties of an ApiViolationReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @interface IApiViolationReason
+ */
+
+ /**
+ * Constructs a new ApiViolationReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @classdesc Represents an ApiViolationReason.
+ * @implements IApiViolationReason
+ * @constructor
+ * @param {google.pubsub.v1.IngestionFailureEvent.IApiViolationReason=} [properties] Properties to set
+ */
+ function ApiViolationReason(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Creates a new ApiViolationReason instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ApiViolationReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IApiViolationReason=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionFailureEvent.ApiViolationReason} ApiViolationReason instance
+ */
+ ApiViolationReason.create = function create(properties) {
+ return new ApiViolationReason(properties);
+ };
+
+ /**
+ * Encodes the specified ApiViolationReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ApiViolationReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IApiViolationReason} message ApiViolationReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ApiViolationReason.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ApiViolationReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ApiViolationReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IApiViolationReason} message ApiViolationReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ApiViolationReason.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ApiViolationReason message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ApiViolationReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionFailureEvent.ApiViolationReason} ApiViolationReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ApiViolationReason.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ApiViolationReason message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ApiViolationReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionFailureEvent.ApiViolationReason} ApiViolationReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ApiViolationReason.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ApiViolationReason message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ApiViolationReason
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ApiViolationReason.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ return null;
+ };
+
+ /**
+ * Creates an ApiViolationReason message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ApiViolationReason
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionFailureEvent.ApiViolationReason} ApiViolationReason
+ */
+ ApiViolationReason.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason)
+ return object;
+ return new $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason();
+ };
+
+ /**
+ * Creates a plain object from an ApiViolationReason message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ApiViolationReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.ApiViolationReason} message ApiViolationReason
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ApiViolationReason.toObject = function toObject() {
+ return {};
+ };
+
+ /**
+ * Converts this ApiViolationReason to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ApiViolationReason
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ApiViolationReason.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ApiViolationReason
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ApiViolationReason
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ApiViolationReason.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionFailureEvent.ApiViolationReason";
+ };
+
+ return ApiViolationReason;
+ })();
+
+ IngestionFailureEvent.AvroFailureReason = (function() {
+
+ /**
+ * Properties of an AvroFailureReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @interface IAvroFailureReason
+ */
+
+ /**
+ * Constructs a new AvroFailureReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @classdesc Represents an AvroFailureReason.
+ * @implements IAvroFailureReason
+ * @constructor
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAvroFailureReason=} [properties] Properties to set
+ */
+ function AvroFailureReason(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Creates a new AvroFailureReason instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AvroFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAvroFailureReason=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AvroFailureReason} AvroFailureReason instance
+ */
+ AvroFailureReason.create = function create(properties) {
+ return new AvroFailureReason(properties);
+ };
+
+ /**
+ * Encodes the specified AvroFailureReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AvroFailureReason.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AvroFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAvroFailureReason} message AvroFailureReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AvroFailureReason.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AvroFailureReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AvroFailureReason.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AvroFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAvroFailureReason} message AvroFailureReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AvroFailureReason.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AvroFailureReason message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AvroFailureReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AvroFailureReason} AvroFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AvroFailureReason.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionFailureEvent.AvroFailureReason();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AvroFailureReason message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AvroFailureReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AvroFailureReason} AvroFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AvroFailureReason.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AvroFailureReason message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AvroFailureReason
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AvroFailureReason.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ return null;
+ };
+
+ /**
+ * Creates an AvroFailureReason message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AvroFailureReason
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AvroFailureReason} AvroFailureReason
+ */
+ AvroFailureReason.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionFailureEvent.AvroFailureReason)
+ return object;
+ return new $root.google.pubsub.v1.IngestionFailureEvent.AvroFailureReason();
+ };
+
+ /**
+ * Creates a plain object from an AvroFailureReason message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AvroFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.AvroFailureReason} message AvroFailureReason
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AvroFailureReason.toObject = function toObject() {
+ return {};
+ };
+
+ /**
+ * Converts this AvroFailureReason to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AvroFailureReason
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AvroFailureReason.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AvroFailureReason
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AvroFailureReason
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AvroFailureReason.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionFailureEvent.AvroFailureReason";
+ };
+
+ return AvroFailureReason;
+ })();
+
+ IngestionFailureEvent.SchemaViolationReason = (function() {
+
+ /**
+ * Properties of a SchemaViolationReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @interface ISchemaViolationReason
+ */
+
+ /**
+ * Constructs a new SchemaViolationReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @classdesc Represents a SchemaViolationReason.
+ * @implements ISchemaViolationReason
+ * @constructor
+ * @param {google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason=} [properties] Properties to set
+ */
+ function SchemaViolationReason(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Creates a new SchemaViolationReason instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason} SchemaViolationReason instance
+ */
+ SchemaViolationReason.create = function create(properties) {
+ return new SchemaViolationReason(properties);
+ };
+
+ /**
+ * Encodes the specified SchemaViolationReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason} message SchemaViolationReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SchemaViolationReason.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SchemaViolationReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason} message SchemaViolationReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SchemaViolationReason.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SchemaViolationReason message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason} SchemaViolationReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SchemaViolationReason.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SchemaViolationReason message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason} SchemaViolationReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SchemaViolationReason.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SchemaViolationReason message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SchemaViolationReason.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ return null;
+ };
+
+ /**
+ * Creates a SchemaViolationReason message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason} SchemaViolationReason
+ */
+ SchemaViolationReason.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason)
+ return object;
+ return new $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason();
+ };
+
+ /**
+ * Creates a plain object from a SchemaViolationReason message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason} message SchemaViolationReason
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SchemaViolationReason.toObject = function toObject() {
+ return {};
+ };
+
+ /**
+ * Converts this SchemaViolationReason to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SchemaViolationReason.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SchemaViolationReason
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SchemaViolationReason.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason";
+ };
+
+ return SchemaViolationReason;
+ })();
+
+ IngestionFailureEvent.MessageTransformationFailureReason = (function() {
+
+ /**
+ * Properties of a MessageTransformationFailureReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @interface IMessageTransformationFailureReason
+ */
+
+ /**
+ * Constructs a new MessageTransformationFailureReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @classdesc Represents a MessageTransformationFailureReason.
+ * @implements IMessageTransformationFailureReason
+ * @constructor
+ * @param {google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason=} [properties] Properties to set
+ */
+ function MessageTransformationFailureReason(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Creates a new MessageTransformationFailureReason instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason} MessageTransformationFailureReason instance
+ */
+ MessageTransformationFailureReason.create = function create(properties) {
+ return new MessageTransformationFailureReason(properties);
+ };
+
+ /**
+ * Encodes the specified MessageTransformationFailureReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason} message MessageTransformationFailureReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MessageTransformationFailureReason.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MessageTransformationFailureReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason} message MessageTransformationFailureReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MessageTransformationFailureReason.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MessageTransformationFailureReason message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason} MessageTransformationFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MessageTransformationFailureReason.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MessageTransformationFailureReason message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason} MessageTransformationFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MessageTransformationFailureReason.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MessageTransformationFailureReason message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MessageTransformationFailureReason.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ return null;
+ };
+
+ /**
+ * Creates a MessageTransformationFailureReason message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason} MessageTransformationFailureReason
+ */
+ MessageTransformationFailureReason.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason)
+ return object;
+ return new $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason();
+ };
+
+ /**
+ * Creates a plain object from a MessageTransformationFailureReason message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason} message MessageTransformationFailureReason
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MessageTransformationFailureReason.toObject = function toObject() {
+ return {};
+ };
+
+ /**
+ * Converts this MessageTransformationFailureReason to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MessageTransformationFailureReason.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MessageTransformationFailureReason
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MessageTransformationFailureReason.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason";
+ };
+
+ return MessageTransformationFailureReason;
+ })();
+
+ IngestionFailureEvent.CloudStorageFailure = (function() {
+
+ /**
+ * Properties of a CloudStorageFailure.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @interface ICloudStorageFailure
+ * @property {string|null} [bucket] CloudStorageFailure bucket
+ * @property {string|null} [objectName] CloudStorageFailure objectName
+ * @property {number|Long|null} [objectGeneration] CloudStorageFailure objectGeneration
+ * @property {google.pubsub.v1.IngestionFailureEvent.IAvroFailureReason|null} [avroFailureReason] CloudStorageFailure avroFailureReason
+ * @property {google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null} [apiViolationReason] CloudStorageFailure apiViolationReason
+ * @property {google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null} [schemaViolationReason] CloudStorageFailure schemaViolationReason
+ * @property {google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null} [messageTransformationFailureReason] CloudStorageFailure messageTransformationFailureReason
+ */
+
+ /**
+ * Constructs a new CloudStorageFailure.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @classdesc Represents a CloudStorageFailure.
+ * @implements ICloudStorageFailure
+ * @constructor
+ * @param {google.pubsub.v1.IngestionFailureEvent.ICloudStorageFailure=} [properties] Properties to set
+ */
+ function CloudStorageFailure(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CloudStorageFailure bucket.
+ * @member {string} bucket
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @instance
+ */
+ CloudStorageFailure.prototype.bucket = "";
+
+ /**
+ * CloudStorageFailure objectName.
+ * @member {string} objectName
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @instance
+ */
+ CloudStorageFailure.prototype.objectName = "";
+
+ /**
+ * CloudStorageFailure objectGeneration.
+ * @member {number|Long} objectGeneration
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @instance
+ */
+ CloudStorageFailure.prototype.objectGeneration = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * CloudStorageFailure avroFailureReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IAvroFailureReason|null|undefined} avroFailureReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @instance
+ */
+ CloudStorageFailure.prototype.avroFailureReason = null;
+
+ /**
+ * CloudStorageFailure apiViolationReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null|undefined} apiViolationReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @instance
+ */
+ CloudStorageFailure.prototype.apiViolationReason = null;
+
+ /**
+ * CloudStorageFailure schemaViolationReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null|undefined} schemaViolationReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @instance
+ */
+ CloudStorageFailure.prototype.schemaViolationReason = null;
+
+ /**
+ * CloudStorageFailure messageTransformationFailureReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null|undefined} messageTransformationFailureReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @instance
+ */
+ CloudStorageFailure.prototype.messageTransformationFailureReason = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * CloudStorageFailure reason.
+ * @member {"avroFailureReason"|"apiViolationReason"|"schemaViolationReason"|"messageTransformationFailureReason"|undefined} reason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @instance
+ */
+ Object.defineProperty(CloudStorageFailure.prototype, "reason", {
+ get: $util.oneOfGetter($oneOfFields = ["avroFailureReason", "apiViolationReason", "schemaViolationReason", "messageTransformationFailureReason"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new CloudStorageFailure instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.ICloudStorageFailure=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure} CloudStorageFailure instance
+ */
+ CloudStorageFailure.create = function create(properties) {
+ return new CloudStorageFailure(properties);
+ };
+
+ /**
+ * Encodes the specified CloudStorageFailure message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.ICloudStorageFailure} message CloudStorageFailure message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CloudStorageFailure.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.bucket != null && Object.hasOwnProperty.call(message, "bucket"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.bucket);
+ if (message.objectName != null && Object.hasOwnProperty.call(message, "objectName"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.objectName);
+ if (message.objectGeneration != null && Object.hasOwnProperty.call(message, "objectGeneration"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int64(message.objectGeneration);
+ if (message.avroFailureReason != null && Object.hasOwnProperty.call(message, "avroFailureReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.AvroFailureReason.encode(message.avroFailureReason, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.apiViolationReason != null && Object.hasOwnProperty.call(message, "apiViolationReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.encode(message.apiViolationReason, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.schemaViolationReason != null && Object.hasOwnProperty.call(message, "schemaViolationReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.encode(message.schemaViolationReason, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.messageTransformationFailureReason != null && Object.hasOwnProperty.call(message, "messageTransformationFailureReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.encode(message.messageTransformationFailureReason, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CloudStorageFailure message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.ICloudStorageFailure} message CloudStorageFailure message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CloudStorageFailure.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CloudStorageFailure message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure} CloudStorageFailure
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CloudStorageFailure.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.bucket = reader.string();
+ break;
+ }
+ case 2: {
+ message.objectName = reader.string();
+ break;
+ }
+ case 3: {
+ message.objectGeneration = reader.int64();
+ break;
+ }
+ case 5: {
+ message.avroFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.AvroFailureReason.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ message.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CloudStorageFailure message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure} CloudStorageFailure
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CloudStorageFailure.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CloudStorageFailure message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CloudStorageFailure.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.bucket != null && message.hasOwnProperty("bucket"))
+ if (!$util.isString(message.bucket))
+ return "bucket: string expected";
+ if (message.objectName != null && message.hasOwnProperty("objectName"))
+ if (!$util.isString(message.objectName))
+ return "objectName: string expected";
+ if (message.objectGeneration != null && message.hasOwnProperty("objectGeneration"))
+ if (!$util.isInteger(message.objectGeneration) && !(message.objectGeneration && $util.isInteger(message.objectGeneration.low) && $util.isInteger(message.objectGeneration.high)))
+ return "objectGeneration: integer|Long expected";
+ if (message.avroFailureReason != null && message.hasOwnProperty("avroFailureReason")) {
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.AvroFailureReason.verify(message.avroFailureReason);
+ if (error)
+ return "avroFailureReason." + error;
+ }
+ }
+ if (message.apiViolationReason != null && message.hasOwnProperty("apiViolationReason")) {
+ if (properties.reason === 1)
+ return "reason: multiple values";
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.verify(message.apiViolationReason);
+ if (error)
+ return "apiViolationReason." + error;
+ }
+ }
+ if (message.schemaViolationReason != null && message.hasOwnProperty("schemaViolationReason")) {
+ if (properties.reason === 1)
+ return "reason: multiple values";
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.verify(message.schemaViolationReason);
+ if (error)
+ return "schemaViolationReason." + error;
+ }
+ }
+ if (message.messageTransformationFailureReason != null && message.hasOwnProperty("messageTransformationFailureReason")) {
+ if (properties.reason === 1)
+ return "reason: multiple values";
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.verify(message.messageTransformationFailureReason);
+ if (error)
+ return "messageTransformationFailureReason." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CloudStorageFailure message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure} CloudStorageFailure
+ */
+ CloudStorageFailure.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure)
+ return object;
+ var message = new $root.google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure();
+ if (object.bucket != null)
+ message.bucket = String(object.bucket);
+ if (object.objectName != null)
+ message.objectName = String(object.objectName);
+ if (object.objectGeneration != null)
+ if ($util.Long)
+ (message.objectGeneration = $util.Long.fromValue(object.objectGeneration)).unsigned = false;
+ else if (typeof object.objectGeneration === "string")
+ message.objectGeneration = parseInt(object.objectGeneration, 10);
+ else if (typeof object.objectGeneration === "number")
+ message.objectGeneration = object.objectGeneration;
+ else if (typeof object.objectGeneration === "object")
+ message.objectGeneration = new $util.LongBits(object.objectGeneration.low >>> 0, object.objectGeneration.high >>> 0).toNumber();
+ if (object.avroFailureReason != null) {
+ if (typeof object.avroFailureReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.avroFailureReason: object expected");
+ message.avroFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.AvroFailureReason.fromObject(object.avroFailureReason);
+ }
+ if (object.apiViolationReason != null) {
+ if (typeof object.apiViolationReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.apiViolationReason: object expected");
+ message.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.fromObject(object.apiViolationReason);
+ }
+ if (object.schemaViolationReason != null) {
+ if (typeof object.schemaViolationReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.schemaViolationReason: object expected");
+ message.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.fromObject(object.schemaViolationReason);
+ }
+ if (object.messageTransformationFailureReason != null) {
+ if (typeof object.messageTransformationFailureReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure.messageTransformationFailureReason: object expected");
+ message.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.fromObject(object.messageTransformationFailureReason);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CloudStorageFailure message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure} message CloudStorageFailure
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CloudStorageFailure.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.bucket = "";
+ object.objectName = "";
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.objectGeneration = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.objectGeneration = options.longs === String ? "0" : 0;
+ }
+ if (message.bucket != null && message.hasOwnProperty("bucket"))
+ object.bucket = message.bucket;
+ if (message.objectName != null && message.hasOwnProperty("objectName"))
+ object.objectName = message.objectName;
+ if (message.objectGeneration != null && message.hasOwnProperty("objectGeneration"))
+ if (typeof message.objectGeneration === "number")
+ object.objectGeneration = options.longs === String ? String(message.objectGeneration) : message.objectGeneration;
+ else
+ object.objectGeneration = options.longs === String ? $util.Long.prototype.toString.call(message.objectGeneration) : options.longs === Number ? new $util.LongBits(message.objectGeneration.low >>> 0, message.objectGeneration.high >>> 0).toNumber() : message.objectGeneration;
+ if (message.avroFailureReason != null && message.hasOwnProperty("avroFailureReason")) {
+ object.avroFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.AvroFailureReason.toObject(message.avroFailureReason, options);
+ if (options.oneofs)
+ object.reason = "avroFailureReason";
+ }
+ if (message.apiViolationReason != null && message.hasOwnProperty("apiViolationReason")) {
+ object.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.toObject(message.apiViolationReason, options);
+ if (options.oneofs)
+ object.reason = "apiViolationReason";
+ }
+ if (message.schemaViolationReason != null && message.hasOwnProperty("schemaViolationReason")) {
+ object.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.toObject(message.schemaViolationReason, options);
+ if (options.oneofs)
+ object.reason = "schemaViolationReason";
+ }
+ if (message.messageTransformationFailureReason != null && message.hasOwnProperty("messageTransformationFailureReason")) {
+ object.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.toObject(message.messageTransformationFailureReason, options);
+ if (options.oneofs)
+ object.reason = "messageTransformationFailureReason";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CloudStorageFailure to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CloudStorageFailure.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CloudStorageFailure
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CloudStorageFailure.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionFailureEvent.CloudStorageFailure";
+ };
+
+ return CloudStorageFailure;
+ })();
+
+ IngestionFailureEvent.AwsMskFailureReason = (function() {
+
+ /**
+ * Properties of an AwsMskFailureReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @interface IAwsMskFailureReason
+ * @property {string|null} [clusterArn] AwsMskFailureReason clusterArn
+ * @property {string|null} [kafkaTopic] AwsMskFailureReason kafkaTopic
+ * @property {number|Long|null} [partitionId] AwsMskFailureReason partitionId
+ * @property {number|Long|null} [offset] AwsMskFailureReason offset
+ * @property {google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null} [apiViolationReason] AwsMskFailureReason apiViolationReason
+ * @property {google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null} [schemaViolationReason] AwsMskFailureReason schemaViolationReason
+ * @property {google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null} [messageTransformationFailureReason] AwsMskFailureReason messageTransformationFailureReason
+ */
+
+ /**
+ * Constructs a new AwsMskFailureReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @classdesc Represents an AwsMskFailureReason.
+ * @implements IAwsMskFailureReason
+ * @constructor
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAwsMskFailureReason=} [properties] Properties to set
+ */
+ function AwsMskFailureReason(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AwsMskFailureReason clusterArn.
+ * @member {string} clusterArn
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @instance
+ */
+ AwsMskFailureReason.prototype.clusterArn = "";
+
+ /**
+ * AwsMskFailureReason kafkaTopic.
+ * @member {string} kafkaTopic
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @instance
+ */
+ AwsMskFailureReason.prototype.kafkaTopic = "";
+
+ /**
+ * AwsMskFailureReason partitionId.
+ * @member {number|Long} partitionId
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @instance
+ */
+ AwsMskFailureReason.prototype.partitionId = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * AwsMskFailureReason offset.
+ * @member {number|Long} offset
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @instance
+ */
+ AwsMskFailureReason.prototype.offset = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * AwsMskFailureReason apiViolationReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null|undefined} apiViolationReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @instance
+ */
+ AwsMskFailureReason.prototype.apiViolationReason = null;
+
+ /**
+ * AwsMskFailureReason schemaViolationReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null|undefined} schemaViolationReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @instance
+ */
+ AwsMskFailureReason.prototype.schemaViolationReason = null;
+
+ /**
+ * AwsMskFailureReason messageTransformationFailureReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null|undefined} messageTransformationFailureReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @instance
+ */
+ AwsMskFailureReason.prototype.messageTransformationFailureReason = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * AwsMskFailureReason reason.
+ * @member {"apiViolationReason"|"schemaViolationReason"|"messageTransformationFailureReason"|undefined} reason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @instance
+ */
+ Object.defineProperty(AwsMskFailureReason.prototype, "reason", {
+ get: $util.oneOfGetter($oneOfFields = ["apiViolationReason", "schemaViolationReason", "messageTransformationFailureReason"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new AwsMskFailureReason instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAwsMskFailureReason=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason} AwsMskFailureReason instance
+ */
+ AwsMskFailureReason.create = function create(properties) {
+ return new AwsMskFailureReason(properties);
+ };
+
+ /**
+ * Encodes the specified AwsMskFailureReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAwsMskFailureReason} message AwsMskFailureReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AwsMskFailureReason.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.clusterArn != null && Object.hasOwnProperty.call(message, "clusterArn"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.clusterArn);
+ if (message.kafkaTopic != null && Object.hasOwnProperty.call(message, "kafkaTopic"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.kafkaTopic);
+ if (message.partitionId != null && Object.hasOwnProperty.call(message, "partitionId"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int64(message.partitionId);
+ if (message.offset != null && Object.hasOwnProperty.call(message, "offset"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int64(message.offset);
+ if (message.apiViolationReason != null && Object.hasOwnProperty.call(message, "apiViolationReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.encode(message.apiViolationReason, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.schemaViolationReason != null && Object.hasOwnProperty.call(message, "schemaViolationReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.encode(message.schemaViolationReason, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.messageTransformationFailureReason != null && Object.hasOwnProperty.call(message, "messageTransformationFailureReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.encode(message.messageTransformationFailureReason, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AwsMskFailureReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAwsMskFailureReason} message AwsMskFailureReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AwsMskFailureReason.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AwsMskFailureReason message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason} AwsMskFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AwsMskFailureReason.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.clusterArn = reader.string();
+ break;
+ }
+ case 2: {
+ message.kafkaTopic = reader.string();
+ break;
+ }
+ case 3: {
+ message.partitionId = reader.int64();
+ break;
+ }
+ case 4: {
+ message.offset = reader.int64();
+ break;
+ }
+ case 5: {
+ message.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AwsMskFailureReason message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason} AwsMskFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AwsMskFailureReason.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AwsMskFailureReason message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AwsMskFailureReason.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.clusterArn != null && message.hasOwnProperty("clusterArn"))
+ if (!$util.isString(message.clusterArn))
+ return "clusterArn: string expected";
+ if (message.kafkaTopic != null && message.hasOwnProperty("kafkaTopic"))
+ if (!$util.isString(message.kafkaTopic))
+ return "kafkaTopic: string expected";
+ if (message.partitionId != null && message.hasOwnProperty("partitionId"))
+ if (!$util.isInteger(message.partitionId) && !(message.partitionId && $util.isInteger(message.partitionId.low) && $util.isInteger(message.partitionId.high)))
+ return "partitionId: integer|Long expected";
+ if (message.offset != null && message.hasOwnProperty("offset"))
+ if (!$util.isInteger(message.offset) && !(message.offset && $util.isInteger(message.offset.low) && $util.isInteger(message.offset.high)))
+ return "offset: integer|Long expected";
+ if (message.apiViolationReason != null && message.hasOwnProperty("apiViolationReason")) {
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.verify(message.apiViolationReason);
+ if (error)
+ return "apiViolationReason." + error;
+ }
+ }
+ if (message.schemaViolationReason != null && message.hasOwnProperty("schemaViolationReason")) {
+ if (properties.reason === 1)
+ return "reason: multiple values";
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.verify(message.schemaViolationReason);
+ if (error)
+ return "schemaViolationReason." + error;
+ }
+ }
+ if (message.messageTransformationFailureReason != null && message.hasOwnProperty("messageTransformationFailureReason")) {
+ if (properties.reason === 1)
+ return "reason: multiple values";
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.verify(message.messageTransformationFailureReason);
+ if (error)
+ return "messageTransformationFailureReason." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AwsMskFailureReason message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason} AwsMskFailureReason
+ */
+ AwsMskFailureReason.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason)
+ return object;
+ var message = new $root.google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason();
+ if (object.clusterArn != null)
+ message.clusterArn = String(object.clusterArn);
+ if (object.kafkaTopic != null)
+ message.kafkaTopic = String(object.kafkaTopic);
+ if (object.partitionId != null)
+ if ($util.Long)
+ (message.partitionId = $util.Long.fromValue(object.partitionId)).unsigned = false;
+ else if (typeof object.partitionId === "string")
+ message.partitionId = parseInt(object.partitionId, 10);
+ else if (typeof object.partitionId === "number")
+ message.partitionId = object.partitionId;
+ else if (typeof object.partitionId === "object")
+ message.partitionId = new $util.LongBits(object.partitionId.low >>> 0, object.partitionId.high >>> 0).toNumber();
+ if (object.offset != null)
+ if ($util.Long)
+ (message.offset = $util.Long.fromValue(object.offset)).unsigned = false;
+ else if (typeof object.offset === "string")
+ message.offset = parseInt(object.offset, 10);
+ else if (typeof object.offset === "number")
+ message.offset = object.offset;
+ else if (typeof object.offset === "object")
+ message.offset = new $util.LongBits(object.offset.low >>> 0, object.offset.high >>> 0).toNumber();
+ if (object.apiViolationReason != null) {
+ if (typeof object.apiViolationReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason.apiViolationReason: object expected");
+ message.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.fromObject(object.apiViolationReason);
+ }
+ if (object.schemaViolationReason != null) {
+ if (typeof object.schemaViolationReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason.schemaViolationReason: object expected");
+ message.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.fromObject(object.schemaViolationReason);
+ }
+ if (object.messageTransformationFailureReason != null) {
+ if (typeof object.messageTransformationFailureReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason.messageTransformationFailureReason: object expected");
+ message.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.fromObject(object.messageTransformationFailureReason);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AwsMskFailureReason message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason} message AwsMskFailureReason
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AwsMskFailureReason.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.clusterArn = "";
+ object.kafkaTopic = "";
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.partitionId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.partitionId = options.longs === String ? "0" : 0;
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.offset = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.offset = options.longs === String ? "0" : 0;
+ }
+ if (message.clusterArn != null && message.hasOwnProperty("clusterArn"))
+ object.clusterArn = message.clusterArn;
+ if (message.kafkaTopic != null && message.hasOwnProperty("kafkaTopic"))
+ object.kafkaTopic = message.kafkaTopic;
+ if (message.partitionId != null && message.hasOwnProperty("partitionId"))
+ if (typeof message.partitionId === "number")
+ object.partitionId = options.longs === String ? String(message.partitionId) : message.partitionId;
+ else
+ object.partitionId = options.longs === String ? $util.Long.prototype.toString.call(message.partitionId) : options.longs === Number ? new $util.LongBits(message.partitionId.low >>> 0, message.partitionId.high >>> 0).toNumber() : message.partitionId;
+ if (message.offset != null && message.hasOwnProperty("offset"))
+ if (typeof message.offset === "number")
+ object.offset = options.longs === String ? String(message.offset) : message.offset;
+ else
+ object.offset = options.longs === String ? $util.Long.prototype.toString.call(message.offset) : options.longs === Number ? new $util.LongBits(message.offset.low >>> 0, message.offset.high >>> 0).toNumber() : message.offset;
+ if (message.apiViolationReason != null && message.hasOwnProperty("apiViolationReason")) {
+ object.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.toObject(message.apiViolationReason, options);
+ if (options.oneofs)
+ object.reason = "apiViolationReason";
+ }
+ if (message.schemaViolationReason != null && message.hasOwnProperty("schemaViolationReason")) {
+ object.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.toObject(message.schemaViolationReason, options);
+ if (options.oneofs)
+ object.reason = "schemaViolationReason";
+ }
+ if (message.messageTransformationFailureReason != null && message.hasOwnProperty("messageTransformationFailureReason")) {
+ object.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.toObject(message.messageTransformationFailureReason, options);
+ if (options.oneofs)
+ object.reason = "messageTransformationFailureReason";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AwsMskFailureReason to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AwsMskFailureReason.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AwsMskFailureReason
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AwsMskFailureReason.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionFailureEvent.AwsMskFailureReason";
+ };
+
+ return AwsMskFailureReason;
+ })();
+
+ IngestionFailureEvent.AzureEventHubsFailureReason = (function() {
+
+ /**
+ * Properties of an AzureEventHubsFailureReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @interface IAzureEventHubsFailureReason
+ * @property {string|null} [namespace] AzureEventHubsFailureReason namespace
+ * @property {string|null} [eventHub] AzureEventHubsFailureReason eventHub
+ * @property {number|Long|null} [partitionId] AzureEventHubsFailureReason partitionId
+ * @property {number|Long|null} [offset] AzureEventHubsFailureReason offset
+ * @property {google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null} [apiViolationReason] AzureEventHubsFailureReason apiViolationReason
+ * @property {google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null} [schemaViolationReason] AzureEventHubsFailureReason schemaViolationReason
+ * @property {google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null} [messageTransformationFailureReason] AzureEventHubsFailureReason messageTransformationFailureReason
+ */
+
+ /**
+ * Constructs a new AzureEventHubsFailureReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @classdesc Represents an AzureEventHubsFailureReason.
+ * @implements IAzureEventHubsFailureReason
+ * @constructor
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAzureEventHubsFailureReason=} [properties] Properties to set
+ */
+ function AzureEventHubsFailureReason(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AzureEventHubsFailureReason namespace.
+ * @member {string} namespace
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @instance
+ */
+ AzureEventHubsFailureReason.prototype.namespace = "";
+
+ /**
+ * AzureEventHubsFailureReason eventHub.
+ * @member {string} eventHub
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @instance
+ */
+ AzureEventHubsFailureReason.prototype.eventHub = "";
+
+ /**
+ * AzureEventHubsFailureReason partitionId.
+ * @member {number|Long} partitionId
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @instance
+ */
+ AzureEventHubsFailureReason.prototype.partitionId = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * AzureEventHubsFailureReason offset.
+ * @member {number|Long} offset
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @instance
+ */
+ AzureEventHubsFailureReason.prototype.offset = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * AzureEventHubsFailureReason apiViolationReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null|undefined} apiViolationReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @instance
+ */
+ AzureEventHubsFailureReason.prototype.apiViolationReason = null;
+
+ /**
+ * AzureEventHubsFailureReason schemaViolationReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null|undefined} schemaViolationReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @instance
+ */
+ AzureEventHubsFailureReason.prototype.schemaViolationReason = null;
+
+ /**
+ * AzureEventHubsFailureReason messageTransformationFailureReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null|undefined} messageTransformationFailureReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @instance
+ */
+ AzureEventHubsFailureReason.prototype.messageTransformationFailureReason = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * AzureEventHubsFailureReason reason.
+ * @member {"apiViolationReason"|"schemaViolationReason"|"messageTransformationFailureReason"|undefined} reason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @instance
+ */
+ Object.defineProperty(AzureEventHubsFailureReason.prototype, "reason", {
+ get: $util.oneOfGetter($oneOfFields = ["apiViolationReason", "schemaViolationReason", "messageTransformationFailureReason"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new AzureEventHubsFailureReason instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAzureEventHubsFailureReason=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason} AzureEventHubsFailureReason instance
+ */
+ AzureEventHubsFailureReason.create = function create(properties) {
+ return new AzureEventHubsFailureReason(properties);
+ };
+
+ /**
+ * Encodes the specified AzureEventHubsFailureReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAzureEventHubsFailureReason} message AzureEventHubsFailureReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AzureEventHubsFailureReason.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.namespace != null && Object.hasOwnProperty.call(message, "namespace"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.namespace);
+ if (message.eventHub != null && Object.hasOwnProperty.call(message, "eventHub"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.eventHub);
+ if (message.partitionId != null && Object.hasOwnProperty.call(message, "partitionId"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int64(message.partitionId);
+ if (message.offset != null && Object.hasOwnProperty.call(message, "offset"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int64(message.offset);
+ if (message.apiViolationReason != null && Object.hasOwnProperty.call(message, "apiViolationReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.encode(message.apiViolationReason, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.schemaViolationReason != null && Object.hasOwnProperty.call(message, "schemaViolationReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.encode(message.schemaViolationReason, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.messageTransformationFailureReason != null && Object.hasOwnProperty.call(message, "messageTransformationFailureReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.encode(message.messageTransformationFailureReason, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AzureEventHubsFailureReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAzureEventHubsFailureReason} message AzureEventHubsFailureReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AzureEventHubsFailureReason.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AzureEventHubsFailureReason message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason} AzureEventHubsFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AzureEventHubsFailureReason.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.namespace = reader.string();
+ break;
+ }
+ case 2: {
+ message.eventHub = reader.string();
+ break;
+ }
+ case 3: {
+ message.partitionId = reader.int64();
+ break;
+ }
+ case 4: {
+ message.offset = reader.int64();
+ break;
+ }
+ case 5: {
+ message.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AzureEventHubsFailureReason message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason} AzureEventHubsFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AzureEventHubsFailureReason.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AzureEventHubsFailureReason message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AzureEventHubsFailureReason.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.namespace != null && message.hasOwnProperty("namespace"))
+ if (!$util.isString(message.namespace))
+ return "namespace: string expected";
+ if (message.eventHub != null && message.hasOwnProperty("eventHub"))
+ if (!$util.isString(message.eventHub))
+ return "eventHub: string expected";
+ if (message.partitionId != null && message.hasOwnProperty("partitionId"))
+ if (!$util.isInteger(message.partitionId) && !(message.partitionId && $util.isInteger(message.partitionId.low) && $util.isInteger(message.partitionId.high)))
+ return "partitionId: integer|Long expected";
+ if (message.offset != null && message.hasOwnProperty("offset"))
+ if (!$util.isInteger(message.offset) && !(message.offset && $util.isInteger(message.offset.low) && $util.isInteger(message.offset.high)))
+ return "offset: integer|Long expected";
+ if (message.apiViolationReason != null && message.hasOwnProperty("apiViolationReason")) {
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.verify(message.apiViolationReason);
+ if (error)
+ return "apiViolationReason." + error;
+ }
+ }
+ if (message.schemaViolationReason != null && message.hasOwnProperty("schemaViolationReason")) {
+ if (properties.reason === 1)
+ return "reason: multiple values";
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.verify(message.schemaViolationReason);
+ if (error)
+ return "schemaViolationReason." + error;
+ }
+ }
+ if (message.messageTransformationFailureReason != null && message.hasOwnProperty("messageTransformationFailureReason")) {
+ if (properties.reason === 1)
+ return "reason: multiple values";
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.verify(message.messageTransformationFailureReason);
+ if (error)
+ return "messageTransformationFailureReason." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AzureEventHubsFailureReason message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason} AzureEventHubsFailureReason
+ */
+ AzureEventHubsFailureReason.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason)
+ return object;
+ var message = new $root.google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason();
+ if (object.namespace != null)
+ message.namespace = String(object.namespace);
+ if (object.eventHub != null)
+ message.eventHub = String(object.eventHub);
+ if (object.partitionId != null)
+ if ($util.Long)
+ (message.partitionId = $util.Long.fromValue(object.partitionId)).unsigned = false;
+ else if (typeof object.partitionId === "string")
+ message.partitionId = parseInt(object.partitionId, 10);
+ else if (typeof object.partitionId === "number")
+ message.partitionId = object.partitionId;
+ else if (typeof object.partitionId === "object")
+ message.partitionId = new $util.LongBits(object.partitionId.low >>> 0, object.partitionId.high >>> 0).toNumber();
+ if (object.offset != null)
+ if ($util.Long)
+ (message.offset = $util.Long.fromValue(object.offset)).unsigned = false;
+ else if (typeof object.offset === "string")
+ message.offset = parseInt(object.offset, 10);
+ else if (typeof object.offset === "number")
+ message.offset = object.offset;
+ else if (typeof object.offset === "object")
+ message.offset = new $util.LongBits(object.offset.low >>> 0, object.offset.high >>> 0).toNumber();
+ if (object.apiViolationReason != null) {
+ if (typeof object.apiViolationReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason.apiViolationReason: object expected");
+ message.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.fromObject(object.apiViolationReason);
+ }
+ if (object.schemaViolationReason != null) {
+ if (typeof object.schemaViolationReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason.schemaViolationReason: object expected");
+ message.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.fromObject(object.schemaViolationReason);
+ }
+ if (object.messageTransformationFailureReason != null) {
+ if (typeof object.messageTransformationFailureReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason.messageTransformationFailureReason: object expected");
+ message.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.fromObject(object.messageTransformationFailureReason);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AzureEventHubsFailureReason message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason} message AzureEventHubsFailureReason
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AzureEventHubsFailureReason.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.namespace = "";
+ object.eventHub = "";
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.partitionId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.partitionId = options.longs === String ? "0" : 0;
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.offset = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.offset = options.longs === String ? "0" : 0;
+ }
+ if (message.namespace != null && message.hasOwnProperty("namespace"))
+ object.namespace = message.namespace;
+ if (message.eventHub != null && message.hasOwnProperty("eventHub"))
+ object.eventHub = message.eventHub;
+ if (message.partitionId != null && message.hasOwnProperty("partitionId"))
+ if (typeof message.partitionId === "number")
+ object.partitionId = options.longs === String ? String(message.partitionId) : message.partitionId;
+ else
+ object.partitionId = options.longs === String ? $util.Long.prototype.toString.call(message.partitionId) : options.longs === Number ? new $util.LongBits(message.partitionId.low >>> 0, message.partitionId.high >>> 0).toNumber() : message.partitionId;
+ if (message.offset != null && message.hasOwnProperty("offset"))
+ if (typeof message.offset === "number")
+ object.offset = options.longs === String ? String(message.offset) : message.offset;
+ else
+ object.offset = options.longs === String ? $util.Long.prototype.toString.call(message.offset) : options.longs === Number ? new $util.LongBits(message.offset.low >>> 0, message.offset.high >>> 0).toNumber() : message.offset;
+ if (message.apiViolationReason != null && message.hasOwnProperty("apiViolationReason")) {
+ object.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.toObject(message.apiViolationReason, options);
+ if (options.oneofs)
+ object.reason = "apiViolationReason";
+ }
+ if (message.schemaViolationReason != null && message.hasOwnProperty("schemaViolationReason")) {
+ object.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.toObject(message.schemaViolationReason, options);
+ if (options.oneofs)
+ object.reason = "schemaViolationReason";
+ }
+ if (message.messageTransformationFailureReason != null && message.hasOwnProperty("messageTransformationFailureReason")) {
+ object.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.toObject(message.messageTransformationFailureReason, options);
+ if (options.oneofs)
+ object.reason = "messageTransformationFailureReason";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AzureEventHubsFailureReason to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AzureEventHubsFailureReason.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AzureEventHubsFailureReason
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AzureEventHubsFailureReason.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionFailureEvent.AzureEventHubsFailureReason";
+ };
+
+ return AzureEventHubsFailureReason;
+ })();
+
+ IngestionFailureEvent.ConfluentCloudFailureReason = (function() {
+
+ /**
+ * Properties of a ConfluentCloudFailureReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @interface IConfluentCloudFailureReason
+ * @property {string|null} [clusterId] ConfluentCloudFailureReason clusterId
+ * @property {string|null} [kafkaTopic] ConfluentCloudFailureReason kafkaTopic
+ * @property {number|Long|null} [partitionId] ConfluentCloudFailureReason partitionId
+ * @property {number|Long|null} [offset] ConfluentCloudFailureReason offset
+ * @property {google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null} [apiViolationReason] ConfluentCloudFailureReason apiViolationReason
+ * @property {google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null} [schemaViolationReason] ConfluentCloudFailureReason schemaViolationReason
+ * @property {google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null} [messageTransformationFailureReason] ConfluentCloudFailureReason messageTransformationFailureReason
+ */
+
+ /**
+ * Constructs a new ConfluentCloudFailureReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @classdesc Represents a ConfluentCloudFailureReason.
+ * @implements IConfluentCloudFailureReason
+ * @constructor
+ * @param {google.pubsub.v1.IngestionFailureEvent.IConfluentCloudFailureReason=} [properties] Properties to set
+ */
+ function ConfluentCloudFailureReason(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ConfluentCloudFailureReason clusterId.
+ * @member {string} clusterId
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @instance
+ */
+ ConfluentCloudFailureReason.prototype.clusterId = "";
+
+ /**
+ * ConfluentCloudFailureReason kafkaTopic.
+ * @member {string} kafkaTopic
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @instance
+ */
+ ConfluentCloudFailureReason.prototype.kafkaTopic = "";
+
+ /**
+ * ConfluentCloudFailureReason partitionId.
+ * @member {number|Long} partitionId
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @instance
+ */
+ ConfluentCloudFailureReason.prototype.partitionId = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * ConfluentCloudFailureReason offset.
+ * @member {number|Long} offset
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @instance
+ */
+ ConfluentCloudFailureReason.prototype.offset = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * ConfluentCloudFailureReason apiViolationReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null|undefined} apiViolationReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @instance
+ */
+ ConfluentCloudFailureReason.prototype.apiViolationReason = null;
+
+ /**
+ * ConfluentCloudFailureReason schemaViolationReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null|undefined} schemaViolationReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @instance
+ */
+ ConfluentCloudFailureReason.prototype.schemaViolationReason = null;
+
+ /**
+ * ConfluentCloudFailureReason messageTransformationFailureReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null|undefined} messageTransformationFailureReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @instance
+ */
+ ConfluentCloudFailureReason.prototype.messageTransformationFailureReason = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * ConfluentCloudFailureReason reason.
+ * @member {"apiViolationReason"|"schemaViolationReason"|"messageTransformationFailureReason"|undefined} reason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @instance
+ */
+ Object.defineProperty(ConfluentCloudFailureReason.prototype, "reason", {
+ get: $util.oneOfGetter($oneOfFields = ["apiViolationReason", "schemaViolationReason", "messageTransformationFailureReason"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new ConfluentCloudFailureReason instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IConfluentCloudFailureReason=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason} ConfluentCloudFailureReason instance
+ */
+ ConfluentCloudFailureReason.create = function create(properties) {
+ return new ConfluentCloudFailureReason(properties);
+ };
+
+ /**
+ * Encodes the specified ConfluentCloudFailureReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IConfluentCloudFailureReason} message ConfluentCloudFailureReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ConfluentCloudFailureReason.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.clusterId != null && Object.hasOwnProperty.call(message, "clusterId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.clusterId);
+ if (message.kafkaTopic != null && Object.hasOwnProperty.call(message, "kafkaTopic"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.kafkaTopic);
+ if (message.partitionId != null && Object.hasOwnProperty.call(message, "partitionId"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int64(message.partitionId);
+ if (message.offset != null && Object.hasOwnProperty.call(message, "offset"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int64(message.offset);
+ if (message.apiViolationReason != null && Object.hasOwnProperty.call(message, "apiViolationReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.encode(message.apiViolationReason, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.schemaViolationReason != null && Object.hasOwnProperty.call(message, "schemaViolationReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.encode(message.schemaViolationReason, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.messageTransformationFailureReason != null && Object.hasOwnProperty.call(message, "messageTransformationFailureReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.encode(message.messageTransformationFailureReason, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ConfluentCloudFailureReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IConfluentCloudFailureReason} message ConfluentCloudFailureReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ConfluentCloudFailureReason.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ConfluentCloudFailureReason message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason} ConfluentCloudFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ConfluentCloudFailureReason.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.clusterId = reader.string();
+ break;
+ }
+ case 2: {
+ message.kafkaTopic = reader.string();
+ break;
+ }
+ case 3: {
+ message.partitionId = reader.int64();
+ break;
+ }
+ case 4: {
+ message.offset = reader.int64();
+ break;
+ }
+ case 5: {
+ message.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ConfluentCloudFailureReason message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason} ConfluentCloudFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ConfluentCloudFailureReason.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ConfluentCloudFailureReason message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ConfluentCloudFailureReason.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.clusterId != null && message.hasOwnProperty("clusterId"))
+ if (!$util.isString(message.clusterId))
+ return "clusterId: string expected";
+ if (message.kafkaTopic != null && message.hasOwnProperty("kafkaTopic"))
+ if (!$util.isString(message.kafkaTopic))
+ return "kafkaTopic: string expected";
+ if (message.partitionId != null && message.hasOwnProperty("partitionId"))
+ if (!$util.isInteger(message.partitionId) && !(message.partitionId && $util.isInteger(message.partitionId.low) && $util.isInteger(message.partitionId.high)))
+ return "partitionId: integer|Long expected";
+ if (message.offset != null && message.hasOwnProperty("offset"))
+ if (!$util.isInteger(message.offset) && !(message.offset && $util.isInteger(message.offset.low) && $util.isInteger(message.offset.high)))
+ return "offset: integer|Long expected";
+ if (message.apiViolationReason != null && message.hasOwnProperty("apiViolationReason")) {
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.verify(message.apiViolationReason);
+ if (error)
+ return "apiViolationReason." + error;
+ }
+ }
+ if (message.schemaViolationReason != null && message.hasOwnProperty("schemaViolationReason")) {
+ if (properties.reason === 1)
+ return "reason: multiple values";
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.verify(message.schemaViolationReason);
+ if (error)
+ return "schemaViolationReason." + error;
+ }
+ }
+ if (message.messageTransformationFailureReason != null && message.hasOwnProperty("messageTransformationFailureReason")) {
+ if (properties.reason === 1)
+ return "reason: multiple values";
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.verify(message.messageTransformationFailureReason);
+ if (error)
+ return "messageTransformationFailureReason." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ConfluentCloudFailureReason message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason} ConfluentCloudFailureReason
+ */
+ ConfluentCloudFailureReason.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason)
+ return object;
+ var message = new $root.google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason();
+ if (object.clusterId != null)
+ message.clusterId = String(object.clusterId);
+ if (object.kafkaTopic != null)
+ message.kafkaTopic = String(object.kafkaTopic);
+ if (object.partitionId != null)
+ if ($util.Long)
+ (message.partitionId = $util.Long.fromValue(object.partitionId)).unsigned = false;
+ else if (typeof object.partitionId === "string")
+ message.partitionId = parseInt(object.partitionId, 10);
+ else if (typeof object.partitionId === "number")
+ message.partitionId = object.partitionId;
+ else if (typeof object.partitionId === "object")
+ message.partitionId = new $util.LongBits(object.partitionId.low >>> 0, object.partitionId.high >>> 0).toNumber();
+ if (object.offset != null)
+ if ($util.Long)
+ (message.offset = $util.Long.fromValue(object.offset)).unsigned = false;
+ else if (typeof object.offset === "string")
+ message.offset = parseInt(object.offset, 10);
+ else if (typeof object.offset === "number")
+ message.offset = object.offset;
+ else if (typeof object.offset === "object")
+ message.offset = new $util.LongBits(object.offset.low >>> 0, object.offset.high >>> 0).toNumber();
+ if (object.apiViolationReason != null) {
+ if (typeof object.apiViolationReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason.apiViolationReason: object expected");
+ message.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.fromObject(object.apiViolationReason);
+ }
+ if (object.schemaViolationReason != null) {
+ if (typeof object.schemaViolationReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason.schemaViolationReason: object expected");
+ message.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.fromObject(object.schemaViolationReason);
+ }
+ if (object.messageTransformationFailureReason != null) {
+ if (typeof object.messageTransformationFailureReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason.messageTransformationFailureReason: object expected");
+ message.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.fromObject(object.messageTransformationFailureReason);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ConfluentCloudFailureReason message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason} message ConfluentCloudFailureReason
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ConfluentCloudFailureReason.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.clusterId = "";
+ object.kafkaTopic = "";
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.partitionId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.partitionId = options.longs === String ? "0" : 0;
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.offset = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.offset = options.longs === String ? "0" : 0;
+ }
+ if (message.clusterId != null && message.hasOwnProperty("clusterId"))
+ object.clusterId = message.clusterId;
+ if (message.kafkaTopic != null && message.hasOwnProperty("kafkaTopic"))
+ object.kafkaTopic = message.kafkaTopic;
+ if (message.partitionId != null && message.hasOwnProperty("partitionId"))
+ if (typeof message.partitionId === "number")
+ object.partitionId = options.longs === String ? String(message.partitionId) : message.partitionId;
+ else
+ object.partitionId = options.longs === String ? $util.Long.prototype.toString.call(message.partitionId) : options.longs === Number ? new $util.LongBits(message.partitionId.low >>> 0, message.partitionId.high >>> 0).toNumber() : message.partitionId;
+ if (message.offset != null && message.hasOwnProperty("offset"))
+ if (typeof message.offset === "number")
+ object.offset = options.longs === String ? String(message.offset) : message.offset;
+ else
+ object.offset = options.longs === String ? $util.Long.prototype.toString.call(message.offset) : options.longs === Number ? new $util.LongBits(message.offset.low >>> 0, message.offset.high >>> 0).toNumber() : message.offset;
+ if (message.apiViolationReason != null && message.hasOwnProperty("apiViolationReason")) {
+ object.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.toObject(message.apiViolationReason, options);
+ if (options.oneofs)
+ object.reason = "apiViolationReason";
+ }
+ if (message.schemaViolationReason != null && message.hasOwnProperty("schemaViolationReason")) {
+ object.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.toObject(message.schemaViolationReason, options);
+ if (options.oneofs)
+ object.reason = "schemaViolationReason";
+ }
+ if (message.messageTransformationFailureReason != null && message.hasOwnProperty("messageTransformationFailureReason")) {
+ object.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.toObject(message.messageTransformationFailureReason, options);
+ if (options.oneofs)
+ object.reason = "messageTransformationFailureReason";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ConfluentCloudFailureReason to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ConfluentCloudFailureReason.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ConfluentCloudFailureReason
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ConfluentCloudFailureReason.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionFailureEvent.ConfluentCloudFailureReason";
+ };
+
+ return ConfluentCloudFailureReason;
+ })();
+
+ IngestionFailureEvent.AwsKinesisFailureReason = (function() {
+
+ /**
+ * Properties of an AwsKinesisFailureReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @interface IAwsKinesisFailureReason
+ * @property {string|null} [streamArn] AwsKinesisFailureReason streamArn
+ * @property {string|null} [partitionKey] AwsKinesisFailureReason partitionKey
+ * @property {string|null} [sequenceNumber] AwsKinesisFailureReason sequenceNumber
+ * @property {google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null} [schemaViolationReason] AwsKinesisFailureReason schemaViolationReason
+ * @property {google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null} [messageTransformationFailureReason] AwsKinesisFailureReason messageTransformationFailureReason
+ * @property {google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null} [apiViolationReason] AwsKinesisFailureReason apiViolationReason
+ */
+
+ /**
+ * Constructs a new AwsKinesisFailureReason.
+ * @memberof google.pubsub.v1.IngestionFailureEvent
+ * @classdesc Represents an AwsKinesisFailureReason.
+ * @implements IAwsKinesisFailureReason
+ * @constructor
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAwsKinesisFailureReason=} [properties] Properties to set
+ */
+ function AwsKinesisFailureReason(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AwsKinesisFailureReason streamArn.
+ * @member {string} streamArn
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @instance
+ */
+ AwsKinesisFailureReason.prototype.streamArn = "";
+
+ /**
+ * AwsKinesisFailureReason partitionKey.
+ * @member {string} partitionKey
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @instance
+ */
+ AwsKinesisFailureReason.prototype.partitionKey = "";
+
+ /**
+ * AwsKinesisFailureReason sequenceNumber.
+ * @member {string} sequenceNumber
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @instance
+ */
+ AwsKinesisFailureReason.prototype.sequenceNumber = "";
+
+ /**
+ * AwsKinesisFailureReason schemaViolationReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.ISchemaViolationReason|null|undefined} schemaViolationReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @instance
+ */
+ AwsKinesisFailureReason.prototype.schemaViolationReason = null;
+
+ /**
+ * AwsKinesisFailureReason messageTransformationFailureReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IMessageTransformationFailureReason|null|undefined} messageTransformationFailureReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @instance
+ */
+ AwsKinesisFailureReason.prototype.messageTransformationFailureReason = null;
+
+ /**
+ * AwsKinesisFailureReason apiViolationReason.
+ * @member {google.pubsub.v1.IngestionFailureEvent.IApiViolationReason|null|undefined} apiViolationReason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @instance
+ */
+ AwsKinesisFailureReason.prototype.apiViolationReason = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * AwsKinesisFailureReason reason.
+ * @member {"schemaViolationReason"|"messageTransformationFailureReason"|"apiViolationReason"|undefined} reason
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @instance
+ */
+ Object.defineProperty(AwsKinesisFailureReason.prototype, "reason", {
+ get: $util.oneOfGetter($oneOfFields = ["schemaViolationReason", "messageTransformationFailureReason", "apiViolationReason"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new AwsKinesisFailureReason instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAwsKinesisFailureReason=} [properties] Properties to set
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason} AwsKinesisFailureReason instance
+ */
+ AwsKinesisFailureReason.create = function create(properties) {
+ return new AwsKinesisFailureReason(properties);
+ };
+
+ /**
+ * Encodes the specified AwsKinesisFailureReason message. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAwsKinesisFailureReason} message AwsKinesisFailureReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AwsKinesisFailureReason.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.streamArn != null && Object.hasOwnProperty.call(message, "streamArn"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.streamArn);
+ if (message.partitionKey != null && Object.hasOwnProperty.call(message, "partitionKey"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.partitionKey);
+ if (message.sequenceNumber != null && Object.hasOwnProperty.call(message, "sequenceNumber"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.sequenceNumber);
+ if (message.schemaViolationReason != null && Object.hasOwnProperty.call(message, "schemaViolationReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.encode(message.schemaViolationReason, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.messageTransformationFailureReason != null && Object.hasOwnProperty.call(message, "messageTransformationFailureReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.encode(message.messageTransformationFailureReason, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.apiViolationReason != null && Object.hasOwnProperty.call(message, "apiViolationReason"))
+ $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.encode(message.apiViolationReason, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AwsKinesisFailureReason message, length delimited. Does not implicitly {@link google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.IAwsKinesisFailureReason} message AwsKinesisFailureReason message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AwsKinesisFailureReason.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AwsKinesisFailureReason message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason} AwsKinesisFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AwsKinesisFailureReason.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.streamArn = reader.string();
+ break;
+ }
+ case 2: {
+ message.partitionKey = reader.string();
+ break;
+ }
+ case 3: {
+ message.sequenceNumber = reader.string();
+ break;
+ }
+ case 4: {
+ message.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AwsKinesisFailureReason message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason} AwsKinesisFailureReason
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AwsKinesisFailureReason.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AwsKinesisFailureReason message.
+ * @function verify
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AwsKinesisFailureReason.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.streamArn != null && message.hasOwnProperty("streamArn"))
+ if (!$util.isString(message.streamArn))
+ return "streamArn: string expected";
+ if (message.partitionKey != null && message.hasOwnProperty("partitionKey"))
+ if (!$util.isString(message.partitionKey))
+ return "partitionKey: string expected";
+ if (message.sequenceNumber != null && message.hasOwnProperty("sequenceNumber"))
+ if (!$util.isString(message.sequenceNumber))
+ return "sequenceNumber: string expected";
+ if (message.schemaViolationReason != null && message.hasOwnProperty("schemaViolationReason")) {
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.verify(message.schemaViolationReason);
+ if (error)
+ return "schemaViolationReason." + error;
+ }
+ }
+ if (message.messageTransformationFailureReason != null && message.hasOwnProperty("messageTransformationFailureReason")) {
+ if (properties.reason === 1)
+ return "reason: multiple values";
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.verify(message.messageTransformationFailureReason);
+ if (error)
+ return "messageTransformationFailureReason." + error;
+ }
+ }
+ if (message.apiViolationReason != null && message.hasOwnProperty("apiViolationReason")) {
+ if (properties.reason === 1)
+ return "reason: multiple values";
+ properties.reason = 1;
+ {
+ var error = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.verify(message.apiViolationReason);
+ if (error)
+ return "apiViolationReason." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AwsKinesisFailureReason message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason} AwsKinesisFailureReason
+ */
+ AwsKinesisFailureReason.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason)
+ return object;
+ var message = new $root.google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason();
+ if (object.streamArn != null)
+ message.streamArn = String(object.streamArn);
+ if (object.partitionKey != null)
+ message.partitionKey = String(object.partitionKey);
+ if (object.sequenceNumber != null)
+ message.sequenceNumber = String(object.sequenceNumber);
+ if (object.schemaViolationReason != null) {
+ if (typeof object.schemaViolationReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason.schemaViolationReason: object expected");
+ message.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.fromObject(object.schemaViolationReason);
+ }
+ if (object.messageTransformationFailureReason != null) {
+ if (typeof object.messageTransformationFailureReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason.messageTransformationFailureReason: object expected");
+ message.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.fromObject(object.messageTransformationFailureReason);
+ }
+ if (object.apiViolationReason != null) {
+ if (typeof object.apiViolationReason !== "object")
+ throw TypeError(".google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason.apiViolationReason: object expected");
+ message.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.fromObject(object.apiViolationReason);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AwsKinesisFailureReason message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @static
+ * @param {google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason} message AwsKinesisFailureReason
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AwsKinesisFailureReason.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.streamArn = "";
+ object.partitionKey = "";
+ object.sequenceNumber = "";
+ }
+ if (message.streamArn != null && message.hasOwnProperty("streamArn"))
+ object.streamArn = message.streamArn;
+ if (message.partitionKey != null && message.hasOwnProperty("partitionKey"))
+ object.partitionKey = message.partitionKey;
+ if (message.sequenceNumber != null && message.hasOwnProperty("sequenceNumber"))
+ object.sequenceNumber = message.sequenceNumber;
+ if (message.schemaViolationReason != null && message.hasOwnProperty("schemaViolationReason")) {
+ object.schemaViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.SchemaViolationReason.toObject(message.schemaViolationReason, options);
+ if (options.oneofs)
+ object.reason = "schemaViolationReason";
+ }
+ if (message.messageTransformationFailureReason != null && message.hasOwnProperty("messageTransformationFailureReason")) {
+ object.messageTransformationFailureReason = $root.google.pubsub.v1.IngestionFailureEvent.MessageTransformationFailureReason.toObject(message.messageTransformationFailureReason, options);
+ if (options.oneofs)
+ object.reason = "messageTransformationFailureReason";
+ }
+ if (message.apiViolationReason != null && message.hasOwnProperty("apiViolationReason")) {
+ object.apiViolationReason = $root.google.pubsub.v1.IngestionFailureEvent.ApiViolationReason.toObject(message.apiViolationReason, options);
+ if (options.oneofs)
+ object.reason = "apiViolationReason";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AwsKinesisFailureReason to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AwsKinesisFailureReason.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AwsKinesisFailureReason
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AwsKinesisFailureReason.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.IngestionFailureEvent.AwsKinesisFailureReason";
+ };
+
+ return AwsKinesisFailureReason;
+ })();
+
+ return IngestionFailureEvent;
+ })();
+
+ v1.JavaScriptUDF = (function() {
+
+ /**
+ * Properties of a JavaScriptUDF.
+ * @memberof google.pubsub.v1
+ * @interface IJavaScriptUDF
+ * @property {string|null} [functionName] JavaScriptUDF functionName
+ * @property {string|null} [code] JavaScriptUDF code
+ */
+
+ /**
+ * Constructs a new JavaScriptUDF.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a JavaScriptUDF.
+ * @implements IJavaScriptUDF
+ * @constructor
+ * @param {google.pubsub.v1.IJavaScriptUDF=} [properties] Properties to set
+ */
+ function JavaScriptUDF(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * JavaScriptUDF functionName.
+ * @member {string} functionName
+ * @memberof google.pubsub.v1.JavaScriptUDF
+ * @instance
+ */
+ JavaScriptUDF.prototype.functionName = "";
+
+ /**
+ * JavaScriptUDF code.
+ * @member {string} code
+ * @memberof google.pubsub.v1.JavaScriptUDF
+ * @instance
+ */
+ JavaScriptUDF.prototype.code = "";
+
+ /**
+ * Creates a new JavaScriptUDF instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.JavaScriptUDF
+ * @static
+ * @param {google.pubsub.v1.IJavaScriptUDF=} [properties] Properties to set
+ * @returns {google.pubsub.v1.JavaScriptUDF} JavaScriptUDF instance
+ */
+ JavaScriptUDF.create = function create(properties) {
+ return new JavaScriptUDF(properties);
+ };
+
+ /**
+ * Encodes the specified JavaScriptUDF message. Does not implicitly {@link google.pubsub.v1.JavaScriptUDF.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.JavaScriptUDF
+ * @static
+ * @param {google.pubsub.v1.IJavaScriptUDF} message JavaScriptUDF message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ JavaScriptUDF.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.functionName != null && Object.hasOwnProperty.call(message, "functionName"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.functionName);
+ if (message.code != null && Object.hasOwnProperty.call(message, "code"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.code);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified JavaScriptUDF message, length delimited. Does not implicitly {@link google.pubsub.v1.JavaScriptUDF.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.JavaScriptUDF
+ * @static
+ * @param {google.pubsub.v1.IJavaScriptUDF} message JavaScriptUDF message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ JavaScriptUDF.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a JavaScriptUDF message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.JavaScriptUDF
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.JavaScriptUDF} JavaScriptUDF
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ JavaScriptUDF.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.JavaScriptUDF();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.functionName = reader.string();
+ break;
+ }
+ case 2: {
+ message.code = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a JavaScriptUDF message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.JavaScriptUDF
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.JavaScriptUDF} JavaScriptUDF
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ JavaScriptUDF.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a JavaScriptUDF message.
+ * @function verify
+ * @memberof google.pubsub.v1.JavaScriptUDF
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ JavaScriptUDF.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.functionName != null && message.hasOwnProperty("functionName"))
+ if (!$util.isString(message.functionName))
+ return "functionName: string expected";
+ if (message.code != null && message.hasOwnProperty("code"))
+ if (!$util.isString(message.code))
+ return "code: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a JavaScriptUDF message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.JavaScriptUDF
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.JavaScriptUDF} JavaScriptUDF
+ */
+ JavaScriptUDF.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.JavaScriptUDF)
+ return object;
+ var message = new $root.google.pubsub.v1.JavaScriptUDF();
+ if (object.functionName != null)
+ message.functionName = String(object.functionName);
+ if (object.code != null)
+ message.code = String(object.code);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a JavaScriptUDF message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.JavaScriptUDF
+ * @static
+ * @param {google.pubsub.v1.JavaScriptUDF} message JavaScriptUDF
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ JavaScriptUDF.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.functionName = "";
+ object.code = "";
+ }
+ if (message.functionName != null && message.hasOwnProperty("functionName"))
+ object.functionName = message.functionName;
+ if (message.code != null && message.hasOwnProperty("code"))
+ object.code = message.code;
+ return object;
+ };
+
+ /**
+ * Converts this JavaScriptUDF to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.JavaScriptUDF
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ JavaScriptUDF.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for JavaScriptUDF
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.JavaScriptUDF
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ JavaScriptUDF.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.JavaScriptUDF";
+ };
+
+ return JavaScriptUDF;
+ })();
+
+ v1.MessageTransform = (function() {
+
+ /**
+ * Properties of a MessageTransform.
+ * @memberof google.pubsub.v1
+ * @interface IMessageTransform
+ * @property {google.pubsub.v1.IJavaScriptUDF|null} [javascriptUdf] MessageTransform javascriptUdf
+ * @property {boolean|null} [enabled] MessageTransform enabled
+ * @property {boolean|null} [disabled] MessageTransform disabled
+ */
+
+ /**
+ * Constructs a new MessageTransform.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a MessageTransform.
+ * @implements IMessageTransform
+ * @constructor
+ * @param {google.pubsub.v1.IMessageTransform=} [properties] Properties to set
+ */
+ function MessageTransform(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * MessageTransform javascriptUdf.
+ * @member {google.pubsub.v1.IJavaScriptUDF|null|undefined} javascriptUdf
+ * @memberof google.pubsub.v1.MessageTransform
+ * @instance
+ */
+ MessageTransform.prototype.javascriptUdf = null;
+
+ /**
+ * MessageTransform enabled.
+ * @member {boolean} enabled
+ * @memberof google.pubsub.v1.MessageTransform
+ * @instance
+ */
+ MessageTransform.prototype.enabled = false;
+
+ /**
+ * MessageTransform disabled.
+ * @member {boolean} disabled
+ * @memberof google.pubsub.v1.MessageTransform
+ * @instance
+ */
+ MessageTransform.prototype.disabled = false;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * MessageTransform transform.
+ * @member {"javascriptUdf"|undefined} transform
+ * @memberof google.pubsub.v1.MessageTransform
+ * @instance
+ */
+ Object.defineProperty(MessageTransform.prototype, "transform", {
+ get: $util.oneOfGetter($oneOfFields = ["javascriptUdf"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new MessageTransform instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.MessageTransform
+ * @static
+ * @param {google.pubsub.v1.IMessageTransform=} [properties] Properties to set
+ * @returns {google.pubsub.v1.MessageTransform} MessageTransform instance
+ */
+ MessageTransform.create = function create(properties) {
+ return new MessageTransform(properties);
+ };
+
+ /**
+ * Encodes the specified MessageTransform message. Does not implicitly {@link google.pubsub.v1.MessageTransform.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.MessageTransform
+ * @static
+ * @param {google.pubsub.v1.IMessageTransform} message MessageTransform message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MessageTransform.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.javascriptUdf != null && Object.hasOwnProperty.call(message, "javascriptUdf"))
+ $root.google.pubsub.v1.JavaScriptUDF.encode(message.javascriptUdf, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.enabled != null && Object.hasOwnProperty.call(message, "enabled"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.enabled);
+ if (message.disabled != null && Object.hasOwnProperty.call(message, "disabled"))
+ writer.uint32(/* id 4, wireType 0 =*/32).bool(message.disabled);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MessageTransform message, length delimited. Does not implicitly {@link google.pubsub.v1.MessageTransform.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.MessageTransform
+ * @static
+ * @param {google.pubsub.v1.IMessageTransform} message MessageTransform message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MessageTransform.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MessageTransform message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.MessageTransform
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.MessageTransform} MessageTransform
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MessageTransform.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.MessageTransform();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 2: {
+ message.javascriptUdf = $root.google.pubsub.v1.JavaScriptUDF.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.enabled = reader.bool();
+ break;
+ }
+ case 4: {
+ message.disabled = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MessageTransform message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.MessageTransform
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.MessageTransform} MessageTransform
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MessageTransform.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MessageTransform message.
+ * @function verify
+ * @memberof google.pubsub.v1.MessageTransform
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MessageTransform.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.javascriptUdf != null && message.hasOwnProperty("javascriptUdf")) {
+ properties.transform = 1;
+ {
+ var error = $root.google.pubsub.v1.JavaScriptUDF.verify(message.javascriptUdf);
+ if (error)
+ return "javascriptUdf." + error;
+ }
+ }
+ if (message.enabled != null && message.hasOwnProperty("enabled"))
+ if (typeof message.enabled !== "boolean")
+ return "enabled: boolean expected";
+ if (message.disabled != null && message.hasOwnProperty("disabled"))
+ if (typeof message.disabled !== "boolean")
+ return "disabled: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a MessageTransform message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.MessageTransform
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.MessageTransform} MessageTransform
+ */
+ MessageTransform.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.MessageTransform)
+ return object;
+ var message = new $root.google.pubsub.v1.MessageTransform();
+ if (object.javascriptUdf != null) {
+ if (typeof object.javascriptUdf !== "object")
+ throw TypeError(".google.pubsub.v1.MessageTransform.javascriptUdf: object expected");
+ message.javascriptUdf = $root.google.pubsub.v1.JavaScriptUDF.fromObject(object.javascriptUdf);
+ }
+ if (object.enabled != null)
+ message.enabled = Boolean(object.enabled);
+ if (object.disabled != null)
+ message.disabled = Boolean(object.disabled);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MessageTransform message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.MessageTransform
+ * @static
+ * @param {google.pubsub.v1.MessageTransform} message MessageTransform
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MessageTransform.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.enabled = false;
+ object.disabled = false;
+ }
+ if (message.javascriptUdf != null && message.hasOwnProperty("javascriptUdf")) {
+ object.javascriptUdf = $root.google.pubsub.v1.JavaScriptUDF.toObject(message.javascriptUdf, options);
+ if (options.oneofs)
+ object.transform = "javascriptUdf";
+ }
+ if (message.enabled != null && message.hasOwnProperty("enabled"))
+ object.enabled = message.enabled;
+ if (message.disabled != null && message.hasOwnProperty("disabled"))
+ object.disabled = message.disabled;
+ return object;
+ };
+
+ /**
+ * Converts this MessageTransform to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.MessageTransform
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MessageTransform.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MessageTransform
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.MessageTransform
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MessageTransform.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.MessageTransform";
+ };
+
+ return MessageTransform;
+ })();
+
+ v1.Topic = (function() {
+
+ /**
+ * Properties of a Topic.
+ * @memberof google.pubsub.v1
+ * @interface ITopic
+ * @property {string|null} [name] Topic name
+ * @property {Object.|null} [labels] Topic labels
+ * @property {google.pubsub.v1.IMessageStoragePolicy|null} [messageStoragePolicy] Topic messageStoragePolicy
+ * @property {string|null} [kmsKeyName] Topic kmsKeyName
+ * @property {google.pubsub.v1.ISchemaSettings|null} [schemaSettings] Topic schemaSettings
+ * @property {boolean|null} [satisfiesPzs] Topic satisfiesPzs
+ * @property {google.protobuf.IDuration|null} [messageRetentionDuration] Topic messageRetentionDuration
+ * @property {google.pubsub.v1.Topic.State|null} [state] Topic state
+ * @property {google.pubsub.v1.IIngestionDataSourceSettings|null} [ingestionDataSourceSettings] Topic ingestionDataSourceSettings
+ * @property {Array.|null} [messageTransforms] Topic messageTransforms
+ * @property {Object.|null} [tags] Topic tags
+ */
+
+ /**
+ * Constructs a new Topic.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a Topic.
+ * @implements ITopic
+ * @constructor
+ * @param {google.pubsub.v1.ITopic=} [properties] Properties to set
+ */
+ function Topic(properties) {
+ this.labels = {};
+ this.messageTransforms = [];
+ this.tags = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Topic name.
+ * @member {string} name
+ * @memberof google.pubsub.v1.Topic
+ * @instance
+ */
+ Topic.prototype.name = "";
+
+ /**
+ * Topic labels.
+ * @member {Object.} labels
+ * @memberof google.pubsub.v1.Topic
+ * @instance
+ */
+ Topic.prototype.labels = $util.emptyObject;
+
+ /**
+ * Topic messageStoragePolicy.
+ * @member {google.pubsub.v1.IMessageStoragePolicy|null|undefined} messageStoragePolicy
+ * @memberof google.pubsub.v1.Topic
+ * @instance
+ */
+ Topic.prototype.messageStoragePolicy = null;
+
+ /**
+ * Topic kmsKeyName.
+ * @member {string} kmsKeyName
+ * @memberof google.pubsub.v1.Topic
+ * @instance
+ */
+ Topic.prototype.kmsKeyName = "";
+
+ /**
+ * Topic schemaSettings.
+ * @member {google.pubsub.v1.ISchemaSettings|null|undefined} schemaSettings
+ * @memberof google.pubsub.v1.Topic
+ * @instance
+ */
+ Topic.prototype.schemaSettings = null;
+
+ /**
+ * Topic satisfiesPzs.
+ * @member {boolean} satisfiesPzs
+ * @memberof google.pubsub.v1.Topic
+ * @instance
+ */
+ Topic.prototype.satisfiesPzs = false;
+
+ /**
+ * Topic messageRetentionDuration.
+ * @member {google.protobuf.IDuration|null|undefined} messageRetentionDuration
+ * @memberof google.pubsub.v1.Topic
+ * @instance
+ */
+ Topic.prototype.messageRetentionDuration = null;
+
+ /**
+ * Topic state.
+ * @member {google.pubsub.v1.Topic.State} state
+ * @memberof google.pubsub.v1.Topic
+ * @instance
+ */
+ Topic.prototype.state = 0;
+
+ /**
+ * Topic ingestionDataSourceSettings.
+ * @member {google.pubsub.v1.IIngestionDataSourceSettings|null|undefined} ingestionDataSourceSettings
+ * @memberof google.pubsub.v1.Topic
+ * @instance
+ */
+ Topic.prototype.ingestionDataSourceSettings = null;
+
+ /**
+ * Topic messageTransforms.
+ * @member {Array.} messageTransforms
+ * @memberof google.pubsub.v1.Topic
+ * @instance
+ */
+ Topic.prototype.messageTransforms = $util.emptyArray;
+
+ /**
+ * Topic tags.
+ * @member {Object.} tags
+ * @memberof google.pubsub.v1.Topic
+ * @instance
+ */
+ Topic.prototype.tags = $util.emptyObject;
+
+ /**
+ * Creates a new Topic instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.Topic
+ * @static
+ * @param {google.pubsub.v1.ITopic=} [properties] Properties to set
+ * @returns {google.pubsub.v1.Topic} Topic instance
+ */
+ Topic.create = function create(properties) {
+ return new Topic(properties);
+ };
+
+ /**
+ * Encodes the specified Topic message. Does not implicitly {@link google.pubsub.v1.Topic.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.Topic
+ * @static
+ * @param {google.pubsub.v1.ITopic} message Topic message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Topic.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.messageStoragePolicy != null && Object.hasOwnProperty.call(message, "messageStoragePolicy"))
+ $root.google.pubsub.v1.MessageStoragePolicy.encode(message.messageStoragePolicy, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.kmsKeyName != null && Object.hasOwnProperty.call(message, "kmsKeyName"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.kmsKeyName);
+ if (message.schemaSettings != null && Object.hasOwnProperty.call(message, "schemaSettings"))
+ $root.google.pubsub.v1.SchemaSettings.encode(message.schemaSettings, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.satisfiesPzs != null && Object.hasOwnProperty.call(message, "satisfiesPzs"))
+ writer.uint32(/* id 7, wireType 0 =*/56).bool(message.satisfiesPzs);
+ if (message.messageRetentionDuration != null && Object.hasOwnProperty.call(message, "messageRetentionDuration"))
+ $root.google.protobuf.Duration.encode(message.messageRetentionDuration, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 9, wireType 0 =*/72).int32(message.state);
+ if (message.ingestionDataSourceSettings != null && Object.hasOwnProperty.call(message, "ingestionDataSourceSettings"))
+ $root.google.pubsub.v1.IngestionDataSourceSettings.encode(message.ingestionDataSourceSettings, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ if (message.messageTransforms != null && message.messageTransforms.length)
+ for (var i = 0; i < message.messageTransforms.length; ++i)
+ $root.google.pubsub.v1.MessageTransform.encode(message.messageTransforms[i], writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
+ if (message.tags != null && Object.hasOwnProperty.call(message, "tags"))
+ for (var keys = Object.keys(message.tags), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 14, wireType 2 =*/114).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.tags[keys[i]]).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Topic message, length delimited. Does not implicitly {@link google.pubsub.v1.Topic.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.Topic
+ * @static
+ * @param {google.pubsub.v1.ITopic} message Topic message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Topic.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Topic message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.Topic
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.Topic} Topic
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Topic.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.Topic(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 3: {
+ message.messageStoragePolicy = $root.google.pubsub.v1.MessageStoragePolicy.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.kmsKeyName = reader.string();
+ break;
+ }
+ case 6: {
+ message.schemaSettings = $root.google.pubsub.v1.SchemaSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.satisfiesPzs = reader.bool();
+ break;
+ }
+ case 8: {
+ message.messageRetentionDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.state = reader.int32();
+ break;
+ }
+ case 10: {
+ message.ingestionDataSourceSettings = $root.google.pubsub.v1.IngestionDataSourceSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 13: {
+ if (!(message.messageTransforms && message.messageTransforms.length))
+ message.messageTransforms = [];
+ message.messageTransforms.push($root.google.pubsub.v1.MessageTransform.decode(reader, reader.uint32()));
+ break;
+ }
+ case 14: {
+ if (message.tags === $util.emptyObject)
+ message.tags = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.tags[key] = value;
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Topic message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.Topic
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.Topic} Topic
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Topic.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Topic message.
+ * @function verify
+ * @memberof google.pubsub.v1.Topic
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Topic.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.messageStoragePolicy != null && message.hasOwnProperty("messageStoragePolicy")) {
+ var error = $root.google.pubsub.v1.MessageStoragePolicy.verify(message.messageStoragePolicy);
+ if (error)
+ return "messageStoragePolicy." + error;
+ }
+ if (message.kmsKeyName != null && message.hasOwnProperty("kmsKeyName"))
+ if (!$util.isString(message.kmsKeyName))
+ return "kmsKeyName: string expected";
+ if (message.schemaSettings != null && message.hasOwnProperty("schemaSettings")) {
+ var error = $root.google.pubsub.v1.SchemaSettings.verify(message.schemaSettings);
+ if (error)
+ return "schemaSettings." + error;
+ }
+ if (message.satisfiesPzs != null && message.hasOwnProperty("satisfiesPzs"))
+ if (typeof message.satisfiesPzs !== "boolean")
+ return "satisfiesPzs: boolean expected";
+ if (message.messageRetentionDuration != null && message.hasOwnProperty("messageRetentionDuration")) {
+ var error = $root.google.protobuf.Duration.verify(message.messageRetentionDuration);
+ if (error)
+ return "messageRetentionDuration." + error;
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.ingestionDataSourceSettings != null && message.hasOwnProperty("ingestionDataSourceSettings")) {
+ var error = $root.google.pubsub.v1.IngestionDataSourceSettings.verify(message.ingestionDataSourceSettings);
+ if (error)
+ return "ingestionDataSourceSettings." + error;
+ }
+ if (message.messageTransforms != null && message.hasOwnProperty("messageTransforms")) {
+ if (!Array.isArray(message.messageTransforms))
+ return "messageTransforms: array expected";
+ for (var i = 0; i < message.messageTransforms.length; ++i) {
+ var error = $root.google.pubsub.v1.MessageTransform.verify(message.messageTransforms[i]);
+ if (error)
+ return "messageTransforms." + error;
+ }
+ }
+ if (message.tags != null && message.hasOwnProperty("tags")) {
+ if (!$util.isObject(message.tags))
+ return "tags: object expected";
+ var key = Object.keys(message.tags);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.tags[key[i]]))
+ return "tags: string{k:string} expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Topic message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.Topic
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.Topic} Topic
+ */
+ Topic.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.Topic)
+ return object;
+ var message = new $root.google.pubsub.v1.Topic();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.pubsub.v1.Topic.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ if (object.messageStoragePolicy != null) {
+ if (typeof object.messageStoragePolicy !== "object")
+ throw TypeError(".google.pubsub.v1.Topic.messageStoragePolicy: object expected");
+ message.messageStoragePolicy = $root.google.pubsub.v1.MessageStoragePolicy.fromObject(object.messageStoragePolicy);
+ }
+ if (object.kmsKeyName != null)
+ message.kmsKeyName = String(object.kmsKeyName);
+ if (object.schemaSettings != null) {
+ if (typeof object.schemaSettings !== "object")
+ throw TypeError(".google.pubsub.v1.Topic.schemaSettings: object expected");
+ message.schemaSettings = $root.google.pubsub.v1.SchemaSettings.fromObject(object.schemaSettings);
+ }
+ if (object.satisfiesPzs != null)
+ message.satisfiesPzs = Boolean(object.satisfiesPzs);
+ if (object.messageRetentionDuration != null) {
+ if (typeof object.messageRetentionDuration !== "object")
+ throw TypeError(".google.pubsub.v1.Topic.messageRetentionDuration: object expected");
+ message.messageRetentionDuration = $root.google.protobuf.Duration.fromObject(object.messageRetentionDuration);
+ }
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "ACTIVE":
+ case 1:
+ message.state = 1;
+ break;
+ case "INGESTION_RESOURCE_ERROR":
+ case 2:
+ message.state = 2;
+ break;
+ }
+ if (object.ingestionDataSourceSettings != null) {
+ if (typeof object.ingestionDataSourceSettings !== "object")
+ throw TypeError(".google.pubsub.v1.Topic.ingestionDataSourceSettings: object expected");
+ message.ingestionDataSourceSettings = $root.google.pubsub.v1.IngestionDataSourceSettings.fromObject(object.ingestionDataSourceSettings);
+ }
+ if (object.messageTransforms) {
+ if (!Array.isArray(object.messageTransforms))
+ throw TypeError(".google.pubsub.v1.Topic.messageTransforms: array expected");
+ message.messageTransforms = [];
+ for (var i = 0; i < object.messageTransforms.length; ++i) {
+ if (typeof object.messageTransforms[i] !== "object")
+ throw TypeError(".google.pubsub.v1.Topic.messageTransforms: object expected");
+ message.messageTransforms[i] = $root.google.pubsub.v1.MessageTransform.fromObject(object.messageTransforms[i]);
+ }
+ }
+ if (object.tags) {
+ if (typeof object.tags !== "object")
+ throw TypeError(".google.pubsub.v1.Topic.tags: object expected");
+ message.tags = {};
+ for (var keys = Object.keys(object.tags), i = 0; i < keys.length; ++i)
+ message.tags[keys[i]] = String(object.tags[keys[i]]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Topic message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.Topic
+ * @static
+ * @param {google.pubsub.v1.Topic} message Topic
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Topic.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.messageTransforms = [];
+ if (options.objects || options.defaults) {
+ object.labels = {};
+ object.tags = {};
+ }
+ if (options.defaults) {
+ object.name = "";
+ object.messageStoragePolicy = null;
+ object.kmsKeyName = "";
+ object.schemaSettings = null;
+ object.satisfiesPzs = false;
+ object.messageRetentionDuration = null;
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.ingestionDataSourceSettings = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.messageStoragePolicy != null && message.hasOwnProperty("messageStoragePolicy"))
+ object.messageStoragePolicy = $root.google.pubsub.v1.MessageStoragePolicy.toObject(message.messageStoragePolicy, options);
+ if (message.kmsKeyName != null && message.hasOwnProperty("kmsKeyName"))
+ object.kmsKeyName = message.kmsKeyName;
+ if (message.schemaSettings != null && message.hasOwnProperty("schemaSettings"))
+ object.schemaSettings = $root.google.pubsub.v1.SchemaSettings.toObject(message.schemaSettings, options);
+ if (message.satisfiesPzs != null && message.hasOwnProperty("satisfiesPzs"))
+ object.satisfiesPzs = message.satisfiesPzs;
+ if (message.messageRetentionDuration != null && message.hasOwnProperty("messageRetentionDuration"))
+ object.messageRetentionDuration = $root.google.protobuf.Duration.toObject(message.messageRetentionDuration, options);
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.pubsub.v1.Topic.State[message.state] === undefined ? message.state : $root.google.pubsub.v1.Topic.State[message.state] : message.state;
+ if (message.ingestionDataSourceSettings != null && message.hasOwnProperty("ingestionDataSourceSettings"))
+ object.ingestionDataSourceSettings = $root.google.pubsub.v1.IngestionDataSourceSettings.toObject(message.ingestionDataSourceSettings, options);
+ if (message.messageTransforms && message.messageTransforms.length) {
+ object.messageTransforms = [];
+ for (var j = 0; j < message.messageTransforms.length; ++j)
+ object.messageTransforms[j] = $root.google.pubsub.v1.MessageTransform.toObject(message.messageTransforms[j], options);
+ }
+ if (message.tags && (keys2 = Object.keys(message.tags)).length) {
+ object.tags = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.tags[keys2[j]] = message.tags[keys2[j]];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Topic to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.Topic
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Topic.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Topic
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.Topic
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Topic.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.Topic";
+ };
+
+ /**
+ * State enum.
+ * @name google.pubsub.v1.Topic.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} ACTIVE=1 ACTIVE value
+ * @property {number} INGESTION_RESOURCE_ERROR=2 INGESTION_RESOURCE_ERROR value
+ */
+ Topic.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ACTIVE"] = 1;
+ values[valuesById[2] = "INGESTION_RESOURCE_ERROR"] = 2;
+ return values;
+ })();
+
+ return Topic;
+ })();
+
+ v1.PubsubMessage = (function() {
+
+ /**
+ * Properties of a PubsubMessage.
+ * @memberof google.pubsub.v1
+ * @interface IPubsubMessage
+ * @property {Uint8Array|null} [data] PubsubMessage data
+ * @property {Object.|null} [attributes] PubsubMessage attributes
+ * @property {string|null} [messageId] PubsubMessage messageId
+ * @property {google.protobuf.ITimestamp|null} [publishTime] PubsubMessage publishTime
+ * @property {string|null} [orderingKey] PubsubMessage orderingKey
+ */
+
+ /**
+ * Constructs a new PubsubMessage.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a PubsubMessage.
+ * @implements IPubsubMessage
+ * @constructor
+ * @param {google.pubsub.v1.IPubsubMessage=} [properties] Properties to set
+ */
+ function PubsubMessage(properties) {
+ this.attributes = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * PubsubMessage data.
+ * @member {Uint8Array} data
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @instance
+ */
+ PubsubMessage.prototype.data = $util.newBuffer([]);
+
+ /**
+ * PubsubMessage attributes.
+ * @member {Object.} attributes
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @instance
+ */
+ PubsubMessage.prototype.attributes = $util.emptyObject;
+
+ /**
+ * PubsubMessage messageId.
+ * @member {string} messageId
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @instance
+ */
+ PubsubMessage.prototype.messageId = "";
+
+ /**
+ * PubsubMessage publishTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} publishTime
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @instance
+ */
+ PubsubMessage.prototype.publishTime = null;
+
+ /**
+ * PubsubMessage orderingKey.
+ * @member {string} orderingKey
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @instance
+ */
+ PubsubMessage.prototype.orderingKey = "";
+
+ /**
+ * Creates a new PubsubMessage instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @static
+ * @param {google.pubsub.v1.IPubsubMessage=} [properties] Properties to set
+ * @returns {google.pubsub.v1.PubsubMessage} PubsubMessage instance
+ */
+ PubsubMessage.create = function create(properties) {
+ return new PubsubMessage(properties);
+ };
+
+ /**
+ * Encodes the specified PubsubMessage message. Does not implicitly {@link google.pubsub.v1.PubsubMessage.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @static
+ * @param {google.pubsub.v1.IPubsubMessage} message PubsubMessage message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PubsubMessage.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.data != null && Object.hasOwnProperty.call(message, "data"))
+ writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data);
+ if (message.attributes != null && Object.hasOwnProperty.call(message, "attributes"))
+ for (var keys = Object.keys(message.attributes), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.attributes[keys[i]]).ldelim();
+ if (message.messageId != null && Object.hasOwnProperty.call(message, "messageId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.messageId);
+ if (message.publishTime != null && Object.hasOwnProperty.call(message, "publishTime"))
+ $root.google.protobuf.Timestamp.encode(message.publishTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.orderingKey != null && Object.hasOwnProperty.call(message, "orderingKey"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.orderingKey);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PubsubMessage message, length delimited. Does not implicitly {@link google.pubsub.v1.PubsubMessage.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @static
+ * @param {google.pubsub.v1.IPubsubMessage} message PubsubMessage message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PubsubMessage.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PubsubMessage message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.PubsubMessage} PubsubMessage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PubsubMessage.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.PubsubMessage(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.data = reader.bytes();
+ break;
+ }
+ case 2: {
+ if (message.attributes === $util.emptyObject)
+ message.attributes = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.attributes[key] = value;
+ break;
+ }
+ case 3: {
+ message.messageId = reader.string();
+ break;
+ }
+ case 4: {
+ message.publishTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.orderingKey = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PubsubMessage message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.PubsubMessage} PubsubMessage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PubsubMessage.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PubsubMessage message.
+ * @function verify
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PubsubMessage.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.data != null && message.hasOwnProperty("data"))
+ if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data)))
+ return "data: buffer expected";
+ if (message.attributes != null && message.hasOwnProperty("attributes")) {
+ if (!$util.isObject(message.attributes))
+ return "attributes: object expected";
+ var key = Object.keys(message.attributes);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.attributes[key[i]]))
+ return "attributes: string{k:string} expected";
+ }
+ if (message.messageId != null && message.hasOwnProperty("messageId"))
+ if (!$util.isString(message.messageId))
+ return "messageId: string expected";
+ if (message.publishTime != null && message.hasOwnProperty("publishTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.publishTime);
+ if (error)
+ return "publishTime." + error;
+ }
+ if (message.orderingKey != null && message.hasOwnProperty("orderingKey"))
+ if (!$util.isString(message.orderingKey))
+ return "orderingKey: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a PubsubMessage message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.PubsubMessage} PubsubMessage
+ */
+ PubsubMessage.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.PubsubMessage)
+ return object;
+ var message = new $root.google.pubsub.v1.PubsubMessage();
+ if (object.data != null)
+ if (typeof object.data === "string")
+ $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0);
+ else if (object.data.length >= 0)
+ message.data = object.data;
+ if (object.attributes) {
+ if (typeof object.attributes !== "object")
+ throw TypeError(".google.pubsub.v1.PubsubMessage.attributes: object expected");
+ message.attributes = {};
+ for (var keys = Object.keys(object.attributes), i = 0; i < keys.length; ++i)
+ message.attributes[keys[i]] = String(object.attributes[keys[i]]);
+ }
+ if (object.messageId != null)
+ message.messageId = String(object.messageId);
+ if (object.publishTime != null) {
+ if (typeof object.publishTime !== "object")
+ throw TypeError(".google.pubsub.v1.PubsubMessage.publishTime: object expected");
+ message.publishTime = $root.google.protobuf.Timestamp.fromObject(object.publishTime);
+ }
+ if (object.orderingKey != null)
+ message.orderingKey = String(object.orderingKey);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PubsubMessage message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @static
+ * @param {google.pubsub.v1.PubsubMessage} message PubsubMessage
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PubsubMessage.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.attributes = {};
+ if (options.defaults) {
+ if (options.bytes === String)
+ object.data = "";
+ else {
+ object.data = [];
+ if (options.bytes !== Array)
+ object.data = $util.newBuffer(object.data);
+ }
+ object.messageId = "";
+ object.publishTime = null;
+ object.orderingKey = "";
+ }
+ if (message.data != null && message.hasOwnProperty("data"))
+ object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data;
+ var keys2;
+ if (message.attributes && (keys2 = Object.keys(message.attributes)).length) {
+ object.attributes = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.attributes[keys2[j]] = message.attributes[keys2[j]];
+ }
+ if (message.messageId != null && message.hasOwnProperty("messageId"))
+ object.messageId = message.messageId;
+ if (message.publishTime != null && message.hasOwnProperty("publishTime"))
+ object.publishTime = $root.google.protobuf.Timestamp.toObject(message.publishTime, options);
+ if (message.orderingKey != null && message.hasOwnProperty("orderingKey"))
+ object.orderingKey = message.orderingKey;
+ return object;
+ };
+
+ /**
+ * Converts this PubsubMessage to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PubsubMessage.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PubsubMessage
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.PubsubMessage
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PubsubMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.PubsubMessage";
+ };
+
+ return PubsubMessage;
+ })();
+
+ v1.GetTopicRequest = (function() {
+
+ /**
+ * Properties of a GetTopicRequest.
+ * @memberof google.pubsub.v1
+ * @interface IGetTopicRequest
+ * @property {string|null} [topic] GetTopicRequest topic
+ */
+
+ /**
+ * Constructs a new GetTopicRequest.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a GetTopicRequest.
+ * @implements IGetTopicRequest
+ * @constructor
+ * @param {google.pubsub.v1.IGetTopicRequest=} [properties] Properties to set
+ */
+ function GetTopicRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * GetTopicRequest topic.
+ * @member {string} topic
+ * @memberof google.pubsub.v1.GetTopicRequest
+ * @instance
+ */
+ GetTopicRequest.prototype.topic = "";
+
+ /**
+ * Creates a new GetTopicRequest instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.GetTopicRequest
+ * @static
+ * @param {google.pubsub.v1.IGetTopicRequest=} [properties] Properties to set
+ * @returns {google.pubsub.v1.GetTopicRequest} GetTopicRequest instance
+ */
+ GetTopicRequest.create = function create(properties) {
+ return new GetTopicRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetTopicRequest message. Does not implicitly {@link google.pubsub.v1.GetTopicRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.GetTopicRequest
+ * @static
+ * @param {google.pubsub.v1.IGetTopicRequest} message GetTopicRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetTopicRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.topic != null && Object.hasOwnProperty.call(message, "topic"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.topic);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetTopicRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.GetTopicRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.GetTopicRequest
+ * @static
+ * @param {google.pubsub.v1.IGetTopicRequest} message GetTopicRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetTopicRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetTopicRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.GetTopicRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.GetTopicRequest} GetTopicRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetTopicRequest.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.GetTopicRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.topic = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetTopicRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.GetTopicRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.GetTopicRequest} GetTopicRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetTopicRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetTopicRequest message.
+ * @function verify
+ * @memberof google.pubsub.v1.GetTopicRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetTopicRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ if (!$util.isString(message.topic))
+ return "topic: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GetTopicRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.GetTopicRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.GetTopicRequest} GetTopicRequest
+ */
+ GetTopicRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.GetTopicRequest)
+ return object;
+ var message = new $root.google.pubsub.v1.GetTopicRequest();
+ if (object.topic != null)
+ message.topic = String(object.topic);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetTopicRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.GetTopicRequest
+ * @static
+ * @param {google.pubsub.v1.GetTopicRequest} message GetTopicRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetTopicRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.topic = "";
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ object.topic = message.topic;
+ return object;
+ };
+
+ /**
+ * Converts this GetTopicRequest to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.GetTopicRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetTopicRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetTopicRequest
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.GetTopicRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetTopicRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.GetTopicRequest";
+ };
+
+ return GetTopicRequest;
+ })();
+
+ v1.UpdateTopicRequest = (function() {
+
+ /**
+ * Properties of an UpdateTopicRequest.
+ * @memberof google.pubsub.v1
+ * @interface IUpdateTopicRequest
+ * @property {google.pubsub.v1.ITopic|null} [topic] UpdateTopicRequest topic
+ * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateTopicRequest updateMask
+ */
+
+ /**
+ * Constructs a new UpdateTopicRequest.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents an UpdateTopicRequest.
+ * @implements IUpdateTopicRequest
+ * @constructor
+ * @param {google.pubsub.v1.IUpdateTopicRequest=} [properties] Properties to set
+ */
+ function UpdateTopicRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * UpdateTopicRequest topic.
+ * @member {google.pubsub.v1.ITopic|null|undefined} topic
+ * @memberof google.pubsub.v1.UpdateTopicRequest
+ * @instance
+ */
+ UpdateTopicRequest.prototype.topic = null;
+
+ /**
+ * UpdateTopicRequest updateMask.
+ * @member {google.protobuf.IFieldMask|null|undefined} updateMask
+ * @memberof google.pubsub.v1.UpdateTopicRequest
+ * @instance
+ */
+ UpdateTopicRequest.prototype.updateMask = null;
+
+ /**
+ * Creates a new UpdateTopicRequest instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.UpdateTopicRequest
+ * @static
+ * @param {google.pubsub.v1.IUpdateTopicRequest=} [properties] Properties to set
+ * @returns {google.pubsub.v1.UpdateTopicRequest} UpdateTopicRequest instance
+ */
+ UpdateTopicRequest.create = function create(properties) {
+ return new UpdateTopicRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateTopicRequest message. Does not implicitly {@link google.pubsub.v1.UpdateTopicRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.UpdateTopicRequest
+ * @static
+ * @param {google.pubsub.v1.IUpdateTopicRequest} message UpdateTopicRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateTopicRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.topic != null && Object.hasOwnProperty.call(message, "topic"))
+ $root.google.pubsub.v1.Topic.encode(message.topic, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
+ $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateTopicRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.UpdateTopicRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.UpdateTopicRequest
+ * @static
+ * @param {google.pubsub.v1.IUpdateTopicRequest} message UpdateTopicRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateTopicRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateTopicRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.UpdateTopicRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.UpdateTopicRequest} UpdateTopicRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateTopicRequest.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.UpdateTopicRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.topic = $root.google.pubsub.v1.Topic.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateTopicRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.UpdateTopicRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.UpdateTopicRequest} UpdateTopicRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateTopicRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateTopicRequest message.
+ * @function verify
+ * @memberof google.pubsub.v1.UpdateTopicRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateTopicRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.topic != null && message.hasOwnProperty("topic")) {
+ var error = $root.google.pubsub.v1.Topic.verify(message.topic);
+ if (error)
+ return "topic." + error;
+ }
+ if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
+ var error = $root.google.protobuf.FieldMask.verify(message.updateMask);
+ if (error)
+ return "updateMask." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an UpdateTopicRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.UpdateTopicRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.UpdateTopicRequest} UpdateTopicRequest
+ */
+ UpdateTopicRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.UpdateTopicRequest)
+ return object;
+ var message = new $root.google.pubsub.v1.UpdateTopicRequest();
+ if (object.topic != null) {
+ if (typeof object.topic !== "object")
+ throw TypeError(".google.pubsub.v1.UpdateTopicRequest.topic: object expected");
+ message.topic = $root.google.pubsub.v1.Topic.fromObject(object.topic);
+ }
+ if (object.updateMask != null) {
+ if (typeof object.updateMask !== "object")
+ throw TypeError(".google.pubsub.v1.UpdateTopicRequest.updateMask: object expected");
+ message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateTopicRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.UpdateTopicRequest
+ * @static
+ * @param {google.pubsub.v1.UpdateTopicRequest} message UpdateTopicRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateTopicRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.topic = null;
+ object.updateMask = null;
+ }
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ object.topic = $root.google.pubsub.v1.Topic.toObject(message.topic, options);
+ if (message.updateMask != null && message.hasOwnProperty("updateMask"))
+ object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
+ return object;
+ };
+
+ /**
+ * Converts this UpdateTopicRequest to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.UpdateTopicRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateTopicRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateTopicRequest
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.UpdateTopicRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateTopicRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.UpdateTopicRequest";
+ };
+
+ return UpdateTopicRequest;
+ })();
+
+ v1.PublishRequest = (function() {
+
+ /**
+ * Properties of a PublishRequest.
+ * @memberof google.pubsub.v1
+ * @interface IPublishRequest
+ * @property {string|null} [topic] PublishRequest topic
+ * @property {Array.|null} [messages] PublishRequest messages
+ */
+
+ /**
+ * Constructs a new PublishRequest.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a PublishRequest.
+ * @implements IPublishRequest
+ * @constructor
+ * @param {google.pubsub.v1.IPublishRequest=} [properties] Properties to set
+ */
+ function PublishRequest(properties) {
+ this.messages = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * PublishRequest topic.
+ * @member {string} topic
+ * @memberof google.pubsub.v1.PublishRequest
+ * @instance
+ */
+ PublishRequest.prototype.topic = "";
+
+ /**
+ * PublishRequest messages.
+ * @member {Array.} messages
+ * @memberof google.pubsub.v1.PublishRequest
+ * @instance
+ */
+ PublishRequest.prototype.messages = $util.emptyArray;
+
+ /**
+ * Creates a new PublishRequest instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.PublishRequest
+ * @static
+ * @param {google.pubsub.v1.IPublishRequest=} [properties] Properties to set
+ * @returns {google.pubsub.v1.PublishRequest} PublishRequest instance
+ */
+ PublishRequest.create = function create(properties) {
+ return new PublishRequest(properties);
+ };
+
+ /**
+ * Encodes the specified PublishRequest message. Does not implicitly {@link google.pubsub.v1.PublishRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.PublishRequest
+ * @static
+ * @param {google.pubsub.v1.IPublishRequest} message PublishRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PublishRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.topic != null && Object.hasOwnProperty.call(message, "topic"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.topic);
+ if (message.messages != null && message.messages.length)
+ for (var i = 0; i < message.messages.length; ++i)
+ $root.google.pubsub.v1.PubsubMessage.encode(message.messages[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PublishRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.PublishRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.PublishRequest
+ * @static
+ * @param {google.pubsub.v1.IPublishRequest} message PublishRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PublishRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PublishRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.PublishRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.PublishRequest} PublishRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PublishRequest.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.PublishRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.topic = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.messages && message.messages.length))
+ message.messages = [];
+ message.messages.push($root.google.pubsub.v1.PubsubMessage.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PublishRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.PublishRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.PublishRequest} PublishRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PublishRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PublishRequest message.
+ * @function verify
+ * @memberof google.pubsub.v1.PublishRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PublishRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ if (!$util.isString(message.topic))
+ return "topic: string expected";
+ if (message.messages != null && message.hasOwnProperty("messages")) {
+ if (!Array.isArray(message.messages))
+ return "messages: array expected";
+ for (var i = 0; i < message.messages.length; ++i) {
+ var error = $root.google.pubsub.v1.PubsubMessage.verify(message.messages[i]);
+ if (error)
+ return "messages." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PublishRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.PublishRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.PublishRequest} PublishRequest
+ */
+ PublishRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.PublishRequest)
+ return object;
+ var message = new $root.google.pubsub.v1.PublishRequest();
+ if (object.topic != null)
+ message.topic = String(object.topic);
+ if (object.messages) {
+ if (!Array.isArray(object.messages))
+ throw TypeError(".google.pubsub.v1.PublishRequest.messages: array expected");
+ message.messages = [];
+ for (var i = 0; i < object.messages.length; ++i) {
+ if (typeof object.messages[i] !== "object")
+ throw TypeError(".google.pubsub.v1.PublishRequest.messages: object expected");
+ message.messages[i] = $root.google.pubsub.v1.PubsubMessage.fromObject(object.messages[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PublishRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.PublishRequest
+ * @static
+ * @param {google.pubsub.v1.PublishRequest} message PublishRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PublishRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.messages = [];
+ if (options.defaults)
+ object.topic = "";
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ object.topic = message.topic;
+ if (message.messages && message.messages.length) {
+ object.messages = [];
+ for (var j = 0; j < message.messages.length; ++j)
+ object.messages[j] = $root.google.pubsub.v1.PubsubMessage.toObject(message.messages[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this PublishRequest to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.PublishRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PublishRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PublishRequest
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.PublishRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PublishRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.PublishRequest";
+ };
+
+ return PublishRequest;
+ })();
+
+ v1.PublishResponse = (function() {
+
+ /**
+ * Properties of a PublishResponse.
+ * @memberof google.pubsub.v1
+ * @interface IPublishResponse
+ * @property {Array.|null} [messageIds] PublishResponse messageIds
+ */
+
+ /**
+ * Constructs a new PublishResponse.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a PublishResponse.
+ * @implements IPublishResponse
+ * @constructor
+ * @param {google.pubsub.v1.IPublishResponse=} [properties] Properties to set
+ */
+ function PublishResponse(properties) {
+ this.messageIds = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * PublishResponse messageIds.
+ * @member {Array.} messageIds
+ * @memberof google.pubsub.v1.PublishResponse
+ * @instance
+ */
+ PublishResponse.prototype.messageIds = $util.emptyArray;
+
+ /**
+ * Creates a new PublishResponse instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.PublishResponse
+ * @static
+ * @param {google.pubsub.v1.IPublishResponse=} [properties] Properties to set
+ * @returns {google.pubsub.v1.PublishResponse} PublishResponse instance
+ */
+ PublishResponse.create = function create(properties) {
+ return new PublishResponse(properties);
+ };
+
+ /**
+ * Encodes the specified PublishResponse message. Does not implicitly {@link google.pubsub.v1.PublishResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.PublishResponse
+ * @static
+ * @param {google.pubsub.v1.IPublishResponse} message PublishResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PublishResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.messageIds != null && message.messageIds.length)
+ for (var i = 0; i < message.messageIds.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.messageIds[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PublishResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.PublishResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.PublishResponse
+ * @static
+ * @param {google.pubsub.v1.IPublishResponse} message PublishResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PublishResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PublishResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.PublishResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.PublishResponse} PublishResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PublishResponse.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.PublishResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.messageIds && message.messageIds.length))
+ message.messageIds = [];
+ message.messageIds.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PublishResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.PublishResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.PublishResponse} PublishResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PublishResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PublishResponse message.
+ * @function verify
+ * @memberof google.pubsub.v1.PublishResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PublishResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.messageIds != null && message.hasOwnProperty("messageIds")) {
+ if (!Array.isArray(message.messageIds))
+ return "messageIds: array expected";
+ for (var i = 0; i < message.messageIds.length; ++i)
+ if (!$util.isString(message.messageIds[i]))
+ return "messageIds: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PublishResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.PublishResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.PublishResponse} PublishResponse
+ */
+ PublishResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.PublishResponse)
+ return object;
+ var message = new $root.google.pubsub.v1.PublishResponse();
+ if (object.messageIds) {
+ if (!Array.isArray(object.messageIds))
+ throw TypeError(".google.pubsub.v1.PublishResponse.messageIds: array expected");
+ message.messageIds = [];
+ for (var i = 0; i < object.messageIds.length; ++i)
+ message.messageIds[i] = String(object.messageIds[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PublishResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.PublishResponse
+ * @static
+ * @param {google.pubsub.v1.PublishResponse} message PublishResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PublishResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.messageIds = [];
+ if (message.messageIds && message.messageIds.length) {
+ object.messageIds = [];
+ for (var j = 0; j < message.messageIds.length; ++j)
+ object.messageIds[j] = message.messageIds[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this PublishResponse to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.PublishResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PublishResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PublishResponse
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.PublishResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PublishResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.PublishResponse";
+ };
+
+ return PublishResponse;
+ })();
+
+ v1.ListTopicsRequest = (function() {
+
+ /**
+ * Properties of a ListTopicsRequest.
+ * @memberof google.pubsub.v1
+ * @interface IListTopicsRequest
+ * @property {string|null} [project] ListTopicsRequest project
+ * @property {number|null} [pageSize] ListTopicsRequest pageSize
+ * @property {string|null} [pageToken] ListTopicsRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListTopicsRequest.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a ListTopicsRequest.
+ * @implements IListTopicsRequest
+ * @constructor
+ * @param {google.pubsub.v1.IListTopicsRequest=} [properties] Properties to set
+ */
+ function ListTopicsRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListTopicsRequest project.
+ * @member {string} project
+ * @memberof google.pubsub.v1.ListTopicsRequest
+ * @instance
+ */
+ ListTopicsRequest.prototype.project = "";
+
+ /**
+ * ListTopicsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.pubsub.v1.ListTopicsRequest
+ * @instance
+ */
+ ListTopicsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListTopicsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.pubsub.v1.ListTopicsRequest
+ * @instance
+ */
+ ListTopicsRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListTopicsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.ListTopicsRequest
+ * @static
+ * @param {google.pubsub.v1.IListTopicsRequest=} [properties] Properties to set
+ * @returns {google.pubsub.v1.ListTopicsRequest} ListTopicsRequest instance
+ */
+ ListTopicsRequest.create = function create(properties) {
+ return new ListTopicsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListTopicsRequest message. Does not implicitly {@link google.pubsub.v1.ListTopicsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.ListTopicsRequest
+ * @static
+ * @param {google.pubsub.v1.IListTopicsRequest} message ListTopicsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTopicsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.project != null && Object.hasOwnProperty.call(message, "project"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.project);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListTopicsRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.ListTopicsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.ListTopicsRequest
+ * @static
+ * @param {google.pubsub.v1.IListTopicsRequest} message ListTopicsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTopicsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListTopicsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.ListTopicsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.ListTopicsRequest} ListTopicsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTopicsRequest.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.ListTopicsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.project = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListTopicsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.ListTopicsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.ListTopicsRequest} ListTopicsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTopicsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListTopicsRequest message.
+ * @function verify
+ * @memberof google.pubsub.v1.ListTopicsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListTopicsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.project != null && message.hasOwnProperty("project"))
+ if (!$util.isString(message.project))
+ return "project: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListTopicsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.ListTopicsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.ListTopicsRequest} ListTopicsRequest
+ */
+ ListTopicsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.ListTopicsRequest)
+ return object;
+ var message = new $root.google.pubsub.v1.ListTopicsRequest();
+ if (object.project != null)
+ message.project = String(object.project);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListTopicsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.ListTopicsRequest
+ * @static
+ * @param {google.pubsub.v1.ListTopicsRequest} message ListTopicsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListTopicsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.project = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ }
+ if (message.project != null && message.hasOwnProperty("project"))
+ object.project = message.project;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListTopicsRequest to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.ListTopicsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListTopicsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListTopicsRequest
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.ListTopicsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListTopicsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.ListTopicsRequest";
+ };
+
+ return ListTopicsRequest;
+ })();
+
+ v1.ListTopicsResponse = (function() {
+
+ /**
+ * Properties of a ListTopicsResponse.
+ * @memberof google.pubsub.v1
+ * @interface IListTopicsResponse
+ * @property {Array.|null} [topics] ListTopicsResponse topics
+ * @property {string|null} [nextPageToken] ListTopicsResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListTopicsResponse.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a ListTopicsResponse.
+ * @implements IListTopicsResponse
+ * @constructor
+ * @param {google.pubsub.v1.IListTopicsResponse=} [properties] Properties to set
+ */
+ function ListTopicsResponse(properties) {
+ this.topics = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListTopicsResponse topics.
+ * @member {Array.} topics
+ * @memberof google.pubsub.v1.ListTopicsResponse
+ * @instance
+ */
+ ListTopicsResponse.prototype.topics = $util.emptyArray;
+
+ /**
+ * ListTopicsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.pubsub.v1.ListTopicsResponse
+ * @instance
+ */
+ ListTopicsResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListTopicsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.ListTopicsResponse
+ * @static
+ * @param {google.pubsub.v1.IListTopicsResponse=} [properties] Properties to set
+ * @returns {google.pubsub.v1.ListTopicsResponse} ListTopicsResponse instance
+ */
+ ListTopicsResponse.create = function create(properties) {
+ return new ListTopicsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListTopicsResponse message. Does not implicitly {@link google.pubsub.v1.ListTopicsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.ListTopicsResponse
+ * @static
+ * @param {google.pubsub.v1.IListTopicsResponse} message ListTopicsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTopicsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.topics != null && message.topics.length)
+ for (var i = 0; i < message.topics.length; ++i)
+ $root.google.pubsub.v1.Topic.encode(message.topics[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListTopicsResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.ListTopicsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.ListTopicsResponse
+ * @static
+ * @param {google.pubsub.v1.IListTopicsResponse} message ListTopicsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTopicsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListTopicsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.ListTopicsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.ListTopicsResponse} ListTopicsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTopicsResponse.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.ListTopicsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.topics && message.topics.length))
+ message.topics = [];
+ message.topics.push($root.google.pubsub.v1.Topic.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListTopicsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.ListTopicsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.ListTopicsResponse} ListTopicsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTopicsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListTopicsResponse message.
+ * @function verify
+ * @memberof google.pubsub.v1.ListTopicsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListTopicsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.topics != null && message.hasOwnProperty("topics")) {
+ if (!Array.isArray(message.topics))
+ return "topics: array expected";
+ for (var i = 0; i < message.topics.length; ++i) {
+ var error = $root.google.pubsub.v1.Topic.verify(message.topics[i]);
+ if (error)
+ return "topics." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListTopicsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.ListTopicsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.ListTopicsResponse} ListTopicsResponse
+ */
+ ListTopicsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.ListTopicsResponse)
+ return object;
+ var message = new $root.google.pubsub.v1.ListTopicsResponse();
+ if (object.topics) {
+ if (!Array.isArray(object.topics))
+ throw TypeError(".google.pubsub.v1.ListTopicsResponse.topics: array expected");
+ message.topics = [];
+ for (var i = 0; i < object.topics.length; ++i) {
+ if (typeof object.topics[i] !== "object")
+ throw TypeError(".google.pubsub.v1.ListTopicsResponse.topics: object expected");
+ message.topics[i] = $root.google.pubsub.v1.Topic.fromObject(object.topics[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListTopicsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.ListTopicsResponse
+ * @static
+ * @param {google.pubsub.v1.ListTopicsResponse} message ListTopicsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListTopicsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.topics = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.topics && message.topics.length) {
+ object.topics = [];
+ for (var j = 0; j < message.topics.length; ++j)
+ object.topics[j] = $root.google.pubsub.v1.Topic.toObject(message.topics[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListTopicsResponse to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.ListTopicsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListTopicsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListTopicsResponse
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.ListTopicsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListTopicsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.ListTopicsResponse";
+ };
+
+ return ListTopicsResponse;
+ })();
+
+ v1.ListTopicSubscriptionsRequest = (function() {
+
+ /**
+ * Properties of a ListTopicSubscriptionsRequest.
+ * @memberof google.pubsub.v1
+ * @interface IListTopicSubscriptionsRequest
+ * @property {string|null} [topic] ListTopicSubscriptionsRequest topic
+ * @property {number|null} [pageSize] ListTopicSubscriptionsRequest pageSize
+ * @property {string|null} [pageToken] ListTopicSubscriptionsRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListTopicSubscriptionsRequest.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a ListTopicSubscriptionsRequest.
+ * @implements IListTopicSubscriptionsRequest
+ * @constructor
+ * @param {google.pubsub.v1.IListTopicSubscriptionsRequest=} [properties] Properties to set
+ */
+ function ListTopicSubscriptionsRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListTopicSubscriptionsRequest topic.
+ * @member {string} topic
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsRequest
+ * @instance
+ */
+ ListTopicSubscriptionsRequest.prototype.topic = "";
+
+ /**
+ * ListTopicSubscriptionsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsRequest
+ * @instance
+ */
+ ListTopicSubscriptionsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListTopicSubscriptionsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsRequest
+ * @instance
+ */
+ ListTopicSubscriptionsRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListTopicSubscriptionsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsRequest
+ * @static
+ * @param {google.pubsub.v1.IListTopicSubscriptionsRequest=} [properties] Properties to set
+ * @returns {google.pubsub.v1.ListTopicSubscriptionsRequest} ListTopicSubscriptionsRequest instance
+ */
+ ListTopicSubscriptionsRequest.create = function create(properties) {
+ return new ListTopicSubscriptionsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListTopicSubscriptionsRequest message. Does not implicitly {@link google.pubsub.v1.ListTopicSubscriptionsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsRequest
+ * @static
+ * @param {google.pubsub.v1.IListTopicSubscriptionsRequest} message ListTopicSubscriptionsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTopicSubscriptionsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.topic != null && Object.hasOwnProperty.call(message, "topic"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.topic);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListTopicSubscriptionsRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.ListTopicSubscriptionsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsRequest
+ * @static
+ * @param {google.pubsub.v1.IListTopicSubscriptionsRequest} message ListTopicSubscriptionsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTopicSubscriptionsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListTopicSubscriptionsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.ListTopicSubscriptionsRequest} ListTopicSubscriptionsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTopicSubscriptionsRequest.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.ListTopicSubscriptionsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.topic = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListTopicSubscriptionsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.ListTopicSubscriptionsRequest} ListTopicSubscriptionsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTopicSubscriptionsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListTopicSubscriptionsRequest message.
+ * @function verify
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListTopicSubscriptionsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ if (!$util.isString(message.topic))
+ return "topic: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListTopicSubscriptionsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.ListTopicSubscriptionsRequest} ListTopicSubscriptionsRequest
+ */
+ ListTopicSubscriptionsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.ListTopicSubscriptionsRequest)
+ return object;
+ var message = new $root.google.pubsub.v1.ListTopicSubscriptionsRequest();
+ if (object.topic != null)
+ message.topic = String(object.topic);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListTopicSubscriptionsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsRequest
+ * @static
+ * @param {google.pubsub.v1.ListTopicSubscriptionsRequest} message ListTopicSubscriptionsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListTopicSubscriptionsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.topic = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ }
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ object.topic = message.topic;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListTopicSubscriptionsRequest to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListTopicSubscriptionsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListTopicSubscriptionsRequest
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListTopicSubscriptionsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.ListTopicSubscriptionsRequest";
+ };
+
+ return ListTopicSubscriptionsRequest;
+ })();
+
+ v1.ListTopicSubscriptionsResponse = (function() {
+
+ /**
+ * Properties of a ListTopicSubscriptionsResponse.
+ * @memberof google.pubsub.v1
+ * @interface IListTopicSubscriptionsResponse
+ * @property {Array.|null} [subscriptions] ListTopicSubscriptionsResponse subscriptions
+ * @property {string|null} [nextPageToken] ListTopicSubscriptionsResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListTopicSubscriptionsResponse.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a ListTopicSubscriptionsResponse.
+ * @implements IListTopicSubscriptionsResponse
+ * @constructor
+ * @param {google.pubsub.v1.IListTopicSubscriptionsResponse=} [properties] Properties to set
+ */
+ function ListTopicSubscriptionsResponse(properties) {
+ this.subscriptions = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListTopicSubscriptionsResponse subscriptions.
+ * @member {Array.} subscriptions
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsResponse
+ * @instance
+ */
+ ListTopicSubscriptionsResponse.prototype.subscriptions = $util.emptyArray;
+
+ /**
+ * ListTopicSubscriptionsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsResponse
+ * @instance
+ */
+ ListTopicSubscriptionsResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListTopicSubscriptionsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsResponse
+ * @static
+ * @param {google.pubsub.v1.IListTopicSubscriptionsResponse=} [properties] Properties to set
+ * @returns {google.pubsub.v1.ListTopicSubscriptionsResponse} ListTopicSubscriptionsResponse instance
+ */
+ ListTopicSubscriptionsResponse.create = function create(properties) {
+ return new ListTopicSubscriptionsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListTopicSubscriptionsResponse message. Does not implicitly {@link google.pubsub.v1.ListTopicSubscriptionsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsResponse
+ * @static
+ * @param {google.pubsub.v1.IListTopicSubscriptionsResponse} message ListTopicSubscriptionsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTopicSubscriptionsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.subscriptions != null && message.subscriptions.length)
+ for (var i = 0; i < message.subscriptions.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.subscriptions[i]);
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListTopicSubscriptionsResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.ListTopicSubscriptionsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsResponse
+ * @static
+ * @param {google.pubsub.v1.IListTopicSubscriptionsResponse} message ListTopicSubscriptionsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTopicSubscriptionsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListTopicSubscriptionsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.ListTopicSubscriptionsResponse} ListTopicSubscriptionsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTopicSubscriptionsResponse.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.ListTopicSubscriptionsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.subscriptions && message.subscriptions.length))
+ message.subscriptions = [];
+ message.subscriptions.push(reader.string());
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListTopicSubscriptionsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.ListTopicSubscriptionsResponse} ListTopicSubscriptionsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTopicSubscriptionsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListTopicSubscriptionsResponse message.
+ * @function verify
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListTopicSubscriptionsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.subscriptions != null && message.hasOwnProperty("subscriptions")) {
+ if (!Array.isArray(message.subscriptions))
+ return "subscriptions: array expected";
+ for (var i = 0; i < message.subscriptions.length; ++i)
+ if (!$util.isString(message.subscriptions[i]))
+ return "subscriptions: string[] expected";
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListTopicSubscriptionsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.ListTopicSubscriptionsResponse} ListTopicSubscriptionsResponse
+ */
+ ListTopicSubscriptionsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.ListTopicSubscriptionsResponse)
+ return object;
+ var message = new $root.google.pubsub.v1.ListTopicSubscriptionsResponse();
+ if (object.subscriptions) {
+ if (!Array.isArray(object.subscriptions))
+ throw TypeError(".google.pubsub.v1.ListTopicSubscriptionsResponse.subscriptions: array expected");
+ message.subscriptions = [];
+ for (var i = 0; i < object.subscriptions.length; ++i)
+ message.subscriptions[i] = String(object.subscriptions[i]);
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListTopicSubscriptionsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsResponse
+ * @static
+ * @param {google.pubsub.v1.ListTopicSubscriptionsResponse} message ListTopicSubscriptionsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListTopicSubscriptionsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.subscriptions = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.subscriptions && message.subscriptions.length) {
+ object.subscriptions = [];
+ for (var j = 0; j < message.subscriptions.length; ++j)
+ object.subscriptions[j] = message.subscriptions[j];
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListTopicSubscriptionsResponse to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListTopicSubscriptionsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListTopicSubscriptionsResponse
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.ListTopicSubscriptionsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListTopicSubscriptionsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.ListTopicSubscriptionsResponse";
+ };
+
+ return ListTopicSubscriptionsResponse;
+ })();
+
+ v1.ListTopicSnapshotsRequest = (function() {
+
+ /**
+ * Properties of a ListTopicSnapshotsRequest.
+ * @memberof google.pubsub.v1
+ * @interface IListTopicSnapshotsRequest
+ * @property {string|null} [topic] ListTopicSnapshotsRequest topic
+ * @property {number|null} [pageSize] ListTopicSnapshotsRequest pageSize
+ * @property {string|null} [pageToken] ListTopicSnapshotsRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListTopicSnapshotsRequest.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a ListTopicSnapshotsRequest.
+ * @implements IListTopicSnapshotsRequest
+ * @constructor
+ * @param {google.pubsub.v1.IListTopicSnapshotsRequest=} [properties] Properties to set
+ */
+ function ListTopicSnapshotsRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListTopicSnapshotsRequest topic.
+ * @member {string} topic
+ * @memberof google.pubsub.v1.ListTopicSnapshotsRequest
+ * @instance
+ */
+ ListTopicSnapshotsRequest.prototype.topic = "";
+
+ /**
+ * ListTopicSnapshotsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.pubsub.v1.ListTopicSnapshotsRequest
+ * @instance
+ */
+ ListTopicSnapshotsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListTopicSnapshotsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.pubsub.v1.ListTopicSnapshotsRequest
+ * @instance
+ */
+ ListTopicSnapshotsRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListTopicSnapshotsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.ListTopicSnapshotsRequest
+ * @static
+ * @param {google.pubsub.v1.IListTopicSnapshotsRequest=} [properties] Properties to set
+ * @returns {google.pubsub.v1.ListTopicSnapshotsRequest} ListTopicSnapshotsRequest instance
+ */
+ ListTopicSnapshotsRequest.create = function create(properties) {
+ return new ListTopicSnapshotsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListTopicSnapshotsRequest message. Does not implicitly {@link google.pubsub.v1.ListTopicSnapshotsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.ListTopicSnapshotsRequest
+ * @static
+ * @param {google.pubsub.v1.IListTopicSnapshotsRequest} message ListTopicSnapshotsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTopicSnapshotsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.topic != null && Object.hasOwnProperty.call(message, "topic"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.topic);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListTopicSnapshotsRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.ListTopicSnapshotsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.ListTopicSnapshotsRequest
+ * @static
+ * @param {google.pubsub.v1.IListTopicSnapshotsRequest} message ListTopicSnapshotsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTopicSnapshotsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListTopicSnapshotsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.ListTopicSnapshotsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.ListTopicSnapshotsRequest} ListTopicSnapshotsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTopicSnapshotsRequest.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.ListTopicSnapshotsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.topic = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListTopicSnapshotsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.ListTopicSnapshotsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.ListTopicSnapshotsRequest} ListTopicSnapshotsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTopicSnapshotsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListTopicSnapshotsRequest message.
+ * @function verify
+ * @memberof google.pubsub.v1.ListTopicSnapshotsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListTopicSnapshotsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ if (!$util.isString(message.topic))
+ return "topic: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListTopicSnapshotsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.ListTopicSnapshotsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.ListTopicSnapshotsRequest} ListTopicSnapshotsRequest
+ */
+ ListTopicSnapshotsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.ListTopicSnapshotsRequest)
+ return object;
+ var message = new $root.google.pubsub.v1.ListTopicSnapshotsRequest();
+ if (object.topic != null)
+ message.topic = String(object.topic);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListTopicSnapshotsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.ListTopicSnapshotsRequest
+ * @static
+ * @param {google.pubsub.v1.ListTopicSnapshotsRequest} message ListTopicSnapshotsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListTopicSnapshotsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.topic = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ }
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ object.topic = message.topic;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListTopicSnapshotsRequest to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.ListTopicSnapshotsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListTopicSnapshotsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListTopicSnapshotsRequest
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.ListTopicSnapshotsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListTopicSnapshotsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.ListTopicSnapshotsRequest";
+ };
+
+ return ListTopicSnapshotsRequest;
+ })();
+
+ v1.ListTopicSnapshotsResponse = (function() {
+
+ /**
+ * Properties of a ListTopicSnapshotsResponse.
+ * @memberof google.pubsub.v1
+ * @interface IListTopicSnapshotsResponse
+ * @property {Array.|null} [snapshots] ListTopicSnapshotsResponse snapshots
+ * @property {string|null} [nextPageToken] ListTopicSnapshotsResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListTopicSnapshotsResponse.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a ListTopicSnapshotsResponse.
+ * @implements IListTopicSnapshotsResponse
+ * @constructor
+ * @param {google.pubsub.v1.IListTopicSnapshotsResponse=} [properties] Properties to set
+ */
+ function ListTopicSnapshotsResponse(properties) {
+ this.snapshots = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListTopicSnapshotsResponse snapshots.
+ * @member {Array.} snapshots
+ * @memberof google.pubsub.v1.ListTopicSnapshotsResponse
+ * @instance
+ */
+ ListTopicSnapshotsResponse.prototype.snapshots = $util.emptyArray;
+
+ /**
+ * ListTopicSnapshotsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.pubsub.v1.ListTopicSnapshotsResponse
+ * @instance
+ */
+ ListTopicSnapshotsResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListTopicSnapshotsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.ListTopicSnapshotsResponse
+ * @static
+ * @param {google.pubsub.v1.IListTopicSnapshotsResponse=} [properties] Properties to set
+ * @returns {google.pubsub.v1.ListTopicSnapshotsResponse} ListTopicSnapshotsResponse instance
+ */
+ ListTopicSnapshotsResponse.create = function create(properties) {
+ return new ListTopicSnapshotsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListTopicSnapshotsResponse message. Does not implicitly {@link google.pubsub.v1.ListTopicSnapshotsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.ListTopicSnapshotsResponse
+ * @static
+ * @param {google.pubsub.v1.IListTopicSnapshotsResponse} message ListTopicSnapshotsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTopicSnapshotsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.snapshots != null && message.snapshots.length)
+ for (var i = 0; i < message.snapshots.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.snapshots[i]);
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListTopicSnapshotsResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.ListTopicSnapshotsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.ListTopicSnapshotsResponse
+ * @static
+ * @param {google.pubsub.v1.IListTopicSnapshotsResponse} message ListTopicSnapshotsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListTopicSnapshotsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListTopicSnapshotsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.ListTopicSnapshotsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.ListTopicSnapshotsResponse} ListTopicSnapshotsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTopicSnapshotsResponse.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.ListTopicSnapshotsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.snapshots && message.snapshots.length))
+ message.snapshots = [];
+ message.snapshots.push(reader.string());
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListTopicSnapshotsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.ListTopicSnapshotsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.ListTopicSnapshotsResponse} ListTopicSnapshotsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListTopicSnapshotsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListTopicSnapshotsResponse message.
+ * @function verify
+ * @memberof google.pubsub.v1.ListTopicSnapshotsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListTopicSnapshotsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.snapshots != null && message.hasOwnProperty("snapshots")) {
+ if (!Array.isArray(message.snapshots))
+ return "snapshots: array expected";
+ for (var i = 0; i < message.snapshots.length; ++i)
+ if (!$util.isString(message.snapshots[i]))
+ return "snapshots: string[] expected";
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListTopicSnapshotsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.ListTopicSnapshotsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.ListTopicSnapshotsResponse} ListTopicSnapshotsResponse
+ */
+ ListTopicSnapshotsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.ListTopicSnapshotsResponse)
+ return object;
+ var message = new $root.google.pubsub.v1.ListTopicSnapshotsResponse();
+ if (object.snapshots) {
+ if (!Array.isArray(object.snapshots))
+ throw TypeError(".google.pubsub.v1.ListTopicSnapshotsResponse.snapshots: array expected");
+ message.snapshots = [];
+ for (var i = 0; i < object.snapshots.length; ++i)
+ message.snapshots[i] = String(object.snapshots[i]);
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListTopicSnapshotsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.ListTopicSnapshotsResponse
+ * @static
+ * @param {google.pubsub.v1.ListTopicSnapshotsResponse} message ListTopicSnapshotsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListTopicSnapshotsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.snapshots = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.snapshots && message.snapshots.length) {
+ object.snapshots = [];
+ for (var j = 0; j < message.snapshots.length; ++j)
+ object.snapshots[j] = message.snapshots[j];
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListTopicSnapshotsResponse to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.ListTopicSnapshotsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListTopicSnapshotsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListTopicSnapshotsResponse
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.ListTopicSnapshotsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListTopicSnapshotsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.ListTopicSnapshotsResponse";
+ };
+
+ return ListTopicSnapshotsResponse;
+ })();
+
+ v1.DeleteTopicRequest = (function() {
+
+ /**
+ * Properties of a DeleteTopicRequest.
+ * @memberof google.pubsub.v1
+ * @interface IDeleteTopicRequest
+ * @property {string|null} [topic] DeleteTopicRequest topic
+ */
+
+ /**
+ * Constructs a new DeleteTopicRequest.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a DeleteTopicRequest.
+ * @implements IDeleteTopicRequest
+ * @constructor
+ * @param {google.pubsub.v1.IDeleteTopicRequest=} [properties] Properties to set
+ */
+ function DeleteTopicRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * DeleteTopicRequest topic.
+ * @member {string} topic
+ * @memberof google.pubsub.v1.DeleteTopicRequest
+ * @instance
+ */
+ DeleteTopicRequest.prototype.topic = "";
+
+ /**
+ * Creates a new DeleteTopicRequest instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.DeleteTopicRequest
+ * @static
+ * @param {google.pubsub.v1.IDeleteTopicRequest=} [properties] Properties to set
+ * @returns {google.pubsub.v1.DeleteTopicRequest} DeleteTopicRequest instance
+ */
+ DeleteTopicRequest.create = function create(properties) {
+ return new DeleteTopicRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteTopicRequest message. Does not implicitly {@link google.pubsub.v1.DeleteTopicRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.DeleteTopicRequest
+ * @static
+ * @param {google.pubsub.v1.IDeleteTopicRequest} message DeleteTopicRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteTopicRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.topic != null && Object.hasOwnProperty.call(message, "topic"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.topic);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeleteTopicRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.DeleteTopicRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.DeleteTopicRequest
+ * @static
+ * @param {google.pubsub.v1.IDeleteTopicRequest} message DeleteTopicRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteTopicRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteTopicRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.DeleteTopicRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.DeleteTopicRequest} DeleteTopicRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteTopicRequest.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.DeleteTopicRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.topic = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeleteTopicRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.DeleteTopicRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.DeleteTopicRequest} DeleteTopicRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteTopicRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteTopicRequest message.
+ * @function verify
+ * @memberof google.pubsub.v1.DeleteTopicRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteTopicRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ if (!$util.isString(message.topic))
+ return "topic: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a DeleteTopicRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.DeleteTopicRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.DeleteTopicRequest} DeleteTopicRequest
+ */
+ DeleteTopicRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.DeleteTopicRequest)
+ return object;
+ var message = new $root.google.pubsub.v1.DeleteTopicRequest();
+ if (object.topic != null)
+ message.topic = String(object.topic);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteTopicRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.DeleteTopicRequest
+ * @static
+ * @param {google.pubsub.v1.DeleteTopicRequest} message DeleteTopicRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteTopicRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.topic = "";
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ object.topic = message.topic;
+ return object;
+ };
+
+ /**
+ * Converts this DeleteTopicRequest to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.DeleteTopicRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteTopicRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteTopicRequest
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.DeleteTopicRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteTopicRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.DeleteTopicRequest";
+ };
+
+ return DeleteTopicRequest;
+ })();
+
+ v1.DetachSubscriptionRequest = (function() {
+
+ /**
+ * Properties of a DetachSubscriptionRequest.
+ * @memberof google.pubsub.v1
+ * @interface IDetachSubscriptionRequest
+ * @property {string|null} [subscription] DetachSubscriptionRequest subscription
+ */
+
+ /**
+ * Constructs a new DetachSubscriptionRequest.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a DetachSubscriptionRequest.
+ * @implements IDetachSubscriptionRequest
+ * @constructor
+ * @param {google.pubsub.v1.IDetachSubscriptionRequest=} [properties] Properties to set
+ */
+ function DetachSubscriptionRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * DetachSubscriptionRequest subscription.
+ * @member {string} subscription
+ * @memberof google.pubsub.v1.DetachSubscriptionRequest
+ * @instance
+ */
+ DetachSubscriptionRequest.prototype.subscription = "";
+
+ /**
+ * Creates a new DetachSubscriptionRequest instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.DetachSubscriptionRequest
+ * @static
+ * @param {google.pubsub.v1.IDetachSubscriptionRequest=} [properties] Properties to set
+ * @returns {google.pubsub.v1.DetachSubscriptionRequest} DetachSubscriptionRequest instance
+ */
+ DetachSubscriptionRequest.create = function create(properties) {
+ return new DetachSubscriptionRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DetachSubscriptionRequest message. Does not implicitly {@link google.pubsub.v1.DetachSubscriptionRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.DetachSubscriptionRequest
+ * @static
+ * @param {google.pubsub.v1.IDetachSubscriptionRequest} message DetachSubscriptionRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DetachSubscriptionRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.subscription != null && Object.hasOwnProperty.call(message, "subscription"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.subscription);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DetachSubscriptionRequest message, length delimited. Does not implicitly {@link google.pubsub.v1.DetachSubscriptionRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.DetachSubscriptionRequest
+ * @static
+ * @param {google.pubsub.v1.IDetachSubscriptionRequest} message DetachSubscriptionRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DetachSubscriptionRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DetachSubscriptionRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.DetachSubscriptionRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.DetachSubscriptionRequest} DetachSubscriptionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DetachSubscriptionRequest.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.DetachSubscriptionRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.subscription = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DetachSubscriptionRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.DetachSubscriptionRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.DetachSubscriptionRequest} DetachSubscriptionRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DetachSubscriptionRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DetachSubscriptionRequest message.
+ * @function verify
+ * @memberof google.pubsub.v1.DetachSubscriptionRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DetachSubscriptionRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.subscription != null && message.hasOwnProperty("subscription"))
+ if (!$util.isString(message.subscription))
+ return "subscription: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a DetachSubscriptionRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.DetachSubscriptionRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.DetachSubscriptionRequest} DetachSubscriptionRequest
+ */
+ DetachSubscriptionRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.DetachSubscriptionRequest)
+ return object;
+ var message = new $root.google.pubsub.v1.DetachSubscriptionRequest();
+ if (object.subscription != null)
+ message.subscription = String(object.subscription);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DetachSubscriptionRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.DetachSubscriptionRequest
+ * @static
+ * @param {google.pubsub.v1.DetachSubscriptionRequest} message DetachSubscriptionRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DetachSubscriptionRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.subscription = "";
+ if (message.subscription != null && message.hasOwnProperty("subscription"))
+ object.subscription = message.subscription;
+ return object;
+ };
+
+ /**
+ * Converts this DetachSubscriptionRequest to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.DetachSubscriptionRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DetachSubscriptionRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DetachSubscriptionRequest
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.DetachSubscriptionRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DetachSubscriptionRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.DetachSubscriptionRequest";
+ };
+
+ return DetachSubscriptionRequest;
+ })();
+
+ v1.DetachSubscriptionResponse = (function() {
+
+ /**
+ * Properties of a DetachSubscriptionResponse.
+ * @memberof google.pubsub.v1
+ * @interface IDetachSubscriptionResponse
+ */
+
+ /**
+ * Constructs a new DetachSubscriptionResponse.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a DetachSubscriptionResponse.
+ * @implements IDetachSubscriptionResponse
+ * @constructor
+ * @param {google.pubsub.v1.IDetachSubscriptionResponse=} [properties] Properties to set
+ */
+ function DetachSubscriptionResponse(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Creates a new DetachSubscriptionResponse instance using the specified properties.
+ * @function create
+ * @memberof google.pubsub.v1.DetachSubscriptionResponse
+ * @static
+ * @param {google.pubsub.v1.IDetachSubscriptionResponse=} [properties] Properties to set
+ * @returns {google.pubsub.v1.DetachSubscriptionResponse} DetachSubscriptionResponse instance
+ */
+ DetachSubscriptionResponse.create = function create(properties) {
+ return new DetachSubscriptionResponse(properties);
+ };
+
+ /**
+ * Encodes the specified DetachSubscriptionResponse message. Does not implicitly {@link google.pubsub.v1.DetachSubscriptionResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.pubsub.v1.DetachSubscriptionResponse
+ * @static
+ * @param {google.pubsub.v1.IDetachSubscriptionResponse} message DetachSubscriptionResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DetachSubscriptionResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DetachSubscriptionResponse message, length delimited. Does not implicitly {@link google.pubsub.v1.DetachSubscriptionResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.pubsub.v1.DetachSubscriptionResponse
+ * @static
+ * @param {google.pubsub.v1.IDetachSubscriptionResponse} message DetachSubscriptionResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DetachSubscriptionResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DetachSubscriptionResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.pubsub.v1.DetachSubscriptionResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.pubsub.v1.DetachSubscriptionResponse} DetachSubscriptionResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DetachSubscriptionResponse.decode = function decode(reader, length, error) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.pubsub.v1.DetachSubscriptionResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DetachSubscriptionResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.pubsub.v1.DetachSubscriptionResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.pubsub.v1.DetachSubscriptionResponse} DetachSubscriptionResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DetachSubscriptionResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DetachSubscriptionResponse message.
+ * @function verify
+ * @memberof google.pubsub.v1.DetachSubscriptionResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DetachSubscriptionResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ return null;
+ };
+
+ /**
+ * Creates a DetachSubscriptionResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.pubsub.v1.DetachSubscriptionResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.pubsub.v1.DetachSubscriptionResponse} DetachSubscriptionResponse
+ */
+ DetachSubscriptionResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.pubsub.v1.DetachSubscriptionResponse)
+ return object;
+ return new $root.google.pubsub.v1.DetachSubscriptionResponse();
+ };
+
+ /**
+ * Creates a plain object from a DetachSubscriptionResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.pubsub.v1.DetachSubscriptionResponse
+ * @static
+ * @param {google.pubsub.v1.DetachSubscriptionResponse} message DetachSubscriptionResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DetachSubscriptionResponse.toObject = function toObject() {
+ return {};
+ };
+
+ /**
+ * Converts this DetachSubscriptionResponse to JSON.
+ * @function toJSON
+ * @memberof google.pubsub.v1.DetachSubscriptionResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DetachSubscriptionResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DetachSubscriptionResponse
+ * @function getTypeUrl
+ * @memberof google.pubsub.v1.DetachSubscriptionResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DetachSubscriptionResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.pubsub.v1.DetachSubscriptionResponse";
+ };
+
+ return DetachSubscriptionResponse;
+ })();
+
+ v1.Subscriber = (function() {
+
+ /**
+ * Constructs a new Subscriber service.
+ * @memberof google.pubsub.v1
+ * @classdesc Represents a Subscriber
+ * @extends $protobuf.rpc.Service
+ * @constructor
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ */
+ function Subscriber(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (Subscriber.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Subscriber;
+
+ /**
+ * Creates new Subscriber service using the specified rpc implementation.
+ * @function create
+ * @memberof google.pubsub.v1.Subscriber
+ * @static
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ * @returns {Subscriber} RPC service. Useful where requests and/or responses are streamed.
+ */
+ Subscriber.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|createSubscription}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef CreateSubscriptionCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.Subscription} [response] Subscription
+ */
+
+ /**
+ * Calls CreateSubscription.
+ * @function createSubscription
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.ISubscription} request Subscription message or plain object
+ * @param {google.pubsub.v1.Subscriber.CreateSubscriptionCallback} callback Node-style callback called with the error, if any, and Subscription
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.createSubscription = function createSubscription(request, callback) {
+ return this.rpcCall(createSubscription, $root.google.pubsub.v1.Subscription, $root.google.pubsub.v1.Subscription, request, callback);
+ }, "name", { value: "CreateSubscription" });
+
+ /**
+ * Calls CreateSubscription.
+ * @function createSubscription
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.ISubscription} request Subscription message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|getSubscription}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef GetSubscriptionCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.Subscription} [response] Subscription
+ */
+
+ /**
+ * Calls GetSubscription.
+ * @function getSubscription
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IGetSubscriptionRequest} request GetSubscriptionRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.GetSubscriptionCallback} callback Node-style callback called with the error, if any, and Subscription
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.getSubscription = function getSubscription(request, callback) {
+ return this.rpcCall(getSubscription, $root.google.pubsub.v1.GetSubscriptionRequest, $root.google.pubsub.v1.Subscription, request, callback);
+ }, "name", { value: "GetSubscription" });
+
+ /**
+ * Calls GetSubscription.
+ * @function getSubscription
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IGetSubscriptionRequest} request GetSubscriptionRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|updateSubscription}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef UpdateSubscriptionCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.Subscription} [response] Subscription
+ */
+
+ /**
+ * Calls UpdateSubscription.
+ * @function updateSubscription
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IUpdateSubscriptionRequest} request UpdateSubscriptionRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.UpdateSubscriptionCallback} callback Node-style callback called with the error, if any, and Subscription
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.updateSubscription = function updateSubscription(request, callback) {
+ return this.rpcCall(updateSubscription, $root.google.pubsub.v1.UpdateSubscriptionRequest, $root.google.pubsub.v1.Subscription, request, callback);
+ }, "name", { value: "UpdateSubscription" });
+
+ /**
+ * Calls UpdateSubscription.
+ * @function updateSubscription
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IUpdateSubscriptionRequest} request UpdateSubscriptionRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|listSubscriptions}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef ListSubscriptionsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.ListSubscriptionsResponse} [response] ListSubscriptionsResponse
+ */
+
+ /**
+ * Calls ListSubscriptions.
+ * @function listSubscriptions
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IListSubscriptionsRequest} request ListSubscriptionsRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.ListSubscriptionsCallback} callback Node-style callback called with the error, if any, and ListSubscriptionsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.listSubscriptions = function listSubscriptions(request, callback) {
+ return this.rpcCall(listSubscriptions, $root.google.pubsub.v1.ListSubscriptionsRequest, $root.google.pubsub.v1.ListSubscriptionsResponse, request, callback);
+ }, "name", { value: "ListSubscriptions" });
+
+ /**
+ * Calls ListSubscriptions.
+ * @function listSubscriptions
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IListSubscriptionsRequest} request ListSubscriptionsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|deleteSubscription}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef DeleteSubscriptionCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteSubscription.
+ * @function deleteSubscription
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IDeleteSubscriptionRequest} request DeleteSubscriptionRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.DeleteSubscriptionCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.deleteSubscription = function deleteSubscription(request, callback) {
+ return this.rpcCall(deleteSubscription, $root.google.pubsub.v1.DeleteSubscriptionRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteSubscription" });
+
+ /**
+ * Calls DeleteSubscription.
+ * @function deleteSubscription
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IDeleteSubscriptionRequest} request DeleteSubscriptionRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|modifyAckDeadline}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef ModifyAckDeadlineCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls ModifyAckDeadline.
+ * @function modifyAckDeadline
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IModifyAckDeadlineRequest} request ModifyAckDeadlineRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.ModifyAckDeadlineCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.modifyAckDeadline = function modifyAckDeadline(request, callback) {
+ return this.rpcCall(modifyAckDeadline, $root.google.pubsub.v1.ModifyAckDeadlineRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "ModifyAckDeadline" });
+
+ /**
+ * Calls ModifyAckDeadline.
+ * @function modifyAckDeadline
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IModifyAckDeadlineRequest} request ModifyAckDeadlineRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|acknowledge}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef AcknowledgeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls Acknowledge.
+ * @function acknowledge
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IAcknowledgeRequest} request AcknowledgeRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.AcknowledgeCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.acknowledge = function acknowledge(request, callback) {
+ return this.rpcCall(acknowledge, $root.google.pubsub.v1.AcknowledgeRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "Acknowledge" });
+
+ /**
+ * Calls Acknowledge.
+ * @function acknowledge
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IAcknowledgeRequest} request AcknowledgeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|pull}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef PullCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.PullResponse} [response] PullResponse
+ */
+
+ /**
+ * Calls Pull.
+ * @function pull
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IPullRequest} request PullRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.PullCallback} callback Node-style callback called with the error, if any, and PullResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.pull = function pull(request, callback) {
+ return this.rpcCall(pull, $root.google.pubsub.v1.PullRequest, $root.google.pubsub.v1.PullResponse, request, callback);
+ }, "name", { value: "Pull" });
+
+ /**
+ * Calls Pull.
+ * @function pull
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IPullRequest} request PullRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|streamingPull}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef StreamingPullCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.StreamingPullResponse} [response] StreamingPullResponse
+ */
+
+ /**
+ * Calls StreamingPull.
+ * @function streamingPull
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IStreamingPullRequest} request StreamingPullRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.StreamingPullCallback} callback Node-style callback called with the error, if any, and StreamingPullResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.streamingPull = function streamingPull(request, callback) {
+ return this.rpcCall(streamingPull, $root.google.pubsub.v1.StreamingPullRequest, $root.google.pubsub.v1.StreamingPullResponse, request, callback);
+ }, "name", { value: "StreamingPull" });
+
+ /**
+ * Calls StreamingPull.
+ * @function streamingPull
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IStreamingPullRequest} request StreamingPullRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|modifyPushConfig}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef ModifyPushConfigCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls ModifyPushConfig.
+ * @function modifyPushConfig
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IModifyPushConfigRequest} request ModifyPushConfigRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.ModifyPushConfigCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.modifyPushConfig = function modifyPushConfig(request, callback) {
+ return this.rpcCall(modifyPushConfig, $root.google.pubsub.v1.ModifyPushConfigRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "ModifyPushConfig" });
+
+ /**
+ * Calls ModifyPushConfig.
+ * @function modifyPushConfig
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IModifyPushConfigRequest} request ModifyPushConfigRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|getSnapshot}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef GetSnapshotCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.Snapshot} [response] Snapshot
+ */
+
+ /**
+ * Calls GetSnapshot.
+ * @function getSnapshot
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IGetSnapshotRequest} request GetSnapshotRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.GetSnapshotCallback} callback Node-style callback called with the error, if any, and Snapshot
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.getSnapshot = function getSnapshot(request, callback) {
+ return this.rpcCall(getSnapshot, $root.google.pubsub.v1.GetSnapshotRequest, $root.google.pubsub.v1.Snapshot, request, callback);
+ }, "name", { value: "GetSnapshot" });
+
+ /**
+ * Calls GetSnapshot.
+ * @function getSnapshot
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IGetSnapshotRequest} request GetSnapshotRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|listSnapshots}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef ListSnapshotsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.ListSnapshotsResponse} [response] ListSnapshotsResponse
+ */
+
+ /**
+ * Calls ListSnapshots.
+ * @function listSnapshots
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IListSnapshotsRequest} request ListSnapshotsRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.ListSnapshotsCallback} callback Node-style callback called with the error, if any, and ListSnapshotsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.listSnapshots = function listSnapshots(request, callback) {
+ return this.rpcCall(listSnapshots, $root.google.pubsub.v1.ListSnapshotsRequest, $root.google.pubsub.v1.ListSnapshotsResponse, request, callback);
+ }, "name", { value: "ListSnapshots" });
+
+ /**
+ * Calls ListSnapshots.
+ * @function listSnapshots
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IListSnapshotsRequest} request ListSnapshotsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|createSnapshot}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef CreateSnapshotCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.Snapshot} [response] Snapshot
+ */
+
+ /**
+ * Calls CreateSnapshot.
+ * @function createSnapshot
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.ICreateSnapshotRequest} request CreateSnapshotRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.CreateSnapshotCallback} callback Node-style callback called with the error, if any, and Snapshot
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.createSnapshot = function createSnapshot(request, callback) {
+ return this.rpcCall(createSnapshot, $root.google.pubsub.v1.CreateSnapshotRequest, $root.google.pubsub.v1.Snapshot, request, callback);
+ }, "name", { value: "CreateSnapshot" });
+
+ /**
+ * Calls CreateSnapshot.
+ * @function createSnapshot
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.ICreateSnapshotRequest} request CreateSnapshotRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|updateSnapshot}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef UpdateSnapshotCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.Snapshot} [response] Snapshot
+ */
+
+ /**
+ * Calls UpdateSnapshot.
+ * @function updateSnapshot
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IUpdateSnapshotRequest} request UpdateSnapshotRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.UpdateSnapshotCallback} callback Node-style callback called with the error, if any, and Snapshot
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.updateSnapshot = function updateSnapshot(request, callback) {
+ return this.rpcCall(updateSnapshot, $root.google.pubsub.v1.UpdateSnapshotRequest, $root.google.pubsub.v1.Snapshot, request, callback);
+ }, "name", { value: "UpdateSnapshot" });
+
+ /**
+ * Calls UpdateSnapshot.
+ * @function updateSnapshot
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IUpdateSnapshotRequest} request UpdateSnapshotRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|deleteSnapshot}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef DeleteSnapshotCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteSnapshot.
+ * @function deleteSnapshot
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IDeleteSnapshotRequest} request DeleteSnapshotRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.DeleteSnapshotCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.deleteSnapshot = function deleteSnapshot(request, callback) {
+ return this.rpcCall(deleteSnapshot, $root.google.pubsub.v1.DeleteSnapshotRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteSnapshot" });
+
+ /**
+ * Calls DeleteSnapshot.
+ * @function deleteSnapshot
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.IDeleteSnapshotRequest} request DeleteSnapshotRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.pubsub.v1.Subscriber|seek}.
+ * @memberof google.pubsub.v1.Subscriber
+ * @typedef SeekCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.pubsub.v1.SeekResponse} [response] SeekResponse
+ */
+
+ /**
+ * Calls Seek.
+ * @function seek
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.ISeekRequest} request SeekRequest message or plain object
+ * @param {google.pubsub.v1.Subscriber.SeekCallback} callback Node-style callback called with the error, if any, and SeekResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Subscriber.prototype.seek = function seek(request, callback) {
+ return this.rpcCall(seek, $root.google.pubsub.v1.SeekRequest, $root.google.pubsub.v1.SeekResponse, request, callback);
+ }, "name", { value: "Seek" });
+
+ /**
+ * Calls Seek.
+ * @function seek
+ * @memberof google.pubsub.v1.Subscriber
+ * @instance
+ * @param {google.pubsub.v1.ISeekRequest} request SeekRequest message or plain object
+ * @returns {Promise