diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 4b96db04e7c..5a71bf1805d 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -12,4 +12,4 @@
/handwritten/storage @googleapis/gcs-team
/handwritten/firestore @googleapis/firestore-team
/handwritten/spanner @googleapis/spanner-team
-/handwritten/bigquery-storage @googleapis/bigquery-team
+/handwritten/bigquery-storage @googleapis/bigquery-team
\ No newline at end of file
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 9023b9ebd9e..a69ab64548c 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -6,6 +6,7 @@
"handwritten/datastore": "10.1.0",
"handwritten/error-reporting": "3.0.5",
"handwritten/firestore": "8.3.0",
+ "handwritten/logging": "11.2.1",
"handwritten/logging-bunyan": "5.1.1",
"handwritten/logging-winston": "6.0.1",
"handwritten/spanner": "8.6.0",
diff --git a/handwritten/logging/.OwlBot.yaml b/handwritten/logging/.OwlBot.yaml
new file mode 100644
index 00000000000..360ece41c70
--- /dev/null
+++ b/handwritten/logging/.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/logging/(v.*)/.*-nodejs
+ dest: /owl-bot-staging/logging/$1
+
+begin-after-commit-hash: fb91803ccef5d7c695139b22788b309e2197856b
+
diff --git a/handwritten/logging/.eslintignore b/handwritten/logging/.eslintignore
new file mode 100644
index 00000000000..971b25656bb
--- /dev/null
+++ b/handwritten/logging/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+**/env-tests-logging
diff --git a/handwritten/logging/.eslintrc.json b/handwritten/logging/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/handwritten/logging/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/handwritten/logging/.gitattributes b/handwritten/logging/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/handwritten/logging/.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/logging/.gitignore b/handwritten/logging/.gitignore
new file mode 100644
index 00000000000..d4f03a0df2e
--- /dev/null
+++ b/handwritten/logging/.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/logging/.gitmodules b/handwritten/logging/.gitmodules
new file mode 100644
index 00000000000..191f3df5be6
--- /dev/null
+++ b/handwritten/logging/.gitmodules
@@ -0,0 +1,4 @@
+[submodule "env-tests-logging"]
+ path = env-tests-logging
+ url = https://github.com/googleapis/env-tests-logging
+ ignore = dirty
diff --git a/handwritten/logging/.jsdoc.js b/handwritten/logging/.jsdoc.js
new file mode 100644
index 00000000000..1f6bfb79190
--- /dev/null
+++ b/handwritten/logging/.jsdoc.js
@@ -0,0 +1,55 @@
+// Copyright 2024 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 2024 Google LLC',
+ includeDate: false,
+ sourceFiles: false,
+ systemName: '@google-cloud/logging',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/handwritten/logging/.kokoro/.gitattributes b/handwritten/logging/.kokoro/.gitattributes
new file mode 100644
index 00000000000..87acd4f484e
--- /dev/null
+++ b/handwritten/logging/.kokoro/.gitattributes
@@ -0,0 +1 @@
+* linguist-generated=true
diff --git a/handwritten/logging/.kokoro/common.cfg b/handwritten/logging/.kokoro/common.cfg
new file mode 100644
index 00000000000..01225d66268
--- /dev/null
+++ b/handwritten/logging/.kokoro/common.cfg
@@ -0,0 +1,43 @@
+# 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-logging/handwritten/logging/.kokoro/trampoline_v2.sh"
+
+# Configure the docker image for kokoro-trampoline.
+env_vars: {
+ key: "TRAMPOLINE_IMAGE"
+ value: "gcr.io/cloud-devrel-kokoro-resources/node:14-user"
+}
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-logging/handwritten/logging/.kokoro/test.sh"
+}
+
+
+#############################################
+# this section merged from .kokoro/common_env_vars.cfg using owlbot.py
+
+env_vars: {
+ key: "PRODUCT_AREA_LABEL"
+ value: "observability"
+}
+env_vars: {
+ key: "PRODUCT_LABEL"
+ value: "logging"
+}
+env_vars: {
+ key: "LANGUAGE_LABEL"
+ value: "nodejs"
+}
+
+###################################################
diff --git a/handwritten/logging/.kokoro/common_env_vars.cfg b/handwritten/logging/.kokoro/common_env_vars.cfg
new file mode 100644
index 00000000000..803b02447c5
--- /dev/null
+++ b/handwritten/logging/.kokoro/common_env_vars.cfg
@@ -0,0 +1,19 @@
+
+#############################################
+# this section merged from .kokoro/common_env_vars.cfg using owlbot.py
+
+env_vars: {
+ key: "PRODUCT_AREA_LABEL"
+ value: "observability"
+}
+env_vars: {
+ key: "PRODUCT_LABEL"
+ value: "logging"
+}
+env_vars: {
+ key: "LANGUAGE_LABEL"
+ value: "nodejs"
+}
+
+###################################################
+
diff --git a/handwritten/logging/.kokoro/continuous/node14/common.cfg b/handwritten/logging/.kokoro/continuous/node14/common.cfg
new file mode 100644
index 00000000000..01225d66268
--- /dev/null
+++ b/handwritten/logging/.kokoro/continuous/node14/common.cfg
@@ -0,0 +1,43 @@
+# 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-logging/handwritten/logging/.kokoro/trampoline_v2.sh"
+
+# Configure the docker image for kokoro-trampoline.
+env_vars: {
+ key: "TRAMPOLINE_IMAGE"
+ value: "gcr.io/cloud-devrel-kokoro-resources/node:14-user"
+}
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-logging/handwritten/logging/.kokoro/test.sh"
+}
+
+
+#############################################
+# this section merged from .kokoro/common_env_vars.cfg using owlbot.py
+
+env_vars: {
+ key: "PRODUCT_AREA_LABEL"
+ value: "observability"
+}
+env_vars: {
+ key: "PRODUCT_LABEL"
+ value: "logging"
+}
+env_vars: {
+ key: "LANGUAGE_LABEL"
+ value: "nodejs"
+}
+
+###################################################
diff --git a/handwritten/logging/.kokoro/continuous/node14/lint.cfg b/handwritten/logging/.kokoro/continuous/node14/lint.cfg
new file mode 100644
index 00000000000..8794c149f8e
--- /dev/null
+++ b/handwritten/logging/.kokoro/continuous/node14/lint.cfg
@@ -0,0 +1,4 @@
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-logging/handwritten/logging/.kokoro/lint.sh"
+}
diff --git a/handwritten/logging/.kokoro/continuous/node14/samples-test.cfg b/handwritten/logging/.kokoro/continuous/node14/samples-test.cfg
new file mode 100644
index 00000000000..96c90e6f20a
--- /dev/null
+++ b/handwritten/logging/.kokoro/continuous/node14/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-logging/handwritten/logging/.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/logging/.kokoro/continuous/node14/system-test.cfg b/handwritten/logging/.kokoro/continuous/node14/system-test.cfg
new file mode 100644
index 00000000000..9d3b97c982d
--- /dev/null
+++ b/handwritten/logging/.kokoro/continuous/node14/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-logging/handwritten/logging/.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/logging/.kokoro/continuous/node14/test.cfg b/handwritten/logging/.kokoro/continuous/node14/test.cfg
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/handwritten/logging/.kokoro/docs.sh b/handwritten/logging/.kokoro/docs.sh
new file mode 100755
index 00000000000..85901242b5e
--- /dev/null
+++ b/handwritten/logging/.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/logging/.kokoro/lint.sh b/handwritten/logging/.kokoro/lint.sh
new file mode 100755
index 00000000000..aef4866e4c4
--- /dev/null
+++ b/handwritten/logging/.kokoro/lint.sh
@@ -0,0 +1,33 @@
+#!/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
+
+# 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/logging/.kokoro/populate-secrets.sh b/handwritten/logging/.kokoro/populate-secrets.sh
new file mode 100755
index 00000000000..deb2b199eb4
--- /dev/null
+++ b/handwritten/logging/.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/logging/.kokoro/presubmit/node14/common.cfg b/handwritten/logging/.kokoro/presubmit/node14/common.cfg
new file mode 100644
index 00000000000..cbe17d2bdaa
--- /dev/null
+++ b/handwritten/logging/.kokoro/presubmit/node14/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-logging/handwritten/logging/.kokoro/trampoline_v2.sh"
+
+# Configure the docker image for kokoro-trampoline.
+env_vars: {
+ key: "TRAMPOLINE_IMAGE"
+ value: "gcr.io/cloud-devrel-kokoro-resources/node:14-user"
+}
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-logging/handwritten/logging/.kokoro/test.sh"
+}
diff --git a/handwritten/logging/.kokoro/presubmit/node14/samples-test.cfg b/handwritten/logging/.kokoro/presubmit/node14/samples-test.cfg
new file mode 100644
index 00000000000..96c90e6f20a
--- /dev/null
+++ b/handwritten/logging/.kokoro/presubmit/node14/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-logging/handwritten/logging/.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/logging/.kokoro/presubmit/node14/system-test.cfg b/handwritten/logging/.kokoro/presubmit/node14/system-test.cfg
new file mode 100644
index 00000000000..9d3b97c982d
--- /dev/null
+++ b/handwritten/logging/.kokoro/presubmit/node14/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-logging/handwritten/logging/.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/logging/.kokoro/presubmit/node14/test.cfg b/handwritten/logging/.kokoro/presubmit/node14/test.cfg
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/handwritten/logging/.kokoro/presubmit/windows/common.cfg b/handwritten/logging/.kokoro/presubmit/windows/common.cfg
new file mode 100644
index 00000000000..d6e25e0b1b8
--- /dev/null
+++ b/handwritten/logging/.kokoro/presubmit/windows/common.cfg
@@ -0,0 +1,2 @@
+# Format: //devtools/kokoro/config/proto/build.proto
+
diff --git a/handwritten/logging/.kokoro/presubmit/windows/test.cfg b/handwritten/logging/.kokoro/presubmit/windows/test.cfg
new file mode 100644
index 00000000000..1612393f88b
--- /dev/null
+++ b/handwritten/logging/.kokoro/presubmit/windows/test.cfg
@@ -0,0 +1,2 @@
+# Use the test file directly
+build_file: "nodejs-logging/handwritten/logging/.kokoro/test.bat"
diff --git a/handwritten/logging/.kokoro/publish-min.sh b/handwritten/logging/.kokoro/publish-min.sh
new file mode 100755
index 00000000000..20fb074bfdf
--- /dev/null
+++ b/handwritten/logging/.kokoro/publish-min.sh
@@ -0,0 +1,46 @@
+#!/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.
+
+# `npm postpublish` script that ships an minified version of this library
+# Todo(nicolezhu): Eventually deprecate this script for go/nodejs-logging/handwritten/logging-lite
+
+set -eo pipefail
+
+# Uglify /build to publish a smaller package
+for d in $(find ./build/ -maxdepth 8 -type d)
+do
+ pushd $d
+ for f in *.js; do
+ [ -f "$f" ] || break
+
+ if [ -f "$f.map" ]; then
+ # Keep original .ts source mappings
+ uglifyjs --source-map "content='$f.map', url='$f.map'" "$f" --output "$f"
+ else
+ uglifyjs "$f" --output "$f"
+ fi
+ done
+ popd
+done
+
+# Change and publish under package name `@google-cloud/logging-min`
+sed -i -e 's/"name": "@google-cloud\/logging"/"name": "@google-cloud\/logging-min"/' package.json
+if [ -f "package.json-e" ]; then
+ rm package.json-e
+fi
+
+# Note: ignore the postpublish script here to avoid an endless publish loop.
+npm publish --ignore-scripts --access=public --registry=https://wombat-dressing-room.appspot.com
diff --git a/handwritten/logging/.kokoro/publish.sh b/handwritten/logging/.kokoro/publish.sh
new file mode 100755
index 00000000000..ca1d47af347
--- /dev/null
+++ b/handwritten/logging/.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/logging/.kokoro/release/common.cfg b/handwritten/logging/.kokoro/release/common.cfg
new file mode 100644
index 00000000000..02604bf1a33
--- /dev/null
+++ b/handwritten/logging/.kokoro/release/common.cfg
@@ -0,0 +1,21 @@
+before_action {
+ fetch_keystore {
+ keystore_resource {
+ keystore_config_id: 73713
+ keyname: "yoshi-automation-github-key"
+ }
+ }
+}
+
+env_vars: {
+ key: "PRODUCT_AREA_LABEL"
+ value: "observability"
+}
+env_vars: {
+ key: "PRODUCT_LABEL"
+ value: "logging"
+}
+env_vars: {
+ key: "LANGUAGE_LABEL"
+ value: "nodejs"
+}
diff --git a/handwritten/logging/.kokoro/release/docs-devsite.cfg b/handwritten/logging/.kokoro/release/docs-devsite.cfg
new file mode 100644
index 00000000000..c146ed5bb32
--- /dev/null
+++ b/handwritten/logging/.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:14-user"
+}
+
+# Download trampoline resources.
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
+
+# Use the trampoline script to run in docker.
+build_file: "nodejs-logging/handwritten/logging/.kokoro/trampoline_v2.sh"
+
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-logging/handwritten/logging/.kokoro/release/docs-devsite.sh"
+}
diff --git a/handwritten/logging/.kokoro/release/docs-devsite.sh b/handwritten/logging/.kokoro/release/docs-devsite.sh
new file mode 100755
index 00000000000..81a89f6c172
--- /dev/null
+++ b/handwritten/logging/.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/logging/.kokoro/release/docs.cfg b/handwritten/logging/.kokoro/release/docs.cfg
new file mode 100644
index 00000000000..f8b03cf5b1d
--- /dev/null
+++ b/handwritten/logging/.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:14-user"
+}
+
+# Download trampoline resources.
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
+
+# Use the trampoline script to run in docker.
+build_file: "nodejs-logging/handwritten/logging/.kokoro/trampoline_v2.sh"
+
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-logging/handwritten/logging/.kokoro/release/docs.sh"
+}
diff --git a/handwritten/logging/.kokoro/release/docs.sh b/handwritten/logging/.kokoro/release/docs.sh
new file mode 100755
index 00000000000..1d8f3f490a5
--- /dev/null
+++ b/handwritten/logging/.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 10 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/logging/.kokoro/release/publish.cfg b/handwritten/logging/.kokoro/release/publish.cfg
new file mode 100644
index 00000000000..b01c087fa70
--- /dev/null
+++ b/handwritten/logging/.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-logging/handwritten/logging/.kokoro/trampoline_v2.sh"
+
+# Configure the docker image for kokoro-trampoline.
+env_vars: {
+ key: "TRAMPOLINE_IMAGE"
+ value: "gcr.io/cloud-devrel-kokoro-resources/node:14-user"
+}
+
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/nodejs-logging/handwritten/logging/.kokoro/publish.sh"
+}
+
+# Store the packages we uploaded to npmjs.org 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/logging/.kokoro/samples-test.sh b/handwritten/logging/.kokoro/samples-test.sh
new file mode 100755
index 00000000000..8c5d108cb58
--- /dev/null
+++ b/handwritten/logging/.kokoro/samples-test.sh
@@ -0,0 +1,68 @@
+#!/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-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=14
+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/logging/.kokoro/system-test.sh b/handwritten/logging/.kokoro/system-test.sh
new file mode 100755
index 00000000000..0b3043d268c
--- /dev/null
+++ b/handwritten/logging/.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=14
+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/logging/.kokoro/test.bat b/handwritten/logging/.kokoro/test.bat
new file mode 100644
index 00000000000..0bb12405231
--- /dev/null
+++ b/handwritten/logging/.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 v14.17.3
+call which node
+
+call npm install || goto :error
+call npm run test || goto :error
+
+goto :EOF
+
+:error
+exit /b 1
diff --git a/handwritten/logging/.kokoro/test.sh b/handwritten/logging/.kokoro/test.sh
new file mode 100755
index 00000000000..862d478d324
--- /dev/null
+++ b/handwritten/logging/.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=14
+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/logging/.kokoro/trampoline.sh b/handwritten/logging/.kokoro/trampoline.sh
new file mode 100755
index 00000000000..f693a1ce7aa
--- /dev/null
+++ b/handwritten/logging/.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/logging/.kokoro/trampoline_v2.sh b/handwritten/logging/.kokoro/trampoline_v2.sh
new file mode 100755
index 00000000000..ce3e779c788
--- /dev/null
+++ b/handwritten/logging/.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:10-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/logging"
+else
+ PROJECT_ROOT="$(repo_root $(pwd))/handwritten/logging"
+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/logging"
+
+ 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/logging/.mocharc.js b/handwritten/logging/.mocharc.js
new file mode 100644
index 00000000000..2431859019f
--- /dev/null
+++ b/handwritten/logging/.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/logging/.nycrc b/handwritten/logging/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/handwritten/logging/.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/logging/.prettierignore b/handwritten/logging/.prettierignore
new file mode 100644
index 00000000000..971b25656bb
--- /dev/null
+++ b/handwritten/logging/.prettierignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+**/env-tests-logging
diff --git a/handwritten/logging/.prettierrc.js b/handwritten/logging/.prettierrc.js
new file mode 100644
index 00000000000..d2eddc2ed89
--- /dev/null
+++ b/handwritten/logging/.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/logging/.readme-partials.yml b/handwritten/logging/.readme-partials.yml
new file mode 100644
index 00000000000..e6b0f256aed
--- /dev/null
+++ b/handwritten/logging/.readme-partials.yml
@@ -0,0 +1,149 @@
+introduction: |-
+ [Google Cloud Logging](https://cloud.google.com/logging/docs) allows you to store, search, analyze,
+ monitor, and alert on log data and events from Google Cloud Platform and Amazon Web Services.
+
+ If you require lightweight dependencies, an experimental, minified version of
+ this library is available at [@google-cloud/logging-min](https://www.npmjs.com/package/@google-cloud/logging-min).
+ Note: `logging-min` is experimental, and its feature surface is subject to change.
+ To install `@google-cloud/logging-min` library run the following command:
+
+ ```bash
+ npm install @google-cloud/logging-min
+ ```
+
+ For an interactive tutorial on using the client library in a Node.js application, click Guide Me:
+
+ [](https://console.cloud.google.com/?walkthrough_id=logging__logging-nodejs)
+body: |-
+ ## Batching Writes
+
+ High throughput applications should avoid awaiting calls to the logger:
+
+ ```js
+ await log.write(logEntry1);
+ await log.write(logEntry2);
+ ```
+
+ Rather, applications should use a _fire and forget_ approach:
+
+ ```js
+ log.write(logEntry1);
+ log.write(logEntry2);
+ ```
+
+ The `@google-cloud/logging` library will handle batching and dispatching
+ these log lines to the API.
+
+ ## Writing to Stdout
+
+ The `LogSync` class helps users easily write context-rich structured logs to
+ `stdout` or any custom transport. It extracts additional log properties like
+ trace context from HTTP headers and can be used as an on/off toggle between
+ writing to the API or to `stdout` during local development.
+
+ Logs written to `stdout` are then picked up, out-of-process, by a Logging
+ agent in the respective GCP environment. Logging agents can add more
+ properties to each entry before streaming it to the Logging API.
+
+ Read more about [Logging agents](https://cloud.google.com/logging/docs/agent/logging).
+
+ Serverless applications like Cloud Functions, Cloud Run, and App Engine
+ are highly recommended to use the `LogSync` class as async logs may be dropped
+ due to lack of CPU.
+
+ Read more about [structured logging](https://cloud.google.com/logging/docs/structured-logging).
+
+ ```js
+ // Optional: Create and configure a client
+ const logging = new Logging();
+ await logging.setProjectId()
+ await logging.setDetectedResource()
+
+ // Create a LogSync transport, defaulting to `process.stdout`
+ const log = logging.logSync(logname);
+ const meta = { // optional field overrides here };
+ const entry = log.entry(meta, 'Your log message');
+ log.write(entry);
+
+ // Syntax sugar for logging at a specific severity
+ log.alert(entry);
+ log.warning(entry);
+ ```
+
+ ## Populating Http request metadata
+
+ Metadata about Http request is a part of the [structured log info](https://cloud.google.com/logging/docs/structured-logging)
+ that can be captured within each log entry. It can provide a context for the application logs and
+ is used to group multiple log entries under the load balancer request logs. See the [sample](https://github.com/googleapis/nodejs-logging/blob/master/samples/http-request.js)
+ how to populate the Http request metadata for log entries.
+
+ If you already have a "raw" Http `request` object you can assign it to `entry.metadata.httpRequest` directly. More information about
+ how the `request` is interpreted as raw can be found in the [code](https://github.com/googleapis/nodejs-logging/blob/15849160116a814ab71113138cb211c2e0c2d4b4/src/entry.ts#L224-L238).
+
+ ## Automatic Trace/Span ID Extraction
+ Cloud Logging libraries use [trace fields within LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#FIELDS.trace) to capture trace contexts, which enables the [correlation of logs and traces](https://cloud.google.com/logging/docs/view/correlate-logs), and distributed tracing troubleshooting.
+ These tracing fields, including [trace](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#FIELDS.trace), [spanId](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#FIELDS.span_id), and [traceSampled](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#FIELDS.trace_sampled), define the trace context for a `LogEntry`.
+
+ If not provided explicitly in a LogEntry, the Cloud Logging library automatically populates `trace`, `span_id`, and `trace_sampled` fields from detected OpenTelemetry span contexts, or from HTTP request headers.
+
+ ### Extracting Trace/Span ID from OpenTelemetry Context
+ If you are using OpenTelemetry and there is an active span in the OpenTelemetry Context, the `trace`, `span_id`, and `trace_sampled` fields in the log entry are automatically populated from the active span. More information about OpenTelemetry can be found [here](https://opentelemetry.io/docs/languages/js/).
+
+ ### Extracting Trace/Span ID from HTTP Headers
+ If tracing fields are not provided explicitly and no OpenTelemetry context is detected, the `trace` / `span_id` fields are extracted automatically from HTTP headers.
+ Trace information can be automatically populated from either the [W3C Traceparent](https://www.w3.org/TR/trace-context) or [X-Cloud-Trace-Context](https://cloud.google.com/trace/docs/trace-context#legacy-http-header) headers.
+
+ ## Error handling with logs written or deleted asynchronously
+
+ The `Log` class provide users the ability to write and delete logs asynchronously. However, there are cases when log entries
+ cannot be written or deleted and error is thrown - if error is not handled properly, it could crash the application.
+ One possible way to catch the error is to `await` the log write/delete calls and wrap it with `try/catch` like in example below:
+
+ ```js
+ // Write log entry and and catch any errors
+ try {
+ await log.write(entry);
+ } catch (err) {
+ console.log('Error is: ' + err);
+ }
+ ```
+
+ However, awaiting for every `log.write` or `log.delete` calls may introduce delays which could be avoided by
+ simply adding a callback like in the example below. This way the log entry can be queued for processing and code
+ execution will continue without further delays. The callback will be called once the operation is complete:
+
+ ```js
+ // Asynchronously write the log entry and handle respone or any errors in provided callback
+ log.write(entry, err => {
+ if (err) {
+ // The log entry was not written.
+ console.log(err.message);
+ } else {
+ console.log('No error in write callback!');
+ }
+ });
+ ```
+
+ Adding a callback to every `log.write` or `log.delete` calls could be a burden, especially if code
+ handling the error is always the same. For this purpose we introduced an ability to provide a default callback
+ for `Log` class which could be set through `LogOptions` passed to `Log` constructor as in example below - this
+ way you can define a global callback once for all `log.write` and `log.delete` calls and be able to handle errors:
+
+ ```js
+ const {Logging} = require('@google-cloud/logging');
+ const logging = new Logging();
+
+ // Create options with default callback to be called on every write/delete response or error
+ const options = {
+ defaultWriteDeleteCallback: function (err) {
+ if (err) {
+ console.log('Error is: ' + err);
+ } else {
+ console.log('No error, all is good!');
+ }
+ },
+ };
+
+ const log = logging.log('my-log', options);
+ ```
+ See the full sample in `writeLogWithCallback` function [here](https://github.com/googleapis/nodejs-logging/blob/master/samples/logs.js).
diff --git a/handwritten/logging/.repo-metadata.json b/handwritten/logging/.repo-metadata.json
new file mode 100644
index 00000000000..b51378d7189
--- /dev/null
+++ b/handwritten/logging/.repo-metadata.json
@@ -0,0 +1,16 @@
+{
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/logging/latest",
+ "product_documentation": "https://cloud.google.com/logging/docs",
+ "name": "logging",
+ "codeowner_team": "@googleapis/yoshi-nodejs",
+ "release_level": "stable",
+ "language": "nodejs",
+ "api_id": "logging.googleapis.com",
+ "distribution_name": "@google-cloud/logging",
+ "repo": "googleapis/google-cloud-node",
+ "issue_tracker": "https://issuetracker.google.com/savedsearches/559764",
+ "name_pretty": "Cloud Logging",
+ "default_version": "v2",
+ "api_shortname": "logging",
+ "library_type": "GAPIC_COMBO"
+}
diff --git a/handwritten/logging/.trampolinerc b/handwritten/logging/.trampolinerc
new file mode 100644
index 00000000000..f1ac3ee1315
--- /dev/null
+++ b/handwritten/logging/.trampolinerc
@@ -0,0 +1,53 @@
+# 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+=(
+ "ENVIRONMENT"
+ "RUNTIME"
+ "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/logging/.kokoro/populate-secrets.sh
diff --git a/handwritten/logging/CHANGELOG.md b/handwritten/logging/CHANGELOG.md
new file mode 100644
index 00000000000..1717e6e96c0
--- /dev/null
+++ b/handwritten/logging/CHANGELOG.md
@@ -0,0 +1,1291 @@
+# Changelog
+
+[npm history][1]
+
+[1]: https://www.npmjs.com/package/nodejs-logging?activeTab=versions
+
+
+## [11.2.1](https://github.com/googleapis/nodejs-logging/compare/v11.2.0...v11.2.1) (2025-09-03)
+
+
+### Bug Fixes
+
+* **logging:** Specifying resourceNames should fetch logs only from those resources ([#1597](https://github.com/googleapis/nodejs-logging/issues/1597)) ([ff7899f](https://github.com/googleapis/nodejs-logging/commit/ff7899f5e91da6540d3f68476b2d9acd58ff0993))
+
+## [11.2.0](https://github.com/googleapis/nodejs-logging/compare/v11.1.0...v11.2.0) (2024-07-15)
+
+
+### Features
+
+* Open telemetry integration and span Id fix for nodejs logging library ([#1497](https://github.com/googleapis/nodejs-logging/issues/1497)) ([91577e0](https://github.com/googleapis/nodejs-logging/commit/91577e0c46cefd1333bb3a69e62a50e0aab74615))
+
+## [11.1.0](https://github.com/googleapis/nodejs-logging/compare/v11.0.0...v11.1.0) (2024-05-29)
+
+
+### Features
+
+* Add several fields to manage state of database encryption update ([#1495](https://github.com/googleapis/nodejs-logging/issues/1495)) ([4137f7b](https://github.com/googleapis/nodejs-logging/commit/4137f7b276aaf419125de2f913bf0d61afc7cde7))
+* Update Nodejs generator to send API versions in headers for GAPICs ([#1502](https://github.com/googleapis/nodejs-logging/issues/1502)) ([346e646](https://github.com/googleapis/nodejs-logging/commit/346e646367e7e1d6d9456ed4f8ff4a7464eb16a9))
+
+
+### Bug Fixes
+
+* Correct long audio synthesis HTTP binding ([#1479](https://github.com/googleapis/nodejs-logging/issues/1479)) ([1f94504](https://github.com/googleapis/nodejs-logging/commit/1f945042478bfc9fba4fb348705f903d05b41821))
+* Improve retry logic for streaming API calls ([#1484](https://github.com/googleapis/nodejs-logging/issues/1484)) ([7e11e11](https://github.com/googleapis/nodejs-logging/commit/7e11e11bcb2c3dd346b589cf01cb75626ff10f4c))
+
+## [11.0.0](https://github.com/googleapis/nodejs-logging/compare/v10.5.0...v11.0.0) (2023-08-10)
+
+
+### ⚠ BREAKING CHANGES
+
+* migrate to Node 14
+
+### Miscellaneous Chores
+
+* Migrate to Node 14 ([c294f5d](https://github.com/googleapis/nodejs-logging/commit/c294f5d439eea69826d9ba6cb66f00adaf428878))
+
+## [10.5.0](https://github.com/googleapis/nodejs-logging/compare/v10.4.1...v10.5.0) (2023-05-30)
+
+
+### Features
+
+* Log Analytics features of the Cloud Logging API ([#1416](https://github.com/googleapis/nodejs-logging/issues/1416)) ([3c3de6d](https://github.com/googleapis/nodejs-logging/commit/3c3de6d3e472fa7d0a9ebbe05cf90abfa173db64))
+
+## [10.4.1](https://github.com/googleapis/nodejs-logging/compare/v10.4.0...v10.4.1) (2023-04-28)
+
+
+### Bug Fixes
+
+* **deps:** Bump `google-gax` to ^3.5.8 ([#1412](https://github.com/googleapis/nodejs-logging/issues/1412)) ([8eb6f03](https://github.com/googleapis/nodejs-logging/commit/8eb6f034c379fff01c3bcb2dacbbf764dd40c1d7))
+
+## [10.4.0](https://github.com/googleapis/nodejs-logging/compare/v10.3.3...v10.4.0) (2023-01-30)
+
+
+### Features
+
+* Added SuggestConversationSummary RPC ([#1399](https://github.com/googleapis/nodejs-logging/issues/1399)) ([f176209](https://github.com/googleapis/nodejs-logging/commit/f17620919e8f528f197218c97a6a839a7c480a80))
+
+## [10.3.3](https://github.com/googleapis/nodejs-logging/compare/v10.3.2...v10.3.3) (2022-12-16)
+
+
+### Bug Fixes
+
+* Add CLOUDSDK_PYTHON env var to environment tests ([#1385](https://github.com/googleapis/nodejs-logging/issues/1385)) ([8ac3e6b](https://github.com/googleapis/nodejs-logging/commit/8ac3e6b69c7a862942a40427ddefa07b0cf50554))
+
+## [10.3.2](https://github.com/googleapis/nodejs-logging/compare/v10.3.1...v10.3.2) (2022-12-02)
+
+
+### Bug Fixes
+
+* Add a partner team as approvers for PRs ([#1380](https://github.com/googleapis/nodejs-logging/issues/1380)) ([ca1f4fa](https://github.com/googleapis/nodejs-logging/commit/ca1f4fa30baa4f9786d6c112313c4fe06773524d))
+
+## [10.3.1](https://github.com/googleapis/nodejs-logging/compare/v10.3.0...v10.3.1) (2022-11-07)
+
+
+### Bug Fixes
+
+* Switch instrumentation code to work with NODEJS_DEFAULT_LIBRARY_VERSION only ([#1373](https://github.com/googleapis/nodejs-logging/issues/1373)) ([32b22b4](https://github.com/googleapis/nodejs-logging/commit/32b22b4c17376a51f413481b3e412a88c0f83f06))
+
+## [10.3.0](https://github.com/googleapis/nodejs-logging/compare/v10.2.3...v10.3.0) (2022-11-04)
+
+
+### Features
+
+* Add support for instrumentation version annotations ([#1370](https://github.com/googleapis/nodejs-logging/issues/1370)) ([c039022](https://github.com/googleapis/nodejs-logging/commit/c039022783d7507b9cb14152e1e370b03f6f864f))
+
+## [10.2.3](https://github.com/googleapis/nodejs-logging/compare/v10.2.2...v10.2.3) (2022-11-03)
+
+
+### Bug Fixes
+
+* **deps:** Use google-gax v3.5.2 ([#1367](https://github.com/googleapis/nodejs-logging/issues/1367)) ([8cd3262](https://github.com/googleapis/nodejs-logging/commit/8cd326250d5f92e025925158922f67de9d65678e))
+
+## [10.2.2](https://github.com/googleapis/nodejs-logging/compare/v10.2.1...v10.2.2) (2022-10-31)
+
+
+### Bug Fixes
+
+* Runtime package.json check causes breakage when bundled ([#1364](https://github.com/googleapis/nodejs-logging/issues/1364)) ([ec40231](https://github.com/googleapis/nodejs-logging/commit/ec4023165368eea7fd6fc05002a7da1a065b128e))
+
+## [10.2.1](https://github.com/googleapis/nodejs-logging/compare/v10.2.0...v10.2.1) (2022-10-28)
+
+
+### Bug Fixes
+
+* Correct an order of instrumentation entries ([#1362](https://github.com/googleapis/nodejs-logging/issues/1362)) ([c6b11e3](https://github.com/googleapis/nodejs-logging/commit/c6b11e33a1979af522972f37fa5f14f734e64297))
+
+## [10.2.0](https://github.com/googleapis/nodejs-logging/compare/v10.1.11...v10.2.0) (2022-10-27)
+
+
+### Features
+
+* Add support for partialSuccess global configuration ([#1359](https://github.com/googleapis/nodejs-logging/issues/1359)) ([178b19f](https://github.com/googleapis/nodejs-logging/commit/178b19f55e8d50415aee62cc770b2244c590ff67))
+
+## [10.1.11](https://github.com/googleapis/nodejs-logging/compare/v10.1.10...v10.1.11) (2022-10-11)
+
+
+### Bug Fixes
+
+* Instrumentation performance ([#1354](https://github.com/googleapis/nodejs-logging/issues/1354)) ([9f14ea1](https://github.com/googleapis/nodejs-logging/commit/9f14ea11aed043b635518e7a43dd7ba128a7f8c4))
+
+## [10.1.10](https://github.com/googleapis/nodejs-logging/compare/v10.1.9...v10.1.10) (2022-09-14)
+
+
+### Bug Fixes
+
+* Preserve default values in x-goog-request-params header ([#1337](https://github.com/googleapis/nodejs-logging/issues/1337)) ([87c8d1f](https://github.com/googleapis/nodejs-logging/commit/87c8d1f034d6318d4b0841099f844a9474aae165))
+
+## [10.1.9](https://github.com/googleapis/nodejs-logging/compare/v10.1.8...v10.1.9) (2022-09-09)
+
+
+### Bug Fixes
+
+* Google-gax resolution ([#1333](https://github.com/googleapis/nodejs-logging/issues/1333)) ([4491646](https://github.com/googleapis/nodejs-logging/commit/449164633b407770ca791b1e5cdbdf57df7e32ee))
+
+## [10.1.8](https://github.com/googleapis/nodejs-logging/compare/v10.1.7...v10.1.8) (2022-09-03)
+
+
+### Bug Fixes
+
+* Correction for timestamp and instrumentation record severity fields format ([#1328](https://github.com/googleapis/nodejs-logging/issues/1328)) ([057431b](https://github.com/googleapis/nodejs-logging/commit/057431bf7e0157eb6c448973248004b441c6cddb))
+
+## [10.1.7](https://github.com/googleapis/nodejs-logging/compare/v10.1.6...v10.1.7) (2022-09-02)
+
+
+### Bug Fixes
+
+* MaxRetries parameter is ignored ([#1326](https://github.com/googleapis/nodejs-logging/issues/1326)) ([caed0af](https://github.com/googleapis/nodejs-logging/commit/caed0afc8dc365024ae4c37d92dd929c9626f36e))
+
+## [10.1.6](https://github.com/googleapis/nodejs-logging/compare/v10.1.5...v10.1.6) (2022-08-31)
+
+
+### Bug Fixes
+
+* use _gaxModule when accessing gax for bundling ([#1322](https://github.com/googleapis/nodejs-logging/issues/1322)) ([9cd207d](https://github.com/googleapis/nodejs-logging/commit/9cd207dffe32f20472ab2e0037dbca07d62786d1))
+
+## [10.1.5](https://github.com/googleapis/nodejs-logging/compare/v10.1.4...v10.1.5) (2022-08-27)
+
+
+### Bug Fixes
+
+* do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-logging/issues/1553)) ([#1321](https://github.com/googleapis/nodejs-logging/issues/1321)) ([f8fb563](https://github.com/googleapis/nodejs-logging/commit/f8fb563b8486d6b6adf966ae35147be5ba640f03))
+* use google-gax v3.3.0 ([f8fb563](https://github.com/googleapis/nodejs-logging/commit/f8fb563b8486d6b6adf966ae35147be5ba640f03))
+
+## [10.1.4](https://github.com/googleapis/nodejs-logging/compare/v10.1.3...v10.1.4) (2022-08-25)
+
+
+### Bug Fixes
+
+* npm audit failing ([#1319](https://github.com/googleapis/nodejs-logging/issues/1319)) ([2675622](https://github.com/googleapis/nodejs-logging/commit/267562276b5ff727cb74bbe1c31699f396cca111))
+
+## [10.1.3](https://github.com/googleapis/nodejs-logging/compare/v10.1.2...v10.1.3) (2022-08-23)
+
+
+### Bug Fixes
+
+* change import long to require ([#1315](https://github.com/googleapis/nodejs-logging/issues/1315)) ([3cca57a](https://github.com/googleapis/nodejs-logging/commit/3cca57adefcd001e71dc3b28a871efaae879d186))
+* remove pip install statements ([#1546](https://github.com/googleapis/nodejs-logging/issues/1546)) ([#1317](https://github.com/googleapis/nodejs-logging/issues/1317)) ([d85c9a0](https://github.com/googleapis/nodejs-logging/commit/d85c9a0caad56670978413da5ddcf12226478505))
+
+## [10.1.2](https://github.com/googleapis/nodejs-logging/compare/v10.1.1...v10.1.2) (2022-08-20)
+
+
+### Bug Fixes
+
+* better support for fallback mode ([#1312](https://github.com/googleapis/nodejs-logging/issues/1312)) ([91c1222](https://github.com/googleapis/nodejs-logging/commit/91c1222c0a4183776a20e2f5266f577bc4614a6d))
+* Instrumentation version contains package.json content ([#1310](https://github.com/googleapis/nodejs-logging/issues/1310)) ([01e1286](https://github.com/googleapis/nodejs-logging/commit/01e12860556ba74749bebd73b5ee143c1f922e0d))
+* maxResults in getEntries looks broken ([#1311](https://github.com/googleapis/nodejs-logging/issues/1311)) ([208d994](https://github.com/googleapis/nodejs-logging/commit/208d994ecba2a78e667a63c442bf832abc750cc1))
+
+## [10.1.1](https://github.com/googleapis/nodejs-logging/compare/v10.1.0...v10.1.1) (2022-07-14)
+
+
+### Bug Fixes
+
+* Add LogSyncOptions parameter to Logging.logSync() API ([#1307](https://github.com/googleapis/nodejs-logging/issues/1307)) ([89408b0](https://github.com/googleapis/nodejs-logging/commit/89408b0c18a6947ee68da77424e23ac06708b54e))
+
+## [10.1.0](https://github.com/googleapis/nodejs-logging/compare/v10.0.4...v10.1.0) (2022-07-11)
+
+
+### Features
+
+* support regapic LRO ([e702831](https://github.com/googleapis/nodejs-logging/commit/e7028312c5762e1e75abe9972d1c9bc07ed540fe))
+
+
+### Bug Fixes
+
+* Change image in readme to a static link ([#1306](https://github.com/googleapis/nodejs-logging/issues/1306)) ([7f778db](https://github.com/googleapis/nodejs-logging/commit/7f778db8d024831f395d2537aeb62807257e3f53)), closes [#1303](https://github.com/googleapis/nodejs-logging/issues/1303)
+* Logging to stdout in Cloud Run creates a JSON object as "message" ([#1305](https://github.com/googleapis/nodejs-logging/issues/1305)) ([cb5f424](https://github.com/googleapis/nodejs-logging/commit/cb5f424d1d5a1876927a79f284646814f9c0ad9d))
+
+## [10.0.4](https://github.com/googleapis/nodejs-logging/compare/v10.0.3...v10.0.4) (2022-06-12)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/common to v4 ([#1295](https://github.com/googleapis/nodejs-logging/issues/1295)) ([15fb8b8](https://github.com/googleapis/nodejs-logging/commit/15fb8b8e424f89a702a5e3cf5d48e63ee40010db))
+* **deps:** update dependency @google-cloud/projectify to v3 ([#1296](https://github.com/googleapis/nodejs-logging/issues/1296)) ([5e99ce1](https://github.com/googleapis/nodejs-logging/commit/5e99ce1ac6db05fd07dc7bd1447fe28a88073227))
+
+## [10.0.3](https://github.com/googleapis/nodejs-logging/compare/v10.0.2...v10.0.3) (2022-06-01)
+
+
+### Bug Fixes
+
+* fixes for dynamic routing and streaming descriptors ([#1282](https://github.com/googleapis/nodejs-logging/issues/1282)) ([fd0acfc](https://github.com/googleapis/nodejs-logging/commit/fd0acfc7bf41296237af3ec9deca1c0725ebc0dc))
+
+### [10.0.2](https://github.com/googleapis/nodejs-logging/compare/v10.0.1...v10.0.2) (2022-05-25)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/storage to v6 ([#1283](https://github.com/googleapis/nodejs-logging/issues/1283)) ([090a9fb](https://github.com/googleapis/nodejs-logging/commit/090a9fbeff6253634335225c434731d4fff1d073))
+
+### [10.0.1](https://github.com/googleapis/nodejs-logging/compare/v10.0.0...v10.0.1) (2022-05-20)
+
+
+### Bug Fixes
+
+* Add support to set an instrumentation flag ([#1279](https://github.com/googleapis/nodejs-logging/issues/1279)) ([6d470fc](https://github.com/googleapis/nodejs-logging/commit/6d470fc26ffb0411ace184d062b0e603e7cf6259))
+* **deps:** update dependency @google-cloud/paginator to v4 ([#1276](https://github.com/googleapis/nodejs-logging/issues/1276)) ([0bfe813](https://github.com/googleapis/nodejs-logging/commit/0bfe813c54a0d63a0b73a2dfe8cd702da5a6c91b))
+
+## [10.0.0](https://github.com/googleapis/nodejs-logging/compare/v9.9.0...v10.0.0) (2022-05-18)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#1272)
+
+### Build System
+
+* update library to use Node 12 ([#1272](https://github.com/googleapis/nodejs-logging/issues/1272)) ([13f909f](https://github.com/googleapis/nodejs-logging/commit/13f909ff1e26fe783599867c3b7992020a76e934))
+
+## [9.9.0](https://github.com/googleapis/nodejs-logging/compare/v9.8.3...v9.9.0) (2022-05-09)
+
+
+### Features
+
+* Add support for library instrumentation ([#1261](https://github.com/googleapis/nodejs-logging/issues/1261)) ([bb864c8](https://github.com/googleapis/nodejs-logging/commit/bb864c8ff6a57fb70f350d4a15d97e85fdafab29))
+
+### [9.8.3](https://github.com/googleapis/nodejs-logging/compare/v9.8.2...v9.8.3) (2022-04-14)
+
+
+### Bug Fixes
+
+* Reenable staleness bot ([#1249](https://github.com/googleapis/nodejs-logging/issues/1249)) ([3d29fc8](https://github.com/googleapis/nodejs-logging/commit/3d29fc8ba8106614ac372d86add10e068a67e426))
+
+### [9.8.2](https://github.com/googleapis/nodejs-logging/compare/v9.8.1...v9.8.2) (2022-03-30)
+
+
+### Bug Fixes
+
+* traceparent traceSampled parsing issue ([#1241](https://github.com/googleapis/nodejs-logging/issues/1241)) ([0e0d86f](https://github.com/googleapis/nodejs-logging/commit/0e0d86f97b0cdab84aa0a5afaa7be148fa7f0403))
+
+### [9.8.1](https://github.com/googleapis/nodejs-logging/compare/v9.8.0...v9.8.1) (2022-03-29)
+
+
+### Bug Fixes
+
+* Add installation step for @google-cloud/logging-min NPM package in README ([#1239](https://github.com/googleapis/nodejs-logging/issues/1239)) ([f31e3ed](https://github.com/googleapis/nodejs-logging/commit/f31e3ede4d5765fea21e776e27236a2a349b0235))
+
+## [9.8.0](https://github.com/googleapis/nodejs-logging/compare/v9.7.0...v9.8.0) (2022-02-26)
+
+
+### Features
+
+* KMS configuration in settings ([#1231](https://github.com/googleapis/nodejs-logging/issues/1231)) ([cf3b56f](https://github.com/googleapis/nodejs-logging/commit/cf3b56f5753e1a94b9e89d4714c6da657b875e42))
+
+## [9.7.0](https://github.com/googleapis/nodejs-logging/compare/v9.6.9...v9.7.0) (2022-02-18)
+
+
+### Features
+
+* Update Logging API with latest changes ([5eddc7d](https://github.com/googleapis/nodejs-logging/commit/5eddc7d6efeb19bdd01eeba13505b8290763a790))
+
+### [9.6.9](https://github.com/googleapis/nodejs-logging/compare/v9.6.8...v9.6.9) (2022-02-09)
+
+
+### Bug Fixes
+
+* Regular error showing Total timeout of API google.logging.v2.LoggingServiceV2 exceeded 600000 milliseconds ([#1225](https://github.com/googleapis/nodejs-logging/issues/1225)) ([7f584bc](https://github.com/googleapis/nodejs-logging/commit/7f584bc307ed18e333002177436046b3c30f4aa0))
+
+### [9.6.8](https://github.com/googleapis/nodejs-logging/compare/v9.6.7...v9.6.8) (2022-01-21)
+
+
+### Bug Fixes
+
+* log.write removed option.resource.labels ([#1219](https://github.com/googleapis/nodejs-logging/issues/1219)) ([6d7e9ed](https://github.com/googleapis/nodejs-logging/commit/6d7e9ed9cd8b607009b0000aad92041a88107e4c))
+
+### [9.6.7](https://github.com/googleapis/nodejs-logging/compare/v9.6.6...v9.6.7) (2022-01-11)
+
+
+### Bug Fixes
+
+* Setting maxEntrySize does not truncate big json payloads correctly ([#1177](https://www.github.com/googleapis/nodejs-logging/issues/1177)) ([ec66e4d](https://www.github.com/googleapis/nodejs-logging/commit/ec66e4dc96a89259852688d395e647e9a019089d))
+
+
+### [9.6.6](https://www.github.com/googleapis/nodejs-logging/compare/v9.6.5...v9.6.6) (2021-12-22)
+
+
+### Bug Fixes
+
+* update links for TSDoc ([#1197](https://www.github.com/googleapis/nodejs-logging/issues/1197)) ([154dffc](https://www.github.com/googleapis/nodejs-logging/commit/154dffc6197d6be711b8186ed81efa3f7512714d))
+
+### [9.6.5](https://www.github.com/googleapis/nodejs-logging/compare/v9.6.4...v9.6.5) (2021-12-21)
+
+
+### Bug Fixes
+
+* update links for TSDoc ([#1194](https://www.github.com/googleapis/nodejs-logging/issues/1194)) ([b66e158](https://www.github.com/googleapis/nodejs-logging/commit/b66e1580f958e4213e3eecbbceaae2c5ded7e14d))
+
+### [9.6.4](https://www.github.com/googleapis/nodejs-logging/compare/v9.6.3...v9.6.4) (2021-12-13)
+
+
+### Bug Fixes
+
+* Correct a comment in sample regarding asynchronous log writing ([#1189](https://www.github.com/googleapis/nodejs-logging/issues/1189)) ([c4abb7e](https://www.github.com/googleapis/nodejs-logging/commit/c4abb7eb1012e5a95d3b68a647a3c2d63d85610f))
+
+### [9.6.3](https://www.github.com/googleapis/nodejs-logging/compare/v9.6.2...v9.6.3) (2021-11-08)
+
+
+### Bug Fixes
+
+* **cloud-rad:** move comments for TSDoc ([#1181](https://www.github.com/googleapis/nodejs-logging/issues/1181)) ([51d6efd](https://www.github.com/googleapis/nodejs-logging/commit/51d6efd3341e6a02ffd130e36eb1491f410e1dc1))
+
+### [9.6.2](https://www.github.com/googleapis/nodejs-logging/compare/v9.6.1...v9.6.2) (2021-11-01)
+
+
+### Bug Fixes
+
+* Cannot read property 'forEach' of undefined ([#1173](https://www.github.com/googleapis/nodejs-logging/issues/1173)) ([abf1ab0](https://www.github.com/googleapis/nodejs-logging/commit/abf1ab03483db8bf0c018524c348260a06193a4c))
+
+### [9.6.1](https://www.github.com/googleapis/nodejs-logging/compare/v9.6.0...v9.6.1) (2021-09-30)
+
+
+### Bug Fixes
+
+* log a warning instead of failing test ([#1161](https://www.github.com/googleapis/nodejs-logging/issues/1161)) ([689ffb8](https://www.github.com/googleapis/nodejs-logging/commit/689ffb8a7ab76104ddd4739cba484db0f3471222))
+
+## [9.6.0](https://www.github.com/googleapis/nodejs-logging/compare/v9.5.7...v9.6.0) (2021-09-08)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#1140](https://www.github.com/googleapis/nodejs-logging/issues/1140)) ([dc15213](https://www.github.com/googleapis/nodejs-logging/commit/dc15213d0fa2c56c74bb1c22f38f105c7358dd38))
+
+
+### Bug Fixes
+
+* **build:** update branch to main ([#1152](https://www.github.com/googleapis/nodejs-logging/issues/1152)) ([9a2e91e](https://www.github.com/googleapis/nodejs-logging/commit/9a2e91ea5f78160c02949a8f2729219f8da7afcd))
+
+### [9.5.7](https://www.github.com/googleapis/nodejs-logging/compare/v9.5.6...v9.5.7) (2021-09-02)
+
+
+### Bug Fixes
+
+* Fix detecting Cloud Run logic ([#1145](https://www.github.com/googleapis/nodejs-logging/issues/1145)) ([99c276c](https://www.github.com/googleapis/nodejs-logging/commit/99c276cf0c394200836f3289ff21a4880523a7b5)), closes [#1127](https://www.github.com/googleapis/nodejs-logging/issues/1127)
+
+### [9.5.6](https://www.github.com/googleapis/nodejs-logging/compare/v9.5.5...v9.5.6) (2021-09-01)
+
+
+### Bug Fixes
+
+* **deps:** update dependency eventid to v2 ([#1144](https://www.github.com/googleapis/nodejs-logging/issues/1144)) ([2c4b4c1](https://www.github.com/googleapis/nodejs-logging/commit/2c4b4c1bca7859cd15fd611653d8b35983fe5915))
+
+### [9.5.5](https://www.github.com/googleapis/nodejs-logging/compare/v9.5.4...v9.5.5) (2021-08-16)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.24.1 ([#1139](https://www.github.com/googleapis/nodejs-logging/issues/1139)) ([4c9fc48](https://www.github.com/googleapis/nodejs-logging/commit/4c9fc486cab8aac21b50cebb0e25990f7cffeccf))
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#1121](https://www.github.com/googleapis/nodejs-logging/issues/1121)) ([8ac1348](https://www.github.com/googleapis/nodejs-logging/commit/8ac1348b18fc07ad79e5d06ea945eb92d9f24bc9))
+
+### [9.5.4](https://www.github.com/googleapis/nodejs-logging/compare/v9.5.3...v9.5.4) (2021-07-14)
+
+
+### Bug Fixes
+
+* missing "uuid" dependency ([#1119](https://www.github.com/googleapis/nodejs-logging/issues/1119)) ([168389c](https://www.github.com/googleapis/nodejs-logging/commit/168389ce885e6e00c7f8d87fbda2564077ff5356))
+
+### [9.5.3](https://www.github.com/googleapis/nodejs-logging/compare/v9.5.2...v9.5.3) (2021-07-12)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#1117](https://www.github.com/googleapis/nodejs-logging/issues/1117)) ([cbf3af9](https://www.github.com/googleapis/nodejs-logging/commit/cbf3af964225dfdf1bb23406ffbfd71202c7b6ca))
+
+### [9.5.2](https://www.github.com/googleapis/nodejs-logging/compare/v9.5.1...v9.5.2) (2021-06-30)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.17.0 ([#1111](https://www.github.com/googleapis/nodejs-logging/issues/1111)) ([d64d671](https://www.github.com/googleapis/nodejs-logging/commit/d64d67190dddf0318ca47eb8528e4b9052e3a9c0))
+
+### [9.5.1](https://www.github.com/googleapis/nodejs-logging/compare/v9.5.0...v9.5.1) (2021-06-23)
+
+
+### Bug Fixes
+
+* make request optional in all cases ([#1103](https://www.github.com/googleapis/nodejs-logging/issues/1103)) ([4f5e5e3](https://www.github.com/googleapis/nodejs-logging/commit/4f5e5e3a1e0d79f5bc172687a95cd0839c1a124e))
+
+## [9.5.0](https://www.github.com/googleapis/nodejs-logging/compare/v9.4.1...v9.5.0) (2021-06-23)
+
+
+### Features
+
+* users can write structured logEntries to STDOUT ([#1102](https://www.github.com/googleapis/nodejs-logging/issues/1102)) ([f4e892e](https://www.github.com/googleapis/nodejs-logging/commit/f4e892ed1342f3aacb8056212d75792959ab43b5))
+
+### [9.4.1](https://www.github.com/googleapis/nodejs-logging/compare/v9.4.0...v9.4.1) (2021-06-14)
+
+
+### Bug Fixes
+
+* allow unformatted originalURL input ([#1100](https://www.github.com/googleapis/nodejs-logging/issues/1100)) ([136f90b](https://www.github.com/googleapis/nodejs-logging/commit/136f90b0926c1a04521fddd7c82d0efbf7572521))
+
+## [9.4.0](https://www.github.com/googleapis/nodejs-logging/compare/v9.3.1...v9.4.0) (2021-06-11)
+
+
+### Features
+
+* detect Google and W3C trace context (including in middleware) ([#1088](https://www.github.com/googleapis/nodejs-logging/issues/1088)) ([864f188](https://www.github.com/googleapis/nodejs-logging/commit/864f18848c87a22c335b48e60a1d4505d3c9bd94))
+* users can log raw http request objects with trace ([#1086](https://www.github.com/googleapis/nodejs-logging/issues/1086)) ([19b943e](https://www.github.com/googleapis/nodejs-logging/commit/19b943eb44b2c046ab4f2b4886a79f9c42536c2a))
+
+
+### Bug Fixes
+
+* Report warning on `.github/workflows/ci.yaml` ([#1110](https://www.github.com/googleapis/nodejs-logging/issues/1110)) ([#1089](https://www.github.com/googleapis/nodejs-logging/issues/1089)) ([0d8b8d0](https://www.github.com/googleapis/nodejs-logging/commit/0d8b8d0d3129db9f3cbd2eed7c1234b14705dd9e))
+
+### [9.3.1](https://www.github.com/googleapis/nodejs-logging/compare/v9.3.0...v9.3.1) (2021-05-25)
+
+
+### Bug Fixes
+
+* GoogleAdsError missing using generator version after 1.3.0 ([#1081](https://www.github.com/googleapis/nodejs-logging/issues/1081)) ([bf0113d](https://www.github.com/googleapis/nodejs-logging/commit/bf0113d24a5d4e2aacb704e47207d81f98ad0d86))
+
+## [9.3.0](https://www.github.com/googleapis/nodejs-logging/compare/v9.2.3...v9.3.0) (2021-05-24)
+
+
+### Features
+
+* fix resource autodetection for GKE, GAE, and GCE ([#1070](https://www.github.com/googleapis/nodejs-logging/issues/1070)) ([1820f5d](https://www.github.com/googleapis/nodejs-logging/commit/1820f5de0a7f7f9e87cc94219c3fd1cee82b2a64))
+
+
+### Bug Fixes
+
+* debrand Stackdriver & do not throw errors ([#1073](https://www.github.com/googleapis/nodejs-logging/issues/1073)) ([5cd8c17](https://www.github.com/googleapis/nodejs-logging/commit/5cd8c172a671a11a708c140f63ed0f589aa01fa5))
+* Object implementing toString not logged as Object ([#1077](https://www.github.com/googleapis/nodejs-logging/issues/1077)) ([a060957](https://www.github.com/googleapis/nodejs-logging/commit/a0609574cf5012d89863f23c4c94a79fb605c7ae))
+* use require() to load JSON protos ([#1065](https://www.github.com/googleapis/nodejs-logging/issues/1065)) ([9718d9a](https://www.github.com/googleapis/nodejs-logging/commit/9718d9a3f7f672947de674343fc0527f39d4a0aa))
+
+### [9.2.3](https://www.github.com/googleapis/nodejs-logging/compare/v9.2.2...v9.2.3) (2021-05-07)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#1061](https://www.github.com/googleapis/nodejs-logging/issues/1061)) ([8866b55](https://www.github.com/googleapis/nodejs-logging/commit/8866b55ad0624d15c4aa2a616678ad3718325826))
+
+### [9.2.2](https://www.github.com/googleapis/nodejs-logging/compare/v9.2.1...v9.2.2) (2021-05-04)
+
+
+### Bug Fixes
+
+* **deps:** update dependency yargs to v17 ([#1058](https://www.github.com/googleapis/nodejs-logging/issues/1058)) ([8d96368](https://www.github.com/googleapis/nodejs-logging/commit/8d963684c60c98fecf48fc4075bcd9c67537dc5c))
+
+### [9.2.1](https://www.github.com/googleapis/nodejs-logging/compare/v9.2.0...v9.2.1) (2021-04-15)
+
+
+### Bug Fixes
+
+* accept uniqueWriterIdentity in setMetadata ([#1034](https://www.github.com/googleapis/nodejs-logging/issues/1034)) ([02e8bb4](https://www.github.com/googleapis/nodejs-logging/commit/02e8bb4b5983c48bf7bd5e16ba4ab9c226d3f28e))
+* cloud functions resource.labels.region undefined ([#1028](https://www.github.com/googleapis/nodejs-logging/issues/1028)) ([3808656](https://www.github.com/googleapis/nodejs-logging/commit/38086569ad2915785e161542d7056ae3944948c8))
+* **deps:** remove dependency on through2 ([#1023](https://www.github.com/googleapis/nodejs-logging/issues/1023)) ([485347f](https://www.github.com/googleapis/nodejs-logging/commit/485347fd3712565ae90e307a314bcdfeeb581379))
+
+## [9.2.0](https://www.github.com/googleapis/nodejs-logging/compare/v9.1.1...v9.2.0) (2021-04-05)
+
+
+### Features
+
+* resource autodetection for cloud run ([#1024](https://www.github.com/googleapis/nodejs-logging/issues/1024)) ([08c4404](https://www.github.com/googleapis/nodejs-logging/commit/08c4404fa401f0d90a8ee24a5b0477777e6b5e70))
+
+
+### Bug Fixes
+
+* **deps:** drop dependency on is ([#1021](https://www.github.com/googleapis/nodejs-logging/issues/1021)) ([f32da13](https://www.github.com/googleapis/nodejs-logging/commit/f32da13ac6744de68a6d8e2d615df2bb80438643))
+* **deps:** drop dependency on type-fest ([#1020](https://www.github.com/googleapis/nodejs-logging/issues/1020)) ([f1e35e4](https://www.github.com/googleapis/nodejs-logging/commit/f1e35e443e04d832677eca8663fb3ae2567919fa))
+
+### [9.1.1](https://www.github.com/googleapis/nodejs-logging/compare/v9.1.0...v9.1.1) (2021-03-31)
+
+
+### Bug Fixes
+
+* Insufficient return values for `GetEntriesResponse` and `GetLogsResponse` ([#1011](https://www.github.com/googleapis/nodejs-logging/issues/1011)) ([0157ae1](https://www.github.com/googleapis/nodejs-logging/commit/0157ae14899cc885d584a9fe9f7f3bbe24188eb2)), closes [#1010](https://www.github.com/googleapis/nodejs-logging/issues/1010)
+
+## [9.1.0](https://www.github.com/googleapis/nodejs-logging/compare/v9.0.2...v9.1.0) (2021-03-03)
+
+
+### Features
+
+* tail entries wrapper ([#998](https://www.github.com/googleapis/nodejs-logging/issues/998)) ([bfe8b76](https://www.github.com/googleapis/nodejs-logging/commit/bfe8b765d1c690e81c96f0c71e4e431622f67104))
+
+
+### Bug Fixes
+
+* **deps:** update dependency type-fest to ^0.21.0 ([#997](https://www.github.com/googleapis/nodejs-logging/issues/997)) ([47a4c72](https://www.github.com/googleapis/nodejs-logging/commit/47a4c724f4f359f9c3d05360881724cbb14894d7))
+
+### [9.0.2](https://www.github.com/googleapis/nodejs-logging/compare/v9.0.1...v9.0.2) (2021-02-09)
+
+
+### Bug Fixes
+
+* **deps:** update dependency google-auth-library to v7 ([#993](https://www.github.com/googleapis/nodejs-logging/issues/993)) ([9edeaf7](https://www.github.com/googleapis/nodejs-logging/commit/9edeaf74b7cbdc55215d5a40db7d3043937c598e))
+
+### [9.0.1](https://www.github.com/googleapis/nodejs-logging/compare/v9.0.0...v9.0.1) (2021-01-07)
+
+
+### Bug Fixes
+
+* synth.py pipeline ([#979](https://www.github.com/googleapis/nodejs-logging/issues/979)) ([f987b2d](https://www.github.com/googleapis/nodejs-logging/commit/f987b2d11f569f332a0f1fcf7c7c9975c9a92d51))
+
+## [9.0.0](https://www.github.com/googleapis/nodejs-logging/compare/v8.2.0...v9.0.0) (2020-12-04)
+
+
+### ⚠ BREAKING CHANGES
+
+* getEntries filters 24 hour timestamp by default (#955)
+* users can log httprequest logs without providing a log message (#942)
+
+### Bug Fixes
+
+* only apply logName to filter when not already present ([#962](https://www.github.com/googleapis/nodejs-logging/issues/962)) ([f1fbbc4](https://www.github.com/googleapis/nodejs-logging/commit/f1fbbc4dde50c6285ab0ee44a7ebb5dd9298aaeb))
+* **deps:** roll back dependency @google-cloud/logging to ^8.1.1 ([#961](https://www.github.com/googleapis/nodejs-logging/issues/961)) ([1fa8cd3](https://www.github.com/googleapis/nodejs-logging/commit/1fa8cd3bfc0eda6f1811ab44418d6355763ef16e))
+* users can log httprequest logs without providing a log message ([#942](https://www.github.com/googleapis/nodejs-logging/issues/942)) ([d72a296](https://www.github.com/googleapis/nodejs-logging/commit/d72a29665ddd777cfc14234f1458f0a2ffc2e3b5))
+
+
+### Performance Improvements
+
+* getEntries filters 24 hour timestamp by default ([#955](https://www.github.com/googleapis/nodejs-logging/issues/955)) ([3d63d5f](https://www.github.com/googleapis/nodejs-logging/commit/3d63d5f8b79c082db37284d84c28311cb107343e))
+
+## [8.2.0](https://www.github.com/googleapis/nodejs-logging/compare/v8.1.1...v8.2.0) (2020-11-30)
+
+
+### Features
+
+* add the Tailing API to get a live stream of the tail end of filtered logs ([#958](https://www.github.com/googleapis/nodejs-logging/issues/958)) ([c7b2801](https://www.github.com/googleapis/nodejs-logging/commit/c7b280105d79c69ea01a3e490a712c940a851a32))
+* Makes remaining LogBucket and LogViews methods public ([c9a69da](https://www.github.com/googleapis/nodejs-logging/commit/c9a69da3cf4ec3e87f30afc22344191a3e43e26a))
+
+
+### Bug Fixes
+
+* **deps:** update dependency type-fest to ^0.20.0 ([#956](https://www.github.com/googleapis/nodejs-logging/issues/956)) ([ed9dcf8](https://www.github.com/googleapis/nodejs-logging/commit/ed9dcf8785a5abe72cbe407c38dbb900ffa80bc1))
+
+### [8.1.1](https://www.github.com/googleapis/nodejs-logging/compare/v8.1.0...v8.1.1) (2020-11-16)
+
+
+### Bug Fixes
+
+* **deps:** update dependency type-fest to ^0.19.0 ([#945](https://www.github.com/googleapis/nodejs-logging/issues/945)) ([bd5f001](https://www.github.com/googleapis/nodejs-logging/commit/bd5f00173b92a56e2524c8222f74db1216924ec3))
+
+## [8.1.0](https://www.github.com/googleapis/nodejs-logging/compare/v8.0.10...v8.1.0) (2020-11-09)
+
+
+### Features
+
+* accept entry.timestamp string input in RFC3339 format ([#937](https://www.github.com/googleapis/nodejs-logging/issues/937)) ([869bbaf](https://www.github.com/googleapis/nodejs-logging/commit/869bbafe3790d6d6f21a1f538549a1f336d6f918))
+
+
+### Bug Fixes
+
+* **deps:** roll back dependency @google-cloud/logging to ^8.0.9 ([#940](https://www.github.com/googleapis/nodejs-logging/issues/940)) ([2a3ad40](https://www.github.com/googleapis/nodejs-logging/commit/2a3ad405683421f5d2099da1b658fe111dc336d2))
+
+### [8.0.10](https://www.github.com/googleapis/nodejs-logging/compare/v8.0.9...v8.0.10) (2020-11-06)
+
+
+### Bug Fixes
+
+* do not modify options object, use defaultScopes ([#935](https://www.github.com/googleapis/nodejs-logging/issues/935)) ([fd1e63a](https://www.github.com/googleapis/nodejs-logging/commit/fd1e63a56f19b5af48fbba40d136a4ce640ca2f3))
+
+### [8.0.9](https://www.github.com/googleapis/nodejs-logging/compare/v8.0.8...v8.0.9) (2020-11-03)
+
+
+### Bug Fixes
+
+* **deps:** update dependency dot-prop to v6 ([#908](https://www.github.com/googleapis/nodejs-logging/issues/908)) ([e696466](https://www.github.com/googleapis/nodejs-logging/commit/e6964662276239b86ccdfcd3e448df65d2013522))
+* **deps:** update dependency type-fest to ^0.18.0 ([#912](https://www.github.com/googleapis/nodejs-logging/issues/912)) ([dafdf8e](https://www.github.com/googleapis/nodejs-logging/commit/dafdf8eedc213c25f23ba5cc5cfa8eea4b2e9727))
+
+### [8.0.8](https://www.github.com/googleapis/nodejs-logging/compare/v8.0.7...v8.0.8) (2020-10-06)
+
+
+### Bug Fixes
+
+* **deps:** upgrade @google-cloud/common ([#905](https://www.github.com/googleapis/nodejs-logging/issues/905)) ([228864b](https://www.github.com/googleapis/nodejs-logging/commit/228864b7c59c80f126c3dbd2d8c8cb4a20adcdf6))
+
+### [8.0.7](https://www.github.com/googleapis/nodejs-logging/compare/v8.0.6...v8.0.7) (2020-10-05)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/common to v3 ([#892](https://www.github.com/googleapis/nodejs-logging/issues/892)) ([b7c0f96](https://www.github.com/googleapis/nodejs-logging/commit/b7c0f9676fd1bacfd336a42ffac53f8765d99e3e))
+* **deps:** update dependency @google-cloud/projectify to v2 ([#895](https://www.github.com/googleapis/nodejs-logging/issues/895)) ([884e905](https://www.github.com/googleapis/nodejs-logging/commit/884e905f7f8cc1670174f507a80dfc011a962a3b))
+* **deps:** update dependency gcp-metadata to v4 ([#893](https://www.github.com/googleapis/nodejs-logging/issues/893)) ([ce79a7c](https://www.github.com/googleapis/nodejs-logging/commit/ce79a7cdb345f0fa8bd87c82df400427c1a984ea))
+* **deps:** update dependency google-auth-library to v6 ([#894](https://www.github.com/googleapis/nodejs-logging/issues/894)) ([d2bbe3c](https://www.github.com/googleapis/nodejs-logging/commit/d2bbe3c69595177f90eb19702534b77fc390e8aa))
+* **deps:** update dependency type-fest to ^0.17.0 ([#901](https://www.github.com/googleapis/nodejs-logging/issues/901)) ([860b795](https://www.github.com/googleapis/nodejs-logging/commit/860b795331885da38d5f91d1af9b1b313d3a59a3))
+
+### [8.0.6](https://www.github.com/googleapis/nodejs-logging/compare/v8.0.5...v8.0.6) (2020-09-12)
+
+
+### Bug Fixes
+
+* **deps:** update dependency yargs to v16 ([#889](https://www.github.com/googleapis/nodejs-logging/issues/889)) ([08ee746](https://www.github.com/googleapis/nodejs-logging/commit/08ee746ddf08f38528d350cd394e903d41d1d621))
+
+### [8.0.5](https://www.github.com/googleapis/nodejs-logging/compare/v8.0.4...v8.0.5) (2020-08-18)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax 2.7.0 ([#879](https://www.github.com/googleapis/nodejs-logging/issues/879)) ([50b4be0](https://www.github.com/googleapis/nodejs-logging/commit/50b4be07c971295d933c3f5833fa40b1c8fc8eaf))
+
+### [8.0.4](https://www.github.com/googleapis/nodejs-logging/compare/v8.0.3...v8.0.4) (2020-08-14)
+
+
+### Bug Fixes
+
+* make request batching work again ([#872](https://www.github.com/googleapis/nodejs-logging/issues/872)) ([a9a9567](https://www.github.com/googleapis/nodejs-logging/commit/a9a9567acc94dbef66830c96ecc363f23b076667))
+
+### [8.0.3](https://www.github.com/googleapis/nodejs-logging/compare/v8.0.2...v8.0.3) (2020-08-10)
+
+
+### Bug Fixes
+
+* **deps:** roll back dependency @google-cloud/logging to ^8.0.1 ([#867](https://www.github.com/googleapis/nodejs-logging/issues/867)) ([3bd950a](https://www.github.com/googleapis/nodejs-logging/commit/3bd950a3bbb3a1bb24165d1b2cb96fc35c06292d))
+
+### [8.0.2](https://www.github.com/googleapis/nodejs-logging/compare/v8.0.1...v8.0.2) (2020-08-06)
+
+
+### Bug Fixes
+
+* **docs:** jsdoc strings were malformed ([#864](https://www.github.com/googleapis/nodejs-logging/issues/864)) ([75cd541](https://www.github.com/googleapis/nodejs-logging/commit/75cd54196917a30edc922adcbac1e84bf019f720))
+
+### [8.0.1](https://www.github.com/googleapis/nodejs-logging/compare/v8.0.0...v8.0.1) (2020-07-06)
+
+
+### Bug Fixes
+
+* **deps:** update dependency through2 to v4 ([#838](https://www.github.com/googleapis/nodejs-logging/issues/838)) ([9c9c302](https://www.github.com/googleapis/nodejs-logging/commit/9c9c3020a7fb3f11896b4024d1e7e6e62df68a46))
+* **deps:** update dependency type-fest to ^0.16.0 ([#840](https://www.github.com/googleapis/nodejs-logging/issues/840)) ([1db672d](https://www.github.com/googleapis/nodejs-logging/commit/1db672d746b1e02e667213b32c45d0f0e1aab781))
+
+## [8.0.0](https://www.github.com/googleapis/nodejs-logging/compare/v7.3.0...v8.0.0) (2020-06-12)
+
+
+### ⚠ BREAKING CHANGES
+
+* The library now supports Node.js v10+. The last version to support Node.js v8 is tagged legacy-8 on NPM.
+* move API to Typescript generation (#758)
+* proto annotations
+
+### Features
+
+* add Blunderbuss config ([#806](https://www.github.com/googleapis/nodejs-logging/issues/806)) ([7f1eb67](https://www.github.com/googleapis/nodejs-logging/commit/7f1eb6731208f99b530d9553da751dad04ec92a9))
+* drop node8 support, support for async iterators ([#778](https://www.github.com/googleapis/nodejs-logging/issues/778)) ([ce29b49](https://www.github.com/googleapis/nodejs-logging/commit/ce29b498ebb357403c093053d1b9989f1a56f5af))
+* move API to Typescript generation ([#758](https://www.github.com/googleapis/nodejs-logging/issues/758)) ([049ae83](https://www.github.com/googleapis/nodejs-logging/commit/049ae8367dcd2b63c951d7c730548c5e88f72fa7))
+* move ts target to es2018 from es2016 ([#825](https://www.github.com/googleapis/nodejs-logging/issues/825)) ([8b73243](https://www.github.com/googleapis/nodejs-logging/commit/8b73243bea64f6026718af9f567e3af1bd151061))
+
+
+### Bug Fixes
+
+* explicit export of protobuf.roots ([#781](https://www.github.com/googleapis/nodejs-logging/issues/781)) ([12808be](https://www.github.com/googleapis/nodejs-logging/commit/12808be22cfc9e5fc8a0c8b24203d2584e812204))
+* handle fallback option properly ([#832](https://www.github.com/googleapis/nodejs-logging/issues/832)) ([6355b20](https://www.github.com/googleapis/nodejs-logging/commit/6355b20a19d7224acf0e2cec103aa095fc62efce))
+* linting and formatting ([#809](https://www.github.com/googleapis/nodejs-logging/issues/809)) ([739cc3a](https://www.github.com/googleapis/nodejs-logging/commit/739cc3a05d1085142ec96ec51f61401d03943876))
+* proto annotations ([e31cc01](https://www.github.com/googleapis/nodejs-logging/commit/e31cc01d5be8a150b370cf5000eedb7cbf175d0c))
+* remove eslint, update gax, fix generated protos, run the generator ([#789](https://www.github.com/googleapis/nodejs-logging/issues/789)) ([d1df1bd](https://www.github.com/googleapis/nodejs-logging/commit/d1df1bdc1d536d3626dc1b85d357cf6ec18f80e8))
+* **deps:** update dependency @google-cloud/paginator to v3 ([#766](https://www.github.com/googleapis/nodejs-logging/issues/766)) ([58fe7b0](https://www.github.com/googleapis/nodejs-logging/commit/58fe7b02defa33e89ef980fc3234e47e72a08436))
+* **deps:** update dependency @google-cloud/promisify to v2 ([#763](https://www.github.com/googleapis/nodejs-logging/issues/763)) ([d3fd09d](https://www.github.com/googleapis/nodejs-logging/commit/d3fd09dae00df3787122b24f25f3347e3653eb52))
+* **deps:** update dependency @google-cloud/storage to v5 ([#812](https://www.github.com/googleapis/nodejs-logging/issues/812)) ([b1be6c4](https://www.github.com/googleapis/nodejs-logging/commit/b1be6c45e88d05204bfbbb05e31f16a3ef909e52))
+* **deps:** update dependency @opencensus/propagation-stackdriver to v0.0.21 ([#771](https://www.github.com/googleapis/nodejs-logging/issues/771)) ([958d186](https://www.github.com/googleapis/nodejs-logging/commit/958d1868da318fd08b543350daca7d2d33f331a8))
+* **deps:** update dependency @opencensus/propagation-stackdriver to v0.0.22 ([#822](https://www.github.com/googleapis/nodejs-logging/issues/822)) ([6f1d18e](https://www.github.com/googleapis/nodejs-logging/commit/6f1d18ec05bbdc9666dfd350b4125761fa4a984e))
+* **deps:** update dependency type-fest to ^0.13.0 ([#782](https://www.github.com/googleapis/nodejs-logging/issues/782)) ([13dcb78](https://www.github.com/googleapis/nodejs-logging/commit/13dcb786dec3400afc8c7ef1753fe7c0840542e2))
+* **deps:** update dependency type-fest to ^0.15.0 ([#814](https://www.github.com/googleapis/nodejs-logging/issues/814)) ([2fc7eed](https://www.github.com/googleapis/nodejs-logging/commit/2fc7eed13c55320688b79513541ae9348bcd9ae0))
+* **sample-test:** we shouldn't delete node_modules after link ([aa4850b](https://www.github.com/googleapis/nodejs-logging/commit/aa4850b39411afd82977e0ecba7a7a4b821332bd))
+
+## [7.3.0](https://www.github.com/googleapis/nodejs-logging/compare/v7.2.3...v7.3.0) (2020-03-11)
+
+
+### Features
+
+* export protos in src/index.ts ([0dbbe35](https://www.github.com/googleapis/nodejs-logging/commit/0dbbe351f3143e8103929ac5862bd7c2c8ff6716))
+
+
+### Bug Fixes
+
+* **deps:** update dependency type-fest to ^0.12.0 ([#741](https://www.github.com/googleapis/nodejs-logging/issues/741)) ([c011c7d](https://www.github.com/googleapis/nodejs-logging/commit/c011c7d62c23814b9abe9b8a6e6f6f493f8a5027))
+* **docs:** documentation for overloaded methods ([#725](https://www.github.com/googleapis/nodejs-logging/issues/725)) ([06a2cea](https://www.github.com/googleapis/nodejs-logging/commit/06a2cea1845ec2de441e156df6fdea04fb7b8955)), closes [#723](https://www.github.com/googleapis/nodejs-logging/issues/723)
+
+### [7.2.3](https://www.github.com/googleapis/nodejs-logging/compare/v7.2.2...v7.2.3) (2020-02-26)
+
+
+### Bug Fixes
+
+* **docs:** writeLog should be in async function ([498a2c3](https://www.github.com/googleapis/nodejs-logging/commit/498a2c3825644b2f6a71ac3e314ba2e3de9fac62)), closes [#693](https://www.github.com/googleapis/nodejs-logging/issues/693)
+
+### [7.2.2](https://www.github.com/googleapis/nodejs-logging/compare/v7.2.1...v7.2.2) (2020-02-20)
+
+
+### Bug Fixes
+
+* **deps:** update dependency type-fest to ^0.11.0 ([#718](https://www.github.com/googleapis/nodejs-logging/issues/718)) ([17decd4](https://www.github.com/googleapis/nodejs-logging/commit/17decd4af5caa96f8508ebdf876277b1efbd5e66))
+
+### [7.2.1](https://www.github.com/googleapis/nodejs-logging/compare/v7.2.0...v7.2.1) (2020-02-20)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @opencensus/propagation-stackdriver to v0.0.20 ([#714](https://www.github.com/googleapis/nodejs-logging/issues/714)) ([865b19f](https://www.github.com/googleapis/nodejs-logging/commit/865b19f95af7e541dbe215cdf72bf34df2c6567d))
+
+## [7.2.0](https://www.github.com/googleapis/nodejs-logging/compare/v7.1.0...v7.2.0) (2020-02-19)
+
+
+### Features
+
+* add CMEK config and update grpc config logic ([#700](https://www.github.com/googleapis/nodejs-logging/issues/700)) ([a3fb0f3](https://www.github.com/googleapis/nodejs-logging/commit/a3fb0f3b55583220883fb83504f94f57cf907267))
+* add getLogs() and getLogsStream() ([#692](https://www.github.com/googleapis/nodejs-logging/issues/692)) ([d582eeb](https://www.github.com/googleapis/nodejs-logging/commit/d582eebb79d183a5fa1403764fc72816f2939b87))
+
+
+### Bug Fixes
+
+* **deps:** update dependency type-fest to ^0.10.0 ([#697](https://www.github.com/googleapis/nodejs-logging/issues/697)) ([395a31d](https://www.github.com/googleapis/nodejs-logging/commit/395a31db786bd416c9387e5b893803c839b39ae7))
+* use logging api resource for metric ([#704](https://www.github.com/googleapis/nodejs-logging/issues/704)) ([0239b81](https://www.github.com/googleapis/nodejs-logging/commit/0239b81ed816412e2a06bcfaaa347552cb00dc29))
+* **docs:** orderby samples and documentation ([#713](https://www.github.com/googleapis/nodejs-logging/issues/713)) ([e703c23](https://www.github.com/googleapis/nodejs-logging/commit/e703c23c4f4c9a49878a50013e6208e2f9aae2cf))
+* **types:** write options dryRun and partialSuccess ([#711](https://www.github.com/googleapis/nodejs-logging/issues/711)) ([#712](https://www.github.com/googleapis/nodejs-logging/issues/712)) ([56a8ed8](https://www.github.com/googleapis/nodejs-logging/commit/56a8ed84ab5d9bad137e8b5ac779a2f1e24aed6a))
+
+## [7.1.0](https://www.github.com/googleapis/nodejs-logging/compare/v7.0.1...v7.1.0) (2020-01-29)
+
+
+### Features
+
+* support uniqueWriterIdentity in Sink.create ([#686](https://www.github.com/googleapis/nodejs-logging/issues/686)) ([41c0346](https://www.github.com/googleapis/nodejs-logging/commit/41c0346199c2afba8a00b434f0eda886ebbaa5fa))
+
+
+### Bug Fixes
+
+* enum, bytes, and Long types now accept strings ([6605067](https://www.github.com/googleapis/nodejs-logging/commit/6605067b6570983b9fcedc1e971663795e6bc11d))
+
+### [7.0.1](https://www.github.com/googleapis/nodejs-logging/compare/v7.0.0...v7.0.1) (2020-01-24)
+
+
+### Bug Fixes
+
+* **deps:** update dependency type-fest to ^0.9.0 ([#682](https://www.github.com/googleapis/nodejs-logging/issues/682)) ([e39c401](https://www.github.com/googleapis/nodejs-logging/commit/e39c401513327292c0cb8fef0a2aa9bb4e90287d))
+
+## [7.0.0](https://www.github.com/googleapis/nodejs-logging/compare/v6.0.0...v7.0.0) (2020-01-09)
+
+
+### ⚠ BREAKING CHANGES
+
+* if using GKE, "Kubernetes Container" type is now properly populated, and logs will be grouped accordingly.
+
+### Features
+
+* **samples:** increase logging client scope ([#670](https://www.github.com/googleapis/nodejs-logging/issues/670)) ([5f35601](https://www.github.com/googleapis/nodejs-logging/commit/5f356014d72a523fc7061caf7bd0143166af6c91))
+
+
+### Bug Fixes
+
+* populate k8s_container rather than container ([#674](https://www.github.com/googleapis/nodejs-logging/issues/674)) ([fa32048](https://www.github.com/googleapis/nodejs-logging/commit/fa3204877cf6f6b943950994d49c0f7d7def5096))
+* **docs:** point folks towards the appropriate client instantiation ([091d7dd](https://www.github.com/googleapis/nodejs-logging/commit/091d7dd28d5f50cb0cf274bb370b36cdf612d42a))
+* **types:** extend constructor options from gax ([#676](https://www.github.com/googleapis/nodejs-logging/issues/676)) ([5156538](https://www.github.com/googleapis/nodejs-logging/commit/51565388f25ef16d7ab9c20c1d96e2a4adb78149))
+
+## [6.0.0](https://www.github.com/googleapis/nodejs-logging/compare/v5.5.5...v6.0.0) (2019-12-06)
+
+
+### ⚠ BREAKING CHANGES
+
+* properly depend on Long in protos (#640)
+
+### Features
+
+* **samples:** add example of including httpRequest metadata in log ([#650](https://www.github.com/googleapis/nodejs-logging/issues/650)) ([e6d293e](https://www.github.com/googleapis/nodejs-logging/commit/e6d293eab1294d4e3434dceade1f45b53060767b))
+
+
+### Bug Fixes
+
+* properly depend on Long in protos ([#640](https://www.github.com/googleapis/nodejs-logging/issues/640)) ([e22b695](https://www.github.com/googleapis/nodejs-logging/commit/e22b6959f81155989f7507c9450b5a93506bc83a))
+* **deps:** TypeScript 3.7.0 causes breaking change in typings ([#654](https://www.github.com/googleapis/nodejs-logging/issues/654)) ([432fe5d](https://www.github.com/googleapis/nodejs-logging/commit/432fe5d8cf19f4bd6b3e9863fb995db8e35ae8d8))
+* **deps:** update dependency @opencensus/propagation-stackdriver to v0.0.19 ([#644](https://www.github.com/googleapis/nodejs-logging/issues/644)) ([3eaca43](https://www.github.com/googleapis/nodejs-logging/commit/3eaca4367263d6302c3dbd53109c7ed5dd4367d3))
+* **docs:** snippets are now replaced in jsdoc comments ([#634](https://www.github.com/googleapis/nodejs-logging/issues/634)) ([687fc81](https://www.github.com/googleapis/nodejs-logging/commit/687fc815c572adbab2611d3f08f7259bb91de8e6))
+
+### [5.5.5](https://www.github.com/googleapis/nodejs-logging/compare/v5.5.4...v5.5.5) (2019-11-08)
+
+
+### Bug Fixes
+
+* **deps:** update dependency eventid to v1 ([#628](https://www.github.com/googleapis/nodejs-logging/issues/628)) ([2128ef1](https://www.github.com/googleapis/nodejs-logging/commit/2128ef195538e8149d32a0c7cbb1ee5723b161d3))
+
+### [5.5.4](https://www.github.com/googleapis/nodejs-logging/compare/v5.5.3...v5.5.4) (2019-10-25)
+
+
+### Bug Fixes
+
+* **package:** add missing dependency google-auth-library ([#620](https://www.github.com/googleapis/nodejs-logging/issues/620)) ([5ef2377](https://www.github.com/googleapis/nodejs-logging/commit/5ef2377aacac94551a74d386cbb8084f3d5a7b53))
+
+### [5.5.3](https://www.github.com/googleapis/nodejs-logging/compare/v5.5.2...v5.5.3) (2019-10-22)
+
+
+### Bug Fixes
+
+* **deps:** bump google-gax to 1.7.5 ([#616](https://www.github.com/googleapis/nodejs-logging/issues/616)) ([5d73a06](https://www.github.com/googleapis/nodejs-logging/commit/5d73a06083552db6aa03be4e6cb5f1de97620eec))
+* **deps:** update dependency @google-cloud/storage to v4 ([#613](https://www.github.com/googleapis/nodejs-logging/issues/613)) ([4ec4f18](https://www.github.com/googleapis/nodejs-logging/commit/4ec4f18a3e07b798882e5f17e642fae5d9f68912))
+
+### [5.5.2](https://www.github.com/googleapis/nodejs-logging/compare/v5.5.1...v5.5.2) (2019-10-17)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @opencensus/propagation-stackdriver to v0.0.18 ([#605](https://www.github.com/googleapis/nodejs-logging/issues/605)) ([0dac747](https://www.github.com/googleapis/nodejs-logging/commit/0dac747ac18484d54d2d33dbd7424b2c0294dbb9))
+
+### [5.5.1](https://www.github.com/googleapis/nodejs-logging/compare/v5.5.0...v5.5.1) (2019-10-17)
+
+
+### Bug Fixes
+
+* truncate additional fields set by winston/bunyan ([#609](https://www.github.com/googleapis/nodejs-logging/issues/609)) ([27ac693](https://www.github.com/googleapis/nodejs-logging/commit/27ac693ec4f9afeec412e2edddf831226f2bcc60))
+
+## [5.5.0](https://www.github.com/googleapis/nodejs-logging/compare/v5.4.1...v5.5.0) (2019-10-16)
+
+
+### Features
+
+* introduce maxEntrySize, for enabling error message truncation ([#607](https://www.github.com/googleapis/nodejs-logging/issues/607)) ([49efd49](https://www.github.com/googleapis/nodejs-logging/commit/49efd491263b518ae5cd54c9a77e5603477f96d8))
+
+### [5.4.1](https://www.github.com/googleapis/nodejs-logging/compare/v5.4.0...v5.4.1) (2019-10-10)
+
+
+### Bug Fixes
+
+* **deps:** pin to newer version of grpc ([#602](https://www.github.com/googleapis/nodejs-logging/issues/602)) ([23bda1d](https://www.github.com/googleapis/nodejs-logging/commit/23bda1d))
+
+## [5.4.0](https://www.github.com/googleapis/nodejs-logging/compare/v5.3.1...v5.4.0) (2019-10-09)
+
+
+### Bug Fixes
+
+* use compatible version of google-gax ([7576ef2](https://www.github.com/googleapis/nodejs-logging/commit/7576ef2))
+* **deps:** gcp-metadata now handles ENETUNREACH ([#600](https://www.github.com/googleapis/nodejs-logging/issues/600)) ([e3ed1d6](https://www.github.com/googleapis/nodejs-logging/commit/e3ed1d6))
+
+
+### Features
+
+* introduces startTime and endTime ([4406446](https://www.github.com/googleapis/nodejs-logging/commit/4406446))
+
+### [5.3.1](https://www.github.com/googleapis/nodejs-logging/compare/v5.3.0...v5.3.1) (2019-09-17)
+
+
+### Bug Fixes
+
+* **deps:** updates to metadata check to better work in all environments ([#581](https://www.github.com/googleapis/nodejs-logging/issues/581)) ([24b97e4](https://www.github.com/googleapis/nodejs-logging/commit/24b97e4))
+
+## [5.3.0](https://www.github.com/googleapis/nodejs-logging/compare/v5.2.2...v5.3.0) (2019-09-16)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @opencensus/propagation-stackdriver to v0.0.17 ([#569](https://www.github.com/googleapis/nodejs-logging/issues/569)) ([7077e64](https://www.github.com/googleapis/nodejs-logging/commit/7077e64))
+* add missing function overload ([#573](https://www.github.com/googleapis/nodejs-logging/issues/573)) ([8cd073b](https://www.github.com/googleapis/nodejs-logging/commit/8cd073b))
+* use correct version for x-goog-api-client header ([#565](https://www.github.com/googleapis/nodejs-logging/issues/565)) ([7b60835](https://www.github.com/googleapis/nodejs-logging/commit/7b60835))
+* use process versions object for client header ([#563](https://www.github.com/googleapis/nodejs-logging/issues/563)) ([2ec8662](https://www.github.com/googleapis/nodejs-logging/commit/2ec8662))
+* **deps:** update dependency type-fest to ^0.8.0 ([#578](https://www.github.com/googleapis/nodejs-logging/issues/578)) ([422a0ed](https://www.github.com/googleapis/nodejs-logging/commit/422a0ed))
+
+
+### Features
+
+* load protos from JSON, grpc-fallback support ([#571](https://www.github.com/googleapis/nodejs-logging/issues/571)) ([41ef532](https://www.github.com/googleapis/nodejs-logging/commit/41ef532))
+
+### [5.2.2](https://www.github.com/googleapis/nodejs-logging/compare/v5.2.1...v5.2.2) (2019-08-20)
+
+
+### Bug Fixes
+
+* add test for x-goog-api-client header ([#556](https://www.github.com/googleapis/nodejs-logging/issues/556)) ([f2cd5ea](https://www.github.com/googleapis/nodejs-logging/commit/f2cd5ea))
+* **deps:** update dependency yargs to v14 ([bd8da51](https://www.github.com/googleapis/nodejs-logging/commit/bd8da51))
+
+### [5.2.1](https://www.github.com/googleapis/nodejs-logging/compare/v5.2.0...v5.2.1) (2019-08-05)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/paginator to v2 ([#537](https://www.github.com/googleapis/nodejs-logging/issues/537)) ([ae14f59](https://www.github.com/googleapis/nodejs-logging/commit/ae14f59))
+* **deps:** update dependency google-auth-library to v5 ([#539](https://www.github.com/googleapis/nodejs-logging/issues/539)) ([b8351a7](https://www.github.com/googleapis/nodejs-logging/commit/b8351a7))
+* allow calls with no request, add JSON proto ([9313998](https://www.github.com/googleapis/nodejs-logging/commit/9313998))
+* **deps:** update dependency type-fest to ^0.7.0 ([#554](https://www.github.com/googleapis/nodejs-logging/issues/554)) ([62362e6](https://www.github.com/googleapis/nodejs-logging/commit/62362e6))
+* **docs:** add note about batching writes ([#528](https://www.github.com/googleapis/nodejs-logging/issues/528)) ([25ba962](https://www.github.com/googleapis/nodejs-logging/commit/25ba962))
+
+## [5.2.0](https://www.github.com/googleapis/nodejs-logging/compare/v5.1.3...v5.2.0) (2019-07-17)
+
+
+### Features
+
+* add path template parsing for billing, organizations, and folders ([#529](https://www.github.com/googleapis/nodejs-logging/issues/529)) ([1e8c67f](https://www.github.com/googleapis/nodejs-logging/commit/1e8c67f))
+
+### [5.1.3](https://www.github.com/googleapis/nodejs-logging/compare/v5.1.2...v5.1.3) (2019-06-26)
+
+
+### Bug Fixes
+
+* **docs:** link to reference docs section on googleapis.dev ([#521](https://www.github.com/googleapis/nodejs-logging/issues/521)) ([971c1b6](https://www.github.com/googleapis/nodejs-logging/commit/971c1b6))
+
+### [5.1.2](https://www.github.com/googleapis/nodejs-logging/compare/v5.1.1...v5.1.2) (2019-06-16)
+
+
+### Bug Fixes
+
+* there is a free tier for logging ([#513](https://www.github.com/googleapis/nodejs-logging/issues/513)) ([2079598](https://www.github.com/googleapis/nodejs-logging/commit/2079598))
+* **deps:** update dependency pumpify to v2 ([#516](https://www.github.com/googleapis/nodejs-logging/issues/516)) ([11d8f34](https://www.github.com/googleapis/nodejs-logging/commit/11d8f34))
+
+### [5.1.1](https://www.github.com/googleapis/nodejs-logging/compare/v5.1.0...v5.1.1) (2019-06-14)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @opencensus/propagation-stackdriver to v0.0.14 ([#509](https://www.github.com/googleapis/nodejs-logging/issues/509)) ([3cba4dc](https://www.github.com/googleapis/nodejs-logging/commit/3cba4dc))
+* **deps:** update dependency snakecase-keys to v3 ([#510](https://www.github.com/googleapis/nodejs-logging/issues/510)) ([eb2193e](https://www.github.com/googleapis/nodejs-logging/commit/eb2193e))
+* **docs:** move to new client docs URL ([#514](https://www.github.com/googleapis/nodejs-logging/issues/514)) ([9043cfa](https://www.github.com/googleapis/nodejs-logging/commit/9043cfa))
+
+## [5.1.0](https://www.github.com/googleapis/nodejs-logging/compare/v5.0.1...v5.1.0) (2019-06-05)
+
+
+### Features
+
+* add .repo-metadata.json for docs generation ([#502](https://www.github.com/googleapis/nodejs-logging/issues/502)) ([4a3b80a](https://www.github.com/googleapis/nodejs-logging/commit/4a3b80a))
+* support apiEndpoint override ([#501](https://www.github.com/googleapis/nodejs-logging/issues/501)) ([f701358](https://www.github.com/googleapis/nodejs-logging/commit/f701358))
+* support apiEndpoint override in client constructor ([#505](https://www.github.com/googleapis/nodejs-logging/issues/505)) ([bda7124](https://www.github.com/googleapis/nodejs-logging/commit/bda7124))
+
+### [5.0.1](https://www.github.com/googleapis/nodejs-logging/compare/v5.0.0...v5.0.1) (2019-05-21)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @opencensus/propagation-stackdriver to v0.0.13 ([#489](https://www.github.com/googleapis/nodejs-logging/issues/489)) ([0f57adf](https://www.github.com/googleapis/nodejs-logging/commit/0f57adf))
+
+## [5.0.0](https://www.github.com/googleapis/nodejs-logging/compare/v4.5.2...v5.0.0) (2019-05-17)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/common-grpc to v1 ([#479](https://www.github.com/googleapis/nodejs-logging/issues/479)) ([58e6154](https://www.github.com/googleapis/nodejs-logging/commit/58e6154))
+* **deps:** update dependency @google-cloud/paginator to v1 ([#467](https://www.github.com/googleapis/nodejs-logging/issues/467)) ([90d74bd](https://www.github.com/googleapis/nodejs-logging/commit/90d74bd))
+* **deps:** update dependency @google-cloud/projectify to v1 ([#464](https://www.github.com/googleapis/nodejs-logging/issues/464)) ([f6ef399](https://www.github.com/googleapis/nodejs-logging/commit/f6ef399))
+* **deps:** update dependency @google-cloud/promisify to v1 ([#465](https://www.github.com/googleapis/nodejs-logging/issues/465)) ([5871e4b](https://www.github.com/googleapis/nodejs-logging/commit/5871e4b))
+* **deps:** update dependency @opencensus/propagation-stackdriver to v0.0.12 ([#483](https://www.github.com/googleapis/nodejs-logging/issues/483)) ([afe89de](https://www.github.com/googleapis/nodejs-logging/commit/afe89de))
+* **deps:** update dependency gcp-metadata to v2 ([#474](https://www.github.com/googleapis/nodejs-logging/issues/474)) ([125b356](https://www.github.com/googleapis/nodejs-logging/commit/125b356))
+* **deps:** update dependency google-auth-library to v4 ([#475](https://www.github.com/googleapis/nodejs-logging/issues/475)) ([558bfc5](https://www.github.com/googleapis/nodejs-logging/commit/558bfc5))
+* **deps:** update dependency google-gax to ^0.26.0 ([#459](https://www.github.com/googleapis/nodejs-logging/issues/459)) ([7417dcb](https://www.github.com/googleapis/nodejs-logging/commit/7417dcb))
+* **deps:** update dependency google-gax to v1 ([#477](https://www.github.com/googleapis/nodejs-logging/issues/477)) ([535aedb](https://www.github.com/googleapis/nodejs-logging/commit/535aedb))
+* DEADLINE_EXCEEDED no longer listed as idempotent ([473d145](https://www.github.com/googleapis/nodejs-logging/commit/473d145))
+* **deps:** update dependency type-fest to ^0.4.0 ([#455](https://www.github.com/googleapis/nodejs-logging/issues/455)) ([3c2324b](https://www.github.com/googleapis/nodejs-logging/commit/3c2324b))
+* **deps:** update dependency type-fest to ^0.5.0 ([#482](https://www.github.com/googleapis/nodejs-logging/issues/482)) ([ee5d17f](https://www.github.com/googleapis/nodejs-logging/commit/ee5d17f))
+* DEADLINE_EXCEEDED retry code is idempotent ([#478](https://www.github.com/googleapis/nodejs-logging/issues/478)) ([4fdb8c1](https://www.github.com/googleapis/nodejs-logging/commit/4fdb8c1))
+* use originalUrl for Express middleware's request url ([#476](https://www.github.com/googleapis/nodejs-logging/issues/476)) ([0ee71bd](https://www.github.com/googleapis/nodejs-logging/commit/0ee71bd)), closes [#472](https://www.github.com/googleapis/nodejs-logging/issues/472)
+
+
+### Build System
+
+* upgrade engines field to >=8.10.0 ([#461](https://www.github.com/googleapis/nodejs-logging/issues/461)) ([641ce87](https://www.github.com/googleapis/nodejs-logging/commit/641ce87))
+
+
+### BREAKING CHANGES
+
+* upgrade engines field to >=8.10.0 (#461)
+
+## v4.5.2
+
+04-11-2019 14:26 PDT
+
+This release has minor bug fixes:
+
+- fix(types): improve types for LogEntry ([#448](https://github.com/googleapis/nodejs-logging/pull/448))
+- fix: include 'x-goog-request-params' header in requests ([#439](https://github.com/googleapis/nodejs-logging/pull/439))
+
+## v4.5.1
+
+03-18-2019 19:32 PDT
+
+### Bug Fixes
+- fix(ts): do not require storage/pubsub types, add install test ([#430](https://github.com/googleapis/nodejs-logging/pull/430))
+
+## v4.5.0
+
+03-13-2019 22:25 PDT
+
+### New Features
+- feat: ability to detect service context ([#400](https://github.com/googleapis/nodejs-logging/pull/400))
+
+### Bug Fixes
+- fix: do not push duplicate scopes ([#414](https://github.com/googleapis/nodejs-logging/pull/414))
+- fix: throw on invalid credentials ([#395](https://github.com/googleapis/nodejs-logging/pull/395))
+
+### Dependencies
+- fix(deps): update dependency @google-cloud/paginator to ^0.2.0 ([#419](https://github.com/googleapis/nodejs-logging/pull/419))
+- fix(deps): update dependency gcp-metadata to v1 ([#402](https://github.com/googleapis/nodejs-logging/pull/402))
+- fix(deps): update dependency @opencensus/propagation-stackdriver to v0.0.9 ([#394](https://github.com/googleapis/nodejs-logging/pull/394))
+- fix(deps): update dependency @google-cloud/promisify to ^0.4.0 ([#398](https://github.com/googleapis/nodejs-logging/pull/398))
+
+### Documentation
+- docs: update links in contrib guide ([#399](https://github.com/googleapis/nodejs-logging/pull/399))
+
+### Internal / Testing Changes
+- chore(deps): update dependency @google-cloud/pubsub to ^0.28.0 ([#421](https://github.com/googleapis/nodejs-logging/pull/421))
+- refactor: update json import paths ([#422](https://github.com/googleapis/nodejs-logging/pull/422))
+- chore(deps): update dependency supertest to v4 ([#420](https://github.com/googleapis/nodejs-logging/pull/420))
+- refactor: clean up types and imports ([#409](https://github.com/googleapis/nodejs-logging/pull/409))
+- build: Add docuploader credentials to node publish jobs ([#415](https://github.com/googleapis/nodejs-logging/pull/415))
+- build: use node10 to run samples-test, system-test etc ([#413](https://github.com/googleapis/nodejs-logging/pull/413))
+- build: update release configuration
+- chore(deps): update @google-cloud/pubsub to v0.27.0 ([#410](https://github.com/googleapis/nodejs-logging/pull/410))
+- chore(deps): update dependency @google-cloud/pubsub to ^0.26.0 ([#407](https://github.com/googleapis/nodejs-logging/pull/407))
+- refactor (typescript): noImplilcitAny ([#408](https://github.com/googleapis/nodejs-logging/pull/408))
+- chore(deps): update dependency @google-cloud/pubsub to ^0.25.0 ([#405](https://github.com/googleapis/nodejs-logging/pull/405))
+- chore: update proto docs and code style
+- chore(deps): update dependency mocha to v6 ([#403](https://github.com/googleapis/nodejs-logging/pull/403))
+- build: use linkinator for docs test ([#397](https://github.com/googleapis/nodejs-logging/pull/397))
+- refactor: expose and improve types ([#393](https://github.com/googleapis/nodejs-logging/pull/393))
+- fix(deps): update dependency yargs to v13 ([#392](https://github.com/googleapis/nodejs-logging/pull/392))
+- chore: use proper enum for GCPEnv ([#389](https://github.com/googleapis/nodejs-logging/pull/389))
+
+## v4.4.0
+
+02-11-2019 17:40 PST
+
+### New Features
+- feat: include TypeScript types ([#387](https://github.com/googleapis/nodejs-logging/pull/387))
+
+### Bug Fixes
+- fix: stop exporting express types publicly ([#376](https://github.com/googleapis/nodejs-logging/pull/376))
+
+### Documentation
+- docs: update contributing path in README ([#383](https://github.com/googleapis/nodejs-logging/pull/383))
+- chore: move CONTRIBUTING.md to root ([#382](https://github.com/googleapis/nodejs-logging/pull/382))
+- docs: add lint/fix example to contributing guide ([#379](https://github.com/googleapis/nodejs-logging/pull/379))
+- docs: fix example comments ([#378](https://github.com/googleapis/nodejs-logging/pull/378))
+
+### Internal / Testing Changes
+- build: create docs test npm scripts ([#385](https://github.com/googleapis/nodejs-logging/pull/385))
+- build: test using @grpc/grpc-js in CI ([#384](https://github.com/googleapis/nodejs-logging/pull/384))
+- refactor: improve generated code style. ([#377](https://github.com/googleapis/nodejs-logging/pull/377))
+
+## v4.3.0
+
+01-31-2019 12:49 PST
+
+
+### Implementation Changes
+- Modify retry settings for WriteLogEntries, update year in the license headers ([#366](https://github.com/googleapis/nodejs-logging/pull/366))
+
+### Dependencies
+- fix(deps): update dependency google-gax to ^0.25.0 ([#373](https://github.com/googleapis/nodejs-logging/pull/373))
+- chore(deps): update dependency @google-cloud/pubsub to ^0.24.0 ([#371](https://github.com/googleapis/nodejs-logging/pull/371))
+- fix(deps): update dependency @google-cloud/common-grpc to ^0.10.0 ([#372](https://github.com/googleapis/nodejs-logging/pull/372))
+- chore(deps): update dependency eslint-config-prettier to v4 ([#370](https://github.com/googleapis/nodejs-logging/pull/370))
+- fix(deps): update dependency google-gax to ^0.24.0 ([#369](https://github.com/googleapis/nodejs-logging/pull/369))
+- chore(deps): update dependency @google-cloud/pubsub to ^0.23.0 ([#367](https://github.com/googleapis/nodejs-logging/pull/367))
+- fix(deps): update dependency google-auth-library to v3 ([#365](https://github.com/googleapis/nodejs-logging/pull/365))
+- fix(deps): update dependency google-gax to ^0.23.0 ([#364](https://github.com/googleapis/nodejs-logging/pull/364))
+
+### Documentation
+- build: ignore googleapis.com in doc link check ([#368](https://github.com/googleapis/nodejs-logging/pull/368))
+- fix(docs): removed unused gRPC message types
+
+### Internal / Testing Changes
+- build: check broken links in generated docs ([#358](https://github.com/googleapis/nodejs-logging/pull/358))
+
+## v4.2.0
+
+01-02-2019 12:43 PST
+
+### New Features
+- feat: cache detected environment's default resource ([#359](https://github.com/googleapis/nodejs-logging/pull/359))
+
+### Dependencies
+- fix(deps): update dependency @opencensus/propagation-stackdriver to v0.0.8 ([#354](https://github.com/googleapis/nodejs-logging/pull/354))
+
+### Internal / Testing Changes
+- refactor: modernize the sample tests ([#356](https://github.com/googleapis/nodejs-logging/pull/356))
+- refactor(ts): improve typescript types ([#309](https://github.com/googleapis/nodejs-logging/pull/309))
+- chore(build): inject yoshi automation key ([#352](https://github.com/googleapis/nodejs-logging/pull/352))
+- chore: update nyc and eslint configs ([#351](https://github.com/googleapis/nodejs-logging/pull/351))
+- chore: fix publish.sh permission +x ([#348](https://github.com/googleapis/nodejs-logging/pull/348))
+- fix(build): fix Kokoro release script ([#347](https://github.com/googleapis/nodejs-logging/pull/347))
+- build: add Kokoro configs for autorelease ([#346](https://github.com/googleapis/nodejs-logging/pull/346))
+- chore: always nyc report before calling codecov ([#342](https://github.com/googleapis/nodejs-logging/pull/342))
+- chore: nyc ignore build/test by default ([#341](https://github.com/googleapis/nodejs-logging/pull/341))
+
+## v4.1.1
+
+12-05-2018 13:12 PST
+
+### Implementation Changes
+TypeScript related changes:
+- refactor(ts): generate logging types from proto ([#314](https://github.com/googleapis/nodejs-logging/pull/314))
+- refactor(ts): use es imports and exports ([#307](https://github.com/googleapis/nodejs-logging/pull/307))
+
+### Dependencies
+- chore(deps): update dependency typescript to ~3.2.0 ([#331](https://github.com/googleapis/nodejs-logging/pull/331))
+- chore(deps): update dependency @google-cloud/pubsub to ^0.22.0 ([#333](https://github.com/googleapis/nodejs-logging/pull/333))
+- fix(deps): update dependency google-gax to ^0.22.0 ([#323](https://github.com/googleapis/nodejs-logging/pull/323))
+- fix(deps): update dependency @opencensus/propagation-stackdriver to v0.0.7 ([#322](https://github.com/googleapis/nodejs-logging/pull/322))
+- chore(deps): update dependency @google-cloud/pubsub to ^0.21.0 ([#324](https://github.com/googleapis/nodejs-logging/pull/324))
+- chore(deps): update dependency gts to ^0.9.0 ([#321](https://github.com/googleapis/nodejs-logging/pull/321))
+- chore(deps): update dependency bignumber.js to v8 ([#301](https://github.com/googleapis/nodejs-logging/pull/301))
+- chore(deps): update dependency @types/is to v0.0.21 ([#315](https://github.com/googleapis/nodejs-logging/pull/315))
+- chore(deps): update dependency @google-cloud/nodejs-repo-tools to v3 ([#318](https://github.com/googleapis/nodejs-logging/pull/318))
+- fix(deps): update dependency through2 to v3 ([#311](https://github.com/googleapis/nodejs-logging/pull/311))
+
+### Documentation
+- docs(samples): updated samples code to use async await ([#329](https://github.com/googleapis/nodejs-logging/pull/329))
+- docs: update directory for docs generation ([#312](https://github.com/googleapis/nodejs-logging/pull/312))
+
+### Internal / Testing Changes
+- fix(docs): const logging = require.. contains binary ([#338](https://github.com/googleapis/nodejs-logging/pull/338))
+- chore: update license file ([#337](https://github.com/googleapis/nodejs-logging/pull/337))
+- docs: update readme badges ([#335](https://github.com/googleapis/nodejs-logging/pull/335))
+- fix(build): fix system key decryption ([#332](https://github.com/googleapis/nodejs-logging/pull/332))
+- chore: add synth.metadata
+- chore: update eslintignore config ([#320](https://github.com/googleapis/nodejs-logging/pull/320))
+- chore: drop contributors from multiple places ([#316](https://github.com/googleapis/nodejs-logging/pull/316))
+- chore: use latest npm on Windows ([#313](https://github.com/googleapis/nodejs-logging/pull/313))
+- chore(build): use the latest npm on windows for tests ([#304](https://github.com/googleapis/nodejs-logging/pull/304))
+- refactor: go back to prettier, use generated gapic tests ([#308](https://github.com/googleapis/nodejs-logging/pull/308))
+
+## v4.1.0
+
+### New Features
+- feat: export middleware helpers ([#289](https://github.com/googleapis/nodejs-logging/pull/289))
+- feat: Introduce middleware directory ([#248](https://github.com/googleapis/nodejs-logging/pull/248))
+
+### Bug fixes
+- fix(metadata): include zone on GAE descriptor ([#298](https://github.com/googleapis/nodejs-logging/pull/298))
+- fix(middleware): tweak the middleware api ([#291](https://github.com/googleapis/nodejs-logging/pull/291))
+- fix: resolve compile errors ([#287](https://github.com/googleapis/nodejs-logging/pull/287))
+- fix(deps): move nock to devDependencies ([#276](https://github.com/googleapis/nodejs-logging/pull/276))
+
+### Dependencies
+- fix(deps): update dependency @opencensus/propagation-stackdriver to v0.0.6 ([#283](https://github.com/googleapis/nodejs-logging/pull/283))
+- chore(deps): update dependency eslint-plugin-node to v8 ([#284](https://github.com/googleapis/nodejs-logging/pull/284))
+- fix(deps): update dependency gcp-metadata to ^0.9.0 ([#279](https://github.com/googleapis/nodejs-logging/pull/279))
+- fix(deps): update dependency snakecase-keys to v2 ([#259](https://github.com/googleapis/nodejs-logging/pull/259))
+- refactor: remove async, methmeth, propprop ([#253](https://github.com/googleapis/nodejs-logging/pull/253))
+- fix(deps): update dependency google-proto-files to ^0.17.0 ([#242](https://github.com/googleapis/nodejs-logging/pull/242))
+- chore(deps): update dependency sinon to v7 ([#243](https://github.com/googleapis/nodejs-logging/pull/243))
+- chore(deps): update dependency eslint-plugin-prettier to v3 ([#238](https://github.com/googleapis/nodejs-logging/pull/238))
+- chore(deps): update dependency @google-cloud/pubsub to v0.20.1 ([#236](https://github.com/googleapis/nodejs-logging/pull/236))
+- fix(samples): update dependency @google-cloud/logging-winston to ^0.10.0 ([#235](https://github.com/googleapis/nodejs-logging/pull/235))
+
+### Documentation
+- docs: update reference documentation
+
+### Internal / Testing Changes
+- chore: update CircleCI config ([#302](https://github.com/googleapis/nodejs-logging/pull/302))
+- chore: remove a few unused deps ([#299](https://github.com/googleapis/nodejs-logging/pull/299))
+- fix: fix system tests by choosing semver range for BigQuery ([#297](https://github.com/googleapis/nodejs-logging/pull/297))
+- fix: disable skipLibCheck in the tsconfig ([#296](https://github.com/googleapis/nodejs-logging/pull/296))
+- refactor(metadata): use async/await ([#295](https://github.com/googleapis/nodejs-logging/pull/295))
+- chore: include build in eslintignore ([#292](https://github.com/googleapis/nodejs-logging/pull/292))
+- fix(tsconfig): disable allowJs, enable declaration ([#288](https://github.com/googleapis/nodejs-logging/pull/288))
+- refactor(ts): convert tests to typescript ([#282](https://github.com/googleapis/nodejs-logging/pull/282))
+- test: fix the system tests with cleanup ([#281](https://github.com/googleapis/nodejs-logging/pull/281))
+- fix(fix): no fix for samples/node_modules ([#278](https://github.com/googleapis/nodejs-logging/pull/278))
+- chore: update github issue templates ([#274](https://github.com/googleapis/nodejs-logging/pull/274))
+- chore: remove old issue template ([#270](https://github.com/googleapis/nodejs-logging/pull/270))
+- build: run tests on node11 ([#268](https://github.com/googleapis/nodejs-logging/pull/268))
+- chore(typescript): convert src/ to typescript ([#258](https://github.com/googleapis/nodejs-logging/pull/258))
+- fix(synth): s.replace import syntax of code samples in autogenerated code ([#266](https://github.com/googleapis/nodejs-logging/pull/266))
+- chore: use gts for samples; jettison prettier ([#255](https://github.com/googleapis/nodejs-logging/pull/255))
+- chores(build): do not collect sponge.xml from windows builds ([#257](https://github.com/googleapis/nodejs-logging/pull/257))
+- chores(build): run codecov on continuous builds ([#256](https://github.com/googleapis/nodejs-logging/pull/256))
+- chore: run gts fix ([#252](https://github.com/googleapis/nodejs-logging/pull/252))
+- refactor: introduce typescript compiler ([#246](https://github.com/googleapis/nodejs-logging/pull/246))
+- fix(test): block auth during public system tests ([#249](https://github.com/googleapis/nodejs-logging/pull/249))
+- build: fix codecov uploading on Kokoro ([#244](https://github.com/googleapis/nodejs-logging/pull/244))
+- test: remove appveyor config ([#234](https://github.com/googleapis/nodejs-logging/pull/234))
+
+## v4.0.1
+
+### Implementation Changes
+- fix(deps): Upgrade to @google-cloud/common-grpc 0.9.0 ([#232](https://github.com/googleapis/nodejs-logging/pull/232))
+
+## v4.0.0
+
+**This release has breaking changes**. This library is now compatible with es module import syntax.
+
+#### Old Code
+```js
+const logging = require('@google-cloud/logging')();
+// or...
+const Logging = require('@google-cloud/logging');
+const logging = new Logging();
+```
+
+#### New Code
+```js
+const {Logging} = require('@google-cloud/logging');
+const logging = new Logging();
+```
+
+### Breaking changes
+- Use es classes ([#219](https://github.com/googleapis/nodejs-logging/pull/219))
+
+### Bug Fixes
+- fix(gce): instance id can be a big number ([#222](https://github.com/googleapis/nodejs-logging/pull/222))
+- fix(deps): update dependency @google-cloud/storage to v2 ([#213](https://github.com/googleapis/nodejs-logging/pull/213))
+- fix(GCE): add zone label in GCE descriptor ([#215](https://github.com/googleapis/nodejs-logging/pull/215))
+- fix(deps): update dependency google-auth-library to v2 ([#210](https://github.com/googleapis/nodejs-logging/pull/210))
+
+### Internal / Testing Changes
+- build: write logs to separate file ([#230](https://github.com/googleapis/nodejs-logging/pull/230))
+- Enable prefer-const in the eslint config ([#229](https://github.com/googleapis/nodejs-logging/pull/229))
+- fix(deps): roll back dependency @google-cloud/logging to ^3.0.2 ([#224](https://github.com/googleapis/nodejs-logging/pull/224))
+- Enable no-var in eslint ([#228](https://github.com/googleapis/nodejs-logging/pull/228))
+- Use arrow functions ([#227](https://github.com/googleapis/nodejs-logging/pull/227))
+- Switch to let/const ([#221](https://github.com/googleapis/nodejs-logging/pull/221))
+- fix(deps): update dependency google-gax to ^0.20.0 ([#220](https://github.com/googleapis/nodejs-logging/pull/220))
+- Use let and const ([#217](https://github.com/googleapis/nodejs-logging/pull/217))
+- Update CI config ([#218](https://github.com/googleapis/nodejs-logging/pull/218))
+- Retry npm install in CI ([#214](https://github.com/googleapis/nodejs-logging/pull/214))
+- add templates to synth.py and run it ([#211](https://github.com/googleapis/nodejs-logging/pull/211))
+
+## v3.0.2
+
+This release contains a variety of minor internal changes.
+
+### Internal / Testing Changes
+- chore: upgrade to the latest common-grpc (#203)
+- Re-generate library using /synth.py (#202)
+- chore(deps): update dependency nyc to v13 (#200)
+- chore(deps): update samples dependency @google-cloud/logging-bunyan to ^0.9.0 (#199)
+- fix(deps): update dependency google-gax to ^0.19.0 (#198)
+- chore: use mocha for sample tests (#197)
+
+## v3.0.1
+
+### Fixes
+- fix(deps): update dependency @google-cloud/logging to v3 (#195)
+- fix(gke): correctly detect kubernetes engine (#193)
+
+## v3.0.0
+
+**This should not have been a semver major release. There are no breaking changes.**
+
+### Bug fixes
+- fix(gke): include namespace_id in resource (#191)
+- fix: drop support for node.js 4.x and 9.x (#161)
+- Re-generate library using /synth.py (#154)
+
+### Keepin' the lights on
+- chore(deps): update dependency eslint-config-prettier to v3 (#190)
+- chore: do not use npm ci (#189)
+- chore: ignore package-lock.json (#186)
+- chore: update renovate config (#184)
+- remove that whitespace (#183)
+- fix(deps): update dependency google-gax to ^0.18.0 (#182)
+- chore(deps): lock file maintenance (#181)
+- setup: just npm ci in synth.py (#180)
+- chore: move mocha options to mocha.opts (#177)
+- chore: require node 8 for samples (#179)
+- fix(deps): update dependency fluent-logger to v3 (#172)
+- fix: get eslint passing (#174)
+- chore(deps): update dependency eslint-plugin-node to v7 (#169)
+- test: use strictEqual in tests (#170)
+- fix(deps): update dependency gcp-metadata to ^0.7.0 (#166)
+- fix(deps): update dependency @google-cloud/logging to v2 (#157)
diff --git a/handwritten/logging/CODE_OF_CONDUCT.md b/handwritten/logging/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/handwritten/logging/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/logging/CONTRIBUTING.md b/handwritten/logging/CONTRIBUTING.md
new file mode 100644
index 00000000000..fd50e66e85e
--- /dev/null
+++ b/handwritten/logging/CONTRIBUTING.md
@@ -0,0 +1,89 @@
+# 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 the Cloud Logging 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
+
+## Running the tests in GCP services
+
+It is possible to end-to-end test this library within specific Google Cloud
+Platform environments. The [env-tests-logging](https://github.com/googleapis/env-tests-logging)
+submodule contains common tests to ensure correct logging behavior across Google
+Cloud Platforms.
+
+Currently, the following environments are supported:
+
+| Platform | Runtime | Try it |
+| --------------- | -------------- | ------------------------------ |
+| Cloud Functions | Nodejs12 | `nox --session "tests(language='nodejs', platform='functions')"` |
+| Cloud Run | COMING SOON | `nox --session "tests(language='nodejs', platform='cloudrun')"` |
+
+[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=logging.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/handwritten/logging/LICENSE b/handwritten/logging/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/handwritten/logging/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/logging/README.md b/handwritten/logging/README.md
new file mode 100644
index 00000000000..3a75439878c
--- /dev/null
+++ b/handwritten/logging/README.md
@@ -0,0 +1,322 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Cloud Logging: Node.js Client](https://github.com/googleapis/nodejs-logging)
+
+[](https://cloud.google.com/terms/launch-stages)
+[](https://www.npmjs.org/package/@google-cloud/logging)
+
+
+
+
+[Google Cloud Logging](https://cloud.google.com/logging/docs) allows you to store, search, analyze,
+monitor, and alert on log data and events from Google Cloud Platform and Amazon Web Services.
+
+If you require lightweight dependencies, an experimental, minified version of
+this library is available at [@google-cloud/logging-min](https://www.npmjs.com/package/@google-cloud/logging-min).
+Note: `logging-min` is experimental, and its feature surface is subject to change.
+To install `@google-cloud/logging-min` library run the following command:
+
+```bash
+npm install @google-cloud/logging-min
+```
+
+For an interactive tutorial on using the client library in a Node.js application, click Guide Me:
+
+[](https://console.cloud.google.com/?walkthrough_id=logging__logging-nodejs)
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/nodejs-logging/blob/main/CHANGELOG.md).
+
+* [Cloud Logging Node.js Client API Reference][client-docs]
+* [Cloud Logging Documentation][product-docs]
+* [github.com/googleapis/nodejs-logging](https://github.com/googleapis/nodejs-logging)
+
+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 the Cloud Logging API][enable_api].
+1. [Set up authentication with a service account][auth] so you can access the
+ API from your local workstation.
+
+### Installing the client library
+
+```bash
+npm install @google-cloud/logging
+```
+
+
+### Using the client library
+
+```javascript
+// Imports the Google Cloud client library
+const {Logging} = require('@google-cloud/logging');
+
+async function quickstart(
+ projectId = 'YOUR_PROJECT_ID', // Your Google Cloud Platform project ID
+ logName = 'my-log' // The name of the log to write to
+) {
+ // Creates a client
+ const logging = new Logging({projectId});
+
+ // Selects the log to write to
+ const log = logging.log(logName);
+
+ // The data to write to the log
+ const text = 'Hello, world!';
+
+ // The metadata associated with the entry
+ const metadata = {
+ resource: {type: 'global'},
+ // See: https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity
+ severity: 'INFO',
+ };
+
+ // Prepares a log entry
+ const entry = log.entry(metadata, text);
+
+ async function writeLog() {
+ // Writes the log entry
+ await log.write(entry);
+ console.log(`Logged: ${text}`);
+ }
+ writeLog();
+}
+
+```
+## Batching Writes
+
+High throughput applications should avoid awaiting calls to the logger:
+
+```js
+await log.write(logEntry1);
+await log.write(logEntry2);
+```
+
+Rather, applications should use a _fire and forget_ approach:
+
+```js
+log.write(logEntry1);
+log.write(logEntry2);
+```
+
+The `@google-cloud/logging` library will handle batching and dispatching
+these log lines to the API.
+
+## Writing to Stdout
+
+The `LogSync` class helps users easily write context-rich structured logs to
+`stdout` or any custom transport. It extracts additional log properties like
+trace context from HTTP headers and can be used as an on/off toggle between
+writing to the API or to `stdout` during local development.
+
+Logs written to `stdout` are then picked up, out-of-process, by a Logging
+agent in the respective GCP environment. Logging agents can add more
+properties to each entry before streaming it to the Logging API.
+
+Read more about [Logging agents](https://cloud.google.com/logging/docs/agent/logging).
+
+Serverless applications like Cloud Functions, Cloud Run, and App Engine
+are highly recommended to use the `LogSync` class as async logs may be dropped
+due to lack of CPU.
+
+Read more about [structured logging](https://cloud.google.com/logging/docs/structured-logging).
+
+```js
+// Optional: Create and configure a client
+const logging = new Logging();
+await logging.setProjectId()
+await logging.setDetectedResource()
+
+// Create a LogSync transport, defaulting to `process.stdout`
+const log = logging.logSync(logname);
+const meta = { // optional field overrides here };
+const entry = log.entry(meta, 'Your log message');
+log.write(entry);
+
+// Syntax sugar for logging at a specific severity
+log.alert(entry);
+log.warning(entry);
+```
+
+## Populating Http request metadata
+
+Metadata about Http request is a part of the [structured log info](https://cloud.google.com/logging/docs/structured-logging)
+that can be captured within each log entry. It can provide a context for the application logs and
+is used to group multiple log entries under the load balancer request logs. See the [sample](https://github.com/googleapis/nodejs-logging/blob/master/samples/http-request.js)
+how to populate the Http request metadata for log entries.
+
+If you already have a "raw" Http `request` object you can assign it to `entry.metadata.httpRequest` directly. More information about
+how the `request` is interpreted as raw can be found in the [code](https://github.com/googleapis/nodejs-logging/blob/15849160116a814ab71113138cb211c2e0c2d4b4/src/entry.ts#L224-L238).
+
+## Automatic Trace/Span ID Extraction
+Cloud Logging libraries use [trace fields within LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#FIELDS.trace) to capture trace contexts, which enables the [correlation of logs and traces](https://cloud.google.com/logging/docs/view/correlate-logs), and distributed tracing troubleshooting.
+These tracing fields, including [trace](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#FIELDS.trace), [spanId](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#FIELDS.span_id), and [traceSampled](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#FIELDS.trace_sampled), define the trace context for a `LogEntry`.
+
+If not provided explicitly in a LogEntry, the Cloud Logging library automatically populates `trace`, `span_id`, and `trace_sampled` fields from detected OpenTelemetry span contexts, or from HTTP request headers.
+
+### Extracting Trace/Span ID from OpenTelemetry Context
+If you are using OpenTelemetry and there is an active span in the OpenTelemetry Context, the `trace`, `span_id`, and `trace_sampled` fields in the log entry are automatically populated from the active span. More information about OpenTelemetry can be found [here](https://opentelemetry.io/docs/languages/js/).
+
+### Extracting Trace/Span ID from HTTP Headers
+If tracing fields are not provided explicitly and no OpenTelemetry context is detected, the `trace` / `span_id` fields are extracted automatically from HTTP headers.
+Trace information can be automatically populated from either the [W3C Traceparent](https://www.w3.org/TR/trace-context) or [X-Cloud-Trace-Context](https://cloud.google.com/trace/docs/trace-context#legacy-http-header) headers.
+
+## Error handling with logs written or deleted asynchronously
+
+The `Log` class provide users the ability to write and delete logs asynchronously. However, there are cases when log entries
+cannot be written or deleted and error is thrown - if error is not handled properly, it could crash the application.
+One possible way to catch the error is to `await` the log write/delete calls and wrap it with `try/catch` like in example below:
+
+```js
+ // Write log entry and and catch any errors
+ try {
+ await log.write(entry);
+ } catch (err) {
+ console.log('Error is: ' + err);
+ }
+```
+
+However, awaiting for every `log.write` or `log.delete` calls may introduce delays which could be avoided by
+simply adding a callback like in the example below. This way the log entry can be queued for processing and code
+execution will continue without further delays. The callback will be called once the operation is complete:
+
+```js
+ // Asynchronously write the log entry and handle respone or any errors in provided callback
+ log.write(entry, err => {
+ if (err) {
+ // The log entry was not written.
+ console.log(err.message);
+ } else {
+ console.log('No error in write callback!');
+ }
+ });
+```
+
+Adding a callback to every `log.write` or `log.delete` calls could be a burden, especially if code
+handling the error is always the same. For this purpose we introduced an ability to provide a default callback
+for `Log` class which could be set through `LogOptions` passed to `Log` constructor as in example below - this
+way you can define a global callback once for all `log.write` and `log.delete` calls and be able to handle errors:
+
+```js
+ const {Logging} = require('@google-cloud/logging');
+ const logging = new Logging();
+
+ // Create options with default callback to be called on every write/delete response or error
+ const options = {
+ defaultWriteDeleteCallback: function (err) {
+ if (err) {
+ console.log('Error is: ' + err);
+ } else {
+ console.log('No error, all is good!');
+ }
+ },
+ };
+
+ const log = logging.log('my-log', options);
+```
+See the full sample in `writeLogWithCallback` function [here](https://github.com/googleapis/nodejs-logging/blob/master/samples/logs.js).
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/nodejs-logging/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+| Fluent | [source code](https://github.com/googleapis/nodejs-logging/blob/main/samples/fluent.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-logging&page=editor&open_in_editor=samples/fluent.js,samples/README.md) |
+| Log HTTP Request | [source code](https://github.com/googleapis/nodejs-logging/blob/main/samples/http-request.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-logging&page=editor&open_in_editor=samples/http-request.js,samples/README.md) |
+| Logs | [source code](https://github.com/googleapis/nodejs-logging/blob/main/samples/logs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-logging&page=editor&open_in_editor=samples/logs.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/nodejs-logging/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-logging&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) |
+| Sinks | [source code](https://github.com/googleapis/nodejs-logging/blob/main/samples/sinks.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-logging&page=editor&open_in_editor=samples/sinks.js,samples/README.md) |
+
+
+
+The [Cloud Logging 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/logging@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-logging/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-logging/blob/main/LICENSE)
+
+[client-docs]: https://cloud.google.com/nodejs/docs/reference/logging/latest
+[product-docs]: https://cloud.google.com/logging/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=logging.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/handwritten/logging/_static/_static/guide-me.svg b/handwritten/logging/_static/_static/guide-me.svg
new file mode 100644
index 00000000000..729d4523d52
--- /dev/null
+++ b/handwritten/logging/_static/_static/guide-me.svg
@@ -0,0 +1,47 @@
+
+
diff --git a/handwritten/logging/_static/guide-me.svg b/handwritten/logging/_static/guide-me.svg
new file mode 100644
index 00000000000..a85b455f003
--- /dev/null
+++ b/handwritten/logging/_static/guide-me.svg
@@ -0,0 +1,47 @@
+
+
diff --git a/handwritten/logging/linkinator.config.json b/handwritten/logging/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/handwritten/logging/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/logging/owlbot.py b/handwritten/logging/owlbot.py
new file mode 100644
index 00000000000..4c5cc2efb51
--- /dev/null
+++ b/handwritten/logging/owlbot.py
@@ -0,0 +1,70 @@
+# 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
+#
+# 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 script is used to synthesize generated parts of this library."""
+
+import os
+import synthtool as s
+import synthtool.languages.node_mono_repo as node
+
+node.owlbot_main(relative_dir="handwritten/logging",
+ staging_excludes=[
+ ".eslintignore", ".prettierignore", "src/index.ts", "README.md", "package.json",
+ "system-test/fixtures/sample/src/index.js",
+ "system-test/fixtures/sample/src/index.ts"],
+ templates_excludes=[
+ "src/index.ts",
+ ".eslintignore",
+ ".prettierignore",
+ "CONTRIBUTING.md",
+ ".github/auto-label.yaml",
+ ".github/release-please.yml",
+ ".github/CODEOWNERS",
+ ".github/sync-repo-settings.yaml",
+ "README.md"
+ ]
+)
+
+# adjust .trampolinerc for environment tests
+s.replace(
+ "handwritten/logging/.trampolinerc",
+ r"required_envvars[^\)]*\)",
+ "required_envvars+=()"
+)
+s.replace(
+ "handwritten/logging/.trampolinerc",
+ r"pass_down_envvars\+\=\((?!\s*\"ENVIRONMENT\")",
+ 'pass_down_envvars+=(\n "ENVIRONMENT"\n "RUNTIME"'
+)
+
+# --------------------------------------------------------------------------
+# Modify test configs
+# --------------------------------------------------------------------------
+
+# add shared environment variables to test configs
+s.move(
+ "handwritten/logging/.kokoro/common_env_vars.cfg",
+ "handwritten/logging/.kokoro/common.cfg",
+ merge=lambda src, dst, _: dst if src.strip() in dst else f"{dst.rstrip()}\n{src.strip()}\n",
+)
+
+for path, subdirs, files in os.walk(f"handwritten/logging/.kokoro/continuous"):
+ for name in files:
+ if name == "common.cfg":
+ file_path = os.path.join(path, name)
+ s.move(
+ "handwritten/logging/.kokoro/common_env_vars.cfg",
+ file_path,
+ merge=lambda src, dst, _: dst if src.strip() in dst else f"{dst.rstrip()}\n{src.strip()}\n",
+ )
diff --git a/handwritten/logging/package.json b/handwritten/logging/package.json
new file mode 100644
index 00000000000..4e4b5caf722
--- /dev/null
+++ b/handwritten/logging/package.json
@@ -0,0 +1,116 @@
+{
+ "name": "@google-cloud/logging",
+ "version": "11.2.1",
+ "description": "Cloud Logging Client Library for Node.js",
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google logging",
+ "logging",
+ "stackdriver logging",
+ "stackdriver"
+ ],
+ "repository": {
+ "type": "git",
+ "directory": "handwritten/logging",
+ "url": "https://github.com/googleapis/google-cloud-node.git"
+ },
+ "license": "Apache-2.0",
+ "author": "Google Inc.",
+ "main": "build/src/index.js",
+ "files": [
+ "build/src",
+ "build/protos"
+ ],
+ "scripts": {
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r proto* build/",
+ "compile-protos": "compileProtos src",
+ "predocs": "npm run compile",
+ "docs": "jsdoc -c .jsdoc.js",
+ "predocs-test": "npm run docs",
+ "docs-test": "linkinator docs",
+ "fix": "gts fix",
+ "prelint": "cd samples; npm link ../; npm install",
+ "lint": "gts check",
+ "prepare": "npm run compile-protos && npm run compile",
+ "samples-test": "cd samples/ && npm link ../ && npm test && cd ../",
+ "presystem-test": "npm run compile",
+ "system-test": "mocha build/system-test --timeout 600000",
+ "pretest": "npm run compile",
+ "test": "c8 mocha build/test",
+ "precompile": "gts clean",
+ "postpublish": "./.kokoro/publish-min.sh"
+ },
+ "dependencies": {
+ "@google-cloud/common": "^5.0.0",
+ "@google-cloud/paginator": "^5.0.0",
+ "@google-cloud/projectify": "^4.0.0",
+ "@google-cloud/promisify": "4.0.0",
+ "@grpc/grpc-js": "^1.14.3",
+ "@opentelemetry/api": "^1.7.0",
+ "arrify": "^2.0.1",
+ "dot-prop": "^6.0.0",
+ "eventid": "^2.0.0",
+ "extend": "^3.0.2",
+ "gcp-metadata": "^6.0.0",
+ "google-auth-library": "^9.0.0",
+ "google-gax": "^4.0.3",
+ "long": "^5.3.2",
+ "on-finished": "^2.3.0",
+ "pumpify": "^2.0.1",
+ "stream-events": "^1.0.5",
+ "uuid": "^9.0.0"
+ },
+ "devDependencies": {
+ "@google-cloud/bigquery": "^7.0.0",
+ "@google-cloud/opentelemetry-cloud-trace-exporter": "^2.1.0",
+ "@google-cloud/pubsub": "^4.0.0",
+ "@google-cloud/storage": "^7.0.0",
+ "@opentelemetry/api": "^1.7.0",
+ "@opentelemetry/resources": "^1.23.0",
+ "@opentelemetry/sdk-node": "^0.52.0",
+ "@opentelemetry/sdk-trace-base": "^1.23.0",
+ "@opentelemetry/sdk-trace-node": "^1.23.0",
+ "@opentelemetry/semantic-conventions": "^1.23.0",
+ "@types/extend": "^3.0.1",
+ "@types/mocha": "^9.0.0",
+ "@types/node": "^20.4.9",
+ "@types/on-finished": "^2.3.1",
+ "@types/proxyquire": "^1.3.28",
+ "@types/pumpify": "^1.4.1",
+ "@types/sinon": "^10.0.0",
+ "@types/uuid": "^9.0.0",
+ "bignumber.js": "^9.0.0",
+ "c8": "^9.0.0",
+ "codecov": "^3.6.5",
+ "gapic-tools": "^0.4.0",
+ "gts": "^5.0.0",
+ "http2spy": "^2.0.0",
+ "jsdoc": "^4.0.0",
+ "jsdoc-fresh": "^3.0.0",
+ "jsdoc-region-tag": "^3.0.0",
+ "linkinator": "^3.0.0",
+ "mocha": "^9.2.2",
+ "nock": "^13.0.0",
+ "null-loader": "^4.0.0",
+ "pack-n-play": "^2.0.0",
+ "proxyquire": "^2.1.3",
+ "sinon": "^18.0.0",
+ "ts-loader": "^9.0.0",
+ "typescript": "^5.1.6",
+ "uglify-js": "^3.13.5",
+ "webpack": "^5.0.0",
+ "webpack-cli": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/handwritten/logging"
+}
diff --git a/handwritten/logging/protos/google/cloud/common_resources.proto b/handwritten/logging/protos/google/cloud/common_resources.proto
new file mode 100644
index 00000000000..56c9f800d5e
--- /dev/null
+++ b/handwritten/logging/protos/google/cloud/common_resources.proto
@@ -0,0 +1,52 @@
+// 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.
+
+// This file contains stub messages for common resources in GCP.
+// It is not intended to be directly generated, and is instead used by
+// other tooling to be able to match common resource patterns.
+syntax = "proto3";
+
+package google.cloud;
+
+import "google/api/resource.proto";
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ pattern: "projects/{project}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Organization"
+ pattern: "organizations/{organization}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Folder"
+ pattern: "folders/{folder}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudbilling.googleapis.com/BillingAccount"
+ pattern: "billingAccounts/{billing_account}"
+};
+
+option (google.api.resource_definition) = {
+ type: "locations.googleapis.com/Location"
+ pattern: "projects/{project}/locations/{location}"
+};
+
diff --git a/handwritten/logging/protos/google/logging/type/http_request.proto b/handwritten/logging/protos/google/logging/type/http_request.proto
new file mode 100644
index 00000000000..fa2dd64e834
--- /dev/null
+++ b/handwritten/logging/protos/google/logging/type/http_request.proto
@@ -0,0 +1,95 @@
+// Copyright 2024 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.logging.type;
+
+import "google/protobuf/duration.proto";
+
+option csharp_namespace = "Google.Cloud.Logging.Type";
+option go_package = "google.golang.org/genproto/googleapis/logging/type;ltype";
+option java_multiple_files = true;
+option java_outer_classname = "HttpRequestProto";
+option java_package = "com.google.logging.type";
+option php_namespace = "Google\\Cloud\\Logging\\Type";
+option ruby_package = "Google::Cloud::Logging::Type";
+
+// A common proto for logging HTTP requests. Only contains semantics
+// defined by the HTTP specification. Product-specific logging
+// information MUST be defined in a separate message.
+message HttpRequest {
+ // The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`.
+ string request_method = 1;
+
+ // The scheme (http, https), the host name, the path and the query
+ // portion of the URL that was requested.
+ // Example: `"http://example.com/some/info?color=red"`.
+ string request_url = 2;
+
+ // The size of the HTTP request message in bytes, including the request
+ // headers and the request body.
+ int64 request_size = 3;
+
+ // The response code indicating the status of response.
+ // Examples: 200, 404.
+ int32 status = 4;
+
+ // The size of the HTTP response message sent back to the client, in bytes,
+ // including the response headers and the response body.
+ int64 response_size = 5;
+
+ // The user agent sent by the client. Example:
+ // `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET
+ // CLR 1.0.3705)"`.
+ string user_agent = 6;
+
+ // The IP address (IPv4 or IPv6) of the client that issued the HTTP
+ // request. This field can include port information. Examples:
+ // `"192.168.1.1"`, `"10.0.0.1:80"`, `"FE80::0202:B3FF:FE1E:8329"`.
+ string remote_ip = 7;
+
+ // The IP address (IPv4 or IPv6) of the origin server that the request was
+ // sent to. This field can include port information. Examples:
+ // `"192.168.1.1"`, `"10.0.0.1:80"`, `"FE80::0202:B3FF:FE1E:8329"`.
+ string server_ip = 13;
+
+ // The referer URL of the request, as defined in
+ // [HTTP/1.1 Header Field
+ // Definitions](https://datatracker.ietf.org/doc/html/rfc2616#section-14.36).
+ string referer = 8;
+
+ // The request processing latency on the server, from the time the request was
+ // received until the response was sent.
+ google.protobuf.Duration latency = 14;
+
+ // Whether or not a cache lookup was attempted.
+ bool cache_lookup = 11;
+
+ // Whether or not an entity was served from cache
+ // (with or without validation).
+ bool cache_hit = 9;
+
+ // Whether or not the response was validated with the origin server before
+ // being served from cache. This field is only meaningful if `cache_hit` is
+ // True.
+ bool cache_validated_with_origin_server = 10;
+
+ // The number of HTTP response bytes inserted into cache. Set only when a
+ // cache fill was attempted.
+ int64 cache_fill_bytes = 12;
+
+ // Protocol used for the request. Examples: "HTTP/1.1", "HTTP/2", "websocket"
+ string protocol = 15;
+}
diff --git a/handwritten/logging/protos/google/logging/type/log_severity.proto b/handwritten/logging/protos/google/logging/type/log_severity.proto
new file mode 100644
index 00000000000..96ff874688a
--- /dev/null
+++ b/handwritten/logging/protos/google/logging/type/log_severity.proto
@@ -0,0 +1,71 @@
+// Copyright 2024 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.logging.type;
+
+option csharp_namespace = "Google.Cloud.Logging.Type";
+option go_package = "google.golang.org/genproto/googleapis/logging/type;ltype";
+option java_multiple_files = true;
+option java_outer_classname = "LogSeverityProto";
+option java_package = "com.google.logging.type";
+option objc_class_prefix = "GLOG";
+option php_namespace = "Google\\Cloud\\Logging\\Type";
+option ruby_package = "Google::Cloud::Logging::Type";
+
+// The severity of the event described in a log entry, expressed as one of the
+// standard severity levels listed below. For your reference, the levels are
+// assigned the listed numeric values. The effect of using numeric values other
+// than those listed is undefined.
+//
+// You can filter for log entries by severity. For example, the following
+// filter expression will match log entries with severities `INFO`, `NOTICE`,
+// and `WARNING`:
+//
+// severity > DEBUG AND severity <= WARNING
+//
+// If you are writing log entries, you should map other severity encodings to
+// one of these standard levels. For example, you might map all of Java's FINE,
+// FINER, and FINEST levels to `LogSeverity.DEBUG`. You can preserve the
+// original severity level in the log entry payload if you wish.
+enum LogSeverity {
+ // (0) The log entry has no assigned severity level.
+ DEFAULT = 0;
+
+ // (100) Debug or trace information.
+ DEBUG = 100;
+
+ // (200) Routine information, such as ongoing status or performance.
+ INFO = 200;
+
+ // (300) Normal but significant events, such as start up, shut down, or
+ // a configuration change.
+ NOTICE = 300;
+
+ // (400) Warning events might cause problems.
+ WARNING = 400;
+
+ // (500) Error events are likely to cause problems.
+ ERROR = 500;
+
+ // (600) Critical events cause more severe problems or outages.
+ CRITICAL = 600;
+
+ // (700) A person must take an action immediately.
+ ALERT = 700;
+
+ // (800) One or more systems are unusable.
+ EMERGENCY = 800;
+}
diff --git a/handwritten/logging/protos/google/logging/v2/log_entry.proto b/handwritten/logging/protos/google/logging/v2/log_entry.proto
new file mode 100644
index 00000000000..2404219f6aa
--- /dev/null
+++ b/handwritten/logging/protos/google/logging/v2/log_entry.proto
@@ -0,0 +1,280 @@
+// Copyright 2024 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.logging.v2;
+
+import "google/api/field_behavior.proto";
+import "google/api/monitored_resource.proto";
+import "google/api/resource.proto";
+import "google/logging/type/http_request.proto";
+import "google/logging/type/log_severity.proto";
+import "google/protobuf/any.proto";
+import "google/protobuf/struct.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Logging.V2";
+option go_package = "cloud.google.com/go/logging/apiv2/loggingpb;loggingpb";
+option java_multiple_files = true;
+option java_outer_classname = "LogEntryProto";
+option java_package = "com.google.logging.v2";
+option php_namespace = "Google\\Cloud\\Logging\\V2";
+option ruby_package = "Google::Cloud::Logging::V2";
+
+// An individual entry in a log.
+message LogEntry {
+ option (google.api.resource) = {
+ type: "logging.googleapis.com/Log"
+ pattern: "projects/{project}/logs/{log}"
+ pattern: "organizations/{organization}/logs/{log}"
+ pattern: "folders/{folder}/logs/{log}"
+ pattern: "billingAccounts/{billing_account}/logs/{log}"
+ name_field: "log_name"
+ };
+
+ // Required. The resource name of the log to which this log entry belongs:
+ //
+ // "projects/[PROJECT_ID]/logs/[LOG_ID]"
+ // "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]"
+ // "folders/[FOLDER_ID]/logs/[LOG_ID]"
+ //
+ // A project number may be used in place of PROJECT_ID. The project number is
+ // translated to its corresponding PROJECT_ID internally and the `log_name`
+ // field will contain PROJECT_ID in queries and exports.
+ //
+ // `[LOG_ID]` must be URL-encoded within `log_name`. Example:
+ // `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`.
+ //
+ // `[LOG_ID]` must be less than 512 characters long and can only include the
+ // following characters: upper and lower case alphanumeric characters,
+ // forward-slash, underscore, hyphen, and period.
+ //
+ // For backward compatibility, if `log_name` begins with a forward-slash, such
+ // as `/projects/...`, then the log entry is ingested as usual, but the
+ // forward-slash is removed. Listing the log entry will not show the leading
+ // slash and filtering for a log name with a leading slash will never return
+ // any results.
+ string log_name = 12 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The monitored resource that produced this log entry.
+ //
+ // Example: a log entry that reports a database error would be associated with
+ // the monitored resource designating the particular database that reported
+ // the error.
+ google.api.MonitoredResource resource = 8
+ [(google.api.field_behavior) = REQUIRED];
+
+ // The log entry payload, which can be one of multiple types.
+ oneof payload {
+ // The log entry payload, represented as a protocol buffer. Some Google
+ // Cloud Platform services use this field for their log entry payloads.
+ //
+ // The following protocol buffer types are supported; user-defined types
+ // are not supported:
+ //
+ // "type.googleapis.com/google.cloud.audit.AuditLog"
+ // "type.googleapis.com/google.appengine.logging.v1.RequestLog"
+ google.protobuf.Any proto_payload = 2;
+
+ // The log entry payload, represented as a Unicode string (UTF-8).
+ string text_payload = 3;
+
+ // The log entry payload, represented as a structure that is
+ // expressed as a JSON object.
+ google.protobuf.Struct json_payload = 6;
+ }
+
+ // Optional. The time the event described by the log entry occurred. This time
+ // is used to compute the log entry's age and to enforce the logs retention
+ // period. If this field is omitted in a new log entry, then Logging assigns
+ // it the current time. Timestamps have nanosecond accuracy, but trailing
+ // zeros in the fractional seconds might be omitted when the timestamp is
+ // displayed.
+ //
+ // Incoming log entries must have timestamps that don't exceed the
+ // [logs retention
+ // period](https://cloud.google.com/logging/quotas#logs_retention_periods) in
+ // the past, and that don't exceed 24 hours in the future. Log entries outside
+ // those time boundaries aren't ingested by Logging.
+ google.protobuf.Timestamp timestamp = 9
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The time the log entry was received by Logging.
+ google.protobuf.Timestamp receive_timestamp = 24
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. The severity of the log entry. The default value is
+ // `LogSeverity.DEFAULT`.
+ google.logging.type.LogSeverity severity = 10
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A unique identifier for the log entry. If you provide a value,
+ // then Logging considers other log entries in the same project, with the same
+ // `timestamp`, and with the same `insert_id` to be duplicates which are
+ // removed in a single query result. However, there are no guarantees of
+ // de-duplication in the export of logs.
+ //
+ // If the `insert_id` is omitted when writing a log entry, the Logging API
+ // assigns its own unique identifier in this field.
+ //
+ // In queries, the `insert_id` is also used to order log entries that have
+ // the same `log_name` and `timestamp` values.
+ string insert_id = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Information about the HTTP request associated with this log
+ // entry, if applicable.
+ google.logging.type.HttpRequest http_request = 7
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A map of key, value pairs that provides additional information
+ // about the log entry. The labels can be user-defined or system-defined.
+ //
+ // User-defined labels are arbitrary key, value pairs that you can use to
+ // classify logs.
+ //
+ // System-defined labels are defined by GCP services for platform logs.
+ // They have two components - a service namespace component and the
+ // attribute name. For example: `compute.googleapis.com/resource_name`.
+ //
+ // Cloud Logging truncates label keys that exceed 512 B and label
+ // values that exceed 64 KB upon their associated log entry being
+ // written. The truncation is indicated by an ellipsis at the
+ // end of the character string.
+ map labels = 11 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Information about an operation associated with the log entry, if
+ // applicable.
+ LogEntryOperation operation = 15 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The REST resource name of the trace being written to
+ // [Cloud Trace](https://cloud.google.com/trace) in
+ // association with this log entry. For example, if your trace data is stored
+ // in the Cloud project "my-trace-project" and if the service that is creating
+ // the log entry receives a trace header that includes the trace ID "12345",
+ // then the service should use "projects/my-tracing-project/traces/12345".
+ //
+ // The `trace` field provides the link between logs and traces. By using
+ // this field, you can navigate from a log entry to a trace.
+ string trace = 22 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The ID of the [Cloud Trace](https://cloud.google.com/trace) span
+ // associated with the current operation in which the log is being written.
+ // For example, if a span has the REST resource name of
+ // "projects/some-project/traces/some-trace/spans/some-span-id", then the
+ // `span_id` field is "some-span-id".
+ //
+ // A
+ // [Span](https://cloud.google.com/trace/docs/reference/v2/rest/v2/projects.traces/batchWrite#Span)
+ // represents a single operation within a trace. Whereas a trace may involve
+ // multiple different microservices running on multiple different machines,
+ // a span generally corresponds to a single logical operation being performed
+ // in a single instance of a microservice on one specific machine. Spans
+ // are the nodes within the tree that is a trace.
+ //
+ // Applications that are [instrumented for
+ // tracing](https://cloud.google.com/trace/docs/setup) will generally assign a
+ // new, unique span ID on each incoming request. It is also common to create
+ // and record additional spans corresponding to internal processing elements
+ // as well as issuing requests to dependencies.
+ //
+ // The span ID is expected to be a 16-character, hexadecimal encoding of an
+ // 8-byte array and should not be zero. It should be unique within the trace
+ // and should, ideally, be generated in a manner that is uniformly random.
+ //
+ // Example values:
+ //
+ // - `000000000000004a`
+ // - `7a2190356c3fc94b`
+ // - `0000f00300090021`
+ // - `d39223e101960076`
+ string span_id = 27 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The sampling decision of the trace associated with the log entry.
+ //
+ // True means that the trace resource name in the `trace` field was sampled
+ // for storage in a trace backend. False means that the trace was not sampled
+ // for storage when this log entry was written, or the sampling decision was
+ // unknown at the time. A non-sampled `trace` value is still useful as a
+ // request correlation identifier. The default is False.
+ bool trace_sampled = 30 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Source code location information associated with the log entry,
+ // if any.
+ LogEntrySourceLocation source_location = 23
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Information indicating this LogEntry is part of a sequence of
+ // multiple log entries split from a single LogEntry.
+ LogSplit split = 35 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Additional information about a potentially long-running operation with which
+// a log entry is associated.
+message LogEntryOperation {
+ // Optional. An arbitrary operation identifier. Log entries with the same
+ // identifier are assumed to be part of the same operation.
+ string id = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. An arbitrary producer identifier. The combination of `id` and
+ // `producer` must be globally unique. Examples for `producer`:
+ // `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`.
+ string producer = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Set this to True if this is the first log entry in the operation.
+ bool first = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Set this to True if this is the last log entry in the operation.
+ bool last = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Additional information about the source code location that produced the log
+// entry.
+message LogEntrySourceLocation {
+ // Optional. Source file name. Depending on the runtime environment, this
+ // might be a simple name or a fully-qualified name.
+ string file = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Line within the source file. 1-based; 0 indicates no line number
+ // available.
+ int64 line = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Human-readable name of the function or method being invoked, with
+ // optional context such as the class or package name. This information may be
+ // used in contexts such as the logs viewer, where a file and line number are
+ // less meaningful. The format can vary by language. For example:
+ // `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function`
+ // (Python).
+ string function = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Additional information used to correlate multiple log entries. Used when a
+// single LogEntry would exceed the Google Cloud Logging size limit and is
+// split across multiple log entries.
+message LogSplit {
+ // A globally unique identifier for all log entries in a sequence of split log
+ // entries. All log entries with the same |LogSplit.uid| are assumed to be
+ // part of the same sequence of split log entries.
+ string uid = 1;
+
+ // The index of this LogEntry in the sequence of split log entries. Log
+ // entries are given |index| values 0, 1, ..., n-1 for a sequence of n log
+ // entries.
+ int32 index = 2;
+
+ // The total number of log entries that the original LogEntry was split into.
+ int32 total_splits = 3;
+}
diff --git a/handwritten/logging/protos/google/logging/v2/logging.proto b/handwritten/logging/protos/google/logging/v2/logging.proto
new file mode 100644
index 00000000000..cd686e9ff39
--- /dev/null
+++ b/handwritten/logging/protos/google/logging/v2/logging.proto
@@ -0,0 +1,483 @@
+// Copyright 2024 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.logging.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/monitored_resource.proto";
+import "google/api/resource.proto";
+import "google/logging/v2/log_entry.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/empty.proto";
+import "google/rpc/status.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Logging.V2";
+option go_package = "cloud.google.com/go/logging/apiv2/loggingpb;loggingpb";
+option java_multiple_files = true;
+option java_outer_classname = "LoggingProto";
+option java_package = "com.google.logging.v2";
+option php_namespace = "Google\\Cloud\\Logging\\V2";
+option ruby_package = "Google::Cloud::Logging::V2";
+
+// Service for ingesting and querying logs.
+service LoggingServiceV2 {
+ option (google.api.default_host) = "logging.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/cloud-platform.read-only,"
+ "https://www.googleapis.com/auth/logging.admin,"
+ "https://www.googleapis.com/auth/logging.read,"
+ "https://www.googleapis.com/auth/logging.write";
+
+ // Deletes all the log entries in a log for the _Default Log Bucket. The log
+ // reappears if it receives new entries. Log entries written shortly before
+ // the delete operation might not be deleted. Entries received after the
+ // delete operation with a timestamp before the operation will be deleted.
+ rpc DeleteLog(DeleteLogRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{log_name=projects/*/logs/*}"
+ additional_bindings { delete: "/v2/{log_name=*/*/logs/*}" }
+ additional_bindings { delete: "/v2/{log_name=organizations/*/logs/*}" }
+ additional_bindings { delete: "/v2/{log_name=folders/*/logs/*}" }
+ additional_bindings { delete: "/v2/{log_name=billingAccounts/*/logs/*}" }
+ };
+ option (google.api.method_signature) = "log_name";
+ }
+
+ // Writes log entries to Logging. This API method is the
+ // only way to send log entries to Logging. This method
+ // is used, directly or indirectly, by the Logging agent
+ // (fluentd) and all logging libraries configured to use Logging.
+ // A single request may contain log entries for a maximum of 1000
+ // different resources (projects, organizations, billing accounts or
+ // folders)
+ rpc WriteLogEntries(WriteLogEntriesRequest)
+ returns (WriteLogEntriesResponse) {
+ option (google.api.http) = {
+ post: "/v2/entries:write"
+ body: "*"
+ };
+ option (google.api.method_signature) = "log_name,resource,labels,entries";
+ }
+
+ // Lists log entries. Use this method to retrieve log entries that originated
+ // from a project/folder/organization/billing account. For ways to export log
+ // entries, see [Exporting
+ // Logs](https://cloud.google.com/logging/docs/export).
+ rpc ListLogEntries(ListLogEntriesRequest) returns (ListLogEntriesResponse) {
+ option (google.api.http) = {
+ post: "/v2/entries:list"
+ body: "*"
+ };
+ option (google.api.method_signature) = "resource_names,filter,order_by";
+ }
+
+ // Lists the descriptors for monitored resource types used by Logging.
+ rpc ListMonitoredResourceDescriptors(ListMonitoredResourceDescriptorsRequest)
+ returns (ListMonitoredResourceDescriptorsResponse) {
+ option (google.api.http) = {
+ get: "/v2/monitoredResourceDescriptors"
+ };
+ }
+
+ // Lists the logs in projects, organizations, folders, or billing accounts.
+ // Only logs that have entries are listed.
+ rpc ListLogs(ListLogsRequest) returns (ListLogsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=*/*}/logs"
+ additional_bindings { get: "/v2/{parent=projects/*}/logs" }
+ additional_bindings { get: "/v2/{parent=organizations/*}/logs" }
+ additional_bindings { get: "/v2/{parent=folders/*}/logs" }
+ additional_bindings { get: "/v2/{parent=billingAccounts/*}/logs" }
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*/buckets/*/views/*}/logs"
+ }
+ additional_bindings {
+ get: "/v2/{parent=organizations/*/locations/*/buckets/*/views/*}/logs"
+ }
+ additional_bindings {
+ get: "/v2/{parent=folders/*/locations/*/buckets/*/views/*}/logs"
+ }
+ additional_bindings {
+ get: "/v2/{parent=billingAccounts/*/locations/*/buckets/*/views/*}/logs"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Streaming read of log entries as they are ingested. Until the stream is
+ // terminated, it will continue reading logs.
+ rpc TailLogEntries(stream TailLogEntriesRequest)
+ returns (stream TailLogEntriesResponse) {
+ option (google.api.http) = {
+ post: "/v2/entries:tail"
+ body: "*"
+ };
+ }
+}
+
+// The parameters to DeleteLog.
+message DeleteLogRequest {
+ // Required. The resource name of the log to delete:
+ //
+ // * `projects/[PROJECT_ID]/logs/[LOG_ID]`
+ // * `organizations/[ORGANIZATION_ID]/logs/[LOG_ID]`
+ // * `billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]`
+ // * `folders/[FOLDER_ID]/logs/[LOG_ID]`
+ //
+ // `[LOG_ID]` must be URL-encoded. For example,
+ // `"projects/my-project-id/logs/syslog"`,
+ // `"organizations/123/logs/cloudaudit.googleapis.com%2Factivity"`.
+ //
+ // For more information about log names, see
+ // [LogEntry][google.logging.v2.LogEntry].
+ string log_name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "logging.googleapis.com/Log" }
+ ];
+}
+
+// The parameters to WriteLogEntries.
+message WriteLogEntriesRequest {
+ // Optional. A default log resource name that is assigned to all log entries
+ // in `entries` that do not specify a value for `log_name`:
+ //
+ // * `projects/[PROJECT_ID]/logs/[LOG_ID]`
+ // * `organizations/[ORGANIZATION_ID]/logs/[LOG_ID]`
+ // * `billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]`
+ // * `folders/[FOLDER_ID]/logs/[LOG_ID]`
+ //
+ // `[LOG_ID]` must be URL-encoded. For example:
+ //
+ // "projects/my-project-id/logs/syslog"
+ // "organizations/123/logs/cloudaudit.googleapis.com%2Factivity"
+ //
+ // The permission `logging.logEntries.create` is needed on each project,
+ // organization, billing account, or folder that is receiving new log
+ // entries, whether the resource is specified in `logName` or in an
+ // individual log entry.
+ string log_name = 1 [
+ (google.api.field_behavior) = OPTIONAL,
+ (google.api.resource_reference) = { type: "logging.googleapis.com/Log" }
+ ];
+
+ // Optional. A default monitored resource object that is assigned to all log
+ // entries in `entries` that do not specify a value for `resource`. Example:
+ //
+ // { "type": "gce_instance",
+ // "labels": {
+ // "zone": "us-central1-a", "instance_id": "00000000000000000000" }}
+ //
+ // See [LogEntry][google.logging.v2.LogEntry].
+ google.api.MonitoredResource resource = 2
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Default labels that are added to the `labels` field of all log
+ // entries in `entries`. If a log entry already has a label with the same key
+ // as a label in this parameter, then the log entry's label is not changed.
+ // See [LogEntry][google.logging.v2.LogEntry].
+ map labels = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The log entries to send to Logging. The order of log
+ // entries in this list does not matter. Values supplied in this method's
+ // `log_name`, `resource`, and `labels` fields are copied into those log
+ // entries in this list that do not include values for their corresponding
+ // fields. For more information, see the
+ // [LogEntry][google.logging.v2.LogEntry] type.
+ //
+ // If the `timestamp` or `insert_id` fields are missing in log entries, then
+ // this method supplies the current time or a unique identifier, respectively.
+ // The supplied values are chosen so that, among the log entries that did not
+ // supply their own values, the entries earlier in the list will sort before
+ // the entries later in the list. See the `entries.list` method.
+ //
+ // Log entries with timestamps that are more than the
+ // [logs retention period](https://cloud.google.com/logging/quotas) in
+ // the past or more than 24 hours in the future will not be available when
+ // calling `entries.list`. However, those log entries can still be [exported
+ // with
+ // LogSinks](https://cloud.google.com/logging/docs/api/tasks/exporting-logs).
+ //
+ // To improve throughput and to avoid exceeding the
+ // [quota limit](https://cloud.google.com/logging/quotas) for calls to
+ // `entries.write`, you should try to include several log entries in this
+ // list, rather than calling this method for each individual log entry.
+ repeated LogEntry entries = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Whether a batch's valid entries should be written even if some
+ // other entry failed due to a permanent error such as INVALID_ARGUMENT or
+ // PERMISSION_DENIED. If any entry failed, then the response status is the
+ // response status of one of the failed entries. The response will include
+ // error details in `WriteLogEntriesPartialErrors.log_entry_errors` keyed by
+ // the entries' zero-based index in the `entries`. Failed requests for which
+ // no entries are written will not include per-entry errors.
+ bool partial_success = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the request should expect normal response, but the
+ // entries won't be persisted nor exported. Useful for checking whether the
+ // logging API endpoints are working properly before sending valuable data.
+ bool dry_run = 6 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Result returned from WriteLogEntries.
+message WriteLogEntriesResponse {}
+
+// Error details for WriteLogEntries with partial success.
+message WriteLogEntriesPartialErrors {
+ // When `WriteLogEntriesRequest.partial_success` is true, records the error
+ // status for entries that were not written due to a permanent error, keyed
+ // by the entry's zero-based index in `WriteLogEntriesRequest.entries`.
+ //
+ // Failed requests for which no entries are written will not include
+ // per-entry errors.
+ map log_entry_errors = 1;
+}
+
+// The parameters to `ListLogEntries`.
+message ListLogEntriesRequest {
+ // Required. Names of one or more parent resources from which to
+ // retrieve log entries:
+ //
+ // * `projects/[PROJECT_ID]`
+ // * `organizations/[ORGANIZATION_ID]`
+ // * `billingAccounts/[BILLING_ACCOUNT_ID]`
+ // * `folders/[FOLDER_ID]`
+ //
+ // May alternatively be one or more views:
+ //
+ // * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
+ // * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
+ // * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
+ // * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
+ //
+ // Projects listed in the `project_ids` field are added to this list.
+ // A maximum of 100 resources may be specified in a single request.
+ repeated string resource_names = 8 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "logging.googleapis.com/Log"
+ }
+ ];
+
+ // Optional. Only log entries that match the filter are returned. An empty
+ // filter matches all log entries in the resources listed in `resource_names`.
+ // Referencing a parent resource that is not listed in `resource_names` will
+ // cause the filter to return no results. The maximum length of a filter is
+ // 20,000 characters.
+ string filter = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. How the results should be sorted. Presently, the only permitted
+ // values are `"timestamp asc"` (default) and `"timestamp desc"`. The first
+ // option returns entries in order of increasing values of
+ // `LogEntry.timestamp` (oldest first), and the second option returns entries
+ // in order of decreasing timestamps (newest first). Entries with equal
+ // timestamps are returned in order of their `insert_id` values.
+ string order_by = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum number of results to return from this request.
+ // Default is 50. If the value is negative or exceeds 1000, the request is
+ // rejected. The presence of `next_page_token` in the response indicates that
+ // more results might be available.
+ int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If present, then retrieve the next batch of results from the
+ // preceding call to this method. `page_token` must be the value of
+ // `next_page_token` from the previous response. The values of other method
+ // parameters should be identical to those in the previous call.
+ string page_token = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Result returned from `ListLogEntries`.
+message ListLogEntriesResponse {
+ // A list of log entries. If `entries` is empty, `nextPageToken` may still be
+ // returned, indicating that more entries may exist. See `nextPageToken` for
+ // more information.
+ repeated LogEntry entries = 1;
+
+ // If there might be more results than those appearing in this response, then
+ // `nextPageToken` is included. To get the next set of results, call this
+ // method again using the value of `nextPageToken` as `pageToken`.
+ //
+ // If a value for `next_page_token` appears and the `entries` field is empty,
+ // it means that the search found no log entries so far but it did not have
+ // time to search all the possible log entries. Retry the method with this
+ // value for `page_token` to continue the search. Alternatively, consider
+ // speeding up the search by changing your filter to specify a single log name
+ // or resource type, or to narrow the time range of the search.
+ string next_page_token = 2;
+}
+
+// The parameters to ListMonitoredResourceDescriptors
+message ListMonitoredResourceDescriptorsRequest {
+ // Optional. The maximum number of results to return from this request.
+ // Non-positive values are ignored. The presence of `nextPageToken` in the
+ // response indicates that more results might be available.
+ int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If present, then retrieve the next batch of results from the
+ // preceding call to this method. `pageToken` must be the value of
+ // `nextPageToken` from the previous response. The values of other method
+ // parameters should be identical to those in the previous call.
+ string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Result returned from ListMonitoredResourceDescriptors.
+message ListMonitoredResourceDescriptorsResponse {
+ // A list of resource descriptors.
+ repeated google.api.MonitoredResourceDescriptor resource_descriptors = 1;
+
+ // If there might be more results than those appearing in this response, then
+ // `nextPageToken` is included. To get the next set of results, call this
+ // method again using the value of `nextPageToken` as `pageToken`.
+ string next_page_token = 2;
+}
+
+// The parameters to ListLogs.
+message ListLogsRequest {
+ // Required. The resource name to list logs for:
+ //
+ // * `projects/[PROJECT_ID]`
+ // * `organizations/[ORGANIZATION_ID]`
+ // * `billingAccounts/[BILLING_ACCOUNT_ID]`
+ // * `folders/[FOLDER_ID]`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "logging.googleapis.com/Log"
+ }
+ ];
+
+ // Optional. List of resource names to list logs for:
+ //
+ // * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
+ // * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
+ // * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
+ // * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
+ //
+ // To support legacy queries, it could also be:
+ //
+ // * `projects/[PROJECT_ID]`
+ // * `organizations/[ORGANIZATION_ID]`
+ // * `billingAccounts/[BILLING_ACCOUNT_ID]`
+ // * `folders/[FOLDER_ID]`
+ //
+ // The resource name in the `parent` field is added to this list.
+ repeated string resource_names = 8 [
+ (google.api.field_behavior) = OPTIONAL,
+ (google.api.resource_reference) = {
+ child_type: "logging.googleapis.com/Log"
+ }
+ ];
+
+ // Optional. The maximum number of results to return from this request.
+ // Non-positive values are ignored. The presence of `nextPageToken` in the
+ // response indicates that more results might be available.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If present, then retrieve the next batch of results from the
+ // preceding call to this method. `pageToken` must be the value of
+ // `nextPageToken` from the previous response. The values of other method
+ // parameters should be identical to those in the previous call.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Result returned from ListLogs.
+message ListLogsResponse {
+ // A list of log names. For example,
+ // `"projects/my-project/logs/syslog"` or
+ // `"organizations/123/logs/cloudresourcemanager.googleapis.com%2Factivity"`.
+ repeated string log_names = 3;
+
+ // If there might be more results than those appearing in this response, then
+ // `nextPageToken` is included. To get the next set of results, call this
+ // method again using the value of `nextPageToken` as `pageToken`.
+ string next_page_token = 2;
+}
+
+// The parameters to `TailLogEntries`.
+message TailLogEntriesRequest {
+ // Required. Name of a parent resource from which to retrieve log entries:
+ //
+ // * `projects/[PROJECT_ID]`
+ // * `organizations/[ORGANIZATION_ID]`
+ // * `billingAccounts/[BILLING_ACCOUNT_ID]`
+ // * `folders/[FOLDER_ID]`
+ //
+ // May alternatively be one or more views:
+ //
+ // * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
+ // * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
+ // * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
+ // * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
+ repeated string resource_names = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Only log entries that match the filter are returned. An empty
+ // filter matches all log entries in the resources listed in `resource_names`.
+ // Referencing a parent resource that is not listed in `resource_names` will
+ // cause the filter to return no results. The maximum length of a filter is
+ // 20,000 characters.
+ string filter = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The amount of time to buffer log entries at the server before
+ // being returned to prevent out of order results due to late arriving log
+ // entries. Valid values are between 0-60000 milliseconds. Defaults to 2000
+ // milliseconds.
+ google.protobuf.Duration buffer_window = 3
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Result returned from `TailLogEntries`.
+message TailLogEntriesResponse {
+ // Information about entries that were omitted from the session.
+ message SuppressionInfo {
+ // An indicator of why entries were omitted.
+ enum Reason {
+ // Unexpected default.
+ REASON_UNSPECIFIED = 0;
+
+ // Indicates suppression occurred due to relevant entries being
+ // received in excess of rate limits. For quotas and limits, see
+ // [Logging API quotas and
+ // limits](https://cloud.google.com/logging/quotas#api-limits).
+ RATE_LIMIT = 1;
+
+ // Indicates suppression occurred due to the client not consuming
+ // responses quickly enough.
+ NOT_CONSUMED = 2;
+ }
+
+ // The reason that entries were omitted from the session.
+ Reason reason = 1;
+
+ // A lower bound on the count of entries omitted due to `reason`.
+ int32 suppressed_count = 2;
+ }
+
+ // A list of log entries. Each response in the stream will order entries with
+ // increasing values of `LogEntry.timestamp`. Ordering is not guaranteed
+ // between separate responses.
+ repeated LogEntry entries = 1;
+
+ // If entries that otherwise would have been included in the session were not
+ // sent back to the client, counts of relevant entries omitted from the
+ // session with the reason that they were not included. There will be at most
+ // one of each reason per response. The counts represent the number of
+ // suppressed entries since the last streamed response.
+ repeated SuppressionInfo suppression_info = 2;
+}
diff --git a/handwritten/logging/protos/google/logging/v2/logging_config.proto b/handwritten/logging/protos/google/logging/v2/logging_config.proto
new file mode 100644
index 00000000000..d914df1bae5
--- /dev/null
+++ b/handwritten/logging/protos/google/logging/v2/logging_config.proto
@@ -0,0 +1,2317 @@
+// Copyright 2024 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.logging.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Logging.V2";
+option go_package = "cloud.google.com/go/logging/apiv2/loggingpb;loggingpb";
+option java_multiple_files = true;
+option java_outer_classname = "LoggingConfigProto";
+option java_package = "com.google.logging.v2";
+option php_namespace = "Google\\Cloud\\Logging\\V2";
+option ruby_package = "Google::Cloud::Logging::V2";
+option (google.api.resource_definition) = {
+ type: "logging.googleapis.com/OrganizationLocation"
+ pattern: "organizations/{organization}/locations/{location}"
+};
+option (google.api.resource_definition) = {
+ type: "logging.googleapis.com/FolderLocation"
+ pattern: "folders/{folder}/locations/{location}"
+};
+option (google.api.resource_definition) = {
+ type: "logging.googleapis.com/BillingAccountLocation"
+ pattern: "billingAccounts/{billing_account}/locations/{location}"
+};
+
+// Service for configuring sinks used to route log entries.
+service ConfigServiceV2 {
+ option (google.api.default_host) = "logging.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/cloud-platform.read-only,"
+ "https://www.googleapis.com/auth/logging.admin,"
+ "https://www.googleapis.com/auth/logging.read";
+
+ // Lists log buckets.
+ rpc ListBuckets(ListBucketsRequest) returns (ListBucketsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=*/*/locations/*}/buckets"
+ additional_bindings { get: "/v2/{parent=projects/*/locations/*}/buckets" }
+ additional_bindings {
+ get: "/v2/{parent=organizations/*/locations/*}/buckets"
+ }
+ additional_bindings { get: "/v2/{parent=folders/*/locations/*}/buckets" }
+ additional_bindings {
+ get: "/v2/{parent=billingAccounts/*/locations/*}/buckets"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets a log bucket.
+ rpc GetBucket(GetBucketRequest) returns (LogBucket) {
+ option (google.api.http) = {
+ get: "/v2/{name=*/*/locations/*/buckets/*}"
+ additional_bindings { get: "/v2/{name=projects/*/locations/*/buckets/*}" }
+ additional_bindings {
+ get: "/v2/{name=organizations/*/locations/*/buckets/*}"
+ }
+ additional_bindings { get: "/v2/{name=folders/*/locations/*/buckets/*}" }
+ additional_bindings {
+ get: "/v2/{name=billingAccounts/*/locations/*/buckets/*}"
+ }
+ };
+ }
+
+ // Creates a log bucket asynchronously that can be used to store log entries.
+ //
+ // After a bucket has been created, the bucket's location cannot be changed.
+ rpc CreateBucketAsync(CreateBucketRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=*/*/locations/*}/buckets:createAsync"
+ body: "bucket"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/buckets:createAsync"
+ body: "bucket"
+ }
+ additional_bindings {
+ post: "/v2/{parent=organizations/*/locations/*}/buckets:createAsync"
+ body: "bucket"
+ }
+ additional_bindings {
+ post: "/v2/{parent=folders/*/locations/*}/buckets:createAsync"
+ body: "bucket"
+ }
+ additional_bindings {
+ post: "/v2/{parent=billingAccounts/*/locations/*}/buckets:createAsync"
+ body: "bucket"
+ }
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "LogBucket"
+ metadata_type: "BucketMetadata"
+ };
+ }
+
+ // Updates a log bucket asynchronously.
+ //
+ // If the bucket has a `lifecycle_state` of `DELETE_REQUESTED`, then
+ // `FAILED_PRECONDITION` will be returned.
+ //
+ // After a bucket has been created, the bucket's location cannot be changed.
+ rpc UpdateBucketAsync(UpdateBucketRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{name=*/*/locations/*/buckets/*}:updateAsync"
+ body: "bucket"
+ additional_bindings {
+ post: "/v2/{name=projects/*/locations/*/buckets/*}:updateAsync"
+ body: "bucket"
+ }
+ additional_bindings {
+ post: "/v2/{name=organizations/*/locations/*/buckets/*}:updateAsync"
+ body: "bucket"
+ }
+ additional_bindings {
+ post: "/v2/{name=folders/*/locations/*/buckets/*}:updateAsync"
+ body: "bucket"
+ }
+ additional_bindings {
+ post: "/v2/{name=billingAccounts/*/locations/*/buckets/*}:updateAsync"
+ body: "bucket"
+ }
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "LogBucket"
+ metadata_type: "BucketMetadata"
+ };
+ }
+
+ // Creates a log bucket that can be used to store log entries. After a bucket
+ // has been created, the bucket's location cannot be changed.
+ rpc CreateBucket(CreateBucketRequest) returns (LogBucket) {
+ option (google.api.http) = {
+ post: "/v2/{parent=*/*/locations/*}/buckets"
+ body: "bucket"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/buckets"
+ body: "bucket"
+ }
+ additional_bindings {
+ post: "/v2/{parent=organizations/*/locations/*}/buckets"
+ body: "bucket"
+ }
+ additional_bindings {
+ post: "/v2/{parent=folders/*/locations/*}/buckets"
+ body: "bucket"
+ }
+ additional_bindings {
+ post: "/v2/{parent=billingAccounts/*/locations/*}/buckets"
+ body: "bucket"
+ }
+ };
+ }
+
+ // Updates a log bucket.
+ //
+ // If the bucket has a `lifecycle_state` of `DELETE_REQUESTED`, then
+ // `FAILED_PRECONDITION` will be returned.
+ //
+ // After a bucket has been created, the bucket's location cannot be changed.
+ rpc UpdateBucket(UpdateBucketRequest) returns (LogBucket) {
+ option (google.api.http) = {
+ patch: "/v2/{name=*/*/locations/*/buckets/*}"
+ body: "bucket"
+ additional_bindings {
+ patch: "/v2/{name=projects/*/locations/*/buckets/*}"
+ body: "bucket"
+ }
+ additional_bindings {
+ patch: "/v2/{name=organizations/*/locations/*/buckets/*}"
+ body: "bucket"
+ }
+ additional_bindings {
+ patch: "/v2/{name=folders/*/locations/*/buckets/*}"
+ body: "bucket"
+ }
+ additional_bindings {
+ patch: "/v2/{name=billingAccounts/*/locations/*/buckets/*}"
+ body: "bucket"
+ }
+ };
+ }
+
+ // Deletes a log bucket.
+ //
+ // Changes the bucket's `lifecycle_state` to the `DELETE_REQUESTED` state.
+ // After 7 days, the bucket will be purged and all log entries in the bucket
+ // will be permanently deleted.
+ rpc DeleteBucket(DeleteBucketRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=*/*/locations/*/buckets/*}"
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/buckets/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=organizations/*/locations/*/buckets/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=folders/*/locations/*/buckets/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=billingAccounts/*/locations/*/buckets/*}"
+ }
+ };
+ }
+
+ // Undeletes a log bucket. A bucket that has been deleted can be undeleted
+ // within the grace period of 7 days.
+ rpc UndeleteBucket(UndeleteBucketRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ post: "/v2/{name=*/*/locations/*/buckets/*}:undelete"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{name=projects/*/locations/*/buckets/*}:undelete"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{name=organizations/*/locations/*/buckets/*}:undelete"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{name=folders/*/locations/*/buckets/*}:undelete"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{name=billingAccounts/*/locations/*/buckets/*}:undelete"
+ body: "*"
+ }
+ };
+ }
+
+ // Lists views on a log bucket.
+ rpc ListViews(ListViewsRequest) returns (ListViewsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=*/*/locations/*/buckets/*}/views"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*/buckets/*}/views"
+ }
+ additional_bindings {
+ get: "/v2/{parent=organizations/*/locations/*/buckets/*}/views"
+ }
+ additional_bindings {
+ get: "/v2/{parent=folders/*/locations/*/buckets/*}/views"
+ }
+ additional_bindings {
+ get: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/views"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets a view on a log bucket..
+ rpc GetView(GetViewRequest) returns (LogView) {
+ option (google.api.http) = {
+ get: "/v2/{name=*/*/locations/*/buckets/*/views/*}"
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/buckets/*/views/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=folders/*/locations/*/buckets/*/views/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}"
+ }
+ };
+ }
+
+ // Creates a view over log entries in a log bucket. A bucket may contain a
+ // maximum of 30 views.
+ rpc CreateView(CreateViewRequest) returns (LogView) {
+ option (google.api.http) = {
+ post: "/v2/{parent=*/*/locations/*/buckets/*}/views"
+ body: "view"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*/buckets/*}/views"
+ body: "view"
+ }
+ additional_bindings {
+ post: "/v2/{parent=organizations/*/locations/*/buckets/*}/views"
+ body: "view"
+ }
+ additional_bindings {
+ post: "/v2/{parent=folders/*/locations/*/buckets/*}/views"
+ body: "view"
+ }
+ additional_bindings {
+ post: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/views"
+ body: "view"
+ }
+ };
+ }
+
+ // Updates a view on a log bucket. This method replaces the following fields
+ // in the existing view with values from the new view: `filter`.
+ // If an `UNAVAILABLE` error is returned, this indicates that system is not in
+ // a state where it can update the view. If this occurs, please try again in a
+ // few minutes.
+ rpc UpdateView(UpdateViewRequest) returns (LogView) {
+ option (google.api.http) = {
+ patch: "/v2/{name=*/*/locations/*/buckets/*/views/*}"
+ body: "view"
+ additional_bindings {
+ patch: "/v2/{name=projects/*/locations/*/buckets/*/views/*}"
+ body: "view"
+ }
+ additional_bindings {
+ patch: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}"
+ body: "view"
+ }
+ additional_bindings {
+ patch: "/v2/{name=folders/*/locations/*/buckets/*/views/*}"
+ body: "view"
+ }
+ additional_bindings {
+ patch: "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}"
+ body: "view"
+ }
+ };
+ }
+
+ // Deletes a view on a log bucket.
+ // If an `UNAVAILABLE` error is returned, this indicates that system is not in
+ // a state where it can delete the view. If this occurs, please try again in a
+ // few minutes.
+ rpc DeleteView(DeleteViewRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=*/*/locations/*/buckets/*/views/*}"
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/buckets/*/views/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=folders/*/locations/*/buckets/*/views/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}"
+ }
+ };
+ }
+
+ // Lists sinks.
+ rpc ListSinks(ListSinksRequest) returns (ListSinksResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=*/*}/sinks"
+ additional_bindings { get: "/v2/{parent=projects/*}/sinks" }
+ additional_bindings { get: "/v2/{parent=organizations/*}/sinks" }
+ additional_bindings { get: "/v2/{parent=folders/*}/sinks" }
+ additional_bindings { get: "/v2/{parent=billingAccounts/*}/sinks" }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets a sink.
+ rpc GetSink(GetSinkRequest) returns (LogSink) {
+ option (google.api.http) = {
+ get: "/v2/{sink_name=*/*/sinks/*}"
+ additional_bindings { get: "/v2/{sink_name=projects/*/sinks/*}" }
+ additional_bindings { get: "/v2/{sink_name=organizations/*/sinks/*}" }
+ additional_bindings { get: "/v2/{sink_name=folders/*/sinks/*}" }
+ additional_bindings { get: "/v2/{sink_name=billingAccounts/*/sinks/*}" }
+ };
+ option (google.api.method_signature) = "sink_name";
+ }
+
+ // Creates a sink that exports specified log entries to a destination. The
+ // export of newly-ingested log entries begins immediately, unless the sink's
+ // `writer_identity` is not permitted to write to the destination. A sink can
+ // export log entries only from the resource owning the sink.
+ rpc CreateSink(CreateSinkRequest) returns (LogSink) {
+ option (google.api.http) = {
+ post: "/v2/{parent=*/*}/sinks"
+ body: "sink"
+ additional_bindings { post: "/v2/{parent=projects/*}/sinks" body: "sink" }
+ additional_bindings {
+ post: "/v2/{parent=organizations/*}/sinks"
+ body: "sink"
+ }
+ additional_bindings { post: "/v2/{parent=folders/*}/sinks" body: "sink" }
+ additional_bindings {
+ post: "/v2/{parent=billingAccounts/*}/sinks"
+ body: "sink"
+ }
+ };
+ option (google.api.method_signature) = "parent,sink";
+ }
+
+ // Updates a sink. This method replaces the following fields in the existing
+ // sink with values from the new sink: `destination`, and `filter`.
+ //
+ // The updated sink might also have a new `writer_identity`; see the
+ // `unique_writer_identity` field.
+ rpc UpdateSink(UpdateSinkRequest) returns (LogSink) {
+ option (google.api.http) = {
+ put: "/v2/{sink_name=*/*/sinks/*}"
+ body: "sink"
+ additional_bindings {
+ put: "/v2/{sink_name=projects/*/sinks/*}"
+ body: "sink"
+ }
+ additional_bindings {
+ put: "/v2/{sink_name=organizations/*/sinks/*}"
+ body: "sink"
+ }
+ additional_bindings {
+ put: "/v2/{sink_name=folders/*/sinks/*}"
+ body: "sink"
+ }
+ additional_bindings {
+ put: "/v2/{sink_name=billingAccounts/*/sinks/*}"
+ body: "sink"
+ }
+ additional_bindings {
+ patch: "/v2/{sink_name=projects/*/sinks/*}"
+ body: "sink"
+ }
+ additional_bindings {
+ patch: "/v2/{sink_name=organizations/*/sinks/*}"
+ body: "sink"
+ }
+ additional_bindings {
+ patch: "/v2/{sink_name=folders/*/sinks/*}"
+ body: "sink"
+ }
+ additional_bindings {
+ patch: "/v2/{sink_name=billingAccounts/*/sinks/*}"
+ body: "sink"
+ }
+ };
+ option (google.api.method_signature) = "sink_name,sink,update_mask";
+ option (google.api.method_signature) = "sink_name,sink";
+ }
+
+ // Deletes a sink. If the sink has a unique `writer_identity`, then that
+ // service account is also deleted.
+ rpc DeleteSink(DeleteSinkRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{sink_name=*/*/sinks/*}"
+ additional_bindings { delete: "/v2/{sink_name=projects/*/sinks/*}" }
+ additional_bindings { delete: "/v2/{sink_name=organizations/*/sinks/*}" }
+ additional_bindings { delete: "/v2/{sink_name=folders/*/sinks/*}" }
+ additional_bindings {
+ delete: "/v2/{sink_name=billingAccounts/*/sinks/*}"
+ }
+ };
+ option (google.api.method_signature) = "sink_name";
+ }
+
+ // Asynchronously creates a linked dataset in BigQuery which makes it possible
+ // to use BigQuery to read the logs stored in the log bucket. A log bucket may
+ // currently only contain one link.
+ rpc CreateLink(CreateLinkRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=*/*/locations/*/buckets/*}/links"
+ body: "link"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*/buckets/*}/links"
+ body: "link"
+ }
+ additional_bindings {
+ post: "/v2/{parent=organizations/*/locations/*/buckets/*}/links"
+ body: "link"
+ }
+ additional_bindings {
+ post: "/v2/{parent=folders/*/locations/*/buckets/*}/links"
+ body: "link"
+ }
+ additional_bindings {
+ post: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/links"
+ body: "link"
+ }
+ };
+ option (google.api.method_signature) = "parent,link,link_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "Link"
+ metadata_type: "LinkMetadata"
+ };
+ }
+
+ // Deletes a link. This will also delete the corresponding BigQuery linked
+ // dataset.
+ rpc DeleteLink(DeleteLinkRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v2/{name=*/*/locations/*/buckets/*/links/*}"
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/buckets/*/links/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=organizations/*/locations/*/buckets/*/links/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=folders/*/locations/*/buckets/*/links/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=billingAccounts/*/locations/*/buckets/*/links/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "LinkMetadata"
+ };
+ }
+
+ // Lists links.
+ rpc ListLinks(ListLinksRequest) returns (ListLinksResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=*/*/locations/*/buckets/*}/links"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*/buckets/*}/links"
+ }
+ additional_bindings {
+ get: "/v2/{parent=organizations/*/locations/*/buckets/*}/links"
+ }
+ additional_bindings {
+ get: "/v2/{parent=folders/*/locations/*/buckets/*}/links"
+ }
+ additional_bindings {
+ get: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/links"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets a link.
+ rpc GetLink(GetLinkRequest) returns (Link) {
+ option (google.api.http) = {
+ get: "/v2/{name=*/*/locations/*/buckets/*/links/*}"
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/buckets/*/links/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=organizations/*/locations/*/buckets/*/links/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=folders/*/locations/*/buckets/*/links/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=billingAccounts/*/locations/*/buckets/*/links/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all the exclusions on the _Default sink in a parent resource.
+ rpc ListExclusions(ListExclusionsRequest) returns (ListExclusionsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=*/*}/exclusions"
+ additional_bindings { get: "/v2/{parent=projects/*}/exclusions" }
+ additional_bindings { get: "/v2/{parent=organizations/*}/exclusions" }
+ additional_bindings { get: "/v2/{parent=folders/*}/exclusions" }
+ additional_bindings { get: "/v2/{parent=billingAccounts/*}/exclusions" }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets the description of an exclusion in the _Default sink.
+ rpc GetExclusion(GetExclusionRequest) returns (LogExclusion) {
+ option (google.api.http) = {
+ get: "/v2/{name=*/*/exclusions/*}"
+ additional_bindings { get: "/v2/{name=projects/*/exclusions/*}" }
+ additional_bindings { get: "/v2/{name=organizations/*/exclusions/*}" }
+ additional_bindings { get: "/v2/{name=folders/*/exclusions/*}" }
+ additional_bindings { get: "/v2/{name=billingAccounts/*/exclusions/*}" }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a new exclusion in the _Default sink in a specified parent
+ // resource. Only log entries belonging to that resource can be excluded. You
+ // can have up to 10 exclusions in a resource.
+ rpc CreateExclusion(CreateExclusionRequest) returns (LogExclusion) {
+ option (google.api.http) = {
+ post: "/v2/{parent=*/*}/exclusions"
+ body: "exclusion"
+ additional_bindings {
+ post: "/v2/{parent=projects/*}/exclusions"
+ body: "exclusion"
+ }
+ additional_bindings {
+ post: "/v2/{parent=organizations/*}/exclusions"
+ body: "exclusion"
+ }
+ additional_bindings {
+ post: "/v2/{parent=folders/*}/exclusions"
+ body: "exclusion"
+ }
+ additional_bindings {
+ post: "/v2/{parent=billingAccounts/*}/exclusions"
+ body: "exclusion"
+ }
+ };
+ option (google.api.method_signature) = "parent,exclusion";
+ }
+
+ // Changes one or more properties of an existing exclusion in the _Default
+ // sink.
+ rpc UpdateExclusion(UpdateExclusionRequest) returns (LogExclusion) {
+ option (google.api.http) = {
+ patch: "/v2/{name=*/*/exclusions/*}"
+ body: "exclusion"
+ additional_bindings {
+ patch: "/v2/{name=projects/*/exclusions/*}"
+ body: "exclusion"
+ }
+ additional_bindings {
+ patch: "/v2/{name=organizations/*/exclusions/*}"
+ body: "exclusion"
+ }
+ additional_bindings {
+ patch: "/v2/{name=folders/*/exclusions/*}"
+ body: "exclusion"
+ }
+ additional_bindings {
+ patch: "/v2/{name=billingAccounts/*/exclusions/*}"
+ body: "exclusion"
+ }
+ };
+ option (google.api.method_signature) = "name,exclusion,update_mask";
+ }
+
+ // Deletes an exclusion in the _Default sink.
+ rpc DeleteExclusion(DeleteExclusionRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=*/*/exclusions/*}"
+ additional_bindings { delete: "/v2/{name=projects/*/exclusions/*}" }
+ additional_bindings { delete: "/v2/{name=organizations/*/exclusions/*}" }
+ additional_bindings { delete: "/v2/{name=folders/*/exclusions/*}" }
+ additional_bindings {
+ delete: "/v2/{name=billingAccounts/*/exclusions/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets the Logging CMEK settings for the given resource.
+ //
+ // Note: CMEK for the Log Router can be configured for Google Cloud projects,
+ // folders, organizations and billing accounts. Once configured for an
+ // organization, it applies to all projects and folders in the Google Cloud
+ // organization.
+ //
+ // See [Enabling CMEK for Log
+ // Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
+ // for more information.
+ rpc GetCmekSettings(GetCmekSettingsRequest) returns (CmekSettings) {
+ option (google.api.http) = {
+ get: "/v2/{name=*/*}/cmekSettings"
+ additional_bindings { get: "/v2/{name=projects/*}/cmekSettings" }
+ additional_bindings { get: "/v2/{name=organizations/*}/cmekSettings" }
+ additional_bindings { get: "/v2/{name=folders/*}/cmekSettings" }
+ additional_bindings { get: "/v2/{name=billingAccounts/*}/cmekSettings" }
+ };
+ }
+
+ // Updates the Log Router CMEK settings for the given resource.
+ //
+ // Note: CMEK for the Log Router can currently only be configured for Google
+ // Cloud organizations. Once configured, it applies to all projects and
+ // folders in the Google Cloud organization.
+ //
+ // [UpdateCmekSettings][google.logging.v2.ConfigServiceV2.UpdateCmekSettings]
+ // will fail if 1) `kms_key_name` is invalid, or 2) the associated service
+ // account does not have the required
+ // `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key, or
+ // 3) access to the key is disabled.
+ //
+ // See [Enabling CMEK for Log
+ // Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
+ // for more information.
+ rpc UpdateCmekSettings(UpdateCmekSettingsRequest) returns (CmekSettings) {
+ option (google.api.http) = {
+ patch: "/v2/{name=*/*}/cmekSettings"
+ body: "cmek_settings"
+ additional_bindings {
+ patch: "/v2/{name=organizations/*}/cmekSettings"
+ body: "cmek_settings"
+ }
+ };
+ }
+
+ // Gets the Log Router settings for the given resource.
+ //
+ // Note: Settings for the Log Router can be get for Google Cloud projects,
+ // folders, organizations and billing accounts. Currently it can only be
+ // configured for organizations. Once configured for an organization, it
+ // applies to all projects and folders in the Google Cloud organization.
+ //
+ // See [Enabling CMEK for Log
+ // Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
+ // for more information.
+ rpc GetSettings(GetSettingsRequest) returns (Settings) {
+ option (google.api.http) = {
+ get: "/v2/{name=*/*}/settings"
+ additional_bindings { get: "/v2/{name=projects/*}/settings" }
+ additional_bindings { get: "/v2/{name=organizations/*}/settings" }
+ additional_bindings { get: "/v2/{name=folders/*}/settings" }
+ additional_bindings { get: "/v2/{name=billingAccounts/*}/settings" }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates the Log Router settings for the given resource.
+ //
+ // Note: Settings for the Log Router can currently only be configured for
+ // Google Cloud organizations. Once configured, it applies to all projects and
+ // folders in the Google Cloud organization.
+ //
+ // [UpdateSettings][google.logging.v2.ConfigServiceV2.UpdateSettings]
+ // will fail if 1) `kms_key_name` is invalid, or 2) the associated service
+ // account does not have the required
+ // `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key, or
+ // 3) access to the key is disabled. 4) `location_id` is not supported by
+ // Logging. 5) `location_id` violate OrgPolicy.
+ //
+ // See [Enabling CMEK for Log
+ // Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
+ // for more information.
+ rpc UpdateSettings(UpdateSettingsRequest) returns (Settings) {
+ option (google.api.http) = {
+ patch: "/v2/{name=*/*}/settings"
+ body: "settings"
+ additional_bindings {
+ patch: "/v2/{name=organizations/*}/settings"
+ body: "settings"
+ }
+ additional_bindings {
+ patch: "/v2/{name=folders/*}/settings"
+ body: "settings"
+ }
+ };
+ option (google.api.method_signature) = "settings,update_mask";
+ }
+
+ // Copies a set of log entries from a log bucket to a Cloud Storage bucket.
+ rpc CopyLogEntries(CopyLogEntriesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/entries:copy"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "CopyLogEntriesResponse"
+ metadata_type: "CopyLogEntriesMetadata"
+ };
+ }
+}
+
+// Configuration for an indexed field.
+message IndexConfig {
+ // Required. The LogEntry field path to index.
+ //
+ // Note that some paths are automatically indexed, and other paths are not
+ // eligible for indexing. See [indexing documentation](
+ // https://cloud.google.com/logging/docs/view/advanced-queries#indexed-fields)
+ // for details.
+ //
+ // For example: `jsonPayload.request.status`
+ string field_path = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The type of data in this index.
+ IndexType type = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. The timestamp when the index was last modified.
+ //
+ // This is used to return the timestamp, and will be ignored if supplied
+ // during update.
+ google.protobuf.Timestamp create_time = 3
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Describes a repository in which log entries are stored.
+message LogBucket {
+ option (google.api.resource) = {
+ type: "logging.googleapis.com/LogBucket"
+ pattern: "projects/{project}/locations/{location}/buckets/{bucket}"
+ pattern: "organizations/{organization}/locations/{location}/buckets/{bucket}"
+ pattern: "folders/{folder}/locations/{location}/buckets/{bucket}"
+ pattern: "billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}"
+ };
+
+ // Output only. The resource name of the bucket.
+ //
+ // For example:
+ //
+ // `projects/my-project/locations/global/buckets/my-bucket`
+ //
+ // For a list of supported locations, see [Supported
+ // Regions](https://cloud.google.com/logging/docs/region-support)
+ //
+ // For the location of `global` it is unspecified where log entries are
+ // actually stored.
+ //
+ // After a bucket has been created, the location cannot be changed.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Describes this bucket.
+ string description = 3;
+
+ // Output only. The creation timestamp of the bucket. This is not set for any
+ // of the default buckets.
+ google.protobuf.Timestamp create_time = 4
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The last update timestamp of the bucket.
+ google.protobuf.Timestamp update_time = 5
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Logs will be retained by default for this amount of time, after which they
+ // will automatically be deleted. The minimum retention period is 1 day. If
+ // this value is set to zero at bucket creation time, the default time of 30
+ // days will be used.
+ int32 retention_days = 11;
+
+ // Whether the bucket is locked.
+ //
+ // The retention period on a locked bucket cannot be changed. Locked buckets
+ // may only be deleted if they are empty.
+ bool locked = 9;
+
+ // Output only. The bucket lifecycle state.
+ LifecycleState lifecycle_state = 12
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Whether log analytics is enabled for this bucket.
+ //
+ // Once enabled, log analytics features cannot be disabled.
+ bool analytics_enabled = 14;
+
+ // Log entry field paths that are denied access in this bucket.
+ //
+ // The following fields and their children are eligible: `textPayload`,
+ // `jsonPayload`, `protoPayload`, `httpRequest`, `labels`, `sourceLocation`.
+ //
+ // Restricting a repeated field will restrict all values. Adding a parent will
+ // block all child fields. (e.g. `foo.bar` will block `foo.bar.baz`)
+ repeated string restricted_fields = 15;
+
+ // A list of indexed fields and related configuration data.
+ repeated IndexConfig index_configs = 17;
+
+ // The CMEK settings of the log bucket. If present, new log entries written to
+ // this log bucket are encrypted using the CMEK key provided in this
+ // configuration. If a log bucket has CMEK settings, the CMEK settings cannot
+ // be disabled later by updating the log bucket. Changing the KMS key is
+ // allowed.
+ CmekSettings cmek_settings = 19;
+}
+
+// Describes a view over log entries in a bucket.
+message LogView {
+ option (google.api.resource) = {
+ type: "logging.googleapis.com/LogView"
+ pattern: "projects/{project}/locations/{location}/buckets/{bucket}/views/{view}"
+ pattern: "organizations/{organization}/locations/{location}/buckets/{bucket}/views/{view}"
+ pattern: "folders/{folder}/locations/{location}/buckets/{bucket}/views/{view}"
+ pattern: "billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/views/{view}"
+ };
+
+ // The resource name of the view.
+ //
+ // For example:
+ //
+ // `projects/my-project/locations/global/buckets/my-bucket/views/my-view`
+ string name = 1;
+
+ // Describes this view.
+ string description = 3;
+
+ // Output only. The creation timestamp of the view.
+ google.protobuf.Timestamp create_time = 4
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The last update timestamp of the view.
+ google.protobuf.Timestamp update_time = 5
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Filter that restricts which log entries in a bucket are visible in this
+ // view.
+ //
+ // Filters are restricted to be a logical AND of ==/!= of any of the
+ // following:
+ //
+ // - originating project/folder/organization/billing account.
+ // - resource type
+ // - log id
+ //
+ // For example:
+ //
+ // SOURCE("projects/myproject") AND resource.type = "gce_instance"
+ // AND LOG_ID("stdout")
+ string filter = 7;
+}
+
+// Describes a sink used to export log entries to one of the following
+// destinations in any project: a Cloud Storage bucket, a BigQuery dataset, a
+// Pub/Sub topic or a Cloud Logging log bucket. A logs filter controls which log
+// entries are exported. The sink must be created within a project,
+// organization, billing account, or folder.
+message LogSink {
+ option (google.api.resource) = {
+ type: "logging.googleapis.com/LogSink"
+ pattern: "projects/{project}/sinks/{sink}"
+ pattern: "organizations/{organization}/sinks/{sink}"
+ pattern: "folders/{folder}/sinks/{sink}"
+ pattern: "billingAccounts/{billing_account}/sinks/{sink}"
+ };
+
+ // Deprecated. This is unused.
+ enum VersionFormat {
+ // An unspecified format version that will default to V2.
+ VERSION_FORMAT_UNSPECIFIED = 0;
+
+ // `LogEntry` version 2 format.
+ V2 = 1;
+
+ // `LogEntry` version 1 format.
+ V1 = 2;
+ }
+
+ // Required. The client-assigned sink identifier, unique within the project.
+ //
+ // For example: `"my-syslog-errors-to-pubsub"`. Sink identifiers are limited
+ // to 100 characters and can include only the following characters: upper and
+ // lower-case alphanumeric characters, underscores, hyphens, and periods.
+ // First character has to be alphanumeric.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The export destination:
+ //
+ // "storage.googleapis.com/[GCS_BUCKET]"
+ // "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]"
+ // "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]"
+ //
+ // The sink's `writer_identity`, set when the sink is created, must have
+ // permission to write to the destination or else the log entries are not
+ // exported. For more information, see
+ // [Exporting Logs with
+ // Sinks](https://cloud.google.com/logging/docs/api/tasks/exporting-logs).
+ string destination = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "*" }
+ ];
+
+ // Optional. An [advanced logs
+ // filter](https://cloud.google.com/logging/docs/view/advanced-queries). The
+ // only exported log entries are those that are in the resource owning the
+ // sink and that match the filter.
+ //
+ // For example:
+ //
+ // `logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR`
+ string filter = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A description of this sink.
+ //
+ // The maximum length of the description is 8000 characters.
+ string description = 18 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If set to true, then this sink is disabled and it does not export
+ // any log entries.
+ bool disabled = 19 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Log entries that match any of these exclusion filters will not be
+ // exported.
+ //
+ // If a log entry is matched by both `filter` and one of `exclusion_filters`
+ // it will not be exported.
+ repeated LogExclusion exclusions = 16
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Deprecated. This field is unused.
+ VersionFormat output_version_format = 6 [deprecated = true];
+
+ // Output only. An IAM identity—a service account or group—under
+ // which Cloud Logging writes the exported log entries to the sink's
+ // destination. This field is either set by specifying
+ // `custom_writer_identity` or set automatically by
+ // [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] and
+ // [sinks.update][google.logging.v2.ConfigServiceV2.UpdateSink] based on the
+ // value of `unique_writer_identity` in those methods.
+ //
+ // Until you grant this identity write-access to the destination, log entry
+ // exports from this sink will fail. For more information, see [Granting
+ // Access for a
+ // Resource](https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource).
+ // Consult the destination service's documentation to determine the
+ // appropriate IAM roles to assign to the identity.
+ //
+ // Sinks that have a destination that is a log bucket in the same project as
+ // the sink cannot have a writer_identity and no additional permissions are
+ // required.
+ string writer_identity = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. This field applies only to sinks owned by organizations and
+ // folders. If the field is false, the default, only the logs owned by the
+ // sink's parent resource are available for export. If the field is true, then
+ // log entries from all the projects, folders, and billing accounts contained
+ // in the sink's parent resource are also available for export. Whether a
+ // particular log entry from the children is exported depends on the sink's
+ // filter expression.
+ //
+ // For example, if this field is true, then the filter
+ // `resource.type=gce_instance` would export all Compute Engine VM instance
+ // log entries from all projects in the sink's parent.
+ //
+ // To only export entries from certain child projects, filter on the project
+ // part of the log name:
+ //
+ // logName:("projects/test-project1/" OR "projects/test-project2/") AND
+ // resource.type=gce_instance
+ bool include_children = 9 [(google.api.field_behavior) = OPTIONAL];
+
+ // Destination dependent options.
+ oneof options {
+ // Optional. Options that affect sinks exporting data to BigQuery.
+ BigQueryOptions bigquery_options = 12
+ [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Output only. The creation timestamp of the sink.
+ //
+ // This field may not be present for older sinks.
+ google.protobuf.Timestamp create_time = 13
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The last update timestamp of the sink.
+ //
+ // This field may not be present for older sinks.
+ google.protobuf.Timestamp update_time = 14
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Describes a BigQuery dataset that was created by a link.
+message BigQueryDataset {
+ // Output only. The full resource name of the BigQuery dataset. The DATASET_ID
+ // will match the ID of the link, so the link must match the naming
+ // restrictions of BigQuery datasets (alphanumeric characters and underscores
+ // only).
+ //
+ // The dataset will have a resource path of
+ // "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET_ID]"
+ string dataset_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Describes a link connected to an analytics enabled bucket.
+message Link {
+ option (google.api.resource) = {
+ type: "logging.googleapis.com/Link"
+ pattern: "projects/{project}/locations/{location}/buckets/{bucket}/links/{link}"
+ pattern: "organizations/{organization}/locations/{location}/buckets/{bucket}/links/{link}"
+ pattern: "folders/{folder}/locations/{location}/buckets/{bucket}/links/{link}"
+ pattern: "billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/links/{link}"
+ };
+
+ // The resource name of the link. The name can have up to 100 characters.
+ // A valid link id (at the end of the link name) must only have alphanumeric
+ // characters and underscores within it.
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
+ // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
+ // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
+ //
+ // For example:
+ //
+ // `projects/my-project/locations/global/buckets/my-bucket/links/my_link
+ string name = 1;
+
+ // Describes this link.
+ //
+ // The maximum length of the description is 8000 characters.
+ string description = 2;
+
+ // Output only. The creation timestamp of the link.
+ google.protobuf.Timestamp create_time = 3
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The resource lifecycle state.
+ LifecycleState lifecycle_state = 4
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The information of a BigQuery Dataset. When a link is created, a BigQuery
+ // dataset is created along with it, in the same project as the LogBucket it's
+ // linked to. This dataset will also have BigQuery Views corresponding to the
+ // LogViews in the bucket.
+ BigQueryDataset bigquery_dataset = 5;
+}
+
+// Options that change functionality of a sink exporting data to BigQuery.
+message BigQueryOptions {
+ // Optional. Whether to use [BigQuery's partition
+ // tables](https://cloud.google.com/bigquery/docs/partitioned-tables). By
+ // default, Cloud Logging creates dated tables based on the log entries'
+ // timestamps, e.g. syslog_20170523. With partitioned tables the date suffix
+ // is no longer present and [special query
+ // syntax](https://cloud.google.com/bigquery/docs/querying-partitioned-tables)
+ // has to be used instead. In both cases, tables are sharded based on UTC
+ // timezone.
+ bool use_partitioned_tables = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. True if new timestamp column based partitioning is in use,
+ // false if legacy ingestion-time partitioning is in use.
+ //
+ // All new sinks will have this field set true and will use timestamp column
+ // based partitioning. If use_partitioned_tables is false, this value has no
+ // meaning and will be false. Legacy sinks using partitioned tables will have
+ // this field set to false.
+ bool uses_timestamp_column_partitioning = 3
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// The parameters to `ListBuckets`.
+message ListBucketsRequest {
+ // Required. The parent resource whose buckets are to be listed:
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]"
+ // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]"
+ // "folders/[FOLDER_ID]/locations/[LOCATION_ID]"
+ //
+ // Note: The locations portion of the resource must be specified, but
+ // supplying the character `-` in place of [LOCATION_ID] will return all
+ // buckets.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "logging.googleapis.com/LogBucket"
+ }
+ ];
+
+ // Optional. If present, then retrieve the next batch of results from the
+ // preceding call to this method. `pageToken` must be the value of
+ // `nextPageToken` from the previous response. The values of other method
+ // parameters should be identical to those in the previous call.
+ string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum number of results to return from this request.
+ // Non-positive values are ignored. The presence of `nextPageToken` in the
+ // response indicates that more results might be available.
+ int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response from ListBuckets.
+message ListBucketsResponse {
+ // A list of buckets.
+ repeated LogBucket buckets = 1;
+
+ // If there might be more results than appear in this response, then
+ // `nextPageToken` is included. To get the next set of results, call the same
+ // method again using the value of `nextPageToken` as `pageToken`.
+ string next_page_token = 2;
+}
+
+// The parameters to `CreateBucket`.
+message CreateBucketRequest {
+ // Required. The resource in which to create the log bucket:
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]"
+ //
+ // For example:
+ //
+ // `"projects/my-project/locations/global"`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "logging.googleapis.com/LogBucket"
+ }
+ ];
+
+ // Required. A client-assigned identifier such as `"my-bucket"`. Identifiers
+ // are limited to 100 characters and can include only letters, digits,
+ // underscores, hyphens, and periods.
+ string bucket_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The new bucket. The region specified in the new bucket must be
+ // compliant with any Location Restriction Org Policy. The name field in the
+ // bucket is ignored.
+ LogBucket bucket = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The parameters to `UpdateBucket`.
+message UpdateBucketRequest {
+ // Required. The full resource name of the bucket to update.
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ //
+ // For example:
+ //
+ // `"projects/my-project/locations/global/buckets/my-bucket"`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "logging.googleapis.com/LogBucket"
+ }
+ ];
+
+ // Required. The updated bucket.
+ LogBucket bucket = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Field mask that specifies the fields in `bucket` that need an
+ // update. A bucket field will be overwritten if, and only if, it is in the
+ // update mask. `name` and output only fields cannot be updated.
+ //
+ // For a detailed `FieldMask` definition, see:
+ // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask
+ //
+ // For example: `updateMask=retention_days`
+ google.protobuf.FieldMask update_mask = 4
+ [(google.api.field_behavior) = REQUIRED];
+}
+
+// The parameters to `GetBucket`.
+message GetBucketRequest {
+ // Required. The resource name of the bucket:
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ //
+ // For example:
+ //
+ // `"projects/my-project/locations/global/buckets/my-bucket"`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "logging.googleapis.com/LogBucket"
+ }
+ ];
+}
+
+// The parameters to `DeleteBucket`.
+message DeleteBucketRequest {
+ // Required. The full resource name of the bucket to delete.
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ //
+ // For example:
+ //
+ // `"projects/my-project/locations/global/buckets/my-bucket"`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "logging.googleapis.com/LogBucket"
+ }
+ ];
+}
+
+// The parameters to `UndeleteBucket`.
+message UndeleteBucketRequest {
+ // Required. The full resource name of the bucket to undelete.
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ //
+ // For example:
+ //
+ // `"projects/my-project/locations/global/buckets/my-bucket"`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "logging.googleapis.com/LogBucket"
+ }
+ ];
+}
+
+// The parameters to `ListViews`.
+message ListViewsRequest {
+ // Required. The bucket whose views are to be listed:
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. If present, then retrieve the next batch of results from the
+ // preceding call to this method. `pageToken` must be the value of
+ // `nextPageToken` from the previous response. The values of other method
+ // parameters should be identical to those in the previous call.
+ string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum number of results to return from this request.
+ //
+ // Non-positive values are ignored. The presence of `nextPageToken` in the
+ // response indicates that more results might be available.
+ int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response from ListViews.
+message ListViewsResponse {
+ // A list of views.
+ repeated LogView views = 1;
+
+ // If there might be more results than appear in this response, then
+ // `nextPageToken` is included. To get the next set of results, call the same
+ // method again using the value of `nextPageToken` as `pageToken`.
+ string next_page_token = 2;
+}
+
+// The parameters to `CreateView`.
+message CreateViewRequest {
+ // Required. The bucket in which to create the view
+ //
+ // `"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"`
+ //
+ // For example:
+ //
+ // `"projects/my-project/locations/global/buckets/my-bucket"`
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A client-assigned identifier such as `"my-view"`. Identifiers are
+ // limited to 100 characters and can include only letters, digits,
+ // underscores, hyphens, and periods.
+ string view_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The new view.
+ LogView view = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The parameters to `UpdateView`.
+message UpdateViewRequest {
+ // Required. The full resource name of the view to update
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
+ //
+ // For example:
+ //
+ // `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"`
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The updated view.
+ LogView view = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Field mask that specifies the fields in `view` that need
+ // an update. A field will be overwritten if, and only if, it is
+ // in the update mask. `name` and output only fields cannot be updated.
+ //
+ // For a detailed `FieldMask` definition, see
+ // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask
+ //
+ // For example: `updateMask=filter`
+ google.protobuf.FieldMask update_mask = 4
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The parameters to `GetView`.
+message GetViewRequest {
+ // Required. The resource name of the policy:
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
+ //
+ // For example:
+ //
+ // `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "logging.googleapis.com/LogView" }
+ ];
+}
+
+// The parameters to `DeleteView`.
+message DeleteViewRequest {
+ // Required. The full resource name of the view to delete:
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
+ //
+ // For example:
+ //
+ // `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "logging.googleapis.com/LogView" }
+ ];
+}
+
+// The parameters to `ListSinks`.
+message ListSinksRequest {
+ // Required. The parent resource whose sinks are to be listed:
+ //
+ // "projects/[PROJECT_ID]"
+ // "organizations/[ORGANIZATION_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]"
+ // "folders/[FOLDER_ID]"
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "logging.googleapis.com/LogSink"
+ }
+ ];
+
+ // Optional. If present, then retrieve the next batch of results from the
+ // preceding call to this method. `pageToken` must be the value of
+ // `nextPageToken` from the previous response. The values of other method
+ // parameters should be identical to those in the previous call.
+ string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum number of results to return from this request.
+ // Non-positive values are ignored. The presence of `nextPageToken` in the
+ // response indicates that more results might be available.
+ int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Result returned from `ListSinks`.
+message ListSinksResponse {
+ // A list of sinks.
+ repeated LogSink sinks = 1;
+
+ // If there might be more results than appear in this response, then
+ // `nextPageToken` is included. To get the next set of results, call the same
+ // method again using the value of `nextPageToken` as `pageToken`.
+ string next_page_token = 2;
+}
+
+// The parameters to `GetSink`.
+message GetSinkRequest {
+ // Required. The resource name of the sink:
+ //
+ // "projects/[PROJECT_ID]/sinks/[SINK_ID]"
+ // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
+ // "folders/[FOLDER_ID]/sinks/[SINK_ID]"
+ //
+ // For example:
+ //
+ // `"projects/my-project/sinks/my-sink"`
+ string sink_name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "logging.googleapis.com/LogSink" }
+ ];
+}
+
+// The parameters to `CreateSink`.
+message CreateSinkRequest {
+ // Required. The resource in which to create the sink:
+ //
+ // "projects/[PROJECT_ID]"
+ // "organizations/[ORGANIZATION_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]"
+ // "folders/[FOLDER_ID]"
+ //
+ // For examples:
+ //
+ // `"projects/my-project"`
+ // `"organizations/123456789"`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "logging.googleapis.com/LogSink"
+ }
+ ];
+
+ // Required. The new sink, whose `name` parameter is a sink identifier that
+ // is not already in use.
+ LogSink sink = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Determines the kind of IAM identity returned as `writer_identity`
+ // in the new sink. If this value is omitted or set to false, and if the
+ // sink's parent is a project, then the value returned as `writer_identity` is
+ // the same group or service account used by Cloud Logging before the addition
+ // of writer identities to this API. The sink's destination must be in the
+ // same project as the sink itself.
+ //
+ // If this field is set to true, or if the sink is owned by a non-project
+ // resource such as an organization, then the value of `writer_identity` will
+ // be a unique service account used only for exports from the new sink. For
+ // more information, see `writer_identity` in
+ // [LogSink][google.logging.v2.LogSink].
+ bool unique_writer_identity = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The parameters to `UpdateSink`.
+message UpdateSinkRequest {
+ // Required. The full resource name of the sink to update, including the
+ // parent resource and the sink identifier:
+ //
+ // "projects/[PROJECT_ID]/sinks/[SINK_ID]"
+ // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
+ // "folders/[FOLDER_ID]/sinks/[SINK_ID]"
+ //
+ // For example:
+ //
+ // `"projects/my-project/sinks/my-sink"`
+ string sink_name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "logging.googleapis.com/LogSink" }
+ ];
+
+ // Required. The updated sink, whose name is the same identifier that appears
+ // as part of `sink_name`.
+ LogSink sink = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. See [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink]
+ // for a description of this field. When updating a sink, the effect of this
+ // field on the value of `writer_identity` in the updated sink depends on both
+ // the old and new values of this field:
+ //
+ // + If the old and new values of this field are both false or both true,
+ // then there is no change to the sink's `writer_identity`.
+ // + If the old value is false and the new value is true, then
+ // `writer_identity` is changed to a unique service account.
+ // + It is an error if the old value is true and the new value is
+ // set to false or defaulted to false.
+ bool unique_writer_identity = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Field mask that specifies the fields in `sink` that need
+ // an update. A sink field will be overwritten if, and only if, it is
+ // in the update mask. `name` and output only fields cannot be updated.
+ //
+ // An empty `updateMask` is temporarily treated as using the following mask
+ // for backwards compatibility purposes:
+ //
+ // `destination,filter,includeChildren`
+ //
+ // At some point in the future, behavior will be removed and specifying an
+ // empty `updateMask` will be an error.
+ //
+ // For a detailed `FieldMask` definition, see
+ // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask
+ //
+ // For example: `updateMask=filter`
+ google.protobuf.FieldMask update_mask = 4
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The parameters to `DeleteSink`.
+message DeleteSinkRequest {
+ // Required. The full resource name of the sink to delete, including the
+ // parent resource and the sink identifier:
+ //
+ // "projects/[PROJECT_ID]/sinks/[SINK_ID]"
+ // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
+ // "folders/[FOLDER_ID]/sinks/[SINK_ID]"
+ //
+ // For example:
+ //
+ // `"projects/my-project/sinks/my-sink"`
+ string sink_name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "logging.googleapis.com/LogSink" }
+ ];
+}
+
+// The parameters to CreateLink.
+message CreateLinkRequest {
+ // Required. The full resource name of the bucket to create a link for.
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "logging.googleapis.com/Link"
+ }
+ ];
+
+ // Required. The new link.
+ Link link = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The ID to use for the link. The link_id can have up to 100
+ // characters. A valid link_id must only have alphanumeric characters and
+ // underscores within it.
+ string link_id = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The parameters to DeleteLink.
+message DeleteLinkRequest {
+ // Required. The full resource name of the link to delete.
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
+ // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
+ // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "logging.googleapis.com/Link" }
+ ];
+}
+
+// The parameters to ListLinks.
+message ListLinksRequest {
+ // Required. The parent resource whose links are to be listed:
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/"
+ // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/"
+ // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "logging.googleapis.com/Link"
+ }
+ ];
+
+ // Optional. If present, then retrieve the next batch of results from the
+ // preceding call to this method. `pageToken` must be the value of
+ // `nextPageToken` from the previous response.
+ string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum number of results to return from this request.
+ int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response from ListLinks.
+message ListLinksResponse {
+ // A list of links.
+ repeated Link links = 1;
+
+ // If there might be more results than those appearing in this response, then
+ // `nextPageToken` is included. To get the next set of results, call the same
+ // method again using the value of `nextPageToken` as `pageToken`.
+ string next_page_token = 2;
+}
+
+// The parameters to GetLink.
+message GetLinkRequest {
+ // Required. The resource name of the link:
+ //
+ // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
+ // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
+ // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
+ // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "logging.googleapis.com/Link" }
+ ];
+}
+
+// Specifies a set of log entries that are filtered out by a sink. If
+// your Google Cloud resource receives a large volume of log entries, you can
+// use exclusions to reduce your chargeable logs. Note that exclusions on
+// organization-level and folder-level sinks don't apply to child resources.
+// Note also that you cannot modify the _Required sink or exclude logs from it.
+message LogExclusion {
+ option (google.api.resource) = {
+ type: "logging.googleapis.com/LogExclusion"
+ pattern: "projects/{project}/exclusions/{exclusion}"
+ pattern: "organizations/{organization}/exclusions/{exclusion}"
+ pattern: "folders/{folder}/exclusions/{exclusion}"
+ pattern: "billingAccounts/{billing_account}/exclusions/{exclusion}"
+ };
+
+ // Required. A client-assigned identifier, such as
+ // `"load-balancer-exclusion"`. Identifiers are limited to 100 characters and
+ // can include only letters, digits, underscores, hyphens, and periods. First
+ // character has to be alphanumeric.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. A description of this exclusion.
+ string description = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. An [advanced logs
+ // filter](https://cloud.google.com/logging/docs/view/advanced-queries) that
+ // matches the log entries to be excluded. By using the [sample
+ // function](https://cloud.google.com/logging/docs/view/advanced-queries#sample),
+ // you can exclude less than 100% of the matching log entries.
+ //
+ // For example, the following query matches 99% of low-severity log entries
+ // from Google Cloud Storage buckets:
+ //
+ // `resource.type=gcs_bucket severity=ERROR"
+ //
+ // The maximum length of the filter is 20000 characters.
+ string filter = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The resource name of the Log Bucket that owns the Log Metric.
+ // Only Log Buckets in projects are supported. The bucket has to be in the
+ // same project as the metric.
+ //
+ // For example:
+ //
+ // `projects/my-project/locations/global/buckets/my-bucket`
+ //
+ // If empty, then the Log Metric is considered a non-Bucket Log Metric.
+ string bucket_name = 13 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If set to True, then this metric is disabled and it does not
+ // generate any points.
+ bool disabled = 12 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The metric descriptor associated with the logs-based metric.
+ // If unspecified, it uses a default metric descriptor with a DELTA metric
+ // kind, INT64 value type, with no labels and a unit of "1". Such a metric
+ // counts the number of log entries matching the `filter` expression.
+ //
+ // The `name`, `type`, and `description` fields in the `metric_descriptor`
+ // are output only, and is constructed using the `name` and `description`
+ // field in the LogMetric.
+ //
+ // To create a logs-based metric that records a distribution of log values, a
+ // DELTA metric kind with a DISTRIBUTION value type must be used along with
+ // a `value_extractor` expression in the LogMetric.
+ //
+ // Each label in the metric descriptor must have a matching label
+ // name as the key and an extractor expression as the value in the
+ // `label_extractors` map.
+ //
+ // The `metric_kind` and `value_type` fields in the `metric_descriptor` cannot
+ // be updated once initially configured. New labels can be added in the
+ // `metric_descriptor`, but existing labels cannot be modified except for
+ // their description.
+ google.api.MetricDescriptor metric_descriptor = 5
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A `value_extractor` is required when using a distribution
+ // logs-based metric to extract the values to record from a log entry.
+ // Two functions are supported for value extraction: `EXTRACT(field)` or
+ // `REGEXP_EXTRACT(field, regex)`. The arguments are:
+ //
+ // 1. field: The name of the log entry field from which the value is to be
+ // extracted.
+ // 2. regex: A regular expression using the Google RE2 syntax
+ // (https://github.com/google/re2/wiki/Syntax) with a single capture
+ // group to extract data from the specified log entry field. The value
+ // of the field is converted to a string before applying the regex.
+ // It is an error to specify a regex that does not include exactly one
+ // capture group.
+ //
+ // The result of the extraction must be convertible to a double type, as the
+ // distribution always records double values. If either the extraction or
+ // the conversion to double fails, then those values are not recorded in the
+ // distribution.
+ //
+ // Example: `REGEXP_EXTRACT(jsonPayload.request, ".*quantity=(\d+).*")`
+ string value_extractor = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A map from a label key string to an extractor expression which is
+ // used to extract data from a log entry field and assign as the label value.
+ // Each label key specified in the LabelDescriptor must have an associated
+ // extractor expression in this map. The syntax of the extractor expression
+ // is the same as for the `value_extractor` field.
+ //
+ // The extracted value is converted to the type defined in the label
+ // descriptor. If either the extraction or the type conversion fails,
+ // the label will have a default value. The default value for a string
+ // label is an empty string, for an integer label its 0, and for a boolean
+ // label its `false`.
+ //
+ // Note that there are upper bounds on the maximum number of labels and the
+ // number of active time series that are allowed in a project.
+ map label_extractors = 7
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The `bucket_options` are required when the logs-based metric is
+ // using a DISTRIBUTION value type and it describes the bucket boundaries
+ // used to create a histogram of the extracted values.
+ google.api.Distribution.BucketOptions bucket_options = 8
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The creation timestamp of the metric.
+ //
+ // This field may not be present for older metrics.
+ google.protobuf.Timestamp create_time = 9
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The last update timestamp of the metric.
+ //
+ // This field may not be present for older metrics.
+ google.protobuf.Timestamp update_time = 10
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Deprecated. The API version that created or updated this metric.
+ // The v2 format is used by default and cannot be changed.
+ ApiVersion version = 4 [deprecated = true];
+}
+
+// The parameters to ListLogMetrics.
+message ListLogMetricsRequest {
+ // Required. The name of the project containing the metrics:
+ //
+ // "projects/[PROJECT_ID]"
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Optional. If present, then retrieve the next batch of results from the
+ // preceding call to this method. `pageToken` must be the value of
+ // `nextPageToken` from the previous response. The values of other method
+ // parameters should be identical to those in the previous call.
+ string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum number of results to return from this request.
+ // Non-positive values are ignored. The presence of `nextPageToken` in the
+ // response indicates that more results might be available.
+ int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Result returned from ListLogMetrics.
+message ListLogMetricsResponse {
+ // A list of logs-based metrics.
+ repeated LogMetric metrics = 1;
+
+ // If there might be more results than appear in this response, then
+ // `nextPageToken` is included. To get the next set of results, call this
+ // method again using the value of `nextPageToken` as `pageToken`.
+ string next_page_token = 2;
+}
+
+// The parameters to GetLogMetric.
+message GetLogMetricRequest {
+ // Required. The resource name of the desired metric:
+ //
+ // "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
+ string metric_name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "logging.googleapis.com/LogMetric"
+ }
+ ];
+}
+
+// The parameters to CreateLogMetric.
+message CreateLogMetricRequest {
+ // Required. The resource name of the project in which to create the metric:
+ //
+ // "projects/[PROJECT_ID]"
+ //
+ // The new metric must be provided in the request.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "logging.googleapis.com/LogMetric"
+ }
+ ];
+
+ // Required. The new logs-based metric, which must not have an identifier that
+ // already exists.
+ LogMetric metric = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The parameters to UpdateLogMetric.
+message UpdateLogMetricRequest {
+ // Required. The resource name of the metric to update:
+ //
+ // "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
+ //
+ // The updated metric must be provided in the request and it's
+ // `name` field must be the same as `[METRIC_ID]` If the metric
+ // does not exist in `[PROJECT_ID]`, then a new metric is created.
+ string metric_name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "logging.googleapis.com/LogMetric"
+ }
+ ];
+
+ // Required. The updated metric.
+ LogMetric metric = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The parameters to DeleteLogMetric.
+message DeleteLogMetricRequest {
+ // Required. The resource name of the metric to delete:
+ //
+ // "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
+ string metric_name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "logging.googleapis.com/LogMetric"
+ }
+ ];
+}
diff --git a/handwritten/logging/protos/protos.d.ts b/handwritten/logging/protos/protos.d.ts
new file mode 100644
index 00000000000..f38aaea6fba
--- /dev/null
+++ b/handwritten/logging/protos/protos.d.ts
@@ -0,0 +1,19677 @@
+// 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 protobuf. */
+ namespace protobuf {
+
+ /** 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 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);
+
+ /** MethodOptions .google.longrunning.operationInfo */
+ ".google.longrunning.operationInfo"?: (google.longrunning.IOperationInfo|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 Struct. */
+ interface IStruct {
+
+ /** Struct fields */
+ fields?: ({ [k: string]: google.protobuf.IValue }|null);
+ }
+
+ /** Represents a Struct. */
+ class Struct implements IStruct {
+
+ /**
+ * Constructs a new Struct.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IStruct);
+
+ /** Struct fields. */
+ public fields: { [k: string]: google.protobuf.IValue };
+
+ /**
+ * Creates a new Struct instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Struct instance
+ */
+ public static create(properties?: google.protobuf.IStruct): google.protobuf.Struct;
+
+ /**
+ * Encodes the specified Struct message. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages.
+ * @param message Struct message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IStruct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Struct message, length delimited. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages.
+ * @param message Struct message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IStruct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Struct message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Struct
+ * @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.Struct;
+
+ /**
+ * Decodes a Struct message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Struct
+ * @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.Struct;
+
+ /**
+ * Verifies a Struct 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 Struct message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Struct
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Struct;
+
+ /**
+ * Creates a plain object from a Struct message. Also converts values to other types if specified.
+ * @param message Struct
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Struct, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Struct to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Struct
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Value. */
+ interface IValue {
+
+ /** Value nullValue */
+ nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null);
+
+ /** Value numberValue */
+ numberValue?: (number|null);
+
+ /** Value stringValue */
+ stringValue?: (string|null);
+
+ /** Value boolValue */
+ boolValue?: (boolean|null);
+
+ /** Value structValue */
+ structValue?: (google.protobuf.IStruct|null);
+
+ /** Value listValue */
+ listValue?: (google.protobuf.IListValue|null);
+ }
+
+ /** Represents a Value. */
+ class Value implements IValue {
+
+ /**
+ * Constructs a new Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IValue);
+
+ /** Value nullValue. */
+ public nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null);
+
+ /** Value numberValue. */
+ public numberValue?: (number|null);
+
+ /** Value stringValue. */
+ public stringValue?: (string|null);
+
+ /** Value boolValue. */
+ public boolValue?: (boolean|null);
+
+ /** Value structValue. */
+ public structValue?: (google.protobuf.IStruct|null);
+
+ /** Value listValue. */
+ public listValue?: (google.protobuf.IListValue|null);
+
+ /** Value kind. */
+ public kind?: ("nullValue"|"numberValue"|"stringValue"|"boolValue"|"structValue"|"listValue");
+
+ /**
+ * Creates a new Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Value instance
+ */
+ public static create(properties?: google.protobuf.IValue): google.protobuf.Value;
+
+ /**
+ * Encodes the specified Value message. Does not implicitly {@link google.protobuf.Value.verify|verify} messages.
+ * @param message Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Value message, length delimited. Does not implicitly {@link google.protobuf.Value.verify|verify} messages.
+ * @param message Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Value
+ * @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.Value;
+
+ /**
+ * Decodes a Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Value
+ * @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.Value;
+
+ /**
+ * Verifies a Value 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 Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Value;
+
+ /**
+ * Creates a plain object from a Value message. Also converts values to other types if specified.
+ * @param message Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** NullValue enum. */
+ enum NullValue {
+ NULL_VALUE = 0
+ }
+
+ /** Properties of a ListValue. */
+ interface IListValue {
+
+ /** ListValue values */
+ values?: (google.protobuf.IValue[]|null);
+ }
+
+ /** Represents a ListValue. */
+ class ListValue implements IListValue {
+
+ /**
+ * Constructs a new ListValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IListValue);
+
+ /** ListValue values. */
+ public values: google.protobuf.IValue[];
+
+ /**
+ * Creates a new ListValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListValue instance
+ */
+ public static create(properties?: google.protobuf.IListValue): google.protobuf.ListValue;
+
+ /**
+ * Encodes the specified ListValue message. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages.
+ * @param message ListValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IListValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListValue message, length delimited. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages.
+ * @param message ListValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IListValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListValue
+ * @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.ListValue;
+
+ /**
+ * Decodes a ListValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListValue
+ * @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.ListValue;
+
+ /**
+ * Verifies a ListValue 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 ListValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ListValue;
+
+ /**
+ * Creates a plain object from a ListValue message. Also converts values to other types if specified.
+ * @param message ListValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ListValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Any. */
+ interface IAny {
+
+ /** Any type_url */
+ type_url?: (string|null);
+
+ /** Any value */
+ value?: (Uint8Array|Buffer|string|null);
+ }
+
+ /** Represents an Any. */
+ class Any implements IAny {
+
+ /**
+ * Constructs a new Any.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IAny);
+
+ /** Any type_url. */
+ public type_url: string;
+
+ /** Any value. */
+ public value: (Uint8Array|Buffer|string);
+
+ /**
+ * Creates a new Any instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Any instance
+ */
+ public static create(properties?: google.protobuf.IAny): google.protobuf.Any;
+
+ /**
+ * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Any
+ * @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.Any;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Any
+ * @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.Any;
+
+ /**
+ * Verifies an Any 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 Any message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Any
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Any;
+
+ /**
+ * Creates a plain object from an Any message. Also converts values to other types if specified.
+ * @param message Any
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Any, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Any to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Any
+ * @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;
+ }
+
+ /** 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;
+ }
+ }
+
+ /** Namespace logging. */
+ namespace logging {
+
+ /** Namespace type. */
+ namespace type {
+
+ /** Properties of a HttpRequest. */
+ interface IHttpRequest {
+
+ /** HttpRequest requestMethod */
+ requestMethod?: (string|null);
+
+ /** HttpRequest requestUrl */
+ requestUrl?: (string|null);
+
+ /** HttpRequest requestSize */
+ requestSize?: (number|Long|string|null);
+
+ /** HttpRequest status */
+ status?: (number|null);
+
+ /** HttpRequest responseSize */
+ responseSize?: (number|Long|string|null);
+
+ /** HttpRequest userAgent */
+ userAgent?: (string|null);
+
+ /** HttpRequest remoteIp */
+ remoteIp?: (string|null);
+
+ /** HttpRequest serverIp */
+ serverIp?: (string|null);
+
+ /** HttpRequest referer */
+ referer?: (string|null);
+
+ /** HttpRequest latency */
+ latency?: (google.protobuf.IDuration|null);
+
+ /** HttpRequest cacheLookup */
+ cacheLookup?: (boolean|null);
+
+ /** HttpRequest cacheHit */
+ cacheHit?: (boolean|null);
+
+ /** HttpRequest cacheValidatedWithOriginServer */
+ cacheValidatedWithOriginServer?: (boolean|null);
+
+ /** HttpRequest cacheFillBytes */
+ cacheFillBytes?: (number|Long|string|null);
+
+ /** HttpRequest protocol */
+ protocol?: (string|null);
+ }
+
+ /** Represents a HttpRequest. */
+ class HttpRequest implements IHttpRequest {
+
+ /**
+ * Constructs a new HttpRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.type.IHttpRequest);
+
+ /** HttpRequest requestMethod. */
+ public requestMethod: string;
+
+ /** HttpRequest requestUrl. */
+ public requestUrl: string;
+
+ /** HttpRequest requestSize. */
+ public requestSize: (number|Long|string);
+
+ /** HttpRequest status. */
+ public status: number;
+
+ /** HttpRequest responseSize. */
+ public responseSize: (number|Long|string);
+
+ /** HttpRequest userAgent. */
+ public userAgent: string;
+
+ /** HttpRequest remoteIp. */
+ public remoteIp: string;
+
+ /** HttpRequest serverIp. */
+ public serverIp: string;
+
+ /** HttpRequest referer. */
+ public referer: string;
+
+ /** HttpRequest latency. */
+ public latency?: (google.protobuf.IDuration|null);
+
+ /** HttpRequest cacheLookup. */
+ public cacheLookup: boolean;
+
+ /** HttpRequest cacheHit. */
+ public cacheHit: boolean;
+
+ /** HttpRequest cacheValidatedWithOriginServer. */
+ public cacheValidatedWithOriginServer: boolean;
+
+ /** HttpRequest cacheFillBytes. */
+ public cacheFillBytes: (number|Long|string);
+
+ /** HttpRequest protocol. */
+ public protocol: string;
+
+ /**
+ * Creates a new HttpRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpRequest instance
+ */
+ public static create(properties?: google.logging.type.IHttpRequest): google.logging.type.HttpRequest;
+
+ /**
+ * Encodes the specified HttpRequest message. Does not implicitly {@link google.logging.type.HttpRequest.verify|verify} messages.
+ * @param message HttpRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.type.IHttpRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpRequest message, length delimited. Does not implicitly {@link google.logging.type.HttpRequest.verify|verify} messages.
+ * @param message HttpRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.type.IHttpRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpRequest
+ * @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.logging.type.HttpRequest;
+
+ /**
+ * Decodes a HttpRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpRequest
+ * @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.logging.type.HttpRequest;
+
+ /**
+ * Verifies a HttpRequest 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 HttpRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.type.HttpRequest;
+
+ /**
+ * Creates a plain object from a HttpRequest message. Also converts values to other types if specified.
+ * @param message HttpRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.type.HttpRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** LogSeverity enum. */
+ enum LogSeverity {
+ DEFAULT = 0,
+ DEBUG = 100,
+ INFO = 200,
+ NOTICE = 300,
+ WARNING = 400,
+ ERROR = 500,
+ CRITICAL = 600,
+ ALERT = 700,
+ EMERGENCY = 800
+ }
+ }
+
+ /** Namespace v2. */
+ namespace v2 {
+
+ /** Properties of a LogEntry. */
+ interface ILogEntry {
+
+ /** LogEntry logName */
+ logName?: (string|null);
+
+ /** LogEntry resource */
+ resource?: (google.api.IMonitoredResource|null);
+
+ /** LogEntry protoPayload */
+ protoPayload?: (google.protobuf.IAny|null);
+
+ /** LogEntry textPayload */
+ textPayload?: (string|null);
+
+ /** LogEntry jsonPayload */
+ jsonPayload?: (google.protobuf.IStruct|null);
+
+ /** LogEntry timestamp */
+ timestamp?: (google.protobuf.ITimestamp|null);
+
+ /** LogEntry receiveTimestamp */
+ receiveTimestamp?: (google.protobuf.ITimestamp|null);
+
+ /** LogEntry severity */
+ severity?: (google.logging.type.LogSeverity|keyof typeof google.logging.type.LogSeverity|null);
+
+ /** LogEntry insertId */
+ insertId?: (string|null);
+
+ /** LogEntry httpRequest */
+ httpRequest?: (google.logging.type.IHttpRequest|null);
+
+ /** LogEntry labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** LogEntry operation */
+ operation?: (google.logging.v2.ILogEntryOperation|null);
+
+ /** LogEntry trace */
+ trace?: (string|null);
+
+ /** LogEntry spanId */
+ spanId?: (string|null);
+
+ /** LogEntry traceSampled */
+ traceSampled?: (boolean|null);
+
+ /** LogEntry sourceLocation */
+ sourceLocation?: (google.logging.v2.ILogEntrySourceLocation|null);
+
+ /** LogEntry split */
+ split?: (google.logging.v2.ILogSplit|null);
+ }
+
+ /** Represents a LogEntry. */
+ class LogEntry implements ILogEntry {
+
+ /**
+ * Constructs a new LogEntry.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ILogEntry);
+
+ /** LogEntry logName. */
+ public logName: string;
+
+ /** LogEntry resource. */
+ public resource?: (google.api.IMonitoredResource|null);
+
+ /** LogEntry protoPayload. */
+ public protoPayload?: (google.protobuf.IAny|null);
+
+ /** LogEntry textPayload. */
+ public textPayload?: (string|null);
+
+ /** LogEntry jsonPayload. */
+ public jsonPayload?: (google.protobuf.IStruct|null);
+
+ /** LogEntry timestamp. */
+ public timestamp?: (google.protobuf.ITimestamp|null);
+
+ /** LogEntry receiveTimestamp. */
+ public receiveTimestamp?: (google.protobuf.ITimestamp|null);
+
+ /** LogEntry severity. */
+ public severity: (google.logging.type.LogSeverity|keyof typeof google.logging.type.LogSeverity);
+
+ /** LogEntry insertId. */
+ public insertId: string;
+
+ /** LogEntry httpRequest. */
+ public httpRequest?: (google.logging.type.IHttpRequest|null);
+
+ /** LogEntry labels. */
+ public labels: { [k: string]: string };
+
+ /** LogEntry operation. */
+ public operation?: (google.logging.v2.ILogEntryOperation|null);
+
+ /** LogEntry trace. */
+ public trace: string;
+
+ /** LogEntry spanId. */
+ public spanId: string;
+
+ /** LogEntry traceSampled. */
+ public traceSampled: boolean;
+
+ /** LogEntry sourceLocation. */
+ public sourceLocation?: (google.logging.v2.ILogEntrySourceLocation|null);
+
+ /** LogEntry split. */
+ public split?: (google.logging.v2.ILogSplit|null);
+
+ /** LogEntry payload. */
+ public payload?: ("protoPayload"|"textPayload"|"jsonPayload");
+
+ /**
+ * Creates a new LogEntry instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LogEntry instance
+ */
+ public static create(properties?: google.logging.v2.ILogEntry): google.logging.v2.LogEntry;
+
+ /**
+ * Encodes the specified LogEntry message. Does not implicitly {@link google.logging.v2.LogEntry.verify|verify} messages.
+ * @param message LogEntry message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ILogEntry, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LogEntry message, length delimited. Does not implicitly {@link google.logging.v2.LogEntry.verify|verify} messages.
+ * @param message LogEntry message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ILogEntry, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LogEntry message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LogEntry
+ * @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.logging.v2.LogEntry;
+
+ /**
+ * Decodes a LogEntry message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LogEntry
+ * @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.logging.v2.LogEntry;
+
+ /**
+ * Verifies a LogEntry 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 LogEntry message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LogEntry
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.LogEntry;
+
+ /**
+ * Creates a plain object from a LogEntry message. Also converts values to other types if specified.
+ * @param message LogEntry
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.LogEntry, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LogEntry to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LogEntry
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LogEntryOperation. */
+ interface ILogEntryOperation {
+
+ /** LogEntryOperation id */
+ id?: (string|null);
+
+ /** LogEntryOperation producer */
+ producer?: (string|null);
+
+ /** LogEntryOperation first */
+ first?: (boolean|null);
+
+ /** LogEntryOperation last */
+ last?: (boolean|null);
+ }
+
+ /** Represents a LogEntryOperation. */
+ class LogEntryOperation implements ILogEntryOperation {
+
+ /**
+ * Constructs a new LogEntryOperation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ILogEntryOperation);
+
+ /** LogEntryOperation id. */
+ public id: string;
+
+ /** LogEntryOperation producer. */
+ public producer: string;
+
+ /** LogEntryOperation first. */
+ public first: boolean;
+
+ /** LogEntryOperation last. */
+ public last: boolean;
+
+ /**
+ * Creates a new LogEntryOperation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LogEntryOperation instance
+ */
+ public static create(properties?: google.logging.v2.ILogEntryOperation): google.logging.v2.LogEntryOperation;
+
+ /**
+ * Encodes the specified LogEntryOperation message. Does not implicitly {@link google.logging.v2.LogEntryOperation.verify|verify} messages.
+ * @param message LogEntryOperation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ILogEntryOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LogEntryOperation message, length delimited. Does not implicitly {@link google.logging.v2.LogEntryOperation.verify|verify} messages.
+ * @param message LogEntryOperation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ILogEntryOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LogEntryOperation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LogEntryOperation
+ * @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.logging.v2.LogEntryOperation;
+
+ /**
+ * Decodes a LogEntryOperation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LogEntryOperation
+ * @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.logging.v2.LogEntryOperation;
+
+ /**
+ * Verifies a LogEntryOperation 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 LogEntryOperation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LogEntryOperation
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.LogEntryOperation;
+
+ /**
+ * Creates a plain object from a LogEntryOperation message. Also converts values to other types if specified.
+ * @param message LogEntryOperation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.LogEntryOperation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LogEntryOperation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LogEntryOperation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LogEntrySourceLocation. */
+ interface ILogEntrySourceLocation {
+
+ /** LogEntrySourceLocation file */
+ file?: (string|null);
+
+ /** LogEntrySourceLocation line */
+ line?: (number|Long|string|null);
+
+ /** LogEntrySourceLocation function */
+ "function"?: (string|null);
+ }
+
+ /** Represents a LogEntrySourceLocation. */
+ class LogEntrySourceLocation implements ILogEntrySourceLocation {
+
+ /**
+ * Constructs a new LogEntrySourceLocation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ILogEntrySourceLocation);
+
+ /** LogEntrySourceLocation file. */
+ public file: string;
+
+ /** LogEntrySourceLocation line. */
+ public line: (number|Long|string);
+
+ /** LogEntrySourceLocation function. */
+ public function: string;
+
+ /**
+ * Creates a new LogEntrySourceLocation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LogEntrySourceLocation instance
+ */
+ public static create(properties?: google.logging.v2.ILogEntrySourceLocation): google.logging.v2.LogEntrySourceLocation;
+
+ /**
+ * Encodes the specified LogEntrySourceLocation message. Does not implicitly {@link google.logging.v2.LogEntrySourceLocation.verify|verify} messages.
+ * @param message LogEntrySourceLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ILogEntrySourceLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LogEntrySourceLocation message, length delimited. Does not implicitly {@link google.logging.v2.LogEntrySourceLocation.verify|verify} messages.
+ * @param message LogEntrySourceLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ILogEntrySourceLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LogEntrySourceLocation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LogEntrySourceLocation
+ * @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.logging.v2.LogEntrySourceLocation;
+
+ /**
+ * Decodes a LogEntrySourceLocation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LogEntrySourceLocation
+ * @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.logging.v2.LogEntrySourceLocation;
+
+ /**
+ * Verifies a LogEntrySourceLocation 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 LogEntrySourceLocation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LogEntrySourceLocation
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.LogEntrySourceLocation;
+
+ /**
+ * Creates a plain object from a LogEntrySourceLocation message. Also converts values to other types if specified.
+ * @param message LogEntrySourceLocation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.LogEntrySourceLocation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LogEntrySourceLocation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LogEntrySourceLocation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LogSplit. */
+ interface ILogSplit {
+
+ /** LogSplit uid */
+ uid?: (string|null);
+
+ /** LogSplit index */
+ index?: (number|null);
+
+ /** LogSplit totalSplits */
+ totalSplits?: (number|null);
+ }
+
+ /** Represents a LogSplit. */
+ class LogSplit implements ILogSplit {
+
+ /**
+ * Constructs a new LogSplit.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ILogSplit);
+
+ /** LogSplit uid. */
+ public uid: string;
+
+ /** LogSplit index. */
+ public index: number;
+
+ /** LogSplit totalSplits. */
+ public totalSplits: number;
+
+ /**
+ * Creates a new LogSplit instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LogSplit instance
+ */
+ public static create(properties?: google.logging.v2.ILogSplit): google.logging.v2.LogSplit;
+
+ /**
+ * Encodes the specified LogSplit message. Does not implicitly {@link google.logging.v2.LogSplit.verify|verify} messages.
+ * @param message LogSplit message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ILogSplit, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LogSplit message, length delimited. Does not implicitly {@link google.logging.v2.LogSplit.verify|verify} messages.
+ * @param message LogSplit message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ILogSplit, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LogSplit message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LogSplit
+ * @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.logging.v2.LogSplit;
+
+ /**
+ * Decodes a LogSplit message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LogSplit
+ * @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.logging.v2.LogSplit;
+
+ /**
+ * Verifies a LogSplit 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 LogSplit message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LogSplit
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.LogSplit;
+
+ /**
+ * Creates a plain object from a LogSplit message. Also converts values to other types if specified.
+ * @param message LogSplit
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.LogSplit, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LogSplit to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LogSplit
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a LoggingServiceV2 */
+ class LoggingServiceV2 extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new LoggingServiceV2 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 LoggingServiceV2 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): LoggingServiceV2;
+
+ /**
+ * Calls DeleteLog.
+ * @param request DeleteLogRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteLog(request: google.logging.v2.IDeleteLogRequest, callback: google.logging.v2.LoggingServiceV2.DeleteLogCallback): void;
+
+ /**
+ * Calls DeleteLog.
+ * @param request DeleteLogRequest message or plain object
+ * @returns Promise
+ */
+ public deleteLog(request: google.logging.v2.IDeleteLogRequest): Promise;
+
+ /**
+ * Calls WriteLogEntries.
+ * @param request WriteLogEntriesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and WriteLogEntriesResponse
+ */
+ public writeLogEntries(request: google.logging.v2.IWriteLogEntriesRequest, callback: google.logging.v2.LoggingServiceV2.WriteLogEntriesCallback): void;
+
+ /**
+ * Calls WriteLogEntries.
+ * @param request WriteLogEntriesRequest message or plain object
+ * @returns Promise
+ */
+ public writeLogEntries(request: google.logging.v2.IWriteLogEntriesRequest): Promise;
+
+ /**
+ * Calls ListLogEntries.
+ * @param request ListLogEntriesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListLogEntriesResponse
+ */
+ public listLogEntries(request: google.logging.v2.IListLogEntriesRequest, callback: google.logging.v2.LoggingServiceV2.ListLogEntriesCallback): void;
+
+ /**
+ * Calls ListLogEntries.
+ * @param request ListLogEntriesRequest message or plain object
+ * @returns Promise
+ */
+ public listLogEntries(request: google.logging.v2.IListLogEntriesRequest): Promise;
+
+ /**
+ * Calls ListMonitoredResourceDescriptors.
+ * @param request ListMonitoredResourceDescriptorsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListMonitoredResourceDescriptorsResponse
+ */
+ public listMonitoredResourceDescriptors(request: google.logging.v2.IListMonitoredResourceDescriptorsRequest, callback: google.logging.v2.LoggingServiceV2.ListMonitoredResourceDescriptorsCallback): void;
+
+ /**
+ * Calls ListMonitoredResourceDescriptors.
+ * @param request ListMonitoredResourceDescriptorsRequest message or plain object
+ * @returns Promise
+ */
+ public listMonitoredResourceDescriptors(request: google.logging.v2.IListMonitoredResourceDescriptorsRequest): Promise;
+
+ /**
+ * Calls ListLogs.
+ * @param request ListLogsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListLogsResponse
+ */
+ public listLogs(request: google.logging.v2.IListLogsRequest, callback: google.logging.v2.LoggingServiceV2.ListLogsCallback): void;
+
+ /**
+ * Calls ListLogs.
+ * @param request ListLogsRequest message or plain object
+ * @returns Promise
+ */
+ public listLogs(request: google.logging.v2.IListLogsRequest): Promise;
+
+ /**
+ * Calls TailLogEntries.
+ * @param request TailLogEntriesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and TailLogEntriesResponse
+ */
+ public tailLogEntries(request: google.logging.v2.ITailLogEntriesRequest, callback: google.logging.v2.LoggingServiceV2.TailLogEntriesCallback): void;
+
+ /**
+ * Calls TailLogEntries.
+ * @param request TailLogEntriesRequest message or plain object
+ * @returns Promise
+ */
+ public tailLogEntries(request: google.logging.v2.ITailLogEntriesRequest): Promise;
+ }
+
+ namespace LoggingServiceV2 {
+
+ /**
+ * Callback as used by {@link google.logging.v2.LoggingServiceV2|deleteLog}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteLogCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.LoggingServiceV2|writeLogEntries}.
+ * @param error Error, if any
+ * @param [response] WriteLogEntriesResponse
+ */
+ type WriteLogEntriesCallback = (error: (Error|null), response?: google.logging.v2.WriteLogEntriesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.LoggingServiceV2|listLogEntries}.
+ * @param error Error, if any
+ * @param [response] ListLogEntriesResponse
+ */
+ type ListLogEntriesCallback = (error: (Error|null), response?: google.logging.v2.ListLogEntriesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.LoggingServiceV2|listMonitoredResourceDescriptors}.
+ * @param error Error, if any
+ * @param [response] ListMonitoredResourceDescriptorsResponse
+ */
+ type ListMonitoredResourceDescriptorsCallback = (error: (Error|null), response?: google.logging.v2.ListMonitoredResourceDescriptorsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.LoggingServiceV2|listLogs}.
+ * @param error Error, if any
+ * @param [response] ListLogsResponse
+ */
+ type ListLogsCallback = (error: (Error|null), response?: google.logging.v2.ListLogsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.LoggingServiceV2|tailLogEntries}.
+ * @param error Error, if any
+ * @param [response] TailLogEntriesResponse
+ */
+ type TailLogEntriesCallback = (error: (Error|null), response?: google.logging.v2.TailLogEntriesResponse) => void;
+ }
+
+ /** Properties of a DeleteLogRequest. */
+ interface IDeleteLogRequest {
+
+ /** DeleteLogRequest logName */
+ logName?: (string|null);
+ }
+
+ /** Represents a DeleteLogRequest. */
+ class DeleteLogRequest implements IDeleteLogRequest {
+
+ /**
+ * Constructs a new DeleteLogRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IDeleteLogRequest);
+
+ /** DeleteLogRequest logName. */
+ public logName: string;
+
+ /**
+ * Creates a new DeleteLogRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteLogRequest instance
+ */
+ public static create(properties?: google.logging.v2.IDeleteLogRequest): google.logging.v2.DeleteLogRequest;
+
+ /**
+ * Encodes the specified DeleteLogRequest message. Does not implicitly {@link google.logging.v2.DeleteLogRequest.verify|verify} messages.
+ * @param message DeleteLogRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IDeleteLogRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteLogRequest message, length delimited. Does not implicitly {@link google.logging.v2.DeleteLogRequest.verify|verify} messages.
+ * @param message DeleteLogRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IDeleteLogRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteLogRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteLogRequest
+ * @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.logging.v2.DeleteLogRequest;
+
+ /**
+ * Decodes a DeleteLogRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteLogRequest
+ * @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.logging.v2.DeleteLogRequest;
+
+ /**
+ * Verifies a DeleteLogRequest 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 DeleteLogRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteLogRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.DeleteLogRequest;
+
+ /**
+ * Creates a plain object from a DeleteLogRequest message. Also converts values to other types if specified.
+ * @param message DeleteLogRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.DeleteLogRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteLogRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteLogRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WriteLogEntriesRequest. */
+ interface IWriteLogEntriesRequest {
+
+ /** WriteLogEntriesRequest logName */
+ logName?: (string|null);
+
+ /** WriteLogEntriesRequest resource */
+ resource?: (google.api.IMonitoredResource|null);
+
+ /** WriteLogEntriesRequest labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** WriteLogEntriesRequest entries */
+ entries?: (google.logging.v2.ILogEntry[]|null);
+
+ /** WriteLogEntriesRequest partialSuccess */
+ partialSuccess?: (boolean|null);
+
+ /** WriteLogEntriesRequest dryRun */
+ dryRun?: (boolean|null);
+ }
+
+ /** Represents a WriteLogEntriesRequest. */
+ class WriteLogEntriesRequest implements IWriteLogEntriesRequest {
+
+ /**
+ * Constructs a new WriteLogEntriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IWriteLogEntriesRequest);
+
+ /** WriteLogEntriesRequest logName. */
+ public logName: string;
+
+ /** WriteLogEntriesRequest resource. */
+ public resource?: (google.api.IMonitoredResource|null);
+
+ /** WriteLogEntriesRequest labels. */
+ public labels: { [k: string]: string };
+
+ /** WriteLogEntriesRequest entries. */
+ public entries: google.logging.v2.ILogEntry[];
+
+ /** WriteLogEntriesRequest partialSuccess. */
+ public partialSuccess: boolean;
+
+ /** WriteLogEntriesRequest dryRun. */
+ public dryRun: boolean;
+
+ /**
+ * Creates a new WriteLogEntriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WriteLogEntriesRequest instance
+ */
+ public static create(properties?: google.logging.v2.IWriteLogEntriesRequest): google.logging.v2.WriteLogEntriesRequest;
+
+ /**
+ * Encodes the specified WriteLogEntriesRequest message. Does not implicitly {@link google.logging.v2.WriteLogEntriesRequest.verify|verify} messages.
+ * @param message WriteLogEntriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IWriteLogEntriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WriteLogEntriesRequest message, length delimited. Does not implicitly {@link google.logging.v2.WriteLogEntriesRequest.verify|verify} messages.
+ * @param message WriteLogEntriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IWriteLogEntriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WriteLogEntriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WriteLogEntriesRequest
+ * @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.logging.v2.WriteLogEntriesRequest;
+
+ /**
+ * Decodes a WriteLogEntriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WriteLogEntriesRequest
+ * @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.logging.v2.WriteLogEntriesRequest;
+
+ /**
+ * Verifies a WriteLogEntriesRequest 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 WriteLogEntriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WriteLogEntriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.WriteLogEntriesRequest;
+
+ /**
+ * Creates a plain object from a WriteLogEntriesRequest message. Also converts values to other types if specified.
+ * @param message WriteLogEntriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.WriteLogEntriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WriteLogEntriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WriteLogEntriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WriteLogEntriesResponse. */
+ interface IWriteLogEntriesResponse {
+ }
+
+ /** Represents a WriteLogEntriesResponse. */
+ class WriteLogEntriesResponse implements IWriteLogEntriesResponse {
+
+ /**
+ * Constructs a new WriteLogEntriesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IWriteLogEntriesResponse);
+
+ /**
+ * Creates a new WriteLogEntriesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WriteLogEntriesResponse instance
+ */
+ public static create(properties?: google.logging.v2.IWriteLogEntriesResponse): google.logging.v2.WriteLogEntriesResponse;
+
+ /**
+ * Encodes the specified WriteLogEntriesResponse message. Does not implicitly {@link google.logging.v2.WriteLogEntriesResponse.verify|verify} messages.
+ * @param message WriteLogEntriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IWriteLogEntriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WriteLogEntriesResponse message, length delimited. Does not implicitly {@link google.logging.v2.WriteLogEntriesResponse.verify|verify} messages.
+ * @param message WriteLogEntriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IWriteLogEntriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WriteLogEntriesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WriteLogEntriesResponse
+ * @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.logging.v2.WriteLogEntriesResponse;
+
+ /**
+ * Decodes a WriteLogEntriesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WriteLogEntriesResponse
+ * @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.logging.v2.WriteLogEntriesResponse;
+
+ /**
+ * Verifies a WriteLogEntriesResponse 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 WriteLogEntriesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WriteLogEntriesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.WriteLogEntriesResponse;
+
+ /**
+ * Creates a plain object from a WriteLogEntriesResponse message. Also converts values to other types if specified.
+ * @param message WriteLogEntriesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.WriteLogEntriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WriteLogEntriesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WriteLogEntriesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WriteLogEntriesPartialErrors. */
+ interface IWriteLogEntriesPartialErrors {
+
+ /** WriteLogEntriesPartialErrors logEntryErrors */
+ logEntryErrors?: ({ [k: string]: google.rpc.IStatus }|null);
+ }
+
+ /** Represents a WriteLogEntriesPartialErrors. */
+ class WriteLogEntriesPartialErrors implements IWriteLogEntriesPartialErrors {
+
+ /**
+ * Constructs a new WriteLogEntriesPartialErrors.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IWriteLogEntriesPartialErrors);
+
+ /** WriteLogEntriesPartialErrors logEntryErrors. */
+ public logEntryErrors: { [k: string]: google.rpc.IStatus };
+
+ /**
+ * Creates a new WriteLogEntriesPartialErrors instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WriteLogEntriesPartialErrors instance
+ */
+ public static create(properties?: google.logging.v2.IWriteLogEntriesPartialErrors): google.logging.v2.WriteLogEntriesPartialErrors;
+
+ /**
+ * Encodes the specified WriteLogEntriesPartialErrors message. Does not implicitly {@link google.logging.v2.WriteLogEntriesPartialErrors.verify|verify} messages.
+ * @param message WriteLogEntriesPartialErrors message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IWriteLogEntriesPartialErrors, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WriteLogEntriesPartialErrors message, length delimited. Does not implicitly {@link google.logging.v2.WriteLogEntriesPartialErrors.verify|verify} messages.
+ * @param message WriteLogEntriesPartialErrors message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IWriteLogEntriesPartialErrors, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WriteLogEntriesPartialErrors message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WriteLogEntriesPartialErrors
+ * @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.logging.v2.WriteLogEntriesPartialErrors;
+
+ /**
+ * Decodes a WriteLogEntriesPartialErrors message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WriteLogEntriesPartialErrors
+ * @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.logging.v2.WriteLogEntriesPartialErrors;
+
+ /**
+ * Verifies a WriteLogEntriesPartialErrors 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 WriteLogEntriesPartialErrors message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WriteLogEntriesPartialErrors
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.WriteLogEntriesPartialErrors;
+
+ /**
+ * Creates a plain object from a WriteLogEntriesPartialErrors message. Also converts values to other types if specified.
+ * @param message WriteLogEntriesPartialErrors
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.WriteLogEntriesPartialErrors, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WriteLogEntriesPartialErrors to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WriteLogEntriesPartialErrors
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListLogEntriesRequest. */
+ interface IListLogEntriesRequest {
+
+ /** ListLogEntriesRequest resourceNames */
+ resourceNames?: (string[]|null);
+
+ /** ListLogEntriesRequest filter */
+ filter?: (string|null);
+
+ /** ListLogEntriesRequest orderBy */
+ orderBy?: (string|null);
+
+ /** ListLogEntriesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListLogEntriesRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListLogEntriesRequest. */
+ class ListLogEntriesRequest implements IListLogEntriesRequest {
+
+ /**
+ * Constructs a new ListLogEntriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListLogEntriesRequest);
+
+ /** ListLogEntriesRequest resourceNames. */
+ public resourceNames: string[];
+
+ /** ListLogEntriesRequest filter. */
+ public filter: string;
+
+ /** ListLogEntriesRequest orderBy. */
+ public orderBy: string;
+
+ /** ListLogEntriesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListLogEntriesRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListLogEntriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListLogEntriesRequest instance
+ */
+ public static create(properties?: google.logging.v2.IListLogEntriesRequest): google.logging.v2.ListLogEntriesRequest;
+
+ /**
+ * Encodes the specified ListLogEntriesRequest message. Does not implicitly {@link google.logging.v2.ListLogEntriesRequest.verify|verify} messages.
+ * @param message ListLogEntriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListLogEntriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListLogEntriesRequest message, length delimited. Does not implicitly {@link google.logging.v2.ListLogEntriesRequest.verify|verify} messages.
+ * @param message ListLogEntriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListLogEntriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListLogEntriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListLogEntriesRequest
+ * @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.logging.v2.ListLogEntriesRequest;
+
+ /**
+ * Decodes a ListLogEntriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListLogEntriesRequest
+ * @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.logging.v2.ListLogEntriesRequest;
+
+ /**
+ * Verifies a ListLogEntriesRequest 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 ListLogEntriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListLogEntriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListLogEntriesRequest;
+
+ /**
+ * Creates a plain object from a ListLogEntriesRequest message. Also converts values to other types if specified.
+ * @param message ListLogEntriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListLogEntriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListLogEntriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListLogEntriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListLogEntriesResponse. */
+ interface IListLogEntriesResponse {
+
+ /** ListLogEntriesResponse entries */
+ entries?: (google.logging.v2.ILogEntry[]|null);
+
+ /** ListLogEntriesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListLogEntriesResponse. */
+ class ListLogEntriesResponse implements IListLogEntriesResponse {
+
+ /**
+ * Constructs a new ListLogEntriesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListLogEntriesResponse);
+
+ /** ListLogEntriesResponse entries. */
+ public entries: google.logging.v2.ILogEntry[];
+
+ /** ListLogEntriesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListLogEntriesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListLogEntriesResponse instance
+ */
+ public static create(properties?: google.logging.v2.IListLogEntriesResponse): google.logging.v2.ListLogEntriesResponse;
+
+ /**
+ * Encodes the specified ListLogEntriesResponse message. Does not implicitly {@link google.logging.v2.ListLogEntriesResponse.verify|verify} messages.
+ * @param message ListLogEntriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListLogEntriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListLogEntriesResponse message, length delimited. Does not implicitly {@link google.logging.v2.ListLogEntriesResponse.verify|verify} messages.
+ * @param message ListLogEntriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListLogEntriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListLogEntriesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListLogEntriesResponse
+ * @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.logging.v2.ListLogEntriesResponse;
+
+ /**
+ * Decodes a ListLogEntriesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListLogEntriesResponse
+ * @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.logging.v2.ListLogEntriesResponse;
+
+ /**
+ * Verifies a ListLogEntriesResponse 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 ListLogEntriesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListLogEntriesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListLogEntriesResponse;
+
+ /**
+ * Creates a plain object from a ListLogEntriesResponse message. Also converts values to other types if specified.
+ * @param message ListLogEntriesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListLogEntriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListLogEntriesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListLogEntriesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListMonitoredResourceDescriptorsRequest. */
+ interface IListMonitoredResourceDescriptorsRequest {
+
+ /** ListMonitoredResourceDescriptorsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListMonitoredResourceDescriptorsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListMonitoredResourceDescriptorsRequest. */
+ class ListMonitoredResourceDescriptorsRequest implements IListMonitoredResourceDescriptorsRequest {
+
+ /**
+ * Constructs a new ListMonitoredResourceDescriptorsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListMonitoredResourceDescriptorsRequest);
+
+ /** ListMonitoredResourceDescriptorsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListMonitoredResourceDescriptorsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListMonitoredResourceDescriptorsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListMonitoredResourceDescriptorsRequest instance
+ */
+ public static create(properties?: google.logging.v2.IListMonitoredResourceDescriptorsRequest): google.logging.v2.ListMonitoredResourceDescriptorsRequest;
+
+ /**
+ * Encodes the specified ListMonitoredResourceDescriptorsRequest message. Does not implicitly {@link google.logging.v2.ListMonitoredResourceDescriptorsRequest.verify|verify} messages.
+ * @param message ListMonitoredResourceDescriptorsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListMonitoredResourceDescriptorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListMonitoredResourceDescriptorsRequest message, length delimited. Does not implicitly {@link google.logging.v2.ListMonitoredResourceDescriptorsRequest.verify|verify} messages.
+ * @param message ListMonitoredResourceDescriptorsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListMonitoredResourceDescriptorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListMonitoredResourceDescriptorsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListMonitoredResourceDescriptorsRequest
+ * @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.logging.v2.ListMonitoredResourceDescriptorsRequest;
+
+ /**
+ * Decodes a ListMonitoredResourceDescriptorsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListMonitoredResourceDescriptorsRequest
+ * @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.logging.v2.ListMonitoredResourceDescriptorsRequest;
+
+ /**
+ * Verifies a ListMonitoredResourceDescriptorsRequest 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 ListMonitoredResourceDescriptorsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListMonitoredResourceDescriptorsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListMonitoredResourceDescriptorsRequest;
+
+ /**
+ * Creates a plain object from a ListMonitoredResourceDescriptorsRequest message. Also converts values to other types if specified.
+ * @param message ListMonitoredResourceDescriptorsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListMonitoredResourceDescriptorsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListMonitoredResourceDescriptorsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListMonitoredResourceDescriptorsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListMonitoredResourceDescriptorsResponse. */
+ interface IListMonitoredResourceDescriptorsResponse {
+
+ /** ListMonitoredResourceDescriptorsResponse resourceDescriptors */
+ resourceDescriptors?: (google.api.IMonitoredResourceDescriptor[]|null);
+
+ /** ListMonitoredResourceDescriptorsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListMonitoredResourceDescriptorsResponse. */
+ class ListMonitoredResourceDescriptorsResponse implements IListMonitoredResourceDescriptorsResponse {
+
+ /**
+ * Constructs a new ListMonitoredResourceDescriptorsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListMonitoredResourceDescriptorsResponse);
+
+ /** ListMonitoredResourceDescriptorsResponse resourceDescriptors. */
+ public resourceDescriptors: google.api.IMonitoredResourceDescriptor[];
+
+ /** ListMonitoredResourceDescriptorsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListMonitoredResourceDescriptorsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListMonitoredResourceDescriptorsResponse instance
+ */
+ public static create(properties?: google.logging.v2.IListMonitoredResourceDescriptorsResponse): google.logging.v2.ListMonitoredResourceDescriptorsResponse;
+
+ /**
+ * Encodes the specified ListMonitoredResourceDescriptorsResponse message. Does not implicitly {@link google.logging.v2.ListMonitoredResourceDescriptorsResponse.verify|verify} messages.
+ * @param message ListMonitoredResourceDescriptorsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListMonitoredResourceDescriptorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListMonitoredResourceDescriptorsResponse message, length delimited. Does not implicitly {@link google.logging.v2.ListMonitoredResourceDescriptorsResponse.verify|verify} messages.
+ * @param message ListMonitoredResourceDescriptorsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListMonitoredResourceDescriptorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListMonitoredResourceDescriptorsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListMonitoredResourceDescriptorsResponse
+ * @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.logging.v2.ListMonitoredResourceDescriptorsResponse;
+
+ /**
+ * Decodes a ListMonitoredResourceDescriptorsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListMonitoredResourceDescriptorsResponse
+ * @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.logging.v2.ListMonitoredResourceDescriptorsResponse;
+
+ /**
+ * Verifies a ListMonitoredResourceDescriptorsResponse 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 ListMonitoredResourceDescriptorsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListMonitoredResourceDescriptorsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListMonitoredResourceDescriptorsResponse;
+
+ /**
+ * Creates a plain object from a ListMonitoredResourceDescriptorsResponse message. Also converts values to other types if specified.
+ * @param message ListMonitoredResourceDescriptorsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListMonitoredResourceDescriptorsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListMonitoredResourceDescriptorsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListMonitoredResourceDescriptorsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListLogsRequest. */
+ interface IListLogsRequest {
+
+ /** ListLogsRequest parent */
+ parent?: (string|null);
+
+ /** ListLogsRequest resourceNames */
+ resourceNames?: (string[]|null);
+
+ /** ListLogsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListLogsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListLogsRequest. */
+ class ListLogsRequest implements IListLogsRequest {
+
+ /**
+ * Constructs a new ListLogsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListLogsRequest);
+
+ /** ListLogsRequest parent. */
+ public parent: string;
+
+ /** ListLogsRequest resourceNames. */
+ public resourceNames: string[];
+
+ /** ListLogsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListLogsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListLogsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListLogsRequest instance
+ */
+ public static create(properties?: google.logging.v2.IListLogsRequest): google.logging.v2.ListLogsRequest;
+
+ /**
+ * Encodes the specified ListLogsRequest message. Does not implicitly {@link google.logging.v2.ListLogsRequest.verify|verify} messages.
+ * @param message ListLogsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListLogsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListLogsRequest message, length delimited. Does not implicitly {@link google.logging.v2.ListLogsRequest.verify|verify} messages.
+ * @param message ListLogsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListLogsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListLogsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListLogsRequest
+ * @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.logging.v2.ListLogsRequest;
+
+ /**
+ * Decodes a ListLogsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListLogsRequest
+ * @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.logging.v2.ListLogsRequest;
+
+ /**
+ * Verifies a ListLogsRequest 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 ListLogsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListLogsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListLogsRequest;
+
+ /**
+ * Creates a plain object from a ListLogsRequest message. Also converts values to other types if specified.
+ * @param message ListLogsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListLogsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListLogsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListLogsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListLogsResponse. */
+ interface IListLogsResponse {
+
+ /** ListLogsResponse logNames */
+ logNames?: (string[]|null);
+
+ /** ListLogsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListLogsResponse. */
+ class ListLogsResponse implements IListLogsResponse {
+
+ /**
+ * Constructs a new ListLogsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListLogsResponse);
+
+ /** ListLogsResponse logNames. */
+ public logNames: string[];
+
+ /** ListLogsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListLogsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListLogsResponse instance
+ */
+ public static create(properties?: google.logging.v2.IListLogsResponse): google.logging.v2.ListLogsResponse;
+
+ /**
+ * Encodes the specified ListLogsResponse message. Does not implicitly {@link google.logging.v2.ListLogsResponse.verify|verify} messages.
+ * @param message ListLogsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListLogsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListLogsResponse message, length delimited. Does not implicitly {@link google.logging.v2.ListLogsResponse.verify|verify} messages.
+ * @param message ListLogsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListLogsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListLogsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListLogsResponse
+ * @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.logging.v2.ListLogsResponse;
+
+ /**
+ * Decodes a ListLogsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListLogsResponse
+ * @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.logging.v2.ListLogsResponse;
+
+ /**
+ * Verifies a ListLogsResponse 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 ListLogsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListLogsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListLogsResponse;
+
+ /**
+ * Creates a plain object from a ListLogsResponse message. Also converts values to other types if specified.
+ * @param message ListLogsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListLogsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListLogsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListLogsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TailLogEntriesRequest. */
+ interface ITailLogEntriesRequest {
+
+ /** TailLogEntriesRequest resourceNames */
+ resourceNames?: (string[]|null);
+
+ /** TailLogEntriesRequest filter */
+ filter?: (string|null);
+
+ /** TailLogEntriesRequest bufferWindow */
+ bufferWindow?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a TailLogEntriesRequest. */
+ class TailLogEntriesRequest implements ITailLogEntriesRequest {
+
+ /**
+ * Constructs a new TailLogEntriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ITailLogEntriesRequest);
+
+ /** TailLogEntriesRequest resourceNames. */
+ public resourceNames: string[];
+
+ /** TailLogEntriesRequest filter. */
+ public filter: string;
+
+ /** TailLogEntriesRequest bufferWindow. */
+ public bufferWindow?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new TailLogEntriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TailLogEntriesRequest instance
+ */
+ public static create(properties?: google.logging.v2.ITailLogEntriesRequest): google.logging.v2.TailLogEntriesRequest;
+
+ /**
+ * Encodes the specified TailLogEntriesRequest message. Does not implicitly {@link google.logging.v2.TailLogEntriesRequest.verify|verify} messages.
+ * @param message TailLogEntriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ITailLogEntriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TailLogEntriesRequest message, length delimited. Does not implicitly {@link google.logging.v2.TailLogEntriesRequest.verify|verify} messages.
+ * @param message TailLogEntriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ITailLogEntriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TailLogEntriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TailLogEntriesRequest
+ * @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.logging.v2.TailLogEntriesRequest;
+
+ /**
+ * Decodes a TailLogEntriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TailLogEntriesRequest
+ * @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.logging.v2.TailLogEntriesRequest;
+
+ /**
+ * Verifies a TailLogEntriesRequest 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 TailLogEntriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TailLogEntriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.TailLogEntriesRequest;
+
+ /**
+ * Creates a plain object from a TailLogEntriesRequest message. Also converts values to other types if specified.
+ * @param message TailLogEntriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.TailLogEntriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TailLogEntriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TailLogEntriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TailLogEntriesResponse. */
+ interface ITailLogEntriesResponse {
+
+ /** TailLogEntriesResponse entries */
+ entries?: (google.logging.v2.ILogEntry[]|null);
+
+ /** TailLogEntriesResponse suppressionInfo */
+ suppressionInfo?: (google.logging.v2.TailLogEntriesResponse.ISuppressionInfo[]|null);
+ }
+
+ /** Represents a TailLogEntriesResponse. */
+ class TailLogEntriesResponse implements ITailLogEntriesResponse {
+
+ /**
+ * Constructs a new TailLogEntriesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ITailLogEntriesResponse);
+
+ /** TailLogEntriesResponse entries. */
+ public entries: google.logging.v2.ILogEntry[];
+
+ /** TailLogEntriesResponse suppressionInfo. */
+ public suppressionInfo: google.logging.v2.TailLogEntriesResponse.ISuppressionInfo[];
+
+ /**
+ * Creates a new TailLogEntriesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TailLogEntriesResponse instance
+ */
+ public static create(properties?: google.logging.v2.ITailLogEntriesResponse): google.logging.v2.TailLogEntriesResponse;
+
+ /**
+ * Encodes the specified TailLogEntriesResponse message. Does not implicitly {@link google.logging.v2.TailLogEntriesResponse.verify|verify} messages.
+ * @param message TailLogEntriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ITailLogEntriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TailLogEntriesResponse message, length delimited. Does not implicitly {@link google.logging.v2.TailLogEntriesResponse.verify|verify} messages.
+ * @param message TailLogEntriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ITailLogEntriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TailLogEntriesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TailLogEntriesResponse
+ * @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.logging.v2.TailLogEntriesResponse;
+
+ /**
+ * Decodes a TailLogEntriesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TailLogEntriesResponse
+ * @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.logging.v2.TailLogEntriesResponse;
+
+ /**
+ * Verifies a TailLogEntriesResponse 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 TailLogEntriesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TailLogEntriesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.TailLogEntriesResponse;
+
+ /**
+ * Creates a plain object from a TailLogEntriesResponse message. Also converts values to other types if specified.
+ * @param message TailLogEntriesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.TailLogEntriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TailLogEntriesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TailLogEntriesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace TailLogEntriesResponse {
+
+ /** Properties of a SuppressionInfo. */
+ interface ISuppressionInfo {
+
+ /** SuppressionInfo reason */
+ reason?: (google.logging.v2.TailLogEntriesResponse.SuppressionInfo.Reason|keyof typeof google.logging.v2.TailLogEntriesResponse.SuppressionInfo.Reason|null);
+
+ /** SuppressionInfo suppressedCount */
+ suppressedCount?: (number|null);
+ }
+
+ /** Represents a SuppressionInfo. */
+ class SuppressionInfo implements ISuppressionInfo {
+
+ /**
+ * Constructs a new SuppressionInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.TailLogEntriesResponse.ISuppressionInfo);
+
+ /** SuppressionInfo reason. */
+ public reason: (google.logging.v2.TailLogEntriesResponse.SuppressionInfo.Reason|keyof typeof google.logging.v2.TailLogEntriesResponse.SuppressionInfo.Reason);
+
+ /** SuppressionInfo suppressedCount. */
+ public suppressedCount: number;
+
+ /**
+ * Creates a new SuppressionInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SuppressionInfo instance
+ */
+ public static create(properties?: google.logging.v2.TailLogEntriesResponse.ISuppressionInfo): google.logging.v2.TailLogEntriesResponse.SuppressionInfo;
+
+ /**
+ * Encodes the specified SuppressionInfo message. Does not implicitly {@link google.logging.v2.TailLogEntriesResponse.SuppressionInfo.verify|verify} messages.
+ * @param message SuppressionInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.TailLogEntriesResponse.ISuppressionInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SuppressionInfo message, length delimited. Does not implicitly {@link google.logging.v2.TailLogEntriesResponse.SuppressionInfo.verify|verify} messages.
+ * @param message SuppressionInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.TailLogEntriesResponse.ISuppressionInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SuppressionInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SuppressionInfo
+ * @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.logging.v2.TailLogEntriesResponse.SuppressionInfo;
+
+ /**
+ * Decodes a SuppressionInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SuppressionInfo
+ * @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.logging.v2.TailLogEntriesResponse.SuppressionInfo;
+
+ /**
+ * Verifies a SuppressionInfo 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 SuppressionInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SuppressionInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.TailLogEntriesResponse.SuppressionInfo;
+
+ /**
+ * Creates a plain object from a SuppressionInfo message. Also converts values to other types if specified.
+ * @param message SuppressionInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.TailLogEntriesResponse.SuppressionInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SuppressionInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SuppressionInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SuppressionInfo {
+
+ /** Reason enum. */
+ enum Reason {
+ REASON_UNSPECIFIED = 0,
+ RATE_LIMIT = 1,
+ NOT_CONSUMED = 2
+ }
+ }
+ }
+
+ /** Represents a ConfigServiceV2 */
+ class ConfigServiceV2 extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ConfigServiceV2 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 ConfigServiceV2 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): ConfigServiceV2;
+
+ /**
+ * Calls ListBuckets.
+ * @param request ListBucketsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListBucketsResponse
+ */
+ public listBuckets(request: google.logging.v2.IListBucketsRequest, callback: google.logging.v2.ConfigServiceV2.ListBucketsCallback): void;
+
+ /**
+ * Calls ListBuckets.
+ * @param request ListBucketsRequest message or plain object
+ * @returns Promise
+ */
+ public listBuckets(request: google.logging.v2.IListBucketsRequest): Promise;
+
+ /**
+ * Calls GetBucket.
+ * @param request GetBucketRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogBucket
+ */
+ public getBucket(request: google.logging.v2.IGetBucketRequest, callback: google.logging.v2.ConfigServiceV2.GetBucketCallback): void;
+
+ /**
+ * Calls GetBucket.
+ * @param request GetBucketRequest message or plain object
+ * @returns Promise
+ */
+ public getBucket(request: google.logging.v2.IGetBucketRequest): Promise;
+
+ /**
+ * Calls CreateBucketAsync.
+ * @param request CreateBucketRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createBucketAsync(request: google.logging.v2.ICreateBucketRequest, callback: google.logging.v2.ConfigServiceV2.CreateBucketAsyncCallback): void;
+
+ /**
+ * Calls CreateBucketAsync.
+ * @param request CreateBucketRequest message or plain object
+ * @returns Promise
+ */
+ public createBucketAsync(request: google.logging.v2.ICreateBucketRequest): Promise;
+
+ /**
+ * Calls UpdateBucketAsync.
+ * @param request UpdateBucketRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateBucketAsync(request: google.logging.v2.IUpdateBucketRequest, callback: google.logging.v2.ConfigServiceV2.UpdateBucketAsyncCallback): void;
+
+ /**
+ * Calls UpdateBucketAsync.
+ * @param request UpdateBucketRequest message or plain object
+ * @returns Promise
+ */
+ public updateBucketAsync(request: google.logging.v2.IUpdateBucketRequest): Promise;
+
+ /**
+ * Calls CreateBucket.
+ * @param request CreateBucketRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogBucket
+ */
+ public createBucket(request: google.logging.v2.ICreateBucketRequest, callback: google.logging.v2.ConfigServiceV2.CreateBucketCallback): void;
+
+ /**
+ * Calls CreateBucket.
+ * @param request CreateBucketRequest message or plain object
+ * @returns Promise
+ */
+ public createBucket(request: google.logging.v2.ICreateBucketRequest): Promise;
+
+ /**
+ * Calls UpdateBucket.
+ * @param request UpdateBucketRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogBucket
+ */
+ public updateBucket(request: google.logging.v2.IUpdateBucketRequest, callback: google.logging.v2.ConfigServiceV2.UpdateBucketCallback): void;
+
+ /**
+ * Calls UpdateBucket.
+ * @param request UpdateBucketRequest message or plain object
+ * @returns Promise
+ */
+ public updateBucket(request: google.logging.v2.IUpdateBucketRequest): Promise;
+
+ /**
+ * Calls DeleteBucket.
+ * @param request DeleteBucketRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteBucket(request: google.logging.v2.IDeleteBucketRequest, callback: google.logging.v2.ConfigServiceV2.DeleteBucketCallback): void;
+
+ /**
+ * Calls DeleteBucket.
+ * @param request DeleteBucketRequest message or plain object
+ * @returns Promise
+ */
+ public deleteBucket(request: google.logging.v2.IDeleteBucketRequest): Promise;
+
+ /**
+ * Calls UndeleteBucket.
+ * @param request UndeleteBucketRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public undeleteBucket(request: google.logging.v2.IUndeleteBucketRequest, callback: google.logging.v2.ConfigServiceV2.UndeleteBucketCallback): void;
+
+ /**
+ * Calls UndeleteBucket.
+ * @param request UndeleteBucketRequest message or plain object
+ * @returns Promise
+ */
+ public undeleteBucket(request: google.logging.v2.IUndeleteBucketRequest): Promise;
+
+ /**
+ * Calls ListViews.
+ * @param request ListViewsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListViewsResponse
+ */
+ public listViews(request: google.logging.v2.IListViewsRequest, callback: google.logging.v2.ConfigServiceV2.ListViewsCallback): void;
+
+ /**
+ * Calls ListViews.
+ * @param request ListViewsRequest message or plain object
+ * @returns Promise
+ */
+ public listViews(request: google.logging.v2.IListViewsRequest): Promise;
+
+ /**
+ * Calls GetView.
+ * @param request GetViewRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogView
+ */
+ public getView(request: google.logging.v2.IGetViewRequest, callback: google.logging.v2.ConfigServiceV2.GetViewCallback): void;
+
+ /**
+ * Calls GetView.
+ * @param request GetViewRequest message or plain object
+ * @returns Promise
+ */
+ public getView(request: google.logging.v2.IGetViewRequest): Promise;
+
+ /**
+ * Calls CreateView.
+ * @param request CreateViewRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogView
+ */
+ public createView(request: google.logging.v2.ICreateViewRequest, callback: google.logging.v2.ConfigServiceV2.CreateViewCallback): void;
+
+ /**
+ * Calls CreateView.
+ * @param request CreateViewRequest message or plain object
+ * @returns Promise
+ */
+ public createView(request: google.logging.v2.ICreateViewRequest): Promise;
+
+ /**
+ * Calls UpdateView.
+ * @param request UpdateViewRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogView
+ */
+ public updateView(request: google.logging.v2.IUpdateViewRequest, callback: google.logging.v2.ConfigServiceV2.UpdateViewCallback): void;
+
+ /**
+ * Calls UpdateView.
+ * @param request UpdateViewRequest message or plain object
+ * @returns Promise
+ */
+ public updateView(request: google.logging.v2.IUpdateViewRequest): Promise;
+
+ /**
+ * Calls DeleteView.
+ * @param request DeleteViewRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteView(request: google.logging.v2.IDeleteViewRequest, callback: google.logging.v2.ConfigServiceV2.DeleteViewCallback): void;
+
+ /**
+ * Calls DeleteView.
+ * @param request DeleteViewRequest message or plain object
+ * @returns Promise
+ */
+ public deleteView(request: google.logging.v2.IDeleteViewRequest): Promise;
+
+ /**
+ * Calls ListSinks.
+ * @param request ListSinksRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListSinksResponse
+ */
+ public listSinks(request: google.logging.v2.IListSinksRequest, callback: google.logging.v2.ConfigServiceV2.ListSinksCallback): void;
+
+ /**
+ * Calls ListSinks.
+ * @param request ListSinksRequest message or plain object
+ * @returns Promise
+ */
+ public listSinks(request: google.logging.v2.IListSinksRequest): Promise;
+
+ /**
+ * Calls GetSink.
+ * @param request GetSinkRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogSink
+ */
+ public getSink(request: google.logging.v2.IGetSinkRequest, callback: google.logging.v2.ConfigServiceV2.GetSinkCallback): void;
+
+ /**
+ * Calls GetSink.
+ * @param request GetSinkRequest message or plain object
+ * @returns Promise
+ */
+ public getSink(request: google.logging.v2.IGetSinkRequest): Promise;
+
+ /**
+ * Calls CreateSink.
+ * @param request CreateSinkRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogSink
+ */
+ public createSink(request: google.logging.v2.ICreateSinkRequest, callback: google.logging.v2.ConfigServiceV2.CreateSinkCallback): void;
+
+ /**
+ * Calls CreateSink.
+ * @param request CreateSinkRequest message or plain object
+ * @returns Promise
+ */
+ public createSink(request: google.logging.v2.ICreateSinkRequest): Promise;
+
+ /**
+ * Calls UpdateSink.
+ * @param request UpdateSinkRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogSink
+ */
+ public updateSink(request: google.logging.v2.IUpdateSinkRequest, callback: google.logging.v2.ConfigServiceV2.UpdateSinkCallback): void;
+
+ /**
+ * Calls UpdateSink.
+ * @param request UpdateSinkRequest message or plain object
+ * @returns Promise
+ */
+ public updateSink(request: google.logging.v2.IUpdateSinkRequest): Promise;
+
+ /**
+ * Calls DeleteSink.
+ * @param request DeleteSinkRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteSink(request: google.logging.v2.IDeleteSinkRequest, callback: google.logging.v2.ConfigServiceV2.DeleteSinkCallback): void;
+
+ /**
+ * Calls DeleteSink.
+ * @param request DeleteSinkRequest message or plain object
+ * @returns Promise
+ */
+ public deleteSink(request: google.logging.v2.IDeleteSinkRequest): Promise;
+
+ /**
+ * Calls CreateLink.
+ * @param request CreateLinkRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createLink(request: google.logging.v2.ICreateLinkRequest, callback: google.logging.v2.ConfigServiceV2.CreateLinkCallback): void;
+
+ /**
+ * Calls CreateLink.
+ * @param request CreateLinkRequest message or plain object
+ * @returns Promise
+ */
+ public createLink(request: google.logging.v2.ICreateLinkRequest): Promise;
+
+ /**
+ * Calls DeleteLink.
+ * @param request DeleteLinkRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteLink(request: google.logging.v2.IDeleteLinkRequest, callback: google.logging.v2.ConfigServiceV2.DeleteLinkCallback): void;
+
+ /**
+ * Calls DeleteLink.
+ * @param request DeleteLinkRequest message or plain object
+ * @returns Promise
+ */
+ public deleteLink(request: google.logging.v2.IDeleteLinkRequest): Promise;
+
+ /**
+ * Calls ListLinks.
+ * @param request ListLinksRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListLinksResponse
+ */
+ public listLinks(request: google.logging.v2.IListLinksRequest, callback: google.logging.v2.ConfigServiceV2.ListLinksCallback): void;
+
+ /**
+ * Calls ListLinks.
+ * @param request ListLinksRequest message or plain object
+ * @returns Promise
+ */
+ public listLinks(request: google.logging.v2.IListLinksRequest): Promise;
+
+ /**
+ * Calls GetLink.
+ * @param request GetLinkRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Link
+ */
+ public getLink(request: google.logging.v2.IGetLinkRequest, callback: google.logging.v2.ConfigServiceV2.GetLinkCallback): void;
+
+ /**
+ * Calls GetLink.
+ * @param request GetLinkRequest message or plain object
+ * @returns Promise
+ */
+ public getLink(request: google.logging.v2.IGetLinkRequest): Promise;
+
+ /**
+ * Calls ListExclusions.
+ * @param request ListExclusionsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListExclusionsResponse
+ */
+ public listExclusions(request: google.logging.v2.IListExclusionsRequest, callback: google.logging.v2.ConfigServiceV2.ListExclusionsCallback): void;
+
+ /**
+ * Calls ListExclusions.
+ * @param request ListExclusionsRequest message or plain object
+ * @returns Promise
+ */
+ public listExclusions(request: google.logging.v2.IListExclusionsRequest): Promise;
+
+ /**
+ * Calls GetExclusion.
+ * @param request GetExclusionRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogExclusion
+ */
+ public getExclusion(request: google.logging.v2.IGetExclusionRequest, callback: google.logging.v2.ConfigServiceV2.GetExclusionCallback): void;
+
+ /**
+ * Calls GetExclusion.
+ * @param request GetExclusionRequest message or plain object
+ * @returns Promise
+ */
+ public getExclusion(request: google.logging.v2.IGetExclusionRequest): Promise;
+
+ /**
+ * Calls CreateExclusion.
+ * @param request CreateExclusionRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogExclusion
+ */
+ public createExclusion(request: google.logging.v2.ICreateExclusionRequest, callback: google.logging.v2.ConfigServiceV2.CreateExclusionCallback): void;
+
+ /**
+ * Calls CreateExclusion.
+ * @param request CreateExclusionRequest message or plain object
+ * @returns Promise
+ */
+ public createExclusion(request: google.logging.v2.ICreateExclusionRequest): Promise;
+
+ /**
+ * Calls UpdateExclusion.
+ * @param request UpdateExclusionRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogExclusion
+ */
+ public updateExclusion(request: google.logging.v2.IUpdateExclusionRequest, callback: google.logging.v2.ConfigServiceV2.UpdateExclusionCallback): void;
+
+ /**
+ * Calls UpdateExclusion.
+ * @param request UpdateExclusionRequest message or plain object
+ * @returns Promise
+ */
+ public updateExclusion(request: google.logging.v2.IUpdateExclusionRequest): Promise;
+
+ /**
+ * Calls DeleteExclusion.
+ * @param request DeleteExclusionRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteExclusion(request: google.logging.v2.IDeleteExclusionRequest, callback: google.logging.v2.ConfigServiceV2.DeleteExclusionCallback): void;
+
+ /**
+ * Calls DeleteExclusion.
+ * @param request DeleteExclusionRequest message or plain object
+ * @returns Promise
+ */
+ public deleteExclusion(request: google.logging.v2.IDeleteExclusionRequest): Promise;
+
+ /**
+ * Calls GetCmekSettings.
+ * @param request GetCmekSettingsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CmekSettings
+ */
+ public getCmekSettings(request: google.logging.v2.IGetCmekSettingsRequest, callback: google.logging.v2.ConfigServiceV2.GetCmekSettingsCallback): void;
+
+ /**
+ * Calls GetCmekSettings.
+ * @param request GetCmekSettingsRequest message or plain object
+ * @returns Promise
+ */
+ public getCmekSettings(request: google.logging.v2.IGetCmekSettingsRequest): Promise;
+
+ /**
+ * Calls UpdateCmekSettings.
+ * @param request UpdateCmekSettingsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CmekSettings
+ */
+ public updateCmekSettings(request: google.logging.v2.IUpdateCmekSettingsRequest, callback: google.logging.v2.ConfigServiceV2.UpdateCmekSettingsCallback): void;
+
+ /**
+ * Calls UpdateCmekSettings.
+ * @param request UpdateCmekSettingsRequest message or plain object
+ * @returns Promise
+ */
+ public updateCmekSettings(request: google.logging.v2.IUpdateCmekSettingsRequest): Promise;
+
+ /**
+ * Calls GetSettings.
+ * @param request GetSettingsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Settings
+ */
+ public getSettings(request: google.logging.v2.IGetSettingsRequest, callback: google.logging.v2.ConfigServiceV2.GetSettingsCallback): void;
+
+ /**
+ * Calls GetSettings.
+ * @param request GetSettingsRequest message or plain object
+ * @returns Promise
+ */
+ public getSettings(request: google.logging.v2.IGetSettingsRequest): Promise;
+
+ /**
+ * Calls UpdateSettings.
+ * @param request UpdateSettingsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Settings
+ */
+ public updateSettings(request: google.logging.v2.IUpdateSettingsRequest, callback: google.logging.v2.ConfigServiceV2.UpdateSettingsCallback): void;
+
+ /**
+ * Calls UpdateSettings.
+ * @param request UpdateSettingsRequest message or plain object
+ * @returns Promise
+ */
+ public updateSettings(request: google.logging.v2.IUpdateSettingsRequest): Promise;
+
+ /**
+ * Calls CopyLogEntries.
+ * @param request CopyLogEntriesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public copyLogEntries(request: google.logging.v2.ICopyLogEntriesRequest, callback: google.logging.v2.ConfigServiceV2.CopyLogEntriesCallback): void;
+
+ /**
+ * Calls CopyLogEntries.
+ * @param request CopyLogEntriesRequest message or plain object
+ * @returns Promise
+ */
+ public copyLogEntries(request: google.logging.v2.ICopyLogEntriesRequest): Promise;
+ }
+
+ namespace ConfigServiceV2 {
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|listBuckets}.
+ * @param error Error, if any
+ * @param [response] ListBucketsResponse
+ */
+ type ListBucketsCallback = (error: (Error|null), response?: google.logging.v2.ListBucketsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|getBucket}.
+ * @param error Error, if any
+ * @param [response] LogBucket
+ */
+ type GetBucketCallback = (error: (Error|null), response?: google.logging.v2.LogBucket) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|createBucketAsync}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateBucketAsyncCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|updateBucketAsync}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateBucketAsyncCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|createBucket}.
+ * @param error Error, if any
+ * @param [response] LogBucket
+ */
+ type CreateBucketCallback = (error: (Error|null), response?: google.logging.v2.LogBucket) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|updateBucket}.
+ * @param error Error, if any
+ * @param [response] LogBucket
+ */
+ type UpdateBucketCallback = (error: (Error|null), response?: google.logging.v2.LogBucket) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|deleteBucket}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteBucketCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|undeleteBucket}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type UndeleteBucketCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|listViews}.
+ * @param error Error, if any
+ * @param [response] ListViewsResponse
+ */
+ type ListViewsCallback = (error: (Error|null), response?: google.logging.v2.ListViewsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|getView}.
+ * @param error Error, if any
+ * @param [response] LogView
+ */
+ type GetViewCallback = (error: (Error|null), response?: google.logging.v2.LogView) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|createView}.
+ * @param error Error, if any
+ * @param [response] LogView
+ */
+ type CreateViewCallback = (error: (Error|null), response?: google.logging.v2.LogView) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|updateView}.
+ * @param error Error, if any
+ * @param [response] LogView
+ */
+ type UpdateViewCallback = (error: (Error|null), response?: google.logging.v2.LogView) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|deleteView}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteViewCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|listSinks}.
+ * @param error Error, if any
+ * @param [response] ListSinksResponse
+ */
+ type ListSinksCallback = (error: (Error|null), response?: google.logging.v2.ListSinksResponse) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|getSink}.
+ * @param error Error, if any
+ * @param [response] LogSink
+ */
+ type GetSinkCallback = (error: (Error|null), response?: google.logging.v2.LogSink) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|createSink}.
+ * @param error Error, if any
+ * @param [response] LogSink
+ */
+ type CreateSinkCallback = (error: (Error|null), response?: google.logging.v2.LogSink) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|updateSink}.
+ * @param error Error, if any
+ * @param [response] LogSink
+ */
+ type UpdateSinkCallback = (error: (Error|null), response?: google.logging.v2.LogSink) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|deleteSink}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteSinkCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|createLink}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateLinkCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|deleteLink}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteLinkCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|listLinks}.
+ * @param error Error, if any
+ * @param [response] ListLinksResponse
+ */
+ type ListLinksCallback = (error: (Error|null), response?: google.logging.v2.ListLinksResponse) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|getLink}.
+ * @param error Error, if any
+ * @param [response] Link
+ */
+ type GetLinkCallback = (error: (Error|null), response?: google.logging.v2.Link) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|listExclusions}.
+ * @param error Error, if any
+ * @param [response] ListExclusionsResponse
+ */
+ type ListExclusionsCallback = (error: (Error|null), response?: google.logging.v2.ListExclusionsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|getExclusion}.
+ * @param error Error, if any
+ * @param [response] LogExclusion
+ */
+ type GetExclusionCallback = (error: (Error|null), response?: google.logging.v2.LogExclusion) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|createExclusion}.
+ * @param error Error, if any
+ * @param [response] LogExclusion
+ */
+ type CreateExclusionCallback = (error: (Error|null), response?: google.logging.v2.LogExclusion) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|updateExclusion}.
+ * @param error Error, if any
+ * @param [response] LogExclusion
+ */
+ type UpdateExclusionCallback = (error: (Error|null), response?: google.logging.v2.LogExclusion) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|deleteExclusion}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteExclusionCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|getCmekSettings}.
+ * @param error Error, if any
+ * @param [response] CmekSettings
+ */
+ type GetCmekSettingsCallback = (error: (Error|null), response?: google.logging.v2.CmekSettings) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|updateCmekSettings}.
+ * @param error Error, if any
+ * @param [response] CmekSettings
+ */
+ type UpdateCmekSettingsCallback = (error: (Error|null), response?: google.logging.v2.CmekSettings) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|getSettings}.
+ * @param error Error, if any
+ * @param [response] Settings
+ */
+ type GetSettingsCallback = (error: (Error|null), response?: google.logging.v2.Settings) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|updateSettings}.
+ * @param error Error, if any
+ * @param [response] Settings
+ */
+ type UpdateSettingsCallback = (error: (Error|null), response?: google.logging.v2.Settings) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.ConfigServiceV2|copyLogEntries}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CopyLogEntriesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an IndexConfig. */
+ interface IIndexConfig {
+
+ /** IndexConfig fieldPath */
+ fieldPath?: (string|null);
+
+ /** IndexConfig type */
+ type?: (google.logging.v2.IndexType|keyof typeof google.logging.v2.IndexType|null);
+
+ /** IndexConfig createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents an IndexConfig. */
+ class IndexConfig implements IIndexConfig {
+
+ /**
+ * Constructs a new IndexConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IIndexConfig);
+
+ /** IndexConfig fieldPath. */
+ public fieldPath: string;
+
+ /** IndexConfig type. */
+ public type: (google.logging.v2.IndexType|keyof typeof google.logging.v2.IndexType);
+
+ /** IndexConfig createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new IndexConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IndexConfig instance
+ */
+ public static create(properties?: google.logging.v2.IIndexConfig): google.logging.v2.IndexConfig;
+
+ /**
+ * Encodes the specified IndexConfig message. Does not implicitly {@link google.logging.v2.IndexConfig.verify|verify} messages.
+ * @param message IndexConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IIndexConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IndexConfig message, length delimited. Does not implicitly {@link google.logging.v2.IndexConfig.verify|verify} messages.
+ * @param message IndexConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IIndexConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IndexConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IndexConfig
+ * @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.logging.v2.IndexConfig;
+
+ /**
+ * Decodes an IndexConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IndexConfig
+ * @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.logging.v2.IndexConfig;
+
+ /**
+ * Verifies an IndexConfig 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 IndexConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IndexConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.IndexConfig;
+
+ /**
+ * Creates a plain object from an IndexConfig message. Also converts values to other types if specified.
+ * @param message IndexConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.IndexConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IndexConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IndexConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LogBucket. */
+ interface ILogBucket {
+
+ /** LogBucket name */
+ name?: (string|null);
+
+ /** LogBucket description */
+ description?: (string|null);
+
+ /** LogBucket createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogBucket updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogBucket retentionDays */
+ retentionDays?: (number|null);
+
+ /** LogBucket locked */
+ locked?: (boolean|null);
+
+ /** LogBucket lifecycleState */
+ lifecycleState?: (google.logging.v2.LifecycleState|keyof typeof google.logging.v2.LifecycleState|null);
+
+ /** LogBucket analyticsEnabled */
+ analyticsEnabled?: (boolean|null);
+
+ /** LogBucket restrictedFields */
+ restrictedFields?: (string[]|null);
+
+ /** LogBucket indexConfigs */
+ indexConfigs?: (google.logging.v2.IIndexConfig[]|null);
+
+ /** LogBucket cmekSettings */
+ cmekSettings?: (google.logging.v2.ICmekSettings|null);
+ }
+
+ /** Represents a LogBucket. */
+ class LogBucket implements ILogBucket {
+
+ /**
+ * Constructs a new LogBucket.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ILogBucket);
+
+ /** LogBucket name. */
+ public name: string;
+
+ /** LogBucket description. */
+ public description: string;
+
+ /** LogBucket createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogBucket updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogBucket retentionDays. */
+ public retentionDays: number;
+
+ /** LogBucket locked. */
+ public locked: boolean;
+
+ /** LogBucket lifecycleState. */
+ public lifecycleState: (google.logging.v2.LifecycleState|keyof typeof google.logging.v2.LifecycleState);
+
+ /** LogBucket analyticsEnabled. */
+ public analyticsEnabled: boolean;
+
+ /** LogBucket restrictedFields. */
+ public restrictedFields: string[];
+
+ /** LogBucket indexConfigs. */
+ public indexConfigs: google.logging.v2.IIndexConfig[];
+
+ /** LogBucket cmekSettings. */
+ public cmekSettings?: (google.logging.v2.ICmekSettings|null);
+
+ /**
+ * Creates a new LogBucket instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LogBucket instance
+ */
+ public static create(properties?: google.logging.v2.ILogBucket): google.logging.v2.LogBucket;
+
+ /**
+ * Encodes the specified LogBucket message. Does not implicitly {@link google.logging.v2.LogBucket.verify|verify} messages.
+ * @param message LogBucket message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ILogBucket, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LogBucket message, length delimited. Does not implicitly {@link google.logging.v2.LogBucket.verify|verify} messages.
+ * @param message LogBucket message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ILogBucket, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LogBucket message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LogBucket
+ * @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.logging.v2.LogBucket;
+
+ /**
+ * Decodes a LogBucket message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LogBucket
+ * @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.logging.v2.LogBucket;
+
+ /**
+ * Verifies a LogBucket 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 LogBucket message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LogBucket
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.LogBucket;
+
+ /**
+ * Creates a plain object from a LogBucket message. Also converts values to other types if specified.
+ * @param message LogBucket
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.LogBucket, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LogBucket to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LogBucket
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LogView. */
+ interface ILogView {
+
+ /** LogView name */
+ name?: (string|null);
+
+ /** LogView description */
+ description?: (string|null);
+
+ /** LogView createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogView updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogView filter */
+ filter?: (string|null);
+ }
+
+ /** Represents a LogView. */
+ class LogView implements ILogView {
+
+ /**
+ * Constructs a new LogView.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ILogView);
+
+ /** LogView name. */
+ public name: string;
+
+ /** LogView description. */
+ public description: string;
+
+ /** LogView createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogView updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogView filter. */
+ public filter: string;
+
+ /**
+ * Creates a new LogView instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LogView instance
+ */
+ public static create(properties?: google.logging.v2.ILogView): google.logging.v2.LogView;
+
+ /**
+ * Encodes the specified LogView message. Does not implicitly {@link google.logging.v2.LogView.verify|verify} messages.
+ * @param message LogView message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ILogView, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LogView message, length delimited. Does not implicitly {@link google.logging.v2.LogView.verify|verify} messages.
+ * @param message LogView message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ILogView, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LogView message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LogView
+ * @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.logging.v2.LogView;
+
+ /**
+ * Decodes a LogView message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LogView
+ * @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.logging.v2.LogView;
+
+ /**
+ * Verifies a LogView 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 LogView message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LogView
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.LogView;
+
+ /**
+ * Creates a plain object from a LogView message. Also converts values to other types if specified.
+ * @param message LogView
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.LogView, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LogView to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LogView
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LogSink. */
+ interface ILogSink {
+
+ /** LogSink name */
+ name?: (string|null);
+
+ /** LogSink destination */
+ destination?: (string|null);
+
+ /** LogSink filter */
+ filter?: (string|null);
+
+ /** LogSink description */
+ description?: (string|null);
+
+ /** LogSink disabled */
+ disabled?: (boolean|null);
+
+ /** LogSink exclusions */
+ exclusions?: (google.logging.v2.ILogExclusion[]|null);
+
+ /** LogSink outputVersionFormat */
+ outputVersionFormat?: (google.logging.v2.LogSink.VersionFormat|keyof typeof google.logging.v2.LogSink.VersionFormat|null);
+
+ /** LogSink writerIdentity */
+ writerIdentity?: (string|null);
+
+ /** LogSink includeChildren */
+ includeChildren?: (boolean|null);
+
+ /** LogSink bigqueryOptions */
+ bigqueryOptions?: (google.logging.v2.IBigQueryOptions|null);
+
+ /** LogSink createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogSink updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a LogSink. */
+ class LogSink implements ILogSink {
+
+ /**
+ * Constructs a new LogSink.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ILogSink);
+
+ /** LogSink name. */
+ public name: string;
+
+ /** LogSink destination. */
+ public destination: string;
+
+ /** LogSink filter. */
+ public filter: string;
+
+ /** LogSink description. */
+ public description: string;
+
+ /** LogSink disabled. */
+ public disabled: boolean;
+
+ /** LogSink exclusions. */
+ public exclusions: google.logging.v2.ILogExclusion[];
+
+ /** LogSink outputVersionFormat. */
+ public outputVersionFormat: (google.logging.v2.LogSink.VersionFormat|keyof typeof google.logging.v2.LogSink.VersionFormat);
+
+ /** LogSink writerIdentity. */
+ public writerIdentity: string;
+
+ /** LogSink includeChildren. */
+ public includeChildren: boolean;
+
+ /** LogSink bigqueryOptions. */
+ public bigqueryOptions?: (google.logging.v2.IBigQueryOptions|null);
+
+ /** LogSink createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogSink updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogSink options. */
+ public options?: "bigqueryOptions";
+
+ /**
+ * Creates a new LogSink instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LogSink instance
+ */
+ public static create(properties?: google.logging.v2.ILogSink): google.logging.v2.LogSink;
+
+ /**
+ * Encodes the specified LogSink message. Does not implicitly {@link google.logging.v2.LogSink.verify|verify} messages.
+ * @param message LogSink message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ILogSink, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LogSink message, length delimited. Does not implicitly {@link google.logging.v2.LogSink.verify|verify} messages.
+ * @param message LogSink message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ILogSink, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LogSink message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LogSink
+ * @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.logging.v2.LogSink;
+
+ /**
+ * Decodes a LogSink message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LogSink
+ * @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.logging.v2.LogSink;
+
+ /**
+ * Verifies a LogSink 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 LogSink message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LogSink
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.LogSink;
+
+ /**
+ * Creates a plain object from a LogSink message. Also converts values to other types if specified.
+ * @param message LogSink
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.LogSink, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LogSink to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LogSink
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace LogSink {
+
+ /** VersionFormat enum. */
+ enum VersionFormat {
+ VERSION_FORMAT_UNSPECIFIED = 0,
+ V2 = 1,
+ V1 = 2
+ }
+ }
+
+ /** Properties of a BigQueryDataset. */
+ interface IBigQueryDataset {
+
+ /** BigQueryDataset datasetId */
+ datasetId?: (string|null);
+ }
+
+ /** Represents a BigQueryDataset. */
+ class BigQueryDataset implements IBigQueryDataset {
+
+ /**
+ * Constructs a new BigQueryDataset.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IBigQueryDataset);
+
+ /** BigQueryDataset datasetId. */
+ public datasetId: string;
+
+ /**
+ * Creates a new BigQueryDataset instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQueryDataset instance
+ */
+ public static create(properties?: google.logging.v2.IBigQueryDataset): google.logging.v2.BigQueryDataset;
+
+ /**
+ * Encodes the specified BigQueryDataset message. Does not implicitly {@link google.logging.v2.BigQueryDataset.verify|verify} messages.
+ * @param message BigQueryDataset message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IBigQueryDataset, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQueryDataset message, length delimited. Does not implicitly {@link google.logging.v2.BigQueryDataset.verify|verify} messages.
+ * @param message BigQueryDataset message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IBigQueryDataset, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQueryDataset message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQueryDataset
+ * @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.logging.v2.BigQueryDataset;
+
+ /**
+ * Decodes a BigQueryDataset message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQueryDataset
+ * @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.logging.v2.BigQueryDataset;
+
+ /**
+ * Verifies a BigQueryDataset 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 BigQueryDataset message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQueryDataset
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.BigQueryDataset;
+
+ /**
+ * Creates a plain object from a BigQueryDataset message. Also converts values to other types if specified.
+ * @param message BigQueryDataset
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.BigQueryDataset, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQueryDataset to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BigQueryDataset
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Link. */
+ interface ILink {
+
+ /** Link name */
+ name?: (string|null);
+
+ /** Link description */
+ description?: (string|null);
+
+ /** Link createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Link lifecycleState */
+ lifecycleState?: (google.logging.v2.LifecycleState|keyof typeof google.logging.v2.LifecycleState|null);
+
+ /** Link bigqueryDataset */
+ bigqueryDataset?: (google.logging.v2.IBigQueryDataset|null);
+ }
+
+ /** Represents a Link. */
+ class Link implements ILink {
+
+ /**
+ * Constructs a new Link.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ILink);
+
+ /** Link name. */
+ public name: string;
+
+ /** Link description. */
+ public description: string;
+
+ /** Link createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Link lifecycleState. */
+ public lifecycleState: (google.logging.v2.LifecycleState|keyof typeof google.logging.v2.LifecycleState);
+
+ /** Link bigqueryDataset. */
+ public bigqueryDataset?: (google.logging.v2.IBigQueryDataset|null);
+
+ /**
+ * Creates a new Link instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Link instance
+ */
+ public static create(properties?: google.logging.v2.ILink): google.logging.v2.Link;
+
+ /**
+ * Encodes the specified Link message. Does not implicitly {@link google.logging.v2.Link.verify|verify} messages.
+ * @param message Link message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ILink, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Link message, length delimited. Does not implicitly {@link google.logging.v2.Link.verify|verify} messages.
+ * @param message Link message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ILink, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Link message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Link
+ * @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.logging.v2.Link;
+
+ /**
+ * Decodes a Link message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Link
+ * @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.logging.v2.Link;
+
+ /**
+ * Verifies a Link 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 Link message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Link
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.Link;
+
+ /**
+ * Creates a plain object from a Link message. Also converts values to other types if specified.
+ * @param message Link
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.Link, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Link to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Link
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BigQueryOptions. */
+ interface IBigQueryOptions {
+
+ /** BigQueryOptions usePartitionedTables */
+ usePartitionedTables?: (boolean|null);
+
+ /** BigQueryOptions usesTimestampColumnPartitioning */
+ usesTimestampColumnPartitioning?: (boolean|null);
+ }
+
+ /** Represents a BigQueryOptions. */
+ class BigQueryOptions implements IBigQueryOptions {
+
+ /**
+ * Constructs a new BigQueryOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IBigQueryOptions);
+
+ /** BigQueryOptions usePartitionedTables. */
+ public usePartitionedTables: boolean;
+
+ /** BigQueryOptions usesTimestampColumnPartitioning. */
+ public usesTimestampColumnPartitioning: boolean;
+
+ /**
+ * Creates a new BigQueryOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQueryOptions instance
+ */
+ public static create(properties?: google.logging.v2.IBigQueryOptions): google.logging.v2.BigQueryOptions;
+
+ /**
+ * Encodes the specified BigQueryOptions message. Does not implicitly {@link google.logging.v2.BigQueryOptions.verify|verify} messages.
+ * @param message BigQueryOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IBigQueryOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQueryOptions message, length delimited. Does not implicitly {@link google.logging.v2.BigQueryOptions.verify|verify} messages.
+ * @param message BigQueryOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IBigQueryOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQueryOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQueryOptions
+ * @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.logging.v2.BigQueryOptions;
+
+ /**
+ * Decodes a BigQueryOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQueryOptions
+ * @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.logging.v2.BigQueryOptions;
+
+ /**
+ * Verifies a BigQueryOptions 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 BigQueryOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQueryOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.BigQueryOptions;
+
+ /**
+ * Creates a plain object from a BigQueryOptions message. Also converts values to other types if specified.
+ * @param message BigQueryOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.BigQueryOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQueryOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BigQueryOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListBucketsRequest. */
+ interface IListBucketsRequest {
+
+ /** ListBucketsRequest parent */
+ parent?: (string|null);
+
+ /** ListBucketsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListBucketsRequest pageSize */
+ pageSize?: (number|null);
+ }
+
+ /** Represents a ListBucketsRequest. */
+ class ListBucketsRequest implements IListBucketsRequest {
+
+ /**
+ * Constructs a new ListBucketsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListBucketsRequest);
+
+ /** ListBucketsRequest parent. */
+ public parent: string;
+
+ /** ListBucketsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListBucketsRequest pageSize. */
+ public pageSize: number;
+
+ /**
+ * Creates a new ListBucketsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListBucketsRequest instance
+ */
+ public static create(properties?: google.logging.v2.IListBucketsRequest): google.logging.v2.ListBucketsRequest;
+
+ /**
+ * Encodes the specified ListBucketsRequest message. Does not implicitly {@link google.logging.v2.ListBucketsRequest.verify|verify} messages.
+ * @param message ListBucketsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListBucketsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListBucketsRequest message, length delimited. Does not implicitly {@link google.logging.v2.ListBucketsRequest.verify|verify} messages.
+ * @param message ListBucketsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListBucketsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListBucketsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListBucketsRequest
+ * @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.logging.v2.ListBucketsRequest;
+
+ /**
+ * Decodes a ListBucketsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListBucketsRequest
+ * @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.logging.v2.ListBucketsRequest;
+
+ /**
+ * Verifies a ListBucketsRequest 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 ListBucketsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListBucketsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListBucketsRequest;
+
+ /**
+ * Creates a plain object from a ListBucketsRequest message. Also converts values to other types if specified.
+ * @param message ListBucketsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListBucketsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListBucketsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListBucketsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListBucketsResponse. */
+ interface IListBucketsResponse {
+
+ /** ListBucketsResponse buckets */
+ buckets?: (google.logging.v2.ILogBucket[]|null);
+
+ /** ListBucketsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListBucketsResponse. */
+ class ListBucketsResponse implements IListBucketsResponse {
+
+ /**
+ * Constructs a new ListBucketsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListBucketsResponse);
+
+ /** ListBucketsResponse buckets. */
+ public buckets: google.logging.v2.ILogBucket[];
+
+ /** ListBucketsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListBucketsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListBucketsResponse instance
+ */
+ public static create(properties?: google.logging.v2.IListBucketsResponse): google.logging.v2.ListBucketsResponse;
+
+ /**
+ * Encodes the specified ListBucketsResponse message. Does not implicitly {@link google.logging.v2.ListBucketsResponse.verify|verify} messages.
+ * @param message ListBucketsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListBucketsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListBucketsResponse message, length delimited. Does not implicitly {@link google.logging.v2.ListBucketsResponse.verify|verify} messages.
+ * @param message ListBucketsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListBucketsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListBucketsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListBucketsResponse
+ * @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.logging.v2.ListBucketsResponse;
+
+ /**
+ * Decodes a ListBucketsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListBucketsResponse
+ * @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.logging.v2.ListBucketsResponse;
+
+ /**
+ * Verifies a ListBucketsResponse 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 ListBucketsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListBucketsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListBucketsResponse;
+
+ /**
+ * Creates a plain object from a ListBucketsResponse message. Also converts values to other types if specified.
+ * @param message ListBucketsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListBucketsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListBucketsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListBucketsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateBucketRequest. */
+ interface ICreateBucketRequest {
+
+ /** CreateBucketRequest parent */
+ parent?: (string|null);
+
+ /** CreateBucketRequest bucketId */
+ bucketId?: (string|null);
+
+ /** CreateBucketRequest bucket */
+ bucket?: (google.logging.v2.ILogBucket|null);
+ }
+
+ /** Represents a CreateBucketRequest. */
+ class CreateBucketRequest implements ICreateBucketRequest {
+
+ /**
+ * Constructs a new CreateBucketRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ICreateBucketRequest);
+
+ /** CreateBucketRequest parent. */
+ public parent: string;
+
+ /** CreateBucketRequest bucketId. */
+ public bucketId: string;
+
+ /** CreateBucketRequest bucket. */
+ public bucket?: (google.logging.v2.ILogBucket|null);
+
+ /**
+ * Creates a new CreateBucketRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateBucketRequest instance
+ */
+ public static create(properties?: google.logging.v2.ICreateBucketRequest): google.logging.v2.CreateBucketRequest;
+
+ /**
+ * Encodes the specified CreateBucketRequest message. Does not implicitly {@link google.logging.v2.CreateBucketRequest.verify|verify} messages.
+ * @param message CreateBucketRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ICreateBucketRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateBucketRequest message, length delimited. Does not implicitly {@link google.logging.v2.CreateBucketRequest.verify|verify} messages.
+ * @param message CreateBucketRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ICreateBucketRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateBucketRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateBucketRequest
+ * @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.logging.v2.CreateBucketRequest;
+
+ /**
+ * Decodes a CreateBucketRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateBucketRequest
+ * @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.logging.v2.CreateBucketRequest;
+
+ /**
+ * Verifies a CreateBucketRequest 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 CreateBucketRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateBucketRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.CreateBucketRequest;
+
+ /**
+ * Creates a plain object from a CreateBucketRequest message. Also converts values to other types if specified.
+ * @param message CreateBucketRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.CreateBucketRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateBucketRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateBucketRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateBucketRequest. */
+ interface IUpdateBucketRequest {
+
+ /** UpdateBucketRequest name */
+ name?: (string|null);
+
+ /** UpdateBucketRequest bucket */
+ bucket?: (google.logging.v2.ILogBucket|null);
+
+ /** UpdateBucketRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateBucketRequest. */
+ class UpdateBucketRequest implements IUpdateBucketRequest {
+
+ /**
+ * Constructs a new UpdateBucketRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IUpdateBucketRequest);
+
+ /** UpdateBucketRequest name. */
+ public name: string;
+
+ /** UpdateBucketRequest bucket. */
+ public bucket?: (google.logging.v2.ILogBucket|null);
+
+ /** UpdateBucketRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateBucketRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateBucketRequest instance
+ */
+ public static create(properties?: google.logging.v2.IUpdateBucketRequest): google.logging.v2.UpdateBucketRequest;
+
+ /**
+ * Encodes the specified UpdateBucketRequest message. Does not implicitly {@link google.logging.v2.UpdateBucketRequest.verify|verify} messages.
+ * @param message UpdateBucketRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IUpdateBucketRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateBucketRequest message, length delimited. Does not implicitly {@link google.logging.v2.UpdateBucketRequest.verify|verify} messages.
+ * @param message UpdateBucketRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IUpdateBucketRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateBucketRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateBucketRequest
+ * @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.logging.v2.UpdateBucketRequest;
+
+ /**
+ * Decodes an UpdateBucketRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateBucketRequest
+ * @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.logging.v2.UpdateBucketRequest;
+
+ /**
+ * Verifies an UpdateBucketRequest 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 UpdateBucketRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateBucketRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.UpdateBucketRequest;
+
+ /**
+ * Creates a plain object from an UpdateBucketRequest message. Also converts values to other types if specified.
+ * @param message UpdateBucketRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.UpdateBucketRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateBucketRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateBucketRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetBucketRequest. */
+ interface IGetBucketRequest {
+
+ /** GetBucketRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetBucketRequest. */
+ class GetBucketRequest implements IGetBucketRequest {
+
+ /**
+ * Constructs a new GetBucketRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IGetBucketRequest);
+
+ /** GetBucketRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetBucketRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetBucketRequest instance
+ */
+ public static create(properties?: google.logging.v2.IGetBucketRequest): google.logging.v2.GetBucketRequest;
+
+ /**
+ * Encodes the specified GetBucketRequest message. Does not implicitly {@link google.logging.v2.GetBucketRequest.verify|verify} messages.
+ * @param message GetBucketRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IGetBucketRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetBucketRequest message, length delimited. Does not implicitly {@link google.logging.v2.GetBucketRequest.verify|verify} messages.
+ * @param message GetBucketRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IGetBucketRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetBucketRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetBucketRequest
+ * @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.logging.v2.GetBucketRequest;
+
+ /**
+ * Decodes a GetBucketRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetBucketRequest
+ * @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.logging.v2.GetBucketRequest;
+
+ /**
+ * Verifies a GetBucketRequest 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 GetBucketRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetBucketRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.GetBucketRequest;
+
+ /**
+ * Creates a plain object from a GetBucketRequest message. Also converts values to other types if specified.
+ * @param message GetBucketRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.GetBucketRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetBucketRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetBucketRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteBucketRequest. */
+ interface IDeleteBucketRequest {
+
+ /** DeleteBucketRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteBucketRequest. */
+ class DeleteBucketRequest implements IDeleteBucketRequest {
+
+ /**
+ * Constructs a new DeleteBucketRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IDeleteBucketRequest);
+
+ /** DeleteBucketRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteBucketRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteBucketRequest instance
+ */
+ public static create(properties?: google.logging.v2.IDeleteBucketRequest): google.logging.v2.DeleteBucketRequest;
+
+ /**
+ * Encodes the specified DeleteBucketRequest message. Does not implicitly {@link google.logging.v2.DeleteBucketRequest.verify|verify} messages.
+ * @param message DeleteBucketRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IDeleteBucketRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteBucketRequest message, length delimited. Does not implicitly {@link google.logging.v2.DeleteBucketRequest.verify|verify} messages.
+ * @param message DeleteBucketRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IDeleteBucketRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteBucketRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteBucketRequest
+ * @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.logging.v2.DeleteBucketRequest;
+
+ /**
+ * Decodes a DeleteBucketRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteBucketRequest
+ * @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.logging.v2.DeleteBucketRequest;
+
+ /**
+ * Verifies a DeleteBucketRequest 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 DeleteBucketRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteBucketRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.DeleteBucketRequest;
+
+ /**
+ * Creates a plain object from a DeleteBucketRequest message. Also converts values to other types if specified.
+ * @param message DeleteBucketRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.DeleteBucketRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteBucketRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteBucketRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UndeleteBucketRequest. */
+ interface IUndeleteBucketRequest {
+
+ /** UndeleteBucketRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents an UndeleteBucketRequest. */
+ class UndeleteBucketRequest implements IUndeleteBucketRequest {
+
+ /**
+ * Constructs a new UndeleteBucketRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IUndeleteBucketRequest);
+
+ /** UndeleteBucketRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new UndeleteBucketRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UndeleteBucketRequest instance
+ */
+ public static create(properties?: google.logging.v2.IUndeleteBucketRequest): google.logging.v2.UndeleteBucketRequest;
+
+ /**
+ * Encodes the specified UndeleteBucketRequest message. Does not implicitly {@link google.logging.v2.UndeleteBucketRequest.verify|verify} messages.
+ * @param message UndeleteBucketRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IUndeleteBucketRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UndeleteBucketRequest message, length delimited. Does not implicitly {@link google.logging.v2.UndeleteBucketRequest.verify|verify} messages.
+ * @param message UndeleteBucketRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IUndeleteBucketRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UndeleteBucketRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UndeleteBucketRequest
+ * @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.logging.v2.UndeleteBucketRequest;
+
+ /**
+ * Decodes an UndeleteBucketRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UndeleteBucketRequest
+ * @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.logging.v2.UndeleteBucketRequest;
+
+ /**
+ * Verifies an UndeleteBucketRequest 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 UndeleteBucketRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UndeleteBucketRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.UndeleteBucketRequest;
+
+ /**
+ * Creates a plain object from an UndeleteBucketRequest message. Also converts values to other types if specified.
+ * @param message UndeleteBucketRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.UndeleteBucketRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UndeleteBucketRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UndeleteBucketRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListViewsRequest. */
+ interface IListViewsRequest {
+
+ /** ListViewsRequest parent */
+ parent?: (string|null);
+
+ /** ListViewsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListViewsRequest pageSize */
+ pageSize?: (number|null);
+ }
+
+ /** Represents a ListViewsRequest. */
+ class ListViewsRequest implements IListViewsRequest {
+
+ /**
+ * Constructs a new ListViewsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListViewsRequest);
+
+ /** ListViewsRequest parent. */
+ public parent: string;
+
+ /** ListViewsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListViewsRequest pageSize. */
+ public pageSize: number;
+
+ /**
+ * Creates a new ListViewsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListViewsRequest instance
+ */
+ public static create(properties?: google.logging.v2.IListViewsRequest): google.logging.v2.ListViewsRequest;
+
+ /**
+ * Encodes the specified ListViewsRequest message. Does not implicitly {@link google.logging.v2.ListViewsRequest.verify|verify} messages.
+ * @param message ListViewsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListViewsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListViewsRequest message, length delimited. Does not implicitly {@link google.logging.v2.ListViewsRequest.verify|verify} messages.
+ * @param message ListViewsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListViewsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListViewsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListViewsRequest
+ * @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.logging.v2.ListViewsRequest;
+
+ /**
+ * Decodes a ListViewsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListViewsRequest
+ * @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.logging.v2.ListViewsRequest;
+
+ /**
+ * Verifies a ListViewsRequest 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 ListViewsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListViewsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListViewsRequest;
+
+ /**
+ * Creates a plain object from a ListViewsRequest message. Also converts values to other types if specified.
+ * @param message ListViewsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListViewsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListViewsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListViewsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListViewsResponse. */
+ interface IListViewsResponse {
+
+ /** ListViewsResponse views */
+ views?: (google.logging.v2.ILogView[]|null);
+
+ /** ListViewsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListViewsResponse. */
+ class ListViewsResponse implements IListViewsResponse {
+
+ /**
+ * Constructs a new ListViewsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListViewsResponse);
+
+ /** ListViewsResponse views. */
+ public views: google.logging.v2.ILogView[];
+
+ /** ListViewsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListViewsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListViewsResponse instance
+ */
+ public static create(properties?: google.logging.v2.IListViewsResponse): google.logging.v2.ListViewsResponse;
+
+ /**
+ * Encodes the specified ListViewsResponse message. Does not implicitly {@link google.logging.v2.ListViewsResponse.verify|verify} messages.
+ * @param message ListViewsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListViewsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListViewsResponse message, length delimited. Does not implicitly {@link google.logging.v2.ListViewsResponse.verify|verify} messages.
+ * @param message ListViewsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListViewsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListViewsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListViewsResponse
+ * @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.logging.v2.ListViewsResponse;
+
+ /**
+ * Decodes a ListViewsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListViewsResponse
+ * @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.logging.v2.ListViewsResponse;
+
+ /**
+ * Verifies a ListViewsResponse 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 ListViewsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListViewsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListViewsResponse;
+
+ /**
+ * Creates a plain object from a ListViewsResponse message. Also converts values to other types if specified.
+ * @param message ListViewsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListViewsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListViewsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListViewsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateViewRequest. */
+ interface ICreateViewRequest {
+
+ /** CreateViewRequest parent */
+ parent?: (string|null);
+
+ /** CreateViewRequest viewId */
+ viewId?: (string|null);
+
+ /** CreateViewRequest view */
+ view?: (google.logging.v2.ILogView|null);
+ }
+
+ /** Represents a CreateViewRequest. */
+ class CreateViewRequest implements ICreateViewRequest {
+
+ /**
+ * Constructs a new CreateViewRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ICreateViewRequest);
+
+ /** CreateViewRequest parent. */
+ public parent: string;
+
+ /** CreateViewRequest viewId. */
+ public viewId: string;
+
+ /** CreateViewRequest view. */
+ public view?: (google.logging.v2.ILogView|null);
+
+ /**
+ * Creates a new CreateViewRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateViewRequest instance
+ */
+ public static create(properties?: google.logging.v2.ICreateViewRequest): google.logging.v2.CreateViewRequest;
+
+ /**
+ * Encodes the specified CreateViewRequest message. Does not implicitly {@link google.logging.v2.CreateViewRequest.verify|verify} messages.
+ * @param message CreateViewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ICreateViewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateViewRequest message, length delimited. Does not implicitly {@link google.logging.v2.CreateViewRequest.verify|verify} messages.
+ * @param message CreateViewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ICreateViewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateViewRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateViewRequest
+ * @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.logging.v2.CreateViewRequest;
+
+ /**
+ * Decodes a CreateViewRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateViewRequest
+ * @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.logging.v2.CreateViewRequest;
+
+ /**
+ * Verifies a CreateViewRequest 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 CreateViewRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateViewRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.CreateViewRequest;
+
+ /**
+ * Creates a plain object from a CreateViewRequest message. Also converts values to other types if specified.
+ * @param message CreateViewRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.CreateViewRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateViewRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateViewRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateViewRequest. */
+ interface IUpdateViewRequest {
+
+ /** UpdateViewRequest name */
+ name?: (string|null);
+
+ /** UpdateViewRequest view */
+ view?: (google.logging.v2.ILogView|null);
+
+ /** UpdateViewRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateViewRequest. */
+ class UpdateViewRequest implements IUpdateViewRequest {
+
+ /**
+ * Constructs a new UpdateViewRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IUpdateViewRequest);
+
+ /** UpdateViewRequest name. */
+ public name: string;
+
+ /** UpdateViewRequest view. */
+ public view?: (google.logging.v2.ILogView|null);
+
+ /** UpdateViewRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateViewRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateViewRequest instance
+ */
+ public static create(properties?: google.logging.v2.IUpdateViewRequest): google.logging.v2.UpdateViewRequest;
+
+ /**
+ * Encodes the specified UpdateViewRequest message. Does not implicitly {@link google.logging.v2.UpdateViewRequest.verify|verify} messages.
+ * @param message UpdateViewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IUpdateViewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateViewRequest message, length delimited. Does not implicitly {@link google.logging.v2.UpdateViewRequest.verify|verify} messages.
+ * @param message UpdateViewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IUpdateViewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateViewRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateViewRequest
+ * @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.logging.v2.UpdateViewRequest;
+
+ /**
+ * Decodes an UpdateViewRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateViewRequest
+ * @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.logging.v2.UpdateViewRequest;
+
+ /**
+ * Verifies an UpdateViewRequest 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 UpdateViewRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateViewRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.UpdateViewRequest;
+
+ /**
+ * Creates a plain object from an UpdateViewRequest message. Also converts values to other types if specified.
+ * @param message UpdateViewRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.UpdateViewRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateViewRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateViewRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetViewRequest. */
+ interface IGetViewRequest {
+
+ /** GetViewRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetViewRequest. */
+ class GetViewRequest implements IGetViewRequest {
+
+ /**
+ * Constructs a new GetViewRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IGetViewRequest);
+
+ /** GetViewRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetViewRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetViewRequest instance
+ */
+ public static create(properties?: google.logging.v2.IGetViewRequest): google.logging.v2.GetViewRequest;
+
+ /**
+ * Encodes the specified GetViewRequest message. Does not implicitly {@link google.logging.v2.GetViewRequest.verify|verify} messages.
+ * @param message GetViewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IGetViewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetViewRequest message, length delimited. Does not implicitly {@link google.logging.v2.GetViewRequest.verify|verify} messages.
+ * @param message GetViewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IGetViewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetViewRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetViewRequest
+ * @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.logging.v2.GetViewRequest;
+
+ /**
+ * Decodes a GetViewRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetViewRequest
+ * @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.logging.v2.GetViewRequest;
+
+ /**
+ * Verifies a GetViewRequest 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 GetViewRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetViewRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.GetViewRequest;
+
+ /**
+ * Creates a plain object from a GetViewRequest message. Also converts values to other types if specified.
+ * @param message GetViewRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.GetViewRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetViewRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetViewRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteViewRequest. */
+ interface IDeleteViewRequest {
+
+ /** DeleteViewRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteViewRequest. */
+ class DeleteViewRequest implements IDeleteViewRequest {
+
+ /**
+ * Constructs a new DeleteViewRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IDeleteViewRequest);
+
+ /** DeleteViewRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteViewRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteViewRequest instance
+ */
+ public static create(properties?: google.logging.v2.IDeleteViewRequest): google.logging.v2.DeleteViewRequest;
+
+ /**
+ * Encodes the specified DeleteViewRequest message. Does not implicitly {@link google.logging.v2.DeleteViewRequest.verify|verify} messages.
+ * @param message DeleteViewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IDeleteViewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteViewRequest message, length delimited. Does not implicitly {@link google.logging.v2.DeleteViewRequest.verify|verify} messages.
+ * @param message DeleteViewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IDeleteViewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteViewRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteViewRequest
+ * @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.logging.v2.DeleteViewRequest;
+
+ /**
+ * Decodes a DeleteViewRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteViewRequest
+ * @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.logging.v2.DeleteViewRequest;
+
+ /**
+ * Verifies a DeleteViewRequest 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 DeleteViewRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteViewRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.DeleteViewRequest;
+
+ /**
+ * Creates a plain object from a DeleteViewRequest message. Also converts values to other types if specified.
+ * @param message DeleteViewRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.DeleteViewRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteViewRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteViewRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSinksRequest. */
+ interface IListSinksRequest {
+
+ /** ListSinksRequest parent */
+ parent?: (string|null);
+
+ /** ListSinksRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListSinksRequest pageSize */
+ pageSize?: (number|null);
+ }
+
+ /** Represents a ListSinksRequest. */
+ class ListSinksRequest implements IListSinksRequest {
+
+ /**
+ * Constructs a new ListSinksRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListSinksRequest);
+
+ /** ListSinksRequest parent. */
+ public parent: string;
+
+ /** ListSinksRequest pageToken. */
+ public pageToken: string;
+
+ /** ListSinksRequest pageSize. */
+ public pageSize: number;
+
+ /**
+ * Creates a new ListSinksRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSinksRequest instance
+ */
+ public static create(properties?: google.logging.v2.IListSinksRequest): google.logging.v2.ListSinksRequest;
+
+ /**
+ * Encodes the specified ListSinksRequest message. Does not implicitly {@link google.logging.v2.ListSinksRequest.verify|verify} messages.
+ * @param message ListSinksRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListSinksRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSinksRequest message, length delimited. Does not implicitly {@link google.logging.v2.ListSinksRequest.verify|verify} messages.
+ * @param message ListSinksRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListSinksRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSinksRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSinksRequest
+ * @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.logging.v2.ListSinksRequest;
+
+ /**
+ * Decodes a ListSinksRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSinksRequest
+ * @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.logging.v2.ListSinksRequest;
+
+ /**
+ * Verifies a ListSinksRequest 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 ListSinksRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSinksRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListSinksRequest;
+
+ /**
+ * Creates a plain object from a ListSinksRequest message. Also converts values to other types if specified.
+ * @param message ListSinksRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListSinksRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSinksRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSinksRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSinksResponse. */
+ interface IListSinksResponse {
+
+ /** ListSinksResponse sinks */
+ sinks?: (google.logging.v2.ILogSink[]|null);
+
+ /** ListSinksResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListSinksResponse. */
+ class ListSinksResponse implements IListSinksResponse {
+
+ /**
+ * Constructs a new ListSinksResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListSinksResponse);
+
+ /** ListSinksResponse sinks. */
+ public sinks: google.logging.v2.ILogSink[];
+
+ /** ListSinksResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListSinksResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSinksResponse instance
+ */
+ public static create(properties?: google.logging.v2.IListSinksResponse): google.logging.v2.ListSinksResponse;
+
+ /**
+ * Encodes the specified ListSinksResponse message. Does not implicitly {@link google.logging.v2.ListSinksResponse.verify|verify} messages.
+ * @param message ListSinksResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListSinksResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSinksResponse message, length delimited. Does not implicitly {@link google.logging.v2.ListSinksResponse.verify|verify} messages.
+ * @param message ListSinksResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListSinksResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSinksResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSinksResponse
+ * @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.logging.v2.ListSinksResponse;
+
+ /**
+ * Decodes a ListSinksResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSinksResponse
+ * @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.logging.v2.ListSinksResponse;
+
+ /**
+ * Verifies a ListSinksResponse 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 ListSinksResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSinksResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListSinksResponse;
+
+ /**
+ * Creates a plain object from a ListSinksResponse message. Also converts values to other types if specified.
+ * @param message ListSinksResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListSinksResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSinksResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSinksResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetSinkRequest. */
+ interface IGetSinkRequest {
+
+ /** GetSinkRequest sinkName */
+ sinkName?: (string|null);
+ }
+
+ /** Represents a GetSinkRequest. */
+ class GetSinkRequest implements IGetSinkRequest {
+
+ /**
+ * Constructs a new GetSinkRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IGetSinkRequest);
+
+ /** GetSinkRequest sinkName. */
+ public sinkName: string;
+
+ /**
+ * Creates a new GetSinkRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetSinkRequest instance
+ */
+ public static create(properties?: google.logging.v2.IGetSinkRequest): google.logging.v2.GetSinkRequest;
+
+ /**
+ * Encodes the specified GetSinkRequest message. Does not implicitly {@link google.logging.v2.GetSinkRequest.verify|verify} messages.
+ * @param message GetSinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IGetSinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetSinkRequest message, length delimited. Does not implicitly {@link google.logging.v2.GetSinkRequest.verify|verify} messages.
+ * @param message GetSinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IGetSinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetSinkRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetSinkRequest
+ * @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.logging.v2.GetSinkRequest;
+
+ /**
+ * Decodes a GetSinkRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetSinkRequest
+ * @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.logging.v2.GetSinkRequest;
+
+ /**
+ * Verifies a GetSinkRequest 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 GetSinkRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetSinkRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.GetSinkRequest;
+
+ /**
+ * Creates a plain object from a GetSinkRequest message. Also converts values to other types if specified.
+ * @param message GetSinkRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.GetSinkRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetSinkRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetSinkRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateSinkRequest. */
+ interface ICreateSinkRequest {
+
+ /** CreateSinkRequest parent */
+ parent?: (string|null);
+
+ /** CreateSinkRequest sink */
+ sink?: (google.logging.v2.ILogSink|null);
+
+ /** CreateSinkRequest uniqueWriterIdentity */
+ uniqueWriterIdentity?: (boolean|null);
+ }
+
+ /** Represents a CreateSinkRequest. */
+ class CreateSinkRequest implements ICreateSinkRequest {
+
+ /**
+ * Constructs a new CreateSinkRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ICreateSinkRequest);
+
+ /** CreateSinkRequest parent. */
+ public parent: string;
+
+ /** CreateSinkRequest sink. */
+ public sink?: (google.logging.v2.ILogSink|null);
+
+ /** CreateSinkRequest uniqueWriterIdentity. */
+ public uniqueWriterIdentity: boolean;
+
+ /**
+ * Creates a new CreateSinkRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateSinkRequest instance
+ */
+ public static create(properties?: google.logging.v2.ICreateSinkRequest): google.logging.v2.CreateSinkRequest;
+
+ /**
+ * Encodes the specified CreateSinkRequest message. Does not implicitly {@link google.logging.v2.CreateSinkRequest.verify|verify} messages.
+ * @param message CreateSinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ICreateSinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateSinkRequest message, length delimited. Does not implicitly {@link google.logging.v2.CreateSinkRequest.verify|verify} messages.
+ * @param message CreateSinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ICreateSinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateSinkRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateSinkRequest
+ * @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.logging.v2.CreateSinkRequest;
+
+ /**
+ * Decodes a CreateSinkRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateSinkRequest
+ * @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.logging.v2.CreateSinkRequest;
+
+ /**
+ * Verifies a CreateSinkRequest 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 CreateSinkRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateSinkRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.CreateSinkRequest;
+
+ /**
+ * Creates a plain object from a CreateSinkRequest message. Also converts values to other types if specified.
+ * @param message CreateSinkRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.CreateSinkRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateSinkRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateSinkRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateSinkRequest. */
+ interface IUpdateSinkRequest {
+
+ /** UpdateSinkRequest sinkName */
+ sinkName?: (string|null);
+
+ /** UpdateSinkRequest sink */
+ sink?: (google.logging.v2.ILogSink|null);
+
+ /** UpdateSinkRequest uniqueWriterIdentity */
+ uniqueWriterIdentity?: (boolean|null);
+
+ /** UpdateSinkRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateSinkRequest. */
+ class UpdateSinkRequest implements IUpdateSinkRequest {
+
+ /**
+ * Constructs a new UpdateSinkRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IUpdateSinkRequest);
+
+ /** UpdateSinkRequest sinkName. */
+ public sinkName: string;
+
+ /** UpdateSinkRequest sink. */
+ public sink?: (google.logging.v2.ILogSink|null);
+
+ /** UpdateSinkRequest uniqueWriterIdentity. */
+ public uniqueWriterIdentity: boolean;
+
+ /** UpdateSinkRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateSinkRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateSinkRequest instance
+ */
+ public static create(properties?: google.logging.v2.IUpdateSinkRequest): google.logging.v2.UpdateSinkRequest;
+
+ /**
+ * Encodes the specified UpdateSinkRequest message. Does not implicitly {@link google.logging.v2.UpdateSinkRequest.verify|verify} messages.
+ * @param message UpdateSinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IUpdateSinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateSinkRequest message, length delimited. Does not implicitly {@link google.logging.v2.UpdateSinkRequest.verify|verify} messages.
+ * @param message UpdateSinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IUpdateSinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateSinkRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateSinkRequest
+ * @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.logging.v2.UpdateSinkRequest;
+
+ /**
+ * Decodes an UpdateSinkRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateSinkRequest
+ * @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.logging.v2.UpdateSinkRequest;
+
+ /**
+ * Verifies an UpdateSinkRequest 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 UpdateSinkRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateSinkRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.UpdateSinkRequest;
+
+ /**
+ * Creates a plain object from an UpdateSinkRequest message. Also converts values to other types if specified.
+ * @param message UpdateSinkRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.UpdateSinkRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateSinkRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateSinkRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteSinkRequest. */
+ interface IDeleteSinkRequest {
+
+ /** DeleteSinkRequest sinkName */
+ sinkName?: (string|null);
+ }
+
+ /** Represents a DeleteSinkRequest. */
+ class DeleteSinkRequest implements IDeleteSinkRequest {
+
+ /**
+ * Constructs a new DeleteSinkRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IDeleteSinkRequest);
+
+ /** DeleteSinkRequest sinkName. */
+ public sinkName: string;
+
+ /**
+ * Creates a new DeleteSinkRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteSinkRequest instance
+ */
+ public static create(properties?: google.logging.v2.IDeleteSinkRequest): google.logging.v2.DeleteSinkRequest;
+
+ /**
+ * Encodes the specified DeleteSinkRequest message. Does not implicitly {@link google.logging.v2.DeleteSinkRequest.verify|verify} messages.
+ * @param message DeleteSinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IDeleteSinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteSinkRequest message, length delimited. Does not implicitly {@link google.logging.v2.DeleteSinkRequest.verify|verify} messages.
+ * @param message DeleteSinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IDeleteSinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteSinkRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteSinkRequest
+ * @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.logging.v2.DeleteSinkRequest;
+
+ /**
+ * Decodes a DeleteSinkRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteSinkRequest
+ * @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.logging.v2.DeleteSinkRequest;
+
+ /**
+ * Verifies a DeleteSinkRequest 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 DeleteSinkRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteSinkRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.DeleteSinkRequest;
+
+ /**
+ * Creates a plain object from a DeleteSinkRequest message. Also converts values to other types if specified.
+ * @param message DeleteSinkRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.DeleteSinkRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteSinkRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteSinkRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateLinkRequest. */
+ interface ICreateLinkRequest {
+
+ /** CreateLinkRequest parent */
+ parent?: (string|null);
+
+ /** CreateLinkRequest link */
+ link?: (google.logging.v2.ILink|null);
+
+ /** CreateLinkRequest linkId */
+ linkId?: (string|null);
+ }
+
+ /** Represents a CreateLinkRequest. */
+ class CreateLinkRequest implements ICreateLinkRequest {
+
+ /**
+ * Constructs a new CreateLinkRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ICreateLinkRequest);
+
+ /** CreateLinkRequest parent. */
+ public parent: string;
+
+ /** CreateLinkRequest link. */
+ public link?: (google.logging.v2.ILink|null);
+
+ /** CreateLinkRequest linkId. */
+ public linkId: string;
+
+ /**
+ * Creates a new CreateLinkRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateLinkRequest instance
+ */
+ public static create(properties?: google.logging.v2.ICreateLinkRequest): google.logging.v2.CreateLinkRequest;
+
+ /**
+ * Encodes the specified CreateLinkRequest message. Does not implicitly {@link google.logging.v2.CreateLinkRequest.verify|verify} messages.
+ * @param message CreateLinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ICreateLinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateLinkRequest message, length delimited. Does not implicitly {@link google.logging.v2.CreateLinkRequest.verify|verify} messages.
+ * @param message CreateLinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ICreateLinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateLinkRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateLinkRequest
+ * @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.logging.v2.CreateLinkRequest;
+
+ /**
+ * Decodes a CreateLinkRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateLinkRequest
+ * @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.logging.v2.CreateLinkRequest;
+
+ /**
+ * Verifies a CreateLinkRequest 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 CreateLinkRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateLinkRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.CreateLinkRequest;
+
+ /**
+ * Creates a plain object from a CreateLinkRequest message. Also converts values to other types if specified.
+ * @param message CreateLinkRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.CreateLinkRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateLinkRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateLinkRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteLinkRequest. */
+ interface IDeleteLinkRequest {
+
+ /** DeleteLinkRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteLinkRequest. */
+ class DeleteLinkRequest implements IDeleteLinkRequest {
+
+ /**
+ * Constructs a new DeleteLinkRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IDeleteLinkRequest);
+
+ /** DeleteLinkRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteLinkRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteLinkRequest instance
+ */
+ public static create(properties?: google.logging.v2.IDeleteLinkRequest): google.logging.v2.DeleteLinkRequest;
+
+ /**
+ * Encodes the specified DeleteLinkRequest message. Does not implicitly {@link google.logging.v2.DeleteLinkRequest.verify|verify} messages.
+ * @param message DeleteLinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IDeleteLinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteLinkRequest message, length delimited. Does not implicitly {@link google.logging.v2.DeleteLinkRequest.verify|verify} messages.
+ * @param message DeleteLinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IDeleteLinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteLinkRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteLinkRequest
+ * @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.logging.v2.DeleteLinkRequest;
+
+ /**
+ * Decodes a DeleteLinkRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteLinkRequest
+ * @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.logging.v2.DeleteLinkRequest;
+
+ /**
+ * Verifies a DeleteLinkRequest 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 DeleteLinkRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteLinkRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.DeleteLinkRequest;
+
+ /**
+ * Creates a plain object from a DeleteLinkRequest message. Also converts values to other types if specified.
+ * @param message DeleteLinkRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.DeleteLinkRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteLinkRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteLinkRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListLinksRequest. */
+ interface IListLinksRequest {
+
+ /** ListLinksRequest parent */
+ parent?: (string|null);
+
+ /** ListLinksRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListLinksRequest pageSize */
+ pageSize?: (number|null);
+ }
+
+ /** Represents a ListLinksRequest. */
+ class ListLinksRequest implements IListLinksRequest {
+
+ /**
+ * Constructs a new ListLinksRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListLinksRequest);
+
+ /** ListLinksRequest parent. */
+ public parent: string;
+
+ /** ListLinksRequest pageToken. */
+ public pageToken: string;
+
+ /** ListLinksRequest pageSize. */
+ public pageSize: number;
+
+ /**
+ * Creates a new ListLinksRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListLinksRequest instance
+ */
+ public static create(properties?: google.logging.v2.IListLinksRequest): google.logging.v2.ListLinksRequest;
+
+ /**
+ * Encodes the specified ListLinksRequest message. Does not implicitly {@link google.logging.v2.ListLinksRequest.verify|verify} messages.
+ * @param message ListLinksRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListLinksRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListLinksRequest message, length delimited. Does not implicitly {@link google.logging.v2.ListLinksRequest.verify|verify} messages.
+ * @param message ListLinksRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListLinksRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListLinksRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListLinksRequest
+ * @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.logging.v2.ListLinksRequest;
+
+ /**
+ * Decodes a ListLinksRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListLinksRequest
+ * @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.logging.v2.ListLinksRequest;
+
+ /**
+ * Verifies a ListLinksRequest 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 ListLinksRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListLinksRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListLinksRequest;
+
+ /**
+ * Creates a plain object from a ListLinksRequest message. Also converts values to other types if specified.
+ * @param message ListLinksRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListLinksRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListLinksRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListLinksRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListLinksResponse. */
+ interface IListLinksResponse {
+
+ /** ListLinksResponse links */
+ links?: (google.logging.v2.ILink[]|null);
+
+ /** ListLinksResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListLinksResponse. */
+ class ListLinksResponse implements IListLinksResponse {
+
+ /**
+ * Constructs a new ListLinksResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListLinksResponse);
+
+ /** ListLinksResponse links. */
+ public links: google.logging.v2.ILink[];
+
+ /** ListLinksResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListLinksResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListLinksResponse instance
+ */
+ public static create(properties?: google.logging.v2.IListLinksResponse): google.logging.v2.ListLinksResponse;
+
+ /**
+ * Encodes the specified ListLinksResponse message. Does not implicitly {@link google.logging.v2.ListLinksResponse.verify|verify} messages.
+ * @param message ListLinksResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListLinksResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListLinksResponse message, length delimited. Does not implicitly {@link google.logging.v2.ListLinksResponse.verify|verify} messages.
+ * @param message ListLinksResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListLinksResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListLinksResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListLinksResponse
+ * @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.logging.v2.ListLinksResponse;
+
+ /**
+ * Decodes a ListLinksResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListLinksResponse
+ * @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.logging.v2.ListLinksResponse;
+
+ /**
+ * Verifies a ListLinksResponse 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 ListLinksResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListLinksResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListLinksResponse;
+
+ /**
+ * Creates a plain object from a ListLinksResponse message. Also converts values to other types if specified.
+ * @param message ListLinksResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListLinksResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListLinksResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListLinksResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetLinkRequest. */
+ interface IGetLinkRequest {
+
+ /** GetLinkRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetLinkRequest. */
+ class GetLinkRequest implements IGetLinkRequest {
+
+ /**
+ * Constructs a new GetLinkRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IGetLinkRequest);
+
+ /** GetLinkRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetLinkRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetLinkRequest instance
+ */
+ public static create(properties?: google.logging.v2.IGetLinkRequest): google.logging.v2.GetLinkRequest;
+
+ /**
+ * Encodes the specified GetLinkRequest message. Does not implicitly {@link google.logging.v2.GetLinkRequest.verify|verify} messages.
+ * @param message GetLinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IGetLinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetLinkRequest message, length delimited. Does not implicitly {@link google.logging.v2.GetLinkRequest.verify|verify} messages.
+ * @param message GetLinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IGetLinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetLinkRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetLinkRequest
+ * @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.logging.v2.GetLinkRequest;
+
+ /**
+ * Decodes a GetLinkRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetLinkRequest
+ * @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.logging.v2.GetLinkRequest;
+
+ /**
+ * Verifies a GetLinkRequest 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 GetLinkRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetLinkRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.GetLinkRequest;
+
+ /**
+ * Creates a plain object from a GetLinkRequest message. Also converts values to other types if specified.
+ * @param message GetLinkRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.GetLinkRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetLinkRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetLinkRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LogExclusion. */
+ interface ILogExclusion {
+
+ /** LogExclusion name */
+ name?: (string|null);
+
+ /** LogExclusion description */
+ description?: (string|null);
+
+ /** LogExclusion filter */
+ filter?: (string|null);
+
+ /** LogExclusion disabled */
+ disabled?: (boolean|null);
+
+ /** LogExclusion createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogExclusion updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a LogExclusion. */
+ class LogExclusion implements ILogExclusion {
+
+ /**
+ * Constructs a new LogExclusion.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ILogExclusion);
+
+ /** LogExclusion name. */
+ public name: string;
+
+ /** LogExclusion description. */
+ public description: string;
+
+ /** LogExclusion filter. */
+ public filter: string;
+
+ /** LogExclusion disabled. */
+ public disabled: boolean;
+
+ /** LogExclusion createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogExclusion updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new LogExclusion instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LogExclusion instance
+ */
+ public static create(properties?: google.logging.v2.ILogExclusion): google.logging.v2.LogExclusion;
+
+ /**
+ * Encodes the specified LogExclusion message. Does not implicitly {@link google.logging.v2.LogExclusion.verify|verify} messages.
+ * @param message LogExclusion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ILogExclusion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LogExclusion message, length delimited. Does not implicitly {@link google.logging.v2.LogExclusion.verify|verify} messages.
+ * @param message LogExclusion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ILogExclusion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LogExclusion message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LogExclusion
+ * @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.logging.v2.LogExclusion;
+
+ /**
+ * Decodes a LogExclusion message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LogExclusion
+ * @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.logging.v2.LogExclusion;
+
+ /**
+ * Verifies a LogExclusion 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 LogExclusion message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LogExclusion
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.LogExclusion;
+
+ /**
+ * Creates a plain object from a LogExclusion message. Also converts values to other types if specified.
+ * @param message LogExclusion
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.LogExclusion, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LogExclusion to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LogExclusion
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListExclusionsRequest. */
+ interface IListExclusionsRequest {
+
+ /** ListExclusionsRequest parent */
+ parent?: (string|null);
+
+ /** ListExclusionsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListExclusionsRequest pageSize */
+ pageSize?: (number|null);
+ }
+
+ /** Represents a ListExclusionsRequest. */
+ class ListExclusionsRequest implements IListExclusionsRequest {
+
+ /**
+ * Constructs a new ListExclusionsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListExclusionsRequest);
+
+ /** ListExclusionsRequest parent. */
+ public parent: string;
+
+ /** ListExclusionsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListExclusionsRequest pageSize. */
+ public pageSize: number;
+
+ /**
+ * Creates a new ListExclusionsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListExclusionsRequest instance
+ */
+ public static create(properties?: google.logging.v2.IListExclusionsRequest): google.logging.v2.ListExclusionsRequest;
+
+ /**
+ * Encodes the specified ListExclusionsRequest message. Does not implicitly {@link google.logging.v2.ListExclusionsRequest.verify|verify} messages.
+ * @param message ListExclusionsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListExclusionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListExclusionsRequest message, length delimited. Does not implicitly {@link google.logging.v2.ListExclusionsRequest.verify|verify} messages.
+ * @param message ListExclusionsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListExclusionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListExclusionsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListExclusionsRequest
+ * @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.logging.v2.ListExclusionsRequest;
+
+ /**
+ * Decodes a ListExclusionsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListExclusionsRequest
+ * @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.logging.v2.ListExclusionsRequest;
+
+ /**
+ * Verifies a ListExclusionsRequest 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 ListExclusionsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListExclusionsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListExclusionsRequest;
+
+ /**
+ * Creates a plain object from a ListExclusionsRequest message. Also converts values to other types if specified.
+ * @param message ListExclusionsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListExclusionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListExclusionsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListExclusionsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListExclusionsResponse. */
+ interface IListExclusionsResponse {
+
+ /** ListExclusionsResponse exclusions */
+ exclusions?: (google.logging.v2.ILogExclusion[]|null);
+
+ /** ListExclusionsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListExclusionsResponse. */
+ class ListExclusionsResponse implements IListExclusionsResponse {
+
+ /**
+ * Constructs a new ListExclusionsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListExclusionsResponse);
+
+ /** ListExclusionsResponse exclusions. */
+ public exclusions: google.logging.v2.ILogExclusion[];
+
+ /** ListExclusionsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListExclusionsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListExclusionsResponse instance
+ */
+ public static create(properties?: google.logging.v2.IListExclusionsResponse): google.logging.v2.ListExclusionsResponse;
+
+ /**
+ * Encodes the specified ListExclusionsResponse message. Does not implicitly {@link google.logging.v2.ListExclusionsResponse.verify|verify} messages.
+ * @param message ListExclusionsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListExclusionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListExclusionsResponse message, length delimited. Does not implicitly {@link google.logging.v2.ListExclusionsResponse.verify|verify} messages.
+ * @param message ListExclusionsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListExclusionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListExclusionsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListExclusionsResponse
+ * @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.logging.v2.ListExclusionsResponse;
+
+ /**
+ * Decodes a ListExclusionsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListExclusionsResponse
+ * @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.logging.v2.ListExclusionsResponse;
+
+ /**
+ * Verifies a ListExclusionsResponse 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 ListExclusionsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListExclusionsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListExclusionsResponse;
+
+ /**
+ * Creates a plain object from a ListExclusionsResponse message. Also converts values to other types if specified.
+ * @param message ListExclusionsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListExclusionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListExclusionsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListExclusionsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetExclusionRequest. */
+ interface IGetExclusionRequest {
+
+ /** GetExclusionRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetExclusionRequest. */
+ class GetExclusionRequest implements IGetExclusionRequest {
+
+ /**
+ * Constructs a new GetExclusionRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IGetExclusionRequest);
+
+ /** GetExclusionRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetExclusionRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetExclusionRequest instance
+ */
+ public static create(properties?: google.logging.v2.IGetExclusionRequest): google.logging.v2.GetExclusionRequest;
+
+ /**
+ * Encodes the specified GetExclusionRequest message. Does not implicitly {@link google.logging.v2.GetExclusionRequest.verify|verify} messages.
+ * @param message GetExclusionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IGetExclusionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetExclusionRequest message, length delimited. Does not implicitly {@link google.logging.v2.GetExclusionRequest.verify|verify} messages.
+ * @param message GetExclusionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IGetExclusionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetExclusionRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetExclusionRequest
+ * @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.logging.v2.GetExclusionRequest;
+
+ /**
+ * Decodes a GetExclusionRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetExclusionRequest
+ * @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.logging.v2.GetExclusionRequest;
+
+ /**
+ * Verifies a GetExclusionRequest 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 GetExclusionRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetExclusionRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.GetExclusionRequest;
+
+ /**
+ * Creates a plain object from a GetExclusionRequest message. Also converts values to other types if specified.
+ * @param message GetExclusionRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.GetExclusionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetExclusionRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetExclusionRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateExclusionRequest. */
+ interface ICreateExclusionRequest {
+
+ /** CreateExclusionRequest parent */
+ parent?: (string|null);
+
+ /** CreateExclusionRequest exclusion */
+ exclusion?: (google.logging.v2.ILogExclusion|null);
+ }
+
+ /** Represents a CreateExclusionRequest. */
+ class CreateExclusionRequest implements ICreateExclusionRequest {
+
+ /**
+ * Constructs a new CreateExclusionRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ICreateExclusionRequest);
+
+ /** CreateExclusionRequest parent. */
+ public parent: string;
+
+ /** CreateExclusionRequest exclusion. */
+ public exclusion?: (google.logging.v2.ILogExclusion|null);
+
+ /**
+ * Creates a new CreateExclusionRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateExclusionRequest instance
+ */
+ public static create(properties?: google.logging.v2.ICreateExclusionRequest): google.logging.v2.CreateExclusionRequest;
+
+ /**
+ * Encodes the specified CreateExclusionRequest message. Does not implicitly {@link google.logging.v2.CreateExclusionRequest.verify|verify} messages.
+ * @param message CreateExclusionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ICreateExclusionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateExclusionRequest message, length delimited. Does not implicitly {@link google.logging.v2.CreateExclusionRequest.verify|verify} messages.
+ * @param message CreateExclusionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ICreateExclusionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateExclusionRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateExclusionRequest
+ * @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.logging.v2.CreateExclusionRequest;
+
+ /**
+ * Decodes a CreateExclusionRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateExclusionRequest
+ * @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.logging.v2.CreateExclusionRequest;
+
+ /**
+ * Verifies a CreateExclusionRequest 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 CreateExclusionRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateExclusionRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.CreateExclusionRequest;
+
+ /**
+ * Creates a plain object from a CreateExclusionRequest message. Also converts values to other types if specified.
+ * @param message CreateExclusionRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.CreateExclusionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateExclusionRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateExclusionRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateExclusionRequest. */
+ interface IUpdateExclusionRequest {
+
+ /** UpdateExclusionRequest name */
+ name?: (string|null);
+
+ /** UpdateExclusionRequest exclusion */
+ exclusion?: (google.logging.v2.ILogExclusion|null);
+
+ /** UpdateExclusionRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateExclusionRequest. */
+ class UpdateExclusionRequest implements IUpdateExclusionRequest {
+
+ /**
+ * Constructs a new UpdateExclusionRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IUpdateExclusionRequest);
+
+ /** UpdateExclusionRequest name. */
+ public name: string;
+
+ /** UpdateExclusionRequest exclusion. */
+ public exclusion?: (google.logging.v2.ILogExclusion|null);
+
+ /** UpdateExclusionRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateExclusionRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateExclusionRequest instance
+ */
+ public static create(properties?: google.logging.v2.IUpdateExclusionRequest): google.logging.v2.UpdateExclusionRequest;
+
+ /**
+ * Encodes the specified UpdateExclusionRequest message. Does not implicitly {@link google.logging.v2.UpdateExclusionRequest.verify|verify} messages.
+ * @param message UpdateExclusionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IUpdateExclusionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateExclusionRequest message, length delimited. Does not implicitly {@link google.logging.v2.UpdateExclusionRequest.verify|verify} messages.
+ * @param message UpdateExclusionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IUpdateExclusionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateExclusionRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateExclusionRequest
+ * @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.logging.v2.UpdateExclusionRequest;
+
+ /**
+ * Decodes an UpdateExclusionRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateExclusionRequest
+ * @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.logging.v2.UpdateExclusionRequest;
+
+ /**
+ * Verifies an UpdateExclusionRequest 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 UpdateExclusionRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateExclusionRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.UpdateExclusionRequest;
+
+ /**
+ * Creates a plain object from an UpdateExclusionRequest message. Also converts values to other types if specified.
+ * @param message UpdateExclusionRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.UpdateExclusionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateExclusionRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateExclusionRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteExclusionRequest. */
+ interface IDeleteExclusionRequest {
+
+ /** DeleteExclusionRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteExclusionRequest. */
+ class DeleteExclusionRequest implements IDeleteExclusionRequest {
+
+ /**
+ * Constructs a new DeleteExclusionRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IDeleteExclusionRequest);
+
+ /** DeleteExclusionRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteExclusionRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteExclusionRequest instance
+ */
+ public static create(properties?: google.logging.v2.IDeleteExclusionRequest): google.logging.v2.DeleteExclusionRequest;
+
+ /**
+ * Encodes the specified DeleteExclusionRequest message. Does not implicitly {@link google.logging.v2.DeleteExclusionRequest.verify|verify} messages.
+ * @param message DeleteExclusionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IDeleteExclusionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteExclusionRequest message, length delimited. Does not implicitly {@link google.logging.v2.DeleteExclusionRequest.verify|verify} messages.
+ * @param message DeleteExclusionRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IDeleteExclusionRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteExclusionRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteExclusionRequest
+ * @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.logging.v2.DeleteExclusionRequest;
+
+ /**
+ * Decodes a DeleteExclusionRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteExclusionRequest
+ * @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.logging.v2.DeleteExclusionRequest;
+
+ /**
+ * Verifies a DeleteExclusionRequest 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 DeleteExclusionRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteExclusionRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.DeleteExclusionRequest;
+
+ /**
+ * Creates a plain object from a DeleteExclusionRequest message. Also converts values to other types if specified.
+ * @param message DeleteExclusionRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.DeleteExclusionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteExclusionRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteExclusionRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCmekSettingsRequest. */
+ interface IGetCmekSettingsRequest {
+
+ /** GetCmekSettingsRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCmekSettingsRequest. */
+ class GetCmekSettingsRequest implements IGetCmekSettingsRequest {
+
+ /**
+ * Constructs a new GetCmekSettingsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IGetCmekSettingsRequest);
+
+ /** GetCmekSettingsRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCmekSettingsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCmekSettingsRequest instance
+ */
+ public static create(properties?: google.logging.v2.IGetCmekSettingsRequest): google.logging.v2.GetCmekSettingsRequest;
+
+ /**
+ * Encodes the specified GetCmekSettingsRequest message. Does not implicitly {@link google.logging.v2.GetCmekSettingsRequest.verify|verify} messages.
+ * @param message GetCmekSettingsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IGetCmekSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCmekSettingsRequest message, length delimited. Does not implicitly {@link google.logging.v2.GetCmekSettingsRequest.verify|verify} messages.
+ * @param message GetCmekSettingsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IGetCmekSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCmekSettingsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCmekSettingsRequest
+ * @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.logging.v2.GetCmekSettingsRequest;
+
+ /**
+ * Decodes a GetCmekSettingsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCmekSettingsRequest
+ * @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.logging.v2.GetCmekSettingsRequest;
+
+ /**
+ * Verifies a GetCmekSettingsRequest 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 GetCmekSettingsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCmekSettingsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.GetCmekSettingsRequest;
+
+ /**
+ * Creates a plain object from a GetCmekSettingsRequest message. Also converts values to other types if specified.
+ * @param message GetCmekSettingsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.GetCmekSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCmekSettingsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCmekSettingsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCmekSettingsRequest. */
+ interface IUpdateCmekSettingsRequest {
+
+ /** UpdateCmekSettingsRequest name */
+ name?: (string|null);
+
+ /** UpdateCmekSettingsRequest cmekSettings */
+ cmekSettings?: (google.logging.v2.ICmekSettings|null);
+
+ /** UpdateCmekSettingsRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateCmekSettingsRequest. */
+ class UpdateCmekSettingsRequest implements IUpdateCmekSettingsRequest {
+
+ /**
+ * Constructs a new UpdateCmekSettingsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IUpdateCmekSettingsRequest);
+
+ /** UpdateCmekSettingsRequest name. */
+ public name: string;
+
+ /** UpdateCmekSettingsRequest cmekSettings. */
+ public cmekSettings?: (google.logging.v2.ICmekSettings|null);
+
+ /** UpdateCmekSettingsRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateCmekSettingsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCmekSettingsRequest instance
+ */
+ public static create(properties?: google.logging.v2.IUpdateCmekSettingsRequest): google.logging.v2.UpdateCmekSettingsRequest;
+
+ /**
+ * Encodes the specified UpdateCmekSettingsRequest message. Does not implicitly {@link google.logging.v2.UpdateCmekSettingsRequest.verify|verify} messages.
+ * @param message UpdateCmekSettingsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IUpdateCmekSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCmekSettingsRequest message, length delimited. Does not implicitly {@link google.logging.v2.UpdateCmekSettingsRequest.verify|verify} messages.
+ * @param message UpdateCmekSettingsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IUpdateCmekSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCmekSettingsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCmekSettingsRequest
+ * @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.logging.v2.UpdateCmekSettingsRequest;
+
+ /**
+ * Decodes an UpdateCmekSettingsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCmekSettingsRequest
+ * @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.logging.v2.UpdateCmekSettingsRequest;
+
+ /**
+ * Verifies an UpdateCmekSettingsRequest 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 UpdateCmekSettingsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCmekSettingsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.UpdateCmekSettingsRequest;
+
+ /**
+ * Creates a plain object from an UpdateCmekSettingsRequest message. Also converts values to other types if specified.
+ * @param message UpdateCmekSettingsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.UpdateCmekSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCmekSettingsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCmekSettingsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CmekSettings. */
+ interface ICmekSettings {
+
+ /** CmekSettings name */
+ name?: (string|null);
+
+ /** CmekSettings kmsKeyName */
+ kmsKeyName?: (string|null);
+
+ /** CmekSettings kmsKeyVersionName */
+ kmsKeyVersionName?: (string|null);
+
+ /** CmekSettings serviceAccountId */
+ serviceAccountId?: (string|null);
+ }
+
+ /** Represents a CmekSettings. */
+ class CmekSettings implements ICmekSettings {
+
+ /**
+ * Constructs a new CmekSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ICmekSettings);
+
+ /** CmekSettings name. */
+ public name: string;
+
+ /** CmekSettings kmsKeyName. */
+ public kmsKeyName: string;
+
+ /** CmekSettings kmsKeyVersionName. */
+ public kmsKeyVersionName: string;
+
+ /** CmekSettings serviceAccountId. */
+ public serviceAccountId: string;
+
+ /**
+ * Creates a new CmekSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CmekSettings instance
+ */
+ public static create(properties?: google.logging.v2.ICmekSettings): google.logging.v2.CmekSettings;
+
+ /**
+ * Encodes the specified CmekSettings message. Does not implicitly {@link google.logging.v2.CmekSettings.verify|verify} messages.
+ * @param message CmekSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ICmekSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CmekSettings message, length delimited. Does not implicitly {@link google.logging.v2.CmekSettings.verify|verify} messages.
+ * @param message CmekSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ICmekSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CmekSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CmekSettings
+ * @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.logging.v2.CmekSettings;
+
+ /**
+ * Decodes a CmekSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CmekSettings
+ * @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.logging.v2.CmekSettings;
+
+ /**
+ * Verifies a CmekSettings 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 CmekSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CmekSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.CmekSettings;
+
+ /**
+ * Creates a plain object from a CmekSettings message. Also converts values to other types if specified.
+ * @param message CmekSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.CmekSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CmekSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CmekSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetSettingsRequest. */
+ interface IGetSettingsRequest {
+
+ /** GetSettingsRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetSettingsRequest. */
+ class GetSettingsRequest implements IGetSettingsRequest {
+
+ /**
+ * Constructs a new GetSettingsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IGetSettingsRequest);
+
+ /** GetSettingsRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetSettingsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetSettingsRequest instance
+ */
+ public static create(properties?: google.logging.v2.IGetSettingsRequest): google.logging.v2.GetSettingsRequest;
+
+ /**
+ * Encodes the specified GetSettingsRequest message. Does not implicitly {@link google.logging.v2.GetSettingsRequest.verify|verify} messages.
+ * @param message GetSettingsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IGetSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetSettingsRequest message, length delimited. Does not implicitly {@link google.logging.v2.GetSettingsRequest.verify|verify} messages.
+ * @param message GetSettingsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IGetSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetSettingsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetSettingsRequest
+ * @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.logging.v2.GetSettingsRequest;
+
+ /**
+ * Decodes a GetSettingsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetSettingsRequest
+ * @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.logging.v2.GetSettingsRequest;
+
+ /**
+ * Verifies a GetSettingsRequest 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 GetSettingsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetSettingsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.GetSettingsRequest;
+
+ /**
+ * Creates a plain object from a GetSettingsRequest message. Also converts values to other types if specified.
+ * @param message GetSettingsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.GetSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetSettingsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetSettingsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateSettingsRequest. */
+ interface IUpdateSettingsRequest {
+
+ /** UpdateSettingsRequest name */
+ name?: (string|null);
+
+ /** UpdateSettingsRequest settings */
+ settings?: (google.logging.v2.ISettings|null);
+
+ /** UpdateSettingsRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateSettingsRequest. */
+ class UpdateSettingsRequest implements IUpdateSettingsRequest {
+
+ /**
+ * Constructs a new UpdateSettingsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IUpdateSettingsRequest);
+
+ /** UpdateSettingsRequest name. */
+ public name: string;
+
+ /** UpdateSettingsRequest settings. */
+ public settings?: (google.logging.v2.ISettings|null);
+
+ /** UpdateSettingsRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateSettingsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateSettingsRequest instance
+ */
+ public static create(properties?: google.logging.v2.IUpdateSettingsRequest): google.logging.v2.UpdateSettingsRequest;
+
+ /**
+ * Encodes the specified UpdateSettingsRequest message. Does not implicitly {@link google.logging.v2.UpdateSettingsRequest.verify|verify} messages.
+ * @param message UpdateSettingsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IUpdateSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateSettingsRequest message, length delimited. Does not implicitly {@link google.logging.v2.UpdateSettingsRequest.verify|verify} messages.
+ * @param message UpdateSettingsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IUpdateSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateSettingsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateSettingsRequest
+ * @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.logging.v2.UpdateSettingsRequest;
+
+ /**
+ * Decodes an UpdateSettingsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateSettingsRequest
+ * @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.logging.v2.UpdateSettingsRequest;
+
+ /**
+ * Verifies an UpdateSettingsRequest 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 UpdateSettingsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateSettingsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.UpdateSettingsRequest;
+
+ /**
+ * Creates a plain object from an UpdateSettingsRequest message. Also converts values to other types if specified.
+ * @param message UpdateSettingsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.UpdateSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateSettingsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateSettingsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Settings. */
+ interface ISettings {
+
+ /** Settings name */
+ name?: (string|null);
+
+ /** Settings kmsKeyName */
+ kmsKeyName?: (string|null);
+
+ /** Settings kmsServiceAccountId */
+ kmsServiceAccountId?: (string|null);
+
+ /** Settings storageLocation */
+ storageLocation?: (string|null);
+
+ /** Settings disableDefaultSink */
+ disableDefaultSink?: (boolean|null);
+ }
+
+ /** Represents a Settings. */
+ class Settings implements ISettings {
+
+ /**
+ * Constructs a new Settings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ISettings);
+
+ /** Settings name. */
+ public name: string;
+
+ /** Settings kmsKeyName. */
+ public kmsKeyName: string;
+
+ /** Settings kmsServiceAccountId. */
+ public kmsServiceAccountId: string;
+
+ /** Settings storageLocation. */
+ public storageLocation: string;
+
+ /** Settings disableDefaultSink. */
+ public disableDefaultSink: boolean;
+
+ /**
+ * Creates a new Settings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Settings instance
+ */
+ public static create(properties?: google.logging.v2.ISettings): google.logging.v2.Settings;
+
+ /**
+ * Encodes the specified Settings message. Does not implicitly {@link google.logging.v2.Settings.verify|verify} messages.
+ * @param message Settings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ISettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Settings message, length delimited. Does not implicitly {@link google.logging.v2.Settings.verify|verify} messages.
+ * @param message Settings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ISettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Settings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Settings
+ * @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.logging.v2.Settings;
+
+ /**
+ * Decodes a Settings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Settings
+ * @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.logging.v2.Settings;
+
+ /**
+ * Verifies a Settings 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 Settings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Settings
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.Settings;
+
+ /**
+ * Creates a plain object from a Settings message. Also converts values to other types if specified.
+ * @param message Settings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.Settings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Settings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Settings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CopyLogEntriesRequest. */
+ interface ICopyLogEntriesRequest {
+
+ /** CopyLogEntriesRequest name */
+ name?: (string|null);
+
+ /** CopyLogEntriesRequest filter */
+ filter?: (string|null);
+
+ /** CopyLogEntriesRequest destination */
+ destination?: (string|null);
+ }
+
+ /** Represents a CopyLogEntriesRequest. */
+ class CopyLogEntriesRequest implements ICopyLogEntriesRequest {
+
+ /**
+ * Constructs a new CopyLogEntriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ICopyLogEntriesRequest);
+
+ /** CopyLogEntriesRequest name. */
+ public name: string;
+
+ /** CopyLogEntriesRequest filter. */
+ public filter: string;
+
+ /** CopyLogEntriesRequest destination. */
+ public destination: string;
+
+ /**
+ * Creates a new CopyLogEntriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CopyLogEntriesRequest instance
+ */
+ public static create(properties?: google.logging.v2.ICopyLogEntriesRequest): google.logging.v2.CopyLogEntriesRequest;
+
+ /**
+ * Encodes the specified CopyLogEntriesRequest message. Does not implicitly {@link google.logging.v2.CopyLogEntriesRequest.verify|verify} messages.
+ * @param message CopyLogEntriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ICopyLogEntriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CopyLogEntriesRequest message, length delimited. Does not implicitly {@link google.logging.v2.CopyLogEntriesRequest.verify|verify} messages.
+ * @param message CopyLogEntriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ICopyLogEntriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CopyLogEntriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CopyLogEntriesRequest
+ * @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.logging.v2.CopyLogEntriesRequest;
+
+ /**
+ * Decodes a CopyLogEntriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CopyLogEntriesRequest
+ * @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.logging.v2.CopyLogEntriesRequest;
+
+ /**
+ * Verifies a CopyLogEntriesRequest 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 CopyLogEntriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CopyLogEntriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.CopyLogEntriesRequest;
+
+ /**
+ * Creates a plain object from a CopyLogEntriesRequest message. Also converts values to other types if specified.
+ * @param message CopyLogEntriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.CopyLogEntriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CopyLogEntriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CopyLogEntriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CopyLogEntriesMetadata. */
+ interface ICopyLogEntriesMetadata {
+
+ /** CopyLogEntriesMetadata startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** CopyLogEntriesMetadata endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** CopyLogEntriesMetadata state */
+ state?: (google.logging.v2.OperationState|keyof typeof google.logging.v2.OperationState|null);
+
+ /** CopyLogEntriesMetadata cancellationRequested */
+ cancellationRequested?: (boolean|null);
+
+ /** CopyLogEntriesMetadata request */
+ request?: (google.logging.v2.ICopyLogEntriesRequest|null);
+
+ /** CopyLogEntriesMetadata progress */
+ progress?: (number|null);
+
+ /** CopyLogEntriesMetadata writerIdentity */
+ writerIdentity?: (string|null);
+ }
+
+ /** Represents a CopyLogEntriesMetadata. */
+ class CopyLogEntriesMetadata implements ICopyLogEntriesMetadata {
+
+ /**
+ * Constructs a new CopyLogEntriesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ICopyLogEntriesMetadata);
+
+ /** CopyLogEntriesMetadata startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** CopyLogEntriesMetadata endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** CopyLogEntriesMetadata state. */
+ public state: (google.logging.v2.OperationState|keyof typeof google.logging.v2.OperationState);
+
+ /** CopyLogEntriesMetadata cancellationRequested. */
+ public cancellationRequested: boolean;
+
+ /** CopyLogEntriesMetadata request. */
+ public request?: (google.logging.v2.ICopyLogEntriesRequest|null);
+
+ /** CopyLogEntriesMetadata progress. */
+ public progress: number;
+
+ /** CopyLogEntriesMetadata writerIdentity. */
+ public writerIdentity: string;
+
+ /**
+ * Creates a new CopyLogEntriesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CopyLogEntriesMetadata instance
+ */
+ public static create(properties?: google.logging.v2.ICopyLogEntriesMetadata): google.logging.v2.CopyLogEntriesMetadata;
+
+ /**
+ * Encodes the specified CopyLogEntriesMetadata message. Does not implicitly {@link google.logging.v2.CopyLogEntriesMetadata.verify|verify} messages.
+ * @param message CopyLogEntriesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ICopyLogEntriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CopyLogEntriesMetadata message, length delimited. Does not implicitly {@link google.logging.v2.CopyLogEntriesMetadata.verify|verify} messages.
+ * @param message CopyLogEntriesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ICopyLogEntriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CopyLogEntriesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CopyLogEntriesMetadata
+ * @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.logging.v2.CopyLogEntriesMetadata;
+
+ /**
+ * Decodes a CopyLogEntriesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CopyLogEntriesMetadata
+ * @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.logging.v2.CopyLogEntriesMetadata;
+
+ /**
+ * Verifies a CopyLogEntriesMetadata 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 CopyLogEntriesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CopyLogEntriesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.CopyLogEntriesMetadata;
+
+ /**
+ * Creates a plain object from a CopyLogEntriesMetadata message. Also converts values to other types if specified.
+ * @param message CopyLogEntriesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.CopyLogEntriesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CopyLogEntriesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CopyLogEntriesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CopyLogEntriesResponse. */
+ interface ICopyLogEntriesResponse {
+
+ /** CopyLogEntriesResponse logEntriesCopiedCount */
+ logEntriesCopiedCount?: (number|Long|string|null);
+ }
+
+ /** Represents a CopyLogEntriesResponse. */
+ class CopyLogEntriesResponse implements ICopyLogEntriesResponse {
+
+ /**
+ * Constructs a new CopyLogEntriesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ICopyLogEntriesResponse);
+
+ /** CopyLogEntriesResponse logEntriesCopiedCount. */
+ public logEntriesCopiedCount: (number|Long|string);
+
+ /**
+ * Creates a new CopyLogEntriesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CopyLogEntriesResponse instance
+ */
+ public static create(properties?: google.logging.v2.ICopyLogEntriesResponse): google.logging.v2.CopyLogEntriesResponse;
+
+ /**
+ * Encodes the specified CopyLogEntriesResponse message. Does not implicitly {@link google.logging.v2.CopyLogEntriesResponse.verify|verify} messages.
+ * @param message CopyLogEntriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ICopyLogEntriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CopyLogEntriesResponse message, length delimited. Does not implicitly {@link google.logging.v2.CopyLogEntriesResponse.verify|verify} messages.
+ * @param message CopyLogEntriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ICopyLogEntriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CopyLogEntriesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CopyLogEntriesResponse
+ * @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.logging.v2.CopyLogEntriesResponse;
+
+ /**
+ * Decodes a CopyLogEntriesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CopyLogEntriesResponse
+ * @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.logging.v2.CopyLogEntriesResponse;
+
+ /**
+ * Verifies a CopyLogEntriesResponse 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 CopyLogEntriesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CopyLogEntriesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.CopyLogEntriesResponse;
+
+ /**
+ * Creates a plain object from a CopyLogEntriesResponse message. Also converts values to other types if specified.
+ * @param message CopyLogEntriesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.CopyLogEntriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CopyLogEntriesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CopyLogEntriesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BucketMetadata. */
+ interface IBucketMetadata {
+
+ /** BucketMetadata startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** BucketMetadata endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** BucketMetadata state */
+ state?: (google.logging.v2.OperationState|keyof typeof google.logging.v2.OperationState|null);
+
+ /** BucketMetadata createBucketRequest */
+ createBucketRequest?: (google.logging.v2.ICreateBucketRequest|null);
+
+ /** BucketMetadata updateBucketRequest */
+ updateBucketRequest?: (google.logging.v2.IUpdateBucketRequest|null);
+ }
+
+ /** Represents a BucketMetadata. */
+ class BucketMetadata implements IBucketMetadata {
+
+ /**
+ * Constructs a new BucketMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IBucketMetadata);
+
+ /** BucketMetadata startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** BucketMetadata endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** BucketMetadata state. */
+ public state: (google.logging.v2.OperationState|keyof typeof google.logging.v2.OperationState);
+
+ /** BucketMetadata createBucketRequest. */
+ public createBucketRequest?: (google.logging.v2.ICreateBucketRequest|null);
+
+ /** BucketMetadata updateBucketRequest. */
+ public updateBucketRequest?: (google.logging.v2.IUpdateBucketRequest|null);
+
+ /** BucketMetadata request. */
+ public request?: ("createBucketRequest"|"updateBucketRequest");
+
+ /**
+ * Creates a new BucketMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BucketMetadata instance
+ */
+ public static create(properties?: google.logging.v2.IBucketMetadata): google.logging.v2.BucketMetadata;
+
+ /**
+ * Encodes the specified BucketMetadata message. Does not implicitly {@link google.logging.v2.BucketMetadata.verify|verify} messages.
+ * @param message BucketMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IBucketMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BucketMetadata message, length delimited. Does not implicitly {@link google.logging.v2.BucketMetadata.verify|verify} messages.
+ * @param message BucketMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IBucketMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BucketMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BucketMetadata
+ * @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.logging.v2.BucketMetadata;
+
+ /**
+ * Decodes a BucketMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BucketMetadata
+ * @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.logging.v2.BucketMetadata;
+
+ /**
+ * Verifies a BucketMetadata 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 BucketMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BucketMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.BucketMetadata;
+
+ /**
+ * Creates a plain object from a BucketMetadata message. Also converts values to other types if specified.
+ * @param message BucketMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.BucketMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BucketMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BucketMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LinkMetadata. */
+ interface ILinkMetadata {
+
+ /** LinkMetadata startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** LinkMetadata endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** LinkMetadata state */
+ state?: (google.logging.v2.OperationState|keyof typeof google.logging.v2.OperationState|null);
+
+ /** LinkMetadata createLinkRequest */
+ createLinkRequest?: (google.logging.v2.ICreateLinkRequest|null);
+
+ /** LinkMetadata deleteLinkRequest */
+ deleteLinkRequest?: (google.logging.v2.IDeleteLinkRequest|null);
+ }
+
+ /** Represents a LinkMetadata. */
+ class LinkMetadata implements ILinkMetadata {
+
+ /**
+ * Constructs a new LinkMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ILinkMetadata);
+
+ /** LinkMetadata startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** LinkMetadata endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** LinkMetadata state. */
+ public state: (google.logging.v2.OperationState|keyof typeof google.logging.v2.OperationState);
+
+ /** LinkMetadata createLinkRequest. */
+ public createLinkRequest?: (google.logging.v2.ICreateLinkRequest|null);
+
+ /** LinkMetadata deleteLinkRequest. */
+ public deleteLinkRequest?: (google.logging.v2.IDeleteLinkRequest|null);
+
+ /** LinkMetadata request. */
+ public request?: ("createLinkRequest"|"deleteLinkRequest");
+
+ /**
+ * Creates a new LinkMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LinkMetadata instance
+ */
+ public static create(properties?: google.logging.v2.ILinkMetadata): google.logging.v2.LinkMetadata;
+
+ /**
+ * Encodes the specified LinkMetadata message. Does not implicitly {@link google.logging.v2.LinkMetadata.verify|verify} messages.
+ * @param message LinkMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ILinkMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LinkMetadata message, length delimited. Does not implicitly {@link google.logging.v2.LinkMetadata.verify|verify} messages.
+ * @param message LinkMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ILinkMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LinkMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LinkMetadata
+ * @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.logging.v2.LinkMetadata;
+
+ /**
+ * Decodes a LinkMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LinkMetadata
+ * @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.logging.v2.LinkMetadata;
+
+ /**
+ * Verifies a LinkMetadata 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 LinkMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LinkMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.LinkMetadata;
+
+ /**
+ * Creates a plain object from a LinkMetadata message. Also converts values to other types if specified.
+ * @param message LinkMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.LinkMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LinkMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LinkMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** OperationState enum. */
+ enum OperationState {
+ OPERATION_STATE_UNSPECIFIED = 0,
+ OPERATION_STATE_SCHEDULED = 1,
+ OPERATION_STATE_WAITING_FOR_PERMISSIONS = 2,
+ OPERATION_STATE_RUNNING = 3,
+ OPERATION_STATE_SUCCEEDED = 4,
+ OPERATION_STATE_FAILED = 5,
+ OPERATION_STATE_CANCELLED = 6
+ }
+
+ /** LifecycleState enum. */
+ enum LifecycleState {
+ LIFECYCLE_STATE_UNSPECIFIED = 0,
+ ACTIVE = 1,
+ DELETE_REQUESTED = 2,
+ UPDATING = 3,
+ CREATING = 4,
+ FAILED = 5
+ }
+
+ /** IndexType enum. */
+ enum IndexType {
+ INDEX_TYPE_UNSPECIFIED = 0,
+ INDEX_TYPE_STRING = 1,
+ INDEX_TYPE_INTEGER = 2
+ }
+
+ /** Properties of a LocationMetadata. */
+ interface ILocationMetadata {
+
+ /** LocationMetadata logAnalyticsEnabled */
+ logAnalyticsEnabled?: (boolean|null);
+ }
+
+ /** Represents a LocationMetadata. */
+ class LocationMetadata implements ILocationMetadata {
+
+ /**
+ * Constructs a new LocationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ILocationMetadata);
+
+ /** LocationMetadata logAnalyticsEnabled. */
+ public logAnalyticsEnabled: boolean;
+
+ /**
+ * Creates a new LocationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LocationMetadata instance
+ */
+ public static create(properties?: google.logging.v2.ILocationMetadata): google.logging.v2.LocationMetadata;
+
+ /**
+ * Encodes the specified LocationMetadata message. Does not implicitly {@link google.logging.v2.LocationMetadata.verify|verify} messages.
+ * @param message LocationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ILocationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LocationMetadata message, length delimited. Does not implicitly {@link google.logging.v2.LocationMetadata.verify|verify} messages.
+ * @param message LocationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ILocationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LocationMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LocationMetadata
+ * @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.logging.v2.LocationMetadata;
+
+ /**
+ * Decodes a LocationMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LocationMetadata
+ * @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.logging.v2.LocationMetadata;
+
+ /**
+ * Verifies a LocationMetadata 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 LocationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LocationMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.LocationMetadata;
+
+ /**
+ * Creates a plain object from a LocationMetadata message. Also converts values to other types if specified.
+ * @param message LocationMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.LocationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LocationMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LocationMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a MetricsServiceV2 */
+ class MetricsServiceV2 extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new MetricsServiceV2 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 MetricsServiceV2 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): MetricsServiceV2;
+
+ /**
+ * Calls ListLogMetrics.
+ * @param request ListLogMetricsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListLogMetricsResponse
+ */
+ public listLogMetrics(request: google.logging.v2.IListLogMetricsRequest, callback: google.logging.v2.MetricsServiceV2.ListLogMetricsCallback): void;
+
+ /**
+ * Calls ListLogMetrics.
+ * @param request ListLogMetricsRequest message or plain object
+ * @returns Promise
+ */
+ public listLogMetrics(request: google.logging.v2.IListLogMetricsRequest): Promise;
+
+ /**
+ * Calls GetLogMetric.
+ * @param request GetLogMetricRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogMetric
+ */
+ public getLogMetric(request: google.logging.v2.IGetLogMetricRequest, callback: google.logging.v2.MetricsServiceV2.GetLogMetricCallback): void;
+
+ /**
+ * Calls GetLogMetric.
+ * @param request GetLogMetricRequest message or plain object
+ * @returns Promise
+ */
+ public getLogMetric(request: google.logging.v2.IGetLogMetricRequest): Promise;
+
+ /**
+ * Calls CreateLogMetric.
+ * @param request CreateLogMetricRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogMetric
+ */
+ public createLogMetric(request: google.logging.v2.ICreateLogMetricRequest, callback: google.logging.v2.MetricsServiceV2.CreateLogMetricCallback): void;
+
+ /**
+ * Calls CreateLogMetric.
+ * @param request CreateLogMetricRequest message or plain object
+ * @returns Promise
+ */
+ public createLogMetric(request: google.logging.v2.ICreateLogMetricRequest): Promise;
+
+ /**
+ * Calls UpdateLogMetric.
+ * @param request UpdateLogMetricRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and LogMetric
+ */
+ public updateLogMetric(request: google.logging.v2.IUpdateLogMetricRequest, callback: google.logging.v2.MetricsServiceV2.UpdateLogMetricCallback): void;
+
+ /**
+ * Calls UpdateLogMetric.
+ * @param request UpdateLogMetricRequest message or plain object
+ * @returns Promise
+ */
+ public updateLogMetric(request: google.logging.v2.IUpdateLogMetricRequest): Promise;
+
+ /**
+ * Calls DeleteLogMetric.
+ * @param request DeleteLogMetricRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteLogMetric(request: google.logging.v2.IDeleteLogMetricRequest, callback: google.logging.v2.MetricsServiceV2.DeleteLogMetricCallback): void;
+
+ /**
+ * Calls DeleteLogMetric.
+ * @param request DeleteLogMetricRequest message or plain object
+ * @returns Promise
+ */
+ public deleteLogMetric(request: google.logging.v2.IDeleteLogMetricRequest): Promise;
+ }
+
+ namespace MetricsServiceV2 {
+
+ /**
+ * Callback as used by {@link google.logging.v2.MetricsServiceV2|listLogMetrics}.
+ * @param error Error, if any
+ * @param [response] ListLogMetricsResponse
+ */
+ type ListLogMetricsCallback = (error: (Error|null), response?: google.logging.v2.ListLogMetricsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.MetricsServiceV2|getLogMetric}.
+ * @param error Error, if any
+ * @param [response] LogMetric
+ */
+ type GetLogMetricCallback = (error: (Error|null), response?: google.logging.v2.LogMetric) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.MetricsServiceV2|createLogMetric}.
+ * @param error Error, if any
+ * @param [response] LogMetric
+ */
+ type CreateLogMetricCallback = (error: (Error|null), response?: google.logging.v2.LogMetric) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.MetricsServiceV2|updateLogMetric}.
+ * @param error Error, if any
+ * @param [response] LogMetric
+ */
+ type UpdateLogMetricCallback = (error: (Error|null), response?: google.logging.v2.LogMetric) => void;
+
+ /**
+ * Callback as used by {@link google.logging.v2.MetricsServiceV2|deleteLogMetric}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteLogMetricCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+ }
+
+ /** Properties of a LogMetric. */
+ interface ILogMetric {
+
+ /** LogMetric name */
+ name?: (string|null);
+
+ /** LogMetric description */
+ description?: (string|null);
+
+ /** LogMetric filter */
+ filter?: (string|null);
+
+ /** LogMetric bucketName */
+ bucketName?: (string|null);
+
+ /** LogMetric disabled */
+ disabled?: (boolean|null);
+
+ /** LogMetric metricDescriptor */
+ metricDescriptor?: (google.api.IMetricDescriptor|null);
+
+ /** LogMetric valueExtractor */
+ valueExtractor?: (string|null);
+
+ /** LogMetric labelExtractors */
+ labelExtractors?: ({ [k: string]: string }|null);
+
+ /** LogMetric bucketOptions */
+ bucketOptions?: (google.api.Distribution.IBucketOptions|null);
+
+ /** LogMetric createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogMetric updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogMetric version */
+ version?: (google.logging.v2.LogMetric.ApiVersion|keyof typeof google.logging.v2.LogMetric.ApiVersion|null);
+ }
+
+ /** Represents a LogMetric. */
+ class LogMetric implements ILogMetric {
+
+ /**
+ * Constructs a new LogMetric.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ILogMetric);
+
+ /** LogMetric name. */
+ public name: string;
+
+ /** LogMetric description. */
+ public description: string;
+
+ /** LogMetric filter. */
+ public filter: string;
+
+ /** LogMetric bucketName. */
+ public bucketName: string;
+
+ /** LogMetric disabled. */
+ public disabled: boolean;
+
+ /** LogMetric metricDescriptor. */
+ public metricDescriptor?: (google.api.IMetricDescriptor|null);
+
+ /** LogMetric valueExtractor. */
+ public valueExtractor: string;
+
+ /** LogMetric labelExtractors. */
+ public labelExtractors: { [k: string]: string };
+
+ /** LogMetric bucketOptions. */
+ public bucketOptions?: (google.api.Distribution.IBucketOptions|null);
+
+ /** LogMetric createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogMetric updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** LogMetric version. */
+ public version: (google.logging.v2.LogMetric.ApiVersion|keyof typeof google.logging.v2.LogMetric.ApiVersion);
+
+ /**
+ * Creates a new LogMetric instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LogMetric instance
+ */
+ public static create(properties?: google.logging.v2.ILogMetric): google.logging.v2.LogMetric;
+
+ /**
+ * Encodes the specified LogMetric message. Does not implicitly {@link google.logging.v2.LogMetric.verify|verify} messages.
+ * @param message LogMetric message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ILogMetric, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LogMetric message, length delimited. Does not implicitly {@link google.logging.v2.LogMetric.verify|verify} messages.
+ * @param message LogMetric message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ILogMetric, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LogMetric message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LogMetric
+ * @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.logging.v2.LogMetric;
+
+ /**
+ * Decodes a LogMetric message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LogMetric
+ * @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.logging.v2.LogMetric;
+
+ /**
+ * Verifies a LogMetric 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 LogMetric message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LogMetric
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.LogMetric;
+
+ /**
+ * Creates a plain object from a LogMetric message. Also converts values to other types if specified.
+ * @param message LogMetric
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.LogMetric, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LogMetric to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LogMetric
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace LogMetric {
+
+ /** ApiVersion enum. */
+ enum ApiVersion {
+ V2 = 0,
+ V1 = 1
+ }
+ }
+
+ /** Properties of a ListLogMetricsRequest. */
+ interface IListLogMetricsRequest {
+
+ /** ListLogMetricsRequest parent */
+ parent?: (string|null);
+
+ /** ListLogMetricsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListLogMetricsRequest pageSize */
+ pageSize?: (number|null);
+ }
+
+ /** Represents a ListLogMetricsRequest. */
+ class ListLogMetricsRequest implements IListLogMetricsRequest {
+
+ /**
+ * Constructs a new ListLogMetricsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListLogMetricsRequest);
+
+ /** ListLogMetricsRequest parent. */
+ public parent: string;
+
+ /** ListLogMetricsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListLogMetricsRequest pageSize. */
+ public pageSize: number;
+
+ /**
+ * Creates a new ListLogMetricsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListLogMetricsRequest instance
+ */
+ public static create(properties?: google.logging.v2.IListLogMetricsRequest): google.logging.v2.ListLogMetricsRequest;
+
+ /**
+ * Encodes the specified ListLogMetricsRequest message. Does not implicitly {@link google.logging.v2.ListLogMetricsRequest.verify|verify} messages.
+ * @param message ListLogMetricsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListLogMetricsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListLogMetricsRequest message, length delimited. Does not implicitly {@link google.logging.v2.ListLogMetricsRequest.verify|verify} messages.
+ * @param message ListLogMetricsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListLogMetricsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListLogMetricsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListLogMetricsRequest
+ * @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.logging.v2.ListLogMetricsRequest;
+
+ /**
+ * Decodes a ListLogMetricsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListLogMetricsRequest
+ * @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.logging.v2.ListLogMetricsRequest;
+
+ /**
+ * Verifies a ListLogMetricsRequest 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 ListLogMetricsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListLogMetricsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListLogMetricsRequest;
+
+ /**
+ * Creates a plain object from a ListLogMetricsRequest message. Also converts values to other types if specified.
+ * @param message ListLogMetricsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListLogMetricsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListLogMetricsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListLogMetricsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListLogMetricsResponse. */
+ interface IListLogMetricsResponse {
+
+ /** ListLogMetricsResponse metrics */
+ metrics?: (google.logging.v2.ILogMetric[]|null);
+
+ /** ListLogMetricsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListLogMetricsResponse. */
+ class ListLogMetricsResponse implements IListLogMetricsResponse {
+
+ /**
+ * Constructs a new ListLogMetricsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IListLogMetricsResponse);
+
+ /** ListLogMetricsResponse metrics. */
+ public metrics: google.logging.v2.ILogMetric[];
+
+ /** ListLogMetricsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListLogMetricsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListLogMetricsResponse instance
+ */
+ public static create(properties?: google.logging.v2.IListLogMetricsResponse): google.logging.v2.ListLogMetricsResponse;
+
+ /**
+ * Encodes the specified ListLogMetricsResponse message. Does not implicitly {@link google.logging.v2.ListLogMetricsResponse.verify|verify} messages.
+ * @param message ListLogMetricsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IListLogMetricsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListLogMetricsResponse message, length delimited. Does not implicitly {@link google.logging.v2.ListLogMetricsResponse.verify|verify} messages.
+ * @param message ListLogMetricsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IListLogMetricsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListLogMetricsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListLogMetricsResponse
+ * @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.logging.v2.ListLogMetricsResponse;
+
+ /**
+ * Decodes a ListLogMetricsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListLogMetricsResponse
+ * @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.logging.v2.ListLogMetricsResponse;
+
+ /**
+ * Verifies a ListLogMetricsResponse 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 ListLogMetricsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListLogMetricsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.ListLogMetricsResponse;
+
+ /**
+ * Creates a plain object from a ListLogMetricsResponse message. Also converts values to other types if specified.
+ * @param message ListLogMetricsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.ListLogMetricsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListLogMetricsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListLogMetricsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetLogMetricRequest. */
+ interface IGetLogMetricRequest {
+
+ /** GetLogMetricRequest metricName */
+ metricName?: (string|null);
+ }
+
+ /** Represents a GetLogMetricRequest. */
+ class GetLogMetricRequest implements IGetLogMetricRequest {
+
+ /**
+ * Constructs a new GetLogMetricRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IGetLogMetricRequest);
+
+ /** GetLogMetricRequest metricName. */
+ public metricName: string;
+
+ /**
+ * Creates a new GetLogMetricRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetLogMetricRequest instance
+ */
+ public static create(properties?: google.logging.v2.IGetLogMetricRequest): google.logging.v2.GetLogMetricRequest;
+
+ /**
+ * Encodes the specified GetLogMetricRequest message. Does not implicitly {@link google.logging.v2.GetLogMetricRequest.verify|verify} messages.
+ * @param message GetLogMetricRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IGetLogMetricRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetLogMetricRequest message, length delimited. Does not implicitly {@link google.logging.v2.GetLogMetricRequest.verify|verify} messages.
+ * @param message GetLogMetricRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IGetLogMetricRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetLogMetricRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetLogMetricRequest
+ * @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.logging.v2.GetLogMetricRequest;
+
+ /**
+ * Decodes a GetLogMetricRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetLogMetricRequest
+ * @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.logging.v2.GetLogMetricRequest;
+
+ /**
+ * Verifies a GetLogMetricRequest 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 GetLogMetricRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetLogMetricRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.GetLogMetricRequest;
+
+ /**
+ * Creates a plain object from a GetLogMetricRequest message. Also converts values to other types if specified.
+ * @param message GetLogMetricRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.GetLogMetricRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetLogMetricRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetLogMetricRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateLogMetricRequest. */
+ interface ICreateLogMetricRequest {
+
+ /** CreateLogMetricRequest parent */
+ parent?: (string|null);
+
+ /** CreateLogMetricRequest metric */
+ metric?: (google.logging.v2.ILogMetric|null);
+ }
+
+ /** Represents a CreateLogMetricRequest. */
+ class CreateLogMetricRequest implements ICreateLogMetricRequest {
+
+ /**
+ * Constructs a new CreateLogMetricRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.ICreateLogMetricRequest);
+
+ /** CreateLogMetricRequest parent. */
+ public parent: string;
+
+ /** CreateLogMetricRequest metric. */
+ public metric?: (google.logging.v2.ILogMetric|null);
+
+ /**
+ * Creates a new CreateLogMetricRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateLogMetricRequest instance
+ */
+ public static create(properties?: google.logging.v2.ICreateLogMetricRequest): google.logging.v2.CreateLogMetricRequest;
+
+ /**
+ * Encodes the specified CreateLogMetricRequest message. Does not implicitly {@link google.logging.v2.CreateLogMetricRequest.verify|verify} messages.
+ * @param message CreateLogMetricRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.ICreateLogMetricRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateLogMetricRequest message, length delimited. Does not implicitly {@link google.logging.v2.CreateLogMetricRequest.verify|verify} messages.
+ * @param message CreateLogMetricRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.ICreateLogMetricRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateLogMetricRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateLogMetricRequest
+ * @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.logging.v2.CreateLogMetricRequest;
+
+ /**
+ * Decodes a CreateLogMetricRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateLogMetricRequest
+ * @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.logging.v2.CreateLogMetricRequest;
+
+ /**
+ * Verifies a CreateLogMetricRequest 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 CreateLogMetricRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateLogMetricRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.CreateLogMetricRequest;
+
+ /**
+ * Creates a plain object from a CreateLogMetricRequest message. Also converts values to other types if specified.
+ * @param message CreateLogMetricRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.CreateLogMetricRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateLogMetricRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateLogMetricRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateLogMetricRequest. */
+ interface IUpdateLogMetricRequest {
+
+ /** UpdateLogMetricRequest metricName */
+ metricName?: (string|null);
+
+ /** UpdateLogMetricRequest metric */
+ metric?: (google.logging.v2.ILogMetric|null);
+ }
+
+ /** Represents an UpdateLogMetricRequest. */
+ class UpdateLogMetricRequest implements IUpdateLogMetricRequest {
+
+ /**
+ * Constructs a new UpdateLogMetricRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IUpdateLogMetricRequest);
+
+ /** UpdateLogMetricRequest metricName. */
+ public metricName: string;
+
+ /** UpdateLogMetricRequest metric. */
+ public metric?: (google.logging.v2.ILogMetric|null);
+
+ /**
+ * Creates a new UpdateLogMetricRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateLogMetricRequest instance
+ */
+ public static create(properties?: google.logging.v2.IUpdateLogMetricRequest): google.logging.v2.UpdateLogMetricRequest;
+
+ /**
+ * Encodes the specified UpdateLogMetricRequest message. Does not implicitly {@link google.logging.v2.UpdateLogMetricRequest.verify|verify} messages.
+ * @param message UpdateLogMetricRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IUpdateLogMetricRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateLogMetricRequest message, length delimited. Does not implicitly {@link google.logging.v2.UpdateLogMetricRequest.verify|verify} messages.
+ * @param message UpdateLogMetricRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IUpdateLogMetricRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateLogMetricRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateLogMetricRequest
+ * @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.logging.v2.UpdateLogMetricRequest;
+
+ /**
+ * Decodes an UpdateLogMetricRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateLogMetricRequest
+ * @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.logging.v2.UpdateLogMetricRequest;
+
+ /**
+ * Verifies an UpdateLogMetricRequest 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 UpdateLogMetricRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateLogMetricRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.UpdateLogMetricRequest;
+
+ /**
+ * Creates a plain object from an UpdateLogMetricRequest message. Also converts values to other types if specified.
+ * @param message UpdateLogMetricRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.UpdateLogMetricRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateLogMetricRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateLogMetricRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteLogMetricRequest. */
+ interface IDeleteLogMetricRequest {
+
+ /** DeleteLogMetricRequest metricName */
+ metricName?: (string|null);
+ }
+
+ /** Represents a DeleteLogMetricRequest. */
+ class DeleteLogMetricRequest implements IDeleteLogMetricRequest {
+
+ /**
+ * Constructs a new DeleteLogMetricRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.logging.v2.IDeleteLogMetricRequest);
+
+ /** DeleteLogMetricRequest metricName. */
+ public metricName: string;
+
+ /**
+ * Creates a new DeleteLogMetricRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteLogMetricRequest instance
+ */
+ public static create(properties?: google.logging.v2.IDeleteLogMetricRequest): google.logging.v2.DeleteLogMetricRequest;
+
+ /**
+ * Encodes the specified DeleteLogMetricRequest message. Does not implicitly {@link google.logging.v2.DeleteLogMetricRequest.verify|verify} messages.
+ * @param message DeleteLogMetricRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.logging.v2.IDeleteLogMetricRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteLogMetricRequest message, length delimited. Does not implicitly {@link google.logging.v2.DeleteLogMetricRequest.verify|verify} messages.
+ * @param message DeleteLogMetricRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.logging.v2.IDeleteLogMetricRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteLogMetricRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteLogMetricRequest
+ * @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.logging.v2.DeleteLogMetricRequest;
+
+ /**
+ * Decodes a DeleteLogMetricRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteLogMetricRequest
+ * @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.logging.v2.DeleteLogMetricRequest;
+
+ /**
+ * Verifies a DeleteLogMetricRequest 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 DeleteLogMetricRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteLogMetricRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.logging.v2.DeleteLogMetricRequest;
+
+ /**
+ * Creates a plain object from a DeleteLogMetricRequest message. Also converts values to other types if specified.
+ * @param message DeleteLogMetricRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.logging.v2.DeleteLogMetricRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteLogMetricRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteLogMetricRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+
+ /** Namespace api. */
+ namespace api {
+
+ /** 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 MonitoredResourceDescriptor. */
+ interface IMonitoredResourceDescriptor {
+
+ /** MonitoredResourceDescriptor name */
+ name?: (string|null);
+
+ /** MonitoredResourceDescriptor type */
+ type?: (string|null);
+
+ /** MonitoredResourceDescriptor displayName */
+ displayName?: (string|null);
+
+ /** MonitoredResourceDescriptor description */
+ description?: (string|null);
+
+ /** MonitoredResourceDescriptor labels */
+ labels?: (google.api.ILabelDescriptor[]|null);
+
+ /** MonitoredResourceDescriptor launchStage */
+ launchStage?: (google.api.LaunchStage|keyof typeof google.api.LaunchStage|null);
+ }
+
+ /** Represents a MonitoredResourceDescriptor. */
+ class MonitoredResourceDescriptor implements IMonitoredResourceDescriptor {
+
+ /**
+ * Constructs a new MonitoredResourceDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IMonitoredResourceDescriptor);
+
+ /** MonitoredResourceDescriptor name. */
+ public name: string;
+
+ /** MonitoredResourceDescriptor type. */
+ public type: string;
+
+ /** MonitoredResourceDescriptor displayName. */
+ public displayName: string;
+
+ /** MonitoredResourceDescriptor description. */
+ public description: string;
+
+ /** MonitoredResourceDescriptor labels. */
+ public labels: google.api.ILabelDescriptor[];
+
+ /** MonitoredResourceDescriptor launchStage. */
+ public launchStage: (google.api.LaunchStage|keyof typeof google.api.LaunchStage);
+
+ /**
+ * Creates a new MonitoredResourceDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MonitoredResourceDescriptor instance
+ */
+ public static create(properties?: google.api.IMonitoredResourceDescriptor): google.api.MonitoredResourceDescriptor;
+
+ /**
+ * Encodes the specified MonitoredResourceDescriptor message. Does not implicitly {@link google.api.MonitoredResourceDescriptor.verify|verify} messages.
+ * @param message MonitoredResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IMonitoredResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MonitoredResourceDescriptor message, length delimited. Does not implicitly {@link google.api.MonitoredResourceDescriptor.verify|verify} messages.
+ * @param message MonitoredResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IMonitoredResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MonitoredResourceDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MonitoredResourceDescriptor
+ * @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.MonitoredResourceDescriptor;
+
+ /**
+ * Decodes a MonitoredResourceDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MonitoredResourceDescriptor
+ * @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.MonitoredResourceDescriptor;
+
+ /**
+ * Verifies a MonitoredResourceDescriptor 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 MonitoredResourceDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MonitoredResourceDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.MonitoredResourceDescriptor;
+
+ /**
+ * Creates a plain object from a MonitoredResourceDescriptor message. Also converts values to other types if specified.
+ * @param message MonitoredResourceDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.MonitoredResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MonitoredResourceDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MonitoredResourceDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MonitoredResource. */
+ interface IMonitoredResource {
+
+ /** MonitoredResource type */
+ type?: (string|null);
+
+ /** MonitoredResource labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a MonitoredResource. */
+ class MonitoredResource implements IMonitoredResource {
+
+ /**
+ * Constructs a new MonitoredResource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IMonitoredResource);
+
+ /** MonitoredResource type. */
+ public type: string;
+
+ /** MonitoredResource labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new MonitoredResource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MonitoredResource instance
+ */
+ public static create(properties?: google.api.IMonitoredResource): google.api.MonitoredResource;
+
+ /**
+ * Encodes the specified MonitoredResource message. Does not implicitly {@link google.api.MonitoredResource.verify|verify} messages.
+ * @param message MonitoredResource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IMonitoredResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MonitoredResource message, length delimited. Does not implicitly {@link google.api.MonitoredResource.verify|verify} messages.
+ * @param message MonitoredResource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IMonitoredResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MonitoredResource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MonitoredResource
+ * @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.MonitoredResource;
+
+ /**
+ * Decodes a MonitoredResource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MonitoredResource
+ * @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.MonitoredResource;
+
+ /**
+ * Verifies a MonitoredResource 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 MonitoredResource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MonitoredResource
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.MonitoredResource;
+
+ /**
+ * Creates a plain object from a MonitoredResource message. Also converts values to other types if specified.
+ * @param message MonitoredResource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.MonitoredResource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MonitoredResource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MonitoredResource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MonitoredResourceMetadata. */
+ interface IMonitoredResourceMetadata {
+
+ /** MonitoredResourceMetadata systemLabels */
+ systemLabels?: (google.protobuf.IStruct|null);
+
+ /** MonitoredResourceMetadata userLabels */
+ userLabels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a MonitoredResourceMetadata. */
+ class MonitoredResourceMetadata implements IMonitoredResourceMetadata {
+
+ /**
+ * Constructs a new MonitoredResourceMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IMonitoredResourceMetadata);
+
+ /** MonitoredResourceMetadata systemLabels. */
+ public systemLabels?: (google.protobuf.IStruct|null);
+
+ /** MonitoredResourceMetadata userLabels. */
+ public userLabels: { [k: string]: string };
+
+ /**
+ * Creates a new MonitoredResourceMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MonitoredResourceMetadata instance
+ */
+ public static create(properties?: google.api.IMonitoredResourceMetadata): google.api.MonitoredResourceMetadata;
+
+ /**
+ * Encodes the specified MonitoredResourceMetadata message. Does not implicitly {@link google.api.MonitoredResourceMetadata.verify|verify} messages.
+ * @param message MonitoredResourceMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IMonitoredResourceMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MonitoredResourceMetadata message, length delimited. Does not implicitly {@link google.api.MonitoredResourceMetadata.verify|verify} messages.
+ * @param message MonitoredResourceMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IMonitoredResourceMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MonitoredResourceMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MonitoredResourceMetadata
+ * @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.MonitoredResourceMetadata;
+
+ /**
+ * Decodes a MonitoredResourceMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MonitoredResourceMetadata
+ * @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.MonitoredResourceMetadata;
+
+ /**
+ * Verifies a MonitoredResourceMetadata 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 MonitoredResourceMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MonitoredResourceMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.MonitoredResourceMetadata;
+
+ /**
+ * Creates a plain object from a MonitoredResourceMetadata message. Also converts values to other types if specified.
+ * @param message MonitoredResourceMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.MonitoredResourceMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MonitoredResourceMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MonitoredResourceMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelDescriptor. */
+ interface ILabelDescriptor {
+
+ /** LabelDescriptor key */
+ key?: (string|null);
+
+ /** LabelDescriptor valueType */
+ valueType?: (google.api.LabelDescriptor.ValueType|keyof typeof google.api.LabelDescriptor.ValueType|null);
+
+ /** LabelDescriptor description */
+ description?: (string|null);
+ }
+
+ /** Represents a LabelDescriptor. */
+ class LabelDescriptor implements ILabelDescriptor {
+
+ /**
+ * Constructs a new LabelDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ILabelDescriptor);
+
+ /** LabelDescriptor key. */
+ public key: string;
+
+ /** LabelDescriptor valueType. */
+ public valueType: (google.api.LabelDescriptor.ValueType|keyof typeof google.api.LabelDescriptor.ValueType);
+
+ /** LabelDescriptor description. */
+ public description: string;
+
+ /**
+ * Creates a new LabelDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelDescriptor instance
+ */
+ public static create(properties?: google.api.ILabelDescriptor): google.api.LabelDescriptor;
+
+ /**
+ * Encodes the specified LabelDescriptor message. Does not implicitly {@link google.api.LabelDescriptor.verify|verify} messages.
+ * @param message LabelDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ILabelDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelDescriptor message, length delimited. Does not implicitly {@link google.api.LabelDescriptor.verify|verify} messages.
+ * @param message LabelDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ILabelDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelDescriptor
+ * @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.LabelDescriptor;
+
+ /**
+ * Decodes a LabelDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelDescriptor
+ * @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.LabelDescriptor;
+
+ /**
+ * Verifies a LabelDescriptor 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 LabelDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.LabelDescriptor;
+
+ /**
+ * Creates a plain object from a LabelDescriptor message. Also converts values to other types if specified.
+ * @param message LabelDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.LabelDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace LabelDescriptor {
+
+ /** ValueType enum. */
+ enum ValueType {
+ STRING = 0,
+ BOOL = 1,
+ INT64 = 2
+ }
+ }
+
+ /** LaunchStage enum. */
+ enum LaunchStage {
+ LAUNCH_STAGE_UNSPECIFIED = 0,
+ UNIMPLEMENTED = 6,
+ PRELAUNCH = 7,
+ EARLY_ACCESS = 1,
+ ALPHA = 2,
+ BETA = 3,
+ GA = 4,
+ DEPRECATED = 5
+ }
+
+ /** 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;
+ }
+
+ /** 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;
+ }
+
+ /** Properties of a Distribution. */
+ interface IDistribution {
+
+ /** Distribution count */
+ count?: (number|Long|string|null);
+
+ /** Distribution mean */
+ mean?: (number|null);
+
+ /** Distribution sumOfSquaredDeviation */
+ sumOfSquaredDeviation?: (number|null);
+
+ /** Distribution range */
+ range?: (google.api.Distribution.IRange|null);
+
+ /** Distribution bucketOptions */
+ bucketOptions?: (google.api.Distribution.IBucketOptions|null);
+
+ /** Distribution bucketCounts */
+ bucketCounts?: ((number|Long|string)[]|null);
+
+ /** Distribution exemplars */
+ exemplars?: (google.api.Distribution.IExemplar[]|null);
+ }
+
+ /** Represents a Distribution. */
+ class Distribution implements IDistribution {
+
+ /**
+ * Constructs a new Distribution.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IDistribution);
+
+ /** Distribution count. */
+ public count: (number|Long|string);
+
+ /** Distribution mean. */
+ public mean: number;
+
+ /** Distribution sumOfSquaredDeviation. */
+ public sumOfSquaredDeviation: number;
+
+ /** Distribution range. */
+ public range?: (google.api.Distribution.IRange|null);
+
+ /** Distribution bucketOptions. */
+ public bucketOptions?: (google.api.Distribution.IBucketOptions|null);
+
+ /** Distribution bucketCounts. */
+ public bucketCounts: (number|Long|string)[];
+
+ /** Distribution exemplars. */
+ public exemplars: google.api.Distribution.IExemplar[];
+
+ /**
+ * Creates a new Distribution instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Distribution instance
+ */
+ public static create(properties?: google.api.IDistribution): google.api.Distribution;
+
+ /**
+ * Encodes the specified Distribution message. Does not implicitly {@link google.api.Distribution.verify|verify} messages.
+ * @param message Distribution message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IDistribution, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Distribution message, length delimited. Does not implicitly {@link google.api.Distribution.verify|verify} messages.
+ * @param message Distribution message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IDistribution, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Distribution message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Distribution
+ * @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.Distribution;
+
+ /**
+ * Decodes a Distribution message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Distribution
+ * @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.Distribution;
+
+ /**
+ * Verifies a Distribution 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 Distribution message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Distribution
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Distribution;
+
+ /**
+ * Creates a plain object from a Distribution message. Also converts values to other types if specified.
+ * @param message Distribution
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Distribution, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Distribution to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Distribution
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Distribution {
+
+ /** Properties of a Range. */
+ interface IRange {
+
+ /** Range min */
+ min?: (number|null);
+
+ /** Range max */
+ max?: (number|null);
+ }
+
+ /** Represents a Range. */
+ class Range implements IRange {
+
+ /**
+ * Constructs a new Range.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.Distribution.IRange);
+
+ /** Range min. */
+ public min: number;
+
+ /** Range max. */
+ public max: number;
+
+ /**
+ * Creates a new Range instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Range instance
+ */
+ public static create(properties?: google.api.Distribution.IRange): google.api.Distribution.Range;
+
+ /**
+ * Encodes the specified Range message. Does not implicitly {@link google.api.Distribution.Range.verify|verify} messages.
+ * @param message Range message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.Distribution.IRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Range message, length delimited. Does not implicitly {@link google.api.Distribution.Range.verify|verify} messages.
+ * @param message Range message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.Distribution.IRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Range message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Range
+ * @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.Distribution.Range;
+
+ /**
+ * Decodes a Range message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Range
+ * @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.Distribution.Range;
+
+ /**
+ * Verifies a Range 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 Range message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Range
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Distribution.Range;
+
+ /**
+ * Creates a plain object from a Range message. Also converts values to other types if specified.
+ * @param message Range
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Distribution.Range, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Range to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Range
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BucketOptions. */
+ interface IBucketOptions {
+
+ /** BucketOptions linearBuckets */
+ linearBuckets?: (google.api.Distribution.BucketOptions.ILinear|null);
+
+ /** BucketOptions exponentialBuckets */
+ exponentialBuckets?: (google.api.Distribution.BucketOptions.IExponential|null);
+
+ /** BucketOptions explicitBuckets */
+ explicitBuckets?: (google.api.Distribution.BucketOptions.IExplicit|null);
+ }
+
+ /** Represents a BucketOptions. */
+ class BucketOptions implements IBucketOptions {
+
+ /**
+ * Constructs a new BucketOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.Distribution.IBucketOptions);
+
+ /** BucketOptions linearBuckets. */
+ public linearBuckets?: (google.api.Distribution.BucketOptions.ILinear|null);
+
+ /** BucketOptions exponentialBuckets. */
+ public exponentialBuckets?: (google.api.Distribution.BucketOptions.IExponential|null);
+
+ /** BucketOptions explicitBuckets. */
+ public explicitBuckets?: (google.api.Distribution.BucketOptions.IExplicit|null);
+
+ /** BucketOptions options. */
+ public options?: ("linearBuckets"|"exponentialBuckets"|"explicitBuckets");
+
+ /**
+ * Creates a new BucketOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BucketOptions instance
+ */
+ public static create(properties?: google.api.Distribution.IBucketOptions): google.api.Distribution.BucketOptions;
+
+ /**
+ * Encodes the specified BucketOptions message. Does not implicitly {@link google.api.Distribution.BucketOptions.verify|verify} messages.
+ * @param message BucketOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.Distribution.IBucketOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BucketOptions message, length delimited. Does not implicitly {@link google.api.Distribution.BucketOptions.verify|verify} messages.
+ * @param message BucketOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.Distribution.IBucketOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BucketOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BucketOptions
+ * @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.Distribution.BucketOptions;
+
+ /**
+ * Decodes a BucketOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BucketOptions
+ * @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.Distribution.BucketOptions;
+
+ /**
+ * Verifies a BucketOptions 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 BucketOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BucketOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Distribution.BucketOptions;
+
+ /**
+ * Creates a plain object from a BucketOptions message. Also converts values to other types if specified.
+ * @param message BucketOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Distribution.BucketOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BucketOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BucketOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace BucketOptions {
+
+ /** Properties of a Linear. */
+ interface ILinear {
+
+ /** Linear numFiniteBuckets */
+ numFiniteBuckets?: (number|null);
+
+ /** Linear width */
+ width?: (number|null);
+
+ /** Linear offset */
+ offset?: (number|null);
+ }
+
+ /** Represents a Linear. */
+ class Linear implements ILinear {
+
+ /**
+ * Constructs a new Linear.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.Distribution.BucketOptions.ILinear);
+
+ /** Linear numFiniteBuckets. */
+ public numFiniteBuckets: number;
+
+ /** Linear width. */
+ public width: number;
+
+ /** Linear offset. */
+ public offset: number;
+
+ /**
+ * Creates a new Linear instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Linear instance
+ */
+ public static create(properties?: google.api.Distribution.BucketOptions.ILinear): google.api.Distribution.BucketOptions.Linear;
+
+ /**
+ * Encodes the specified Linear message. Does not implicitly {@link google.api.Distribution.BucketOptions.Linear.verify|verify} messages.
+ * @param message Linear message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.Distribution.BucketOptions.ILinear, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Linear message, length delimited. Does not implicitly {@link google.api.Distribution.BucketOptions.Linear.verify|verify} messages.
+ * @param message Linear message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.Distribution.BucketOptions.ILinear, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Linear message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Linear
+ * @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.Distribution.BucketOptions.Linear;
+
+ /**
+ * Decodes a Linear message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Linear
+ * @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.Distribution.BucketOptions.Linear;
+
+ /**
+ * Verifies a Linear 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 Linear message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Linear
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Distribution.BucketOptions.Linear;
+
+ /**
+ * Creates a plain object from a Linear message. Also converts values to other types if specified.
+ * @param message Linear
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Distribution.BucketOptions.Linear, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Linear to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Linear
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Exponential. */
+ interface IExponential {
+
+ /** Exponential numFiniteBuckets */
+ numFiniteBuckets?: (number|null);
+
+ /** Exponential growthFactor */
+ growthFactor?: (number|null);
+
+ /** Exponential scale */
+ scale?: (number|null);
+ }
+
+ /** Represents an Exponential. */
+ class Exponential implements IExponential {
+
+ /**
+ * Constructs a new Exponential.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.Distribution.BucketOptions.IExponential);
+
+ /** Exponential numFiniteBuckets. */
+ public numFiniteBuckets: number;
+
+ /** Exponential growthFactor. */
+ public growthFactor: number;
+
+ /** Exponential scale. */
+ public scale: number;
+
+ /**
+ * Creates a new Exponential instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Exponential instance
+ */
+ public static create(properties?: google.api.Distribution.BucketOptions.IExponential): google.api.Distribution.BucketOptions.Exponential;
+
+ /**
+ * Encodes the specified Exponential message. Does not implicitly {@link google.api.Distribution.BucketOptions.Exponential.verify|verify} messages.
+ * @param message Exponential message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.Distribution.BucketOptions.IExponential, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Exponential message, length delimited. Does not implicitly {@link google.api.Distribution.BucketOptions.Exponential.verify|verify} messages.
+ * @param message Exponential message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.Distribution.BucketOptions.IExponential, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Exponential message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Exponential
+ * @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.Distribution.BucketOptions.Exponential;
+
+ /**
+ * Decodes an Exponential message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Exponential
+ * @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.Distribution.BucketOptions.Exponential;
+
+ /**
+ * Verifies an Exponential 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 Exponential message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Exponential
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Distribution.BucketOptions.Exponential;
+
+ /**
+ * Creates a plain object from an Exponential message. Also converts values to other types if specified.
+ * @param message Exponential
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Distribution.BucketOptions.Exponential, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Exponential to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Exponential
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Explicit. */
+ interface IExplicit {
+
+ /** Explicit bounds */
+ bounds?: (number[]|null);
+ }
+
+ /** Represents an Explicit. */
+ class Explicit implements IExplicit {
+
+ /**
+ * Constructs a new Explicit.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.Distribution.BucketOptions.IExplicit);
+
+ /** Explicit bounds. */
+ public bounds: number[];
+
+ /**
+ * Creates a new Explicit instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Explicit instance
+ */
+ public static create(properties?: google.api.Distribution.BucketOptions.IExplicit): google.api.Distribution.BucketOptions.Explicit;
+
+ /**
+ * Encodes the specified Explicit message. Does not implicitly {@link google.api.Distribution.BucketOptions.Explicit.verify|verify} messages.
+ * @param message Explicit message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.Distribution.BucketOptions.IExplicit, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Explicit message, length delimited. Does not implicitly {@link google.api.Distribution.BucketOptions.Explicit.verify|verify} messages.
+ * @param message Explicit message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.Distribution.BucketOptions.IExplicit, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Explicit message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Explicit
+ * @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.Distribution.BucketOptions.Explicit;
+
+ /**
+ * Decodes an Explicit message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Explicit
+ * @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.Distribution.BucketOptions.Explicit;
+
+ /**
+ * Verifies an Explicit 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 Explicit message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Explicit
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Distribution.BucketOptions.Explicit;
+
+ /**
+ * Creates a plain object from an Explicit message. Also converts values to other types if specified.
+ * @param message Explicit
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Distribution.BucketOptions.Explicit, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Explicit to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Explicit
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an Exemplar. */
+ interface IExemplar {
+
+ /** Exemplar value */
+ value?: (number|null);
+
+ /** Exemplar timestamp */
+ timestamp?: (google.protobuf.ITimestamp|null);
+
+ /** Exemplar attachments */
+ attachments?: (google.protobuf.IAny[]|null);
+ }
+
+ /** Represents an Exemplar. */
+ class Exemplar implements IExemplar {
+
+ /**
+ * Constructs a new Exemplar.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.Distribution.IExemplar);
+
+ /** Exemplar value. */
+ public value: number;
+
+ /** Exemplar timestamp. */
+ public timestamp?: (google.protobuf.ITimestamp|null);
+
+ /** Exemplar attachments. */
+ public attachments: google.protobuf.IAny[];
+
+ /**
+ * Creates a new Exemplar instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Exemplar instance
+ */
+ public static create(properties?: google.api.Distribution.IExemplar): google.api.Distribution.Exemplar;
+
+ /**
+ * Encodes the specified Exemplar message. Does not implicitly {@link google.api.Distribution.Exemplar.verify|verify} messages.
+ * @param message Exemplar message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.Distribution.IExemplar, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Exemplar message, length delimited. Does not implicitly {@link google.api.Distribution.Exemplar.verify|verify} messages.
+ * @param message Exemplar message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.Distribution.IExemplar, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Exemplar message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Exemplar
+ * @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.Distribution.Exemplar;
+
+ /**
+ * Decodes an Exemplar message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Exemplar
+ * @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.Distribution.Exemplar;
+
+ /**
+ * Verifies an Exemplar 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 Exemplar message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Exemplar
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Distribution.Exemplar;
+
+ /**
+ * Creates a plain object from an Exemplar message. Also converts values to other types if specified.
+ * @param message Exemplar
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Distribution.Exemplar, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Exemplar to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Exemplar
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a MetricDescriptor. */
+ interface IMetricDescriptor {
+
+ /** MetricDescriptor name */
+ name?: (string|null);
+
+ /** MetricDescriptor type */
+ type?: (string|null);
+
+ /** MetricDescriptor labels */
+ labels?: (google.api.ILabelDescriptor[]|null);
+
+ /** MetricDescriptor metricKind */
+ metricKind?: (google.api.MetricDescriptor.MetricKind|keyof typeof google.api.MetricDescriptor.MetricKind|null);
+
+ /** MetricDescriptor valueType */
+ valueType?: (google.api.MetricDescriptor.ValueType|keyof typeof google.api.MetricDescriptor.ValueType|null);
+
+ /** MetricDescriptor unit */
+ unit?: (string|null);
+
+ /** MetricDescriptor description */
+ description?: (string|null);
+
+ /** MetricDescriptor displayName */
+ displayName?: (string|null);
+
+ /** MetricDescriptor metadata */
+ metadata?: (google.api.MetricDescriptor.IMetricDescriptorMetadata|null);
+
+ /** MetricDescriptor launchStage */
+ launchStage?: (google.api.LaunchStage|keyof typeof google.api.LaunchStage|null);
+
+ /** MetricDescriptor monitoredResourceTypes */
+ monitoredResourceTypes?: (string[]|null);
+ }
+
+ /** Represents a MetricDescriptor. */
+ class MetricDescriptor implements IMetricDescriptor {
+
+ /**
+ * Constructs a new MetricDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IMetricDescriptor);
+
+ /** MetricDescriptor name. */
+ public name: string;
+
+ /** MetricDescriptor type. */
+ public type: string;
+
+ /** MetricDescriptor labels. */
+ public labels: google.api.ILabelDescriptor[];
+
+ /** MetricDescriptor metricKind. */
+ public metricKind: (google.api.MetricDescriptor.MetricKind|keyof typeof google.api.MetricDescriptor.MetricKind);
+
+ /** MetricDescriptor valueType. */
+ public valueType: (google.api.MetricDescriptor.ValueType|keyof typeof google.api.MetricDescriptor.ValueType);
+
+ /** MetricDescriptor unit. */
+ public unit: string;
+
+ /** MetricDescriptor description. */
+ public description: string;
+
+ /** MetricDescriptor displayName. */
+ public displayName: string;
+
+ /** MetricDescriptor metadata. */
+ public metadata?: (google.api.MetricDescriptor.IMetricDescriptorMetadata|null);
+
+ /** MetricDescriptor launchStage. */
+ public launchStage: (google.api.LaunchStage|keyof typeof google.api.LaunchStage);
+
+ /** MetricDescriptor monitoredResourceTypes. */
+ public monitoredResourceTypes: string[];
+
+ /**
+ * Creates a new MetricDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MetricDescriptor instance
+ */
+ public static create(properties?: google.api.IMetricDescriptor): google.api.MetricDescriptor;
+
+ /**
+ * Encodes the specified MetricDescriptor message. Does not implicitly {@link google.api.MetricDescriptor.verify|verify} messages.
+ * @param message MetricDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IMetricDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MetricDescriptor message, length delimited. Does not implicitly {@link google.api.MetricDescriptor.verify|verify} messages.
+ * @param message MetricDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IMetricDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MetricDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MetricDescriptor
+ * @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.MetricDescriptor;
+
+ /**
+ * Decodes a MetricDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MetricDescriptor
+ * @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.MetricDescriptor;
+
+ /**
+ * Verifies a MetricDescriptor 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 MetricDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MetricDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.MetricDescriptor;
+
+ /**
+ * Creates a plain object from a MetricDescriptor message. Also converts values to other types if specified.
+ * @param message MetricDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.MetricDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MetricDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MetricDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MetricDescriptor {
+
+ /** MetricKind enum. */
+ enum MetricKind {
+ METRIC_KIND_UNSPECIFIED = 0,
+ GAUGE = 1,
+ DELTA = 2,
+ CUMULATIVE = 3
+ }
+
+ /** ValueType enum. */
+ enum ValueType {
+ VALUE_TYPE_UNSPECIFIED = 0,
+ BOOL = 1,
+ INT64 = 2,
+ DOUBLE = 3,
+ STRING = 4,
+ DISTRIBUTION = 5,
+ MONEY = 6
+ }
+
+ /** Properties of a MetricDescriptorMetadata. */
+ interface IMetricDescriptorMetadata {
+
+ /** MetricDescriptorMetadata launchStage */
+ launchStage?: (google.api.LaunchStage|keyof typeof google.api.LaunchStage|null);
+
+ /** MetricDescriptorMetadata samplePeriod */
+ samplePeriod?: (google.protobuf.IDuration|null);
+
+ /** MetricDescriptorMetadata ingestDelay */
+ ingestDelay?: (google.protobuf.IDuration|null);
+
+ /** MetricDescriptorMetadata timeSeriesResourceHierarchyLevel */
+ timeSeriesResourceHierarchyLevel?: (google.api.MetricDescriptor.MetricDescriptorMetadata.TimeSeriesResourceHierarchyLevel[]|null);
+ }
+
+ /** Represents a MetricDescriptorMetadata. */
+ class MetricDescriptorMetadata implements IMetricDescriptorMetadata {
+
+ /**
+ * Constructs a new MetricDescriptorMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.MetricDescriptor.IMetricDescriptorMetadata);
+
+ /** MetricDescriptorMetadata launchStage. */
+ public launchStage: (google.api.LaunchStage|keyof typeof google.api.LaunchStage);
+
+ /** MetricDescriptorMetadata samplePeriod. */
+ public samplePeriod?: (google.protobuf.IDuration|null);
+
+ /** MetricDescriptorMetadata ingestDelay. */
+ public ingestDelay?: (google.protobuf.IDuration|null);
+
+ /** MetricDescriptorMetadata timeSeriesResourceHierarchyLevel. */
+ public timeSeriesResourceHierarchyLevel: google.api.MetricDescriptor.MetricDescriptorMetadata.TimeSeriesResourceHierarchyLevel[];
+
+ /**
+ * Creates a new MetricDescriptorMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MetricDescriptorMetadata instance
+ */
+ public static create(properties?: google.api.MetricDescriptor.IMetricDescriptorMetadata): google.api.MetricDescriptor.MetricDescriptorMetadata;
+
+ /**
+ * Encodes the specified MetricDescriptorMetadata message. Does not implicitly {@link google.api.MetricDescriptor.MetricDescriptorMetadata.verify|verify} messages.
+ * @param message MetricDescriptorMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.MetricDescriptor.IMetricDescriptorMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MetricDescriptorMetadata message, length delimited. Does not implicitly {@link google.api.MetricDescriptor.MetricDescriptorMetadata.verify|verify} messages.
+ * @param message MetricDescriptorMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.MetricDescriptor.IMetricDescriptorMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MetricDescriptorMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MetricDescriptorMetadata
+ * @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.MetricDescriptor.MetricDescriptorMetadata;
+
+ /**
+ * Decodes a MetricDescriptorMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MetricDescriptorMetadata
+ * @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.MetricDescriptor.MetricDescriptorMetadata;
+
+ /**
+ * Verifies a MetricDescriptorMetadata 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 MetricDescriptorMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MetricDescriptorMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.MetricDescriptor.MetricDescriptorMetadata;
+
+ /**
+ * Creates a plain object from a MetricDescriptorMetadata message. Also converts values to other types if specified.
+ * @param message MetricDescriptorMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.MetricDescriptor.MetricDescriptorMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MetricDescriptorMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MetricDescriptorMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MetricDescriptorMetadata {
+
+ /** TimeSeriesResourceHierarchyLevel enum. */
+ enum TimeSeriesResourceHierarchyLevel {
+ TIME_SERIES_RESOURCE_HIERARCHY_LEVEL_UNSPECIFIED = 0,
+ PROJECT = 1,
+ ORGANIZATION = 2,
+ FOLDER = 3
+ }
+ }
+ }
+
+ /** Properties of a Metric. */
+ interface IMetric {
+
+ /** Metric type */
+ type?: (string|null);
+
+ /** Metric labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a Metric. */
+ class Metric implements IMetric {
+
+ /**
+ * Constructs a new Metric.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IMetric);
+
+ /** Metric type. */
+ public type: string;
+
+ /** Metric labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new Metric instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Metric instance
+ */
+ public static create(properties?: google.api.IMetric): google.api.Metric;
+
+ /**
+ * Encodes the specified Metric message. Does not implicitly {@link google.api.Metric.verify|verify} messages.
+ * @param message Metric message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IMetric, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Metric message, length delimited. Does not implicitly {@link google.api.Metric.verify|verify} messages.
+ * @param message Metric message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IMetric, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Metric message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Metric
+ * @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.Metric;
+
+ /**
+ * Decodes a Metric message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Metric
+ * @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.Metric;
+
+ /**
+ * Verifies a Metric 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 Metric message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Metric
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Metric;
+
+ /**
+ * Creates a plain object from a Metric message. Also converts values to other types if specified.
+ * @param message Metric
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Metric, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Metric to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Metric
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace rpc. */
+ namespace rpc {
+
+ /** Properties of a Status. */
+ interface IStatus {
+
+ /** Status code */
+ code?: (number|null);
+
+ /** Status message */
+ message?: (string|null);
+
+ /** Status details */
+ details?: (google.protobuf.IAny[]|null);
+ }
+
+ /** Represents a Status. */
+ class Status implements IStatus {
+
+ /**
+ * Constructs a new Status.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.rpc.IStatus);
+
+ /** Status code. */
+ public code: number;
+
+ /** Status message. */
+ public message: string;
+
+ /** Status details. */
+ public details: google.protobuf.IAny[];
+
+ /**
+ * Creates a new Status instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Status instance
+ */
+ public static create(properties?: google.rpc.IStatus): google.rpc.Status;
+
+ /**
+ * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Status
+ * @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.rpc.Status;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Status
+ * @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.rpc.Status;
+
+ /**
+ * Verifies a Status 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 Status message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Status
+ */
+ public static fromObject(object: { [k: string]: any }): google.rpc.Status;
+
+ /**
+ * Creates a plain object from a Status message. Also converts values to other types if specified.
+ * @param message Status
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.rpc.Status, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Status to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Status
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace longrunning. */
+ namespace longrunning {
+
+ /** Represents an Operations */
+ class Operations extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Operations 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 Operations 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): Operations;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListOperationsResponse
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest, callback: google.longrunning.Operations.ListOperationsCallback): void;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @returns Promise
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest): Promise;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest, callback: google.longrunning.Operations.GetOperationCallback): void;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @returns Promise
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest): Promise;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest, callback: google.longrunning.Operations.DeleteOperationCallback): void;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @returns Promise
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest): Promise;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest, callback: google.longrunning.Operations.CancelOperationCallback): void;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @returns Promise
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest): Promise;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest, callback: google.longrunning.Operations.WaitOperationCallback): void;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @returns Promise
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest): Promise;
+ }
+
+ namespace Operations {
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|listOperations}.
+ * @param error Error, if any
+ * @param [response] ListOperationsResponse
+ */
+ type ListOperationsCallback = (error: (Error|null), response?: google.longrunning.ListOperationsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|getOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type GetOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|deleteOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|cancelOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type CancelOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|waitOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type WaitOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an Operation. */
+ interface IOperation {
+
+ /** Operation name */
+ name?: (string|null);
+
+ /** Operation metadata */
+ metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done */
+ done?: (boolean|null);
+
+ /** Operation error */
+ error?: (google.rpc.IStatus|null);
+
+ /** Operation response */
+ response?: (google.protobuf.IAny|null);
+ }
+
+ /** Represents an Operation. */
+ class Operation implements IOperation {
+
+ /**
+ * Constructs a new Operation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperation);
+
+ /** Operation name. */
+ public name: string;
+
+ /** Operation metadata. */
+ public metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done. */
+ public done: boolean;
+
+ /** Operation error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /** Operation response. */
+ public response?: (google.protobuf.IAny|null);
+
+ /** Operation result. */
+ public result?: ("error"|"response");
+
+ /**
+ * Creates a new Operation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Operation instance
+ */
+ public static create(properties?: google.longrunning.IOperation): google.longrunning.Operation;
+
+ /**
+ * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Operation
+ * @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.longrunning.Operation;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Operation
+ * @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.longrunning.Operation;
+
+ /**
+ * Verifies an Operation 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 Operation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Operation
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.Operation;
+
+ /**
+ * Creates a plain object from an Operation message. Also converts values to other types if specified.
+ * @param message Operation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.Operation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Operation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Operation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetOperationRequest. */
+ interface IGetOperationRequest {
+
+ /** GetOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetOperationRequest. */
+ class GetOperationRequest implements IGetOperationRequest {
+
+ /**
+ * Constructs a new GetOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IGetOperationRequest);
+
+ /** GetOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IGetOperationRequest): google.longrunning.GetOperationRequest;
+
+ /**
+ * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetOperationRequest
+ * @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.longrunning.GetOperationRequest;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetOperationRequest
+ * @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.longrunning.GetOperationRequest;
+
+ /**
+ * Verifies a GetOperationRequest 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 GetOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.GetOperationRequest;
+
+ /**
+ * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified.
+ * @param message GetOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.GetOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsRequest. */
+ interface IListOperationsRequest {
+
+ /** ListOperationsRequest name */
+ name?: (string|null);
+
+ /** ListOperationsRequest filter */
+ filter?: (string|null);
+
+ /** ListOperationsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListOperationsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsRequest. */
+ class ListOperationsRequest implements IListOperationsRequest {
+
+ /**
+ * Constructs a new ListOperationsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsRequest);
+
+ /** ListOperationsRequest name. */
+ public name: string;
+
+ /** ListOperationsRequest filter. */
+ public filter: string;
+
+ /** ListOperationsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListOperationsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListOperationsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsRequest instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsRequest): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsRequest
+ * @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.longrunning.ListOperationsRequest;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsRequest
+ * @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.longrunning.ListOperationsRequest;
+
+ /**
+ * Verifies a ListOperationsRequest 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 ListOperationsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Creates a plain object from a ListOperationsRequest message. Also converts values to other types if specified.
+ * @param message ListOperationsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsResponse. */
+ interface IListOperationsResponse {
+
+ /** ListOperationsResponse operations */
+ operations?: (google.longrunning.IOperation[]|null);
+
+ /** ListOperationsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsResponse. */
+ class ListOperationsResponse implements IListOperationsResponse {
+
+ /**
+ * Constructs a new ListOperationsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsResponse);
+
+ /** ListOperationsResponse operations. */
+ public operations: google.longrunning.IOperation[];
+
+ /** ListOperationsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListOperationsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsResponse instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsResponse): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsResponse
+ * @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.longrunning.ListOperationsResponse;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsResponse
+ * @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.longrunning.ListOperationsResponse;
+
+ /**
+ * Verifies a ListOperationsResponse 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 ListOperationsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified.
+ * @param message ListOperationsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CancelOperationRequest. */
+ interface ICancelOperationRequest {
+
+ /** CancelOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a CancelOperationRequest. */
+ class CancelOperationRequest implements ICancelOperationRequest {
+
+ /**
+ * Constructs a new CancelOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.ICancelOperationRequest);
+
+ /** CancelOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new CancelOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CancelOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.ICancelOperationRequest): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CancelOperationRequest
+ * @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.longrunning.CancelOperationRequest;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CancelOperationRequest
+ * @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.longrunning.CancelOperationRequest;
+
+ /**
+ * Verifies a CancelOperationRequest 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 CancelOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CancelOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified.
+ * @param message CancelOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.CancelOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CancelOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CancelOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteOperationRequest. */
+ interface IDeleteOperationRequest {
+
+ /** DeleteOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteOperationRequest. */
+ class DeleteOperationRequest implements IDeleteOperationRequest {
+
+ /**
+ * Constructs a new DeleteOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IDeleteOperationRequest);
+
+ /** DeleteOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IDeleteOperationRequest): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteOperationRequest
+ * @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.longrunning.DeleteOperationRequest;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteOperationRequest
+ * @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.longrunning.DeleteOperationRequest;
+
+ /**
+ * Verifies a DeleteOperationRequest 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 DeleteOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified.
+ * @param message DeleteOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.DeleteOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WaitOperationRequest. */
+ interface IWaitOperationRequest {
+
+ /** WaitOperationRequest name */
+ name?: (string|null);
+
+ /** WaitOperationRequest timeout */
+ timeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a WaitOperationRequest. */
+ class WaitOperationRequest implements IWaitOperationRequest {
+
+ /**
+ * Constructs a new WaitOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IWaitOperationRequest);
+
+ /** WaitOperationRequest name. */
+ public name: string;
+
+ /** WaitOperationRequest timeout. */
+ public timeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new WaitOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WaitOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IWaitOperationRequest): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WaitOperationRequest
+ * @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.longrunning.WaitOperationRequest;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WaitOperationRequest
+ * @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.longrunning.WaitOperationRequest;
+
+ /**
+ * Verifies a WaitOperationRequest 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 WaitOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WaitOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified.
+ * @param message WaitOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.WaitOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WaitOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WaitOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OperationInfo. */
+ interface IOperationInfo {
+
+ /** OperationInfo responseType */
+ responseType?: (string|null);
+
+ /** OperationInfo metadataType */
+ metadataType?: (string|null);
+ }
+
+ /** Represents an OperationInfo. */
+ class OperationInfo implements IOperationInfo {
+
+ /**
+ * Constructs a new OperationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperationInfo);
+
+ /** OperationInfo responseType. */
+ public responseType: string;
+
+ /** OperationInfo metadataType. */
+ public metadataType: string;
+
+ /**
+ * Creates a new OperationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationInfo instance
+ */
+ public static create(properties?: google.longrunning.IOperationInfo): google.longrunning.OperationInfo;
+
+ /**
+ * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationInfo
+ * @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.longrunning.OperationInfo;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationInfo
+ * @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.longrunning.OperationInfo;
+
+ /**
+ * Verifies an OperationInfo 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 OperationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.OperationInfo;
+
+ /**
+ * Creates a plain object from an OperationInfo message. Also converts values to other types if specified.
+ * @param message OperationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.OperationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+}
diff --git a/handwritten/logging/protos/protos.js b/handwritten/logging/protos/protos.js
new file mode 100644
index 00000000000..63c11170997
--- /dev/null
+++ b/handwritten/logging/protos/protos.js
@@ -0,0 +1,50792 @@
+// 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_logging_protos || ($protobuf.roots._google_cloud_logging_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.protobuf = (function() {
+
+ /**
+ * Namespace protobuf.
+ * @memberof google
+ * @namespace
+ */
+ var protobuf = {};
+
+ protobuf.Duration = (function() {
+
+ /**
+ * Properties of a Duration.
+ * @memberof google.protobuf
+ * @interface IDuration
+ * @property {number|Long|null} [seconds] Duration seconds
+ * @property {number|null} [nanos] Duration nanos
+ */
+
+ /**
+ * Constructs a new Duration.
+ * @memberof google.protobuf
+ * @classdesc Represents a Duration.
+ * @implements IDuration
+ * @constructor
+ * @param {google.protobuf.IDuration=} [properties] Properties to set
+ */
+ function Duration(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]];
+ }
+
+ /**
+ * Duration seconds.
+ * @member {number|Long} seconds
+ * @memberof google.protobuf.Duration
+ * @instance
+ */
+ Duration.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * Duration nanos.
+ * @member {number} nanos
+ * @memberof google.protobuf.Duration
+ * @instance
+ */
+ Duration.prototype.nanos = 0;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.Duration
+ * @static
+ * @param {google.protobuf.IDuration=} [properties] Properties to set
+ * @returns {google.protobuf.Duration} Duration instance
+ */
+ Duration.create = function create(properties) {
+ return new Duration(properties);
+ };
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.Duration
+ * @static
+ * @param {google.protobuf.IDuration} message Duration message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Duration.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds);
+ if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.Duration
+ * @static
+ * @param {google.protobuf.IDuration} message Duration message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Duration.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.Duration
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.Duration} Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Duration.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.protobuf.Duration();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.seconds = reader.int64();
+ break;
+ }
+ case 2: {
+ message.nanos = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.Duration
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.Duration} Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Duration.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Duration message.
+ * @function verify
+ * @memberof google.protobuf.Duration
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Duration.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.seconds != null && message.hasOwnProperty("seconds"))
+ if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high)))
+ return "seconds: integer|Long expected";
+ if (message.nanos != null && message.hasOwnProperty("nanos"))
+ if (!$util.isInteger(message.nanos))
+ return "nanos: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.Duration
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.Duration} Duration
+ */
+ Duration.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.Duration)
+ return object;
+ var message = new $root.google.protobuf.Duration();
+ if (object.seconds != null)
+ if ($util.Long)
+ (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false;
+ else if (typeof object.seconds === "string")
+ message.seconds = parseInt(object.seconds, 10);
+ else if (typeof object.seconds === "number")
+ message.seconds = object.seconds;
+ else if (typeof object.seconds === "object")
+ message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber();
+ if (object.nanos != null)
+ message.nanos = object.nanos | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.Duration
+ * @static
+ * @param {google.protobuf.Duration} message Duration
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Duration.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.seconds = options.longs === String ? "0" : 0;
+ object.nanos = 0;
+ }
+ if (message.seconds != null && message.hasOwnProperty("seconds"))
+ if (typeof message.seconds === "number")
+ object.seconds = options.longs === String ? String(message.seconds) : message.seconds;
+ else
+ object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds;
+ if (message.nanos != null && message.hasOwnProperty("nanos"))
+ object.nanos = message.nanos;
+ return object;
+ };
+
+ /**
+ * Converts this Duration to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.Duration
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Duration.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Duration
+ * @function getTypeUrl
+ * @memberof google.protobuf.Duration
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Duration.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.Duration";
+ };
+
+ return Duration;
+ })();
+
+ protobuf.FileDescriptorSet = (function() {
+
+ /**
+ * Properties of a FileDescriptorSet.
+ * @memberof google.protobuf
+ * @interface IFileDescriptorSet
+ * @property {Array.|null} [file] FileDescriptorSet file
+ */
+
+ /**
+ * Constructs a new FileDescriptorSet.
+ * @memberof google.protobuf
+ * @classdesc Represents a FileDescriptorSet.
+ * @implements IFileDescriptorSet
+ * @constructor
+ * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set
+ */
+ function FileDescriptorSet(properties) {
+ this.file = [];
+ 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]];
+ }
+
+ /**
+ * FileDescriptorSet file.
+ * @member {Array.} file
+ * @memberof google.protobuf.FileDescriptorSet
+ * @instance
+ */
+ FileDescriptorSet.prototype.file = $util.emptyArray;
+
+ /**
+ * Creates a new FileDescriptorSet instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet instance
+ */
+ FileDescriptorSet.create = function create(properties) {
+ return new FileDescriptorSet(properties);
+ };
+
+ /**
+ * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorSet.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.file != null && message.file.length)
+ for (var i = 0; i < message.file.length; ++i)
+ $root.google.protobuf.FileDescriptorProto.encode(message.file[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorSet.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorSet.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.protobuf.FileDescriptorSet();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.file && message.file.length))
+ message.file = [];
+ message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorSet.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FileDescriptorSet message.
+ * @function verify
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FileDescriptorSet.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.file != null && message.hasOwnProperty("file")) {
+ if (!Array.isArray(message.file))
+ return "file: array expected";
+ for (var i = 0; i < message.file.length; ++i) {
+ var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]);
+ if (error)
+ return "file." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet
+ */
+ FileDescriptorSet.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FileDescriptorSet)
+ return object;
+ var message = new $root.google.protobuf.FileDescriptorSet();
+ if (object.file) {
+ if (!Array.isArray(object.file))
+ throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected");
+ message.file = [];
+ for (var i = 0; i < object.file.length; ++i) {
+ if (typeof object.file[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected");
+ message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.FileDescriptorSet} message FileDescriptorSet
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FileDescriptorSet.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.file = [];
+ if (message.file && message.file.length) {
+ object.file = [];
+ for (var j = 0; j < message.file.length; ++j)
+ object.file[j] = $root.google.protobuf.FileDescriptorProto.toObject(message.file[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this FileDescriptorSet to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FileDescriptorSet
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FileDescriptorSet.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FileDescriptorSet
+ * @function getTypeUrl
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FileDescriptorSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FileDescriptorSet";
+ };
+
+ return FileDescriptorSet;
+ })();
+
+ /**
+ * Edition enum.
+ * @name google.protobuf.Edition
+ * @enum {number}
+ * @property {number} EDITION_UNKNOWN=0 EDITION_UNKNOWN value
+ * @property {number} EDITION_LEGACY=900 EDITION_LEGACY value
+ * @property {number} EDITION_PROTO2=998 EDITION_PROTO2 value
+ * @property {number} EDITION_PROTO3=999 EDITION_PROTO3 value
+ * @property {number} EDITION_2023=1000 EDITION_2023 value
+ * @property {number} EDITION_2024=1001 EDITION_2024 value
+ * @property {number} EDITION_1_TEST_ONLY=1 EDITION_1_TEST_ONLY value
+ * @property {number} EDITION_2_TEST_ONLY=2 EDITION_2_TEST_ONLY value
+ * @property {number} EDITION_99997_TEST_ONLY=99997 EDITION_99997_TEST_ONLY value
+ * @property {number} EDITION_99998_TEST_ONLY=99998 EDITION_99998_TEST_ONLY value
+ * @property {number} EDITION_99999_TEST_ONLY=99999 EDITION_99999_TEST_ONLY value
+ * @property {number} EDITION_MAX=2147483647 EDITION_MAX value
+ */
+ protobuf.Edition = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "EDITION_UNKNOWN"] = 0;
+ values[valuesById[900] = "EDITION_LEGACY"] = 900;
+ values[valuesById[998] = "EDITION_PROTO2"] = 998;
+ values[valuesById[999] = "EDITION_PROTO3"] = 999;
+ values[valuesById[1000] = "EDITION_2023"] = 1000;
+ values[valuesById[1001] = "EDITION_2024"] = 1001;
+ values[valuesById[1] = "EDITION_1_TEST_ONLY"] = 1;
+ values[valuesById[2] = "EDITION_2_TEST_ONLY"] = 2;
+ values[valuesById[99997] = "EDITION_99997_TEST_ONLY"] = 99997;
+ values[valuesById[99998] = "EDITION_99998_TEST_ONLY"] = 99998;
+ values[valuesById[99999] = "EDITION_99999_TEST_ONLY"] = 99999;
+ values[valuesById[2147483647] = "EDITION_MAX"] = 2147483647;
+ return values;
+ })();
+
+ protobuf.FileDescriptorProto = (function() {
+
+ /**
+ * Properties of a FileDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IFileDescriptorProto
+ * @property {string|null} [name] FileDescriptorProto name
+ * @property {string|null} ["package"] FileDescriptorProto package
+ * @property {Array.|null} [dependency] FileDescriptorProto dependency
+ * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency
+ * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency
+ * @property {Array.|null} [optionDependency] FileDescriptorProto optionDependency
+ * @property {Array.|null} [messageType] FileDescriptorProto messageType
+ * @property {Array.|null} [enumType] FileDescriptorProto enumType
+ * @property {Array.|null} [service] FileDescriptorProto service
+ * @property {Array.|null} [extension] FileDescriptorProto extension
+ * @property {google.protobuf.IFileOptions|null} [options] FileDescriptorProto options
+ * @property {google.protobuf.ISourceCodeInfo|null} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo
+ * @property {string|null} [syntax] FileDescriptorProto syntax
+ * @property {google.protobuf.Edition|null} [edition] FileDescriptorProto edition
+ */
+
+ /**
+ * Constructs a new FileDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents a FileDescriptorProto.
+ * @implements IFileDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set
+ */
+ function FileDescriptorProto(properties) {
+ this.dependency = [];
+ this.publicDependency = [];
+ this.weakDependency = [];
+ this.optionDependency = [];
+ this.messageType = [];
+ this.enumType = [];
+ this.service = [];
+ this.extension = [];
+ 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]];
+ }
+
+ /**
+ * FileDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.name = "";
+
+ /**
+ * FileDescriptorProto package.
+ * @member {string} package
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype["package"] = "";
+
+ /**
+ * FileDescriptorProto dependency.
+ * @member {Array.} dependency
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.dependency = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto publicDependency.
+ * @member {Array.} publicDependency
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.publicDependency = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto weakDependency.
+ * @member {Array.} weakDependency
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.weakDependency = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto optionDependency.
+ * @member {Array.} optionDependency
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.optionDependency = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto messageType.
+ * @member {Array.} messageType
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.messageType = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto enumType.
+ * @member {Array.} enumType
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.enumType = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto service.
+ * @member {Array.} service
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.service = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto extension.
+ * @member {Array.} extension
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.extension = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto options.
+ * @member {google.protobuf.IFileOptions|null|undefined} options
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.options = null;
+
+ /**
+ * FileDescriptorProto sourceCodeInfo.
+ * @member {google.protobuf.ISourceCodeInfo|null|undefined} sourceCodeInfo
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.sourceCodeInfo = null;
+
+ /**
+ * FileDescriptorProto syntax.
+ * @member {string} syntax
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.syntax = "";
+
+ /**
+ * FileDescriptorProto edition.
+ * @member {google.protobuf.Edition} edition
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.edition = 0;
+
+ /**
+ * Creates a new FileDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto instance
+ */
+ FileDescriptorProto.create = function create(properties) {
+ return new FileDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorProto.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["package"] != null && Object.hasOwnProperty.call(message, "package"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message["package"]);
+ if (message.dependency != null && message.dependency.length)
+ for (var i = 0; i < message.dependency.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.dependency[i]);
+ if (message.messageType != null && message.messageType.length)
+ for (var i = 0; i < message.messageType.length; ++i)
+ $root.google.protobuf.DescriptorProto.encode(message.messageType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.enumType != null && message.enumType.length)
+ for (var i = 0; i < message.enumType.length; ++i)
+ $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.service != null && message.service.length)
+ for (var i = 0; i < message.service.length; ++i)
+ $root.google.protobuf.ServiceDescriptorProto.encode(message.service[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.extension != null && message.extension.length)
+ for (var i = 0; i < message.extension.length; ++i)
+ $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.FileOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.sourceCodeInfo != null && Object.hasOwnProperty.call(message, "sourceCodeInfo"))
+ $root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.publicDependency != null && message.publicDependency.length)
+ for (var i = 0; i < message.publicDependency.length; ++i)
+ writer.uint32(/* id 10, wireType 0 =*/80).int32(message.publicDependency[i]);
+ if (message.weakDependency != null && message.weakDependency.length)
+ for (var i = 0; i < message.weakDependency.length; ++i)
+ writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]);
+ if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax);
+ if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
+ writer.uint32(/* id 14, wireType 0 =*/112).int32(message.edition);
+ if (message.optionDependency != null && message.optionDependency.length)
+ for (var i = 0; i < message.optionDependency.length; ++i)
+ writer.uint32(/* id 15, wireType 2 =*/122).string(message.optionDependency[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorProto.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.protobuf.FileDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message["package"] = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.dependency && message.dependency.length))
+ message.dependency = [];
+ message.dependency.push(reader.string());
+ break;
+ }
+ case 10: {
+ if (!(message.publicDependency && message.publicDependency.length))
+ message.publicDependency = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.publicDependency.push(reader.int32());
+ } else
+ message.publicDependency.push(reader.int32());
+ break;
+ }
+ case 11: {
+ if (!(message.weakDependency && message.weakDependency.length))
+ message.weakDependency = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.weakDependency.push(reader.int32());
+ } else
+ message.weakDependency.push(reader.int32());
+ break;
+ }
+ case 15: {
+ if (!(message.optionDependency && message.optionDependency.length))
+ message.optionDependency = [];
+ message.optionDependency.push(reader.string());
+ break;
+ }
+ case 4: {
+ if (!(message.messageType && message.messageType.length))
+ message.messageType = [];
+ message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ if (!(message.enumType && message.enumType.length))
+ message.enumType = [];
+ message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 6: {
+ if (!(message.service && message.service.length))
+ message.service = [];
+ message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 7: {
+ if (!(message.extension && message.extension.length))
+ message.extension = [];
+ message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 8: {
+ message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32());
+ break;
+ }
+ case 12: {
+ message.syntax = reader.string();
+ break;
+ }
+ case 14: {
+ message.edition = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FileDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FileDescriptorProto.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["package"] != null && message.hasOwnProperty("package"))
+ if (!$util.isString(message["package"]))
+ return "package: string expected";
+ if (message.dependency != null && message.hasOwnProperty("dependency")) {
+ if (!Array.isArray(message.dependency))
+ return "dependency: array expected";
+ for (var i = 0; i < message.dependency.length; ++i)
+ if (!$util.isString(message.dependency[i]))
+ return "dependency: string[] expected";
+ }
+ if (message.publicDependency != null && message.hasOwnProperty("publicDependency")) {
+ if (!Array.isArray(message.publicDependency))
+ return "publicDependency: array expected";
+ for (var i = 0; i < message.publicDependency.length; ++i)
+ if (!$util.isInteger(message.publicDependency[i]))
+ return "publicDependency: integer[] expected";
+ }
+ if (message.weakDependency != null && message.hasOwnProperty("weakDependency")) {
+ if (!Array.isArray(message.weakDependency))
+ return "weakDependency: array expected";
+ for (var i = 0; i < message.weakDependency.length; ++i)
+ if (!$util.isInteger(message.weakDependency[i]))
+ return "weakDependency: integer[] expected";
+ }
+ if (message.optionDependency != null && message.hasOwnProperty("optionDependency")) {
+ if (!Array.isArray(message.optionDependency))
+ return "optionDependency: array expected";
+ for (var i = 0; i < message.optionDependency.length; ++i)
+ if (!$util.isString(message.optionDependency[i]))
+ return "optionDependency: string[] expected";
+ }
+ if (message.messageType != null && message.hasOwnProperty("messageType")) {
+ if (!Array.isArray(message.messageType))
+ return "messageType: array expected";
+ for (var i = 0; i < message.messageType.length; ++i) {
+ var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]);
+ if (error)
+ return "messageType." + error;
+ }
+ }
+ if (message.enumType != null && message.hasOwnProperty("enumType")) {
+ if (!Array.isArray(message.enumType))
+ return "enumType: array expected";
+ for (var i = 0; i < message.enumType.length; ++i) {
+ var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]);
+ if (error)
+ return "enumType." + error;
+ }
+ }
+ if (message.service != null && message.hasOwnProperty("service")) {
+ if (!Array.isArray(message.service))
+ return "service: array expected";
+ for (var i = 0; i < message.service.length; ++i) {
+ var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]);
+ if (error)
+ return "service." + error;
+ }
+ }
+ if (message.extension != null && message.hasOwnProperty("extension")) {
+ if (!Array.isArray(message.extension))
+ return "extension: array expected";
+ for (var i = 0; i < message.extension.length; ++i) {
+ var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]);
+ if (error)
+ return "extension." + error;
+ }
+ }
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.FileOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) {
+ var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo);
+ if (error)
+ return "sourceCodeInfo." + error;
+ }
+ if (message.syntax != null && message.hasOwnProperty("syntax"))
+ if (!$util.isString(message.syntax))
+ return "syntax: string expected";
+ if (message.edition != null && message.hasOwnProperty("edition"))
+ switch (message.edition) {
+ default:
+ return "edition: enum value expected";
+ case 0:
+ case 900:
+ case 998:
+ case 999:
+ case 1000:
+ case 1001:
+ case 1:
+ case 2:
+ case 99997:
+ case 99998:
+ case 99999:
+ case 2147483647:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto
+ */
+ FileDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FileDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.FileDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object["package"] != null)
+ message["package"] = String(object["package"]);
+ if (object.dependency) {
+ if (!Array.isArray(object.dependency))
+ throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected");
+ message.dependency = [];
+ for (var i = 0; i < object.dependency.length; ++i)
+ message.dependency[i] = String(object.dependency[i]);
+ }
+ if (object.publicDependency) {
+ if (!Array.isArray(object.publicDependency))
+ throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected");
+ message.publicDependency = [];
+ for (var i = 0; i < object.publicDependency.length; ++i)
+ message.publicDependency[i] = object.publicDependency[i] | 0;
+ }
+ if (object.weakDependency) {
+ if (!Array.isArray(object.weakDependency))
+ throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected");
+ message.weakDependency = [];
+ for (var i = 0; i < object.weakDependency.length; ++i)
+ message.weakDependency[i] = object.weakDependency[i] | 0;
+ }
+ if (object.optionDependency) {
+ if (!Array.isArray(object.optionDependency))
+ throw TypeError(".google.protobuf.FileDescriptorProto.optionDependency: array expected");
+ message.optionDependency = [];
+ for (var i = 0; i < object.optionDependency.length; ++i)
+ message.optionDependency[i] = String(object.optionDependency[i]);
+ }
+ if (object.messageType) {
+ if (!Array.isArray(object.messageType))
+ throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected");
+ message.messageType = [];
+ for (var i = 0; i < object.messageType.length; ++i) {
+ if (typeof object.messageType[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected");
+ message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]);
+ }
+ }
+ if (object.enumType) {
+ if (!Array.isArray(object.enumType))
+ throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected");
+ message.enumType = [];
+ for (var i = 0; i < object.enumType.length; ++i) {
+ if (typeof object.enumType[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected");
+ message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]);
+ }
+ }
+ if (object.service) {
+ if (!Array.isArray(object.service))
+ throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected");
+ message.service = [];
+ for (var i = 0; i < object.service.length; ++i) {
+ if (typeof object.service[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected");
+ message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]);
+ }
+ }
+ if (object.extension) {
+ if (!Array.isArray(object.extension))
+ throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected");
+ message.extension = [];
+ for (var i = 0; i < object.extension.length; ++i) {
+ if (typeof object.extension[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected");
+ message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]);
+ }
+ }
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.FileOptions.fromObject(object.options);
+ }
+ if (object.sourceCodeInfo != null) {
+ if (typeof object.sourceCodeInfo !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected");
+ message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo);
+ }
+ if (object.syntax != null)
+ message.syntax = String(object.syntax);
+ switch (object.edition) {
+ default:
+ if (typeof object.edition === "number") {
+ message.edition = object.edition;
+ break;
+ }
+ break;
+ case "EDITION_UNKNOWN":
+ case 0:
+ message.edition = 0;
+ break;
+ case "EDITION_LEGACY":
+ case 900:
+ message.edition = 900;
+ break;
+ case "EDITION_PROTO2":
+ case 998:
+ message.edition = 998;
+ break;
+ case "EDITION_PROTO3":
+ case 999:
+ message.edition = 999;
+ break;
+ case "EDITION_2023":
+ case 1000:
+ message.edition = 1000;
+ break;
+ case "EDITION_2024":
+ case 1001:
+ message.edition = 1001;
+ break;
+ case "EDITION_1_TEST_ONLY":
+ case 1:
+ message.edition = 1;
+ break;
+ case "EDITION_2_TEST_ONLY":
+ case 2:
+ message.edition = 2;
+ break;
+ case "EDITION_99997_TEST_ONLY":
+ case 99997:
+ message.edition = 99997;
+ break;
+ case "EDITION_99998_TEST_ONLY":
+ case 99998:
+ message.edition = 99998;
+ break;
+ case "EDITION_99999_TEST_ONLY":
+ case 99999:
+ message.edition = 99999;
+ break;
+ case "EDITION_MAX":
+ case 2147483647:
+ message.edition = 2147483647;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.FileDescriptorProto} message FileDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FileDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.dependency = [];
+ object.messageType = [];
+ object.enumType = [];
+ object.service = [];
+ object.extension = [];
+ object.publicDependency = [];
+ object.weakDependency = [];
+ object.optionDependency = [];
+ }
+ if (options.defaults) {
+ object.name = "";
+ object["package"] = "";
+ object.options = null;
+ object.sourceCodeInfo = null;
+ object.syntax = "";
+ object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message["package"] != null && message.hasOwnProperty("package"))
+ object["package"] = message["package"];
+ if (message.dependency && message.dependency.length) {
+ object.dependency = [];
+ for (var j = 0; j < message.dependency.length; ++j)
+ object.dependency[j] = message.dependency[j];
+ }
+ if (message.messageType && message.messageType.length) {
+ object.messageType = [];
+ for (var j = 0; j < message.messageType.length; ++j)
+ object.messageType[j] = $root.google.protobuf.DescriptorProto.toObject(message.messageType[j], options);
+ }
+ if (message.enumType && message.enumType.length) {
+ object.enumType = [];
+ for (var j = 0; j < message.enumType.length; ++j)
+ object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options);
+ }
+ if (message.service && message.service.length) {
+ object.service = [];
+ for (var j = 0; j < message.service.length; ++j)
+ object.service[j] = $root.google.protobuf.ServiceDescriptorProto.toObject(message.service[j], options);
+ }
+ if (message.extension && message.extension.length) {
+ object.extension = [];
+ for (var j = 0; j < message.extension.length; ++j)
+ object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options);
+ }
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.FileOptions.toObject(message.options, options);
+ if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo"))
+ object.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.toObject(message.sourceCodeInfo, options);
+ if (message.publicDependency && message.publicDependency.length) {
+ object.publicDependency = [];
+ for (var j = 0; j < message.publicDependency.length; ++j)
+ object.publicDependency[j] = message.publicDependency[j];
+ }
+ if (message.weakDependency && message.weakDependency.length) {
+ object.weakDependency = [];
+ for (var j = 0; j < message.weakDependency.length; ++j)
+ object.weakDependency[j] = message.weakDependency[j];
+ }
+ if (message.syntax != null && message.hasOwnProperty("syntax"))
+ object.syntax = message.syntax;
+ if (message.edition != null && message.hasOwnProperty("edition"))
+ object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition;
+ if (message.optionDependency && message.optionDependency.length) {
+ object.optionDependency = [];
+ for (var j = 0; j < message.optionDependency.length; ++j)
+ object.optionDependency[j] = message.optionDependency[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this FileDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FileDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FileDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FileDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FileDescriptorProto";
+ };
+
+ return FileDescriptorProto;
+ })();
+
+ protobuf.DescriptorProto = (function() {
+
+ /**
+ * Properties of a DescriptorProto.
+ * @memberof google.protobuf
+ * @interface IDescriptorProto
+ * @property {string|null} [name] DescriptorProto name
+ * @property {Array.|null} [field] DescriptorProto field
+ * @property {Array.|null} [extension] DescriptorProto extension
+ * @property {Array.|null} [nestedType] DescriptorProto nestedType
+ * @property {Array.|null} [enumType] DescriptorProto enumType
+ * @property {Array.|null} [extensionRange] DescriptorProto extensionRange
+ * @property {Array.|null} [oneofDecl] DescriptorProto oneofDecl
+ * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options
+ * @property {Array.|null} [reservedRange] DescriptorProto reservedRange
+ * @property {Array.|null} [reservedName] DescriptorProto reservedName
+ * @property {google.protobuf.SymbolVisibility|null} [visibility] DescriptorProto visibility
+ */
+
+ /**
+ * Constructs a new DescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents a DescriptorProto.
+ * @implements IDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set
+ */
+ function DescriptorProto(properties) {
+ this.field = [];
+ this.extension = [];
+ this.nestedType = [];
+ this.enumType = [];
+ this.extensionRange = [];
+ this.oneofDecl = [];
+ this.reservedRange = [];
+ this.reservedName = [];
+ 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]];
+ }
+
+ /**
+ * DescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.name = "";
+
+ /**
+ * DescriptorProto field.
+ * @member {Array.} field
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.field = $util.emptyArray;
+
+ /**
+ * DescriptorProto extension.
+ * @member {Array.} extension
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.extension = $util.emptyArray;
+
+ /**
+ * DescriptorProto nestedType.
+ * @member {Array.} nestedType
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.nestedType = $util.emptyArray;
+
+ /**
+ * DescriptorProto enumType.
+ * @member {Array.} enumType
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.enumType = $util.emptyArray;
+
+ /**
+ * DescriptorProto extensionRange.
+ * @member {Array.} extensionRange
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.extensionRange = $util.emptyArray;
+
+ /**
+ * DescriptorProto oneofDecl.
+ * @member {Array.} oneofDecl
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.oneofDecl = $util.emptyArray;
+
+ /**
+ * DescriptorProto options.
+ * @member {google.protobuf.IMessageOptions|null|undefined} options
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.options = null;
+
+ /**
+ * DescriptorProto reservedRange.
+ * @member {Array.} reservedRange
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.reservedRange = $util.emptyArray;
+
+ /**
+ * DescriptorProto reservedName.
+ * @member {Array.} reservedName
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.reservedName = $util.emptyArray;
+
+ /**
+ * DescriptorProto visibility.
+ * @member {google.protobuf.SymbolVisibility} visibility
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.visibility = 0;
+
+ /**
+ * Creates a new DescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.DescriptorProto} DescriptorProto instance
+ */
+ DescriptorProto.create = function create(properties) {
+ return new DescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DescriptorProto.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.field != null && message.field.length)
+ for (var i = 0; i < message.field.length; ++i)
+ $root.google.protobuf.FieldDescriptorProto.encode(message.field[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.nestedType != null && message.nestedType.length)
+ for (var i = 0; i < message.nestedType.length; ++i)
+ $root.google.protobuf.DescriptorProto.encode(message.nestedType[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.enumType != null && message.enumType.length)
+ for (var i = 0; i < message.enumType.length; ++i)
+ $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.extensionRange != null && message.extensionRange.length)
+ for (var i = 0; i < message.extensionRange.length; ++i)
+ $root.google.protobuf.DescriptorProto.ExtensionRange.encode(message.extensionRange[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.extension != null && message.extension.length)
+ for (var i = 0; i < message.extension.length; ++i)
+ $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.MessageOptions.encode(message.options, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.oneofDecl != null && message.oneofDecl.length)
+ for (var i = 0; i < message.oneofDecl.length; ++i)
+ $root.google.protobuf.OneofDescriptorProto.encode(message.oneofDecl[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.reservedRange != null && message.reservedRange.length)
+ for (var i = 0; i < message.reservedRange.length; ++i)
+ $root.google.protobuf.DescriptorProto.ReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.reservedName != null && message.reservedName.length)
+ for (var i = 0; i < message.reservedName.length; ++i)
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]);
+ if (message.visibility != null && Object.hasOwnProperty.call(message, "visibility"))
+ writer.uint32(/* id 11, wireType 0 =*/88).int32(message.visibility);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.DescriptorProto} DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DescriptorProto.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.protobuf.DescriptorProto();
+ 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.field && message.field.length))
+ message.field = [];
+ message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 6: {
+ if (!(message.extension && message.extension.length))
+ message.extension = [];
+ message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.nestedType && message.nestedType.length))
+ message.nestedType = [];
+ message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ if (!(message.enumType && message.enumType.length))
+ message.enumType = [];
+ message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ if (!(message.extensionRange && message.extensionRange.length))
+ message.extensionRange = [];
+ message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32()));
+ break;
+ }
+ case 8: {
+ if (!(message.oneofDecl && message.oneofDecl.length))
+ message.oneofDecl = [];
+ message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 7: {
+ message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ if (!(message.reservedRange && message.reservedRange.length))
+ message.reservedRange = [];
+ message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32()));
+ break;
+ }
+ case 10: {
+ if (!(message.reservedName && message.reservedName.length))
+ message.reservedName = [];
+ message.reservedName.push(reader.string());
+ break;
+ }
+ case 11: {
+ message.visibility = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.DescriptorProto} DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DescriptorProto.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.field != null && message.hasOwnProperty("field")) {
+ if (!Array.isArray(message.field))
+ return "field: array expected";
+ for (var i = 0; i < message.field.length; ++i) {
+ var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]);
+ if (error)
+ return "field." + error;
+ }
+ }
+ if (message.extension != null && message.hasOwnProperty("extension")) {
+ if (!Array.isArray(message.extension))
+ return "extension: array expected";
+ for (var i = 0; i < message.extension.length; ++i) {
+ var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]);
+ if (error)
+ return "extension." + error;
+ }
+ }
+ if (message.nestedType != null && message.hasOwnProperty("nestedType")) {
+ if (!Array.isArray(message.nestedType))
+ return "nestedType: array expected";
+ for (var i = 0; i < message.nestedType.length; ++i) {
+ var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]);
+ if (error)
+ return "nestedType." + error;
+ }
+ }
+ if (message.enumType != null && message.hasOwnProperty("enumType")) {
+ if (!Array.isArray(message.enumType))
+ return "enumType: array expected";
+ for (var i = 0; i < message.enumType.length; ++i) {
+ var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]);
+ if (error)
+ return "enumType." + error;
+ }
+ }
+ if (message.extensionRange != null && message.hasOwnProperty("extensionRange")) {
+ if (!Array.isArray(message.extensionRange))
+ return "extensionRange: array expected";
+ for (var i = 0; i < message.extensionRange.length; ++i) {
+ var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]);
+ if (error)
+ return "extensionRange." + error;
+ }
+ }
+ if (message.oneofDecl != null && message.hasOwnProperty("oneofDecl")) {
+ if (!Array.isArray(message.oneofDecl))
+ return "oneofDecl: array expected";
+ for (var i = 0; i < message.oneofDecl.length; ++i) {
+ var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]);
+ if (error)
+ return "oneofDecl." + error;
+ }
+ }
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.MessageOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) {
+ if (!Array.isArray(message.reservedRange))
+ return "reservedRange: array expected";
+ for (var i = 0; i < message.reservedRange.length; ++i) {
+ var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]);
+ if (error)
+ return "reservedRange." + error;
+ }
+ }
+ if (message.reservedName != null && message.hasOwnProperty("reservedName")) {
+ if (!Array.isArray(message.reservedName))
+ return "reservedName: array expected";
+ for (var i = 0; i < message.reservedName.length; ++i)
+ if (!$util.isString(message.reservedName[i]))
+ return "reservedName: string[] expected";
+ }
+ if (message.visibility != null && message.hasOwnProperty("visibility"))
+ switch (message.visibility) {
+ default:
+ return "visibility: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.DescriptorProto} DescriptorProto
+ */
+ DescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.DescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.DescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.field) {
+ if (!Array.isArray(object.field))
+ throw TypeError(".google.protobuf.DescriptorProto.field: array expected");
+ message.field = [];
+ for (var i = 0; i < object.field.length; ++i) {
+ if (typeof object.field[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.field: object expected");
+ message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]);
+ }
+ }
+ if (object.extension) {
+ if (!Array.isArray(object.extension))
+ throw TypeError(".google.protobuf.DescriptorProto.extension: array expected");
+ message.extension = [];
+ for (var i = 0; i < object.extension.length; ++i) {
+ if (typeof object.extension[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.extension: object expected");
+ message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]);
+ }
+ }
+ if (object.nestedType) {
+ if (!Array.isArray(object.nestedType))
+ throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected");
+ message.nestedType = [];
+ for (var i = 0; i < object.nestedType.length; ++i) {
+ if (typeof object.nestedType[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected");
+ message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]);
+ }
+ }
+ if (object.enumType) {
+ if (!Array.isArray(object.enumType))
+ throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected");
+ message.enumType = [];
+ for (var i = 0; i < object.enumType.length; ++i) {
+ if (typeof object.enumType[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected");
+ message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]);
+ }
+ }
+ if (object.extensionRange) {
+ if (!Array.isArray(object.extensionRange))
+ throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected");
+ message.extensionRange = [];
+ for (var i = 0; i < object.extensionRange.length; ++i) {
+ if (typeof object.extensionRange[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected");
+ message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]);
+ }
+ }
+ if (object.oneofDecl) {
+ if (!Array.isArray(object.oneofDecl))
+ throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected");
+ message.oneofDecl = [];
+ for (var i = 0; i < object.oneofDecl.length; ++i) {
+ if (typeof object.oneofDecl[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected");
+ message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]);
+ }
+ }
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.MessageOptions.fromObject(object.options);
+ }
+ if (object.reservedRange) {
+ if (!Array.isArray(object.reservedRange))
+ throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected");
+ message.reservedRange = [];
+ for (var i = 0; i < object.reservedRange.length; ++i) {
+ if (typeof object.reservedRange[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected");
+ message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]);
+ }
+ }
+ if (object.reservedName) {
+ if (!Array.isArray(object.reservedName))
+ throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected");
+ message.reservedName = [];
+ for (var i = 0; i < object.reservedName.length; ++i)
+ message.reservedName[i] = String(object.reservedName[i]);
+ }
+ switch (object.visibility) {
+ default:
+ if (typeof object.visibility === "number") {
+ message.visibility = object.visibility;
+ break;
+ }
+ break;
+ case "VISIBILITY_UNSET":
+ case 0:
+ message.visibility = 0;
+ break;
+ case "VISIBILITY_LOCAL":
+ case 1:
+ message.visibility = 1;
+ break;
+ case "VISIBILITY_EXPORT":
+ case 2:
+ message.visibility = 2;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {google.protobuf.DescriptorProto} message DescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.field = [];
+ object.nestedType = [];
+ object.enumType = [];
+ object.extensionRange = [];
+ object.extension = [];
+ object.oneofDecl = [];
+ object.reservedRange = [];
+ object.reservedName = [];
+ }
+ if (options.defaults) {
+ object.name = "";
+ object.options = null;
+ object.visibility = options.enums === String ? "VISIBILITY_UNSET" : 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.field && message.field.length) {
+ object.field = [];
+ for (var j = 0; j < message.field.length; ++j)
+ object.field[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.field[j], options);
+ }
+ if (message.nestedType && message.nestedType.length) {
+ object.nestedType = [];
+ for (var j = 0; j < message.nestedType.length; ++j)
+ object.nestedType[j] = $root.google.protobuf.DescriptorProto.toObject(message.nestedType[j], options);
+ }
+ if (message.enumType && message.enumType.length) {
+ object.enumType = [];
+ for (var j = 0; j < message.enumType.length; ++j)
+ object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options);
+ }
+ if (message.extensionRange && message.extensionRange.length) {
+ object.extensionRange = [];
+ for (var j = 0; j < message.extensionRange.length; ++j)
+ object.extensionRange[j] = $root.google.protobuf.DescriptorProto.ExtensionRange.toObject(message.extensionRange[j], options);
+ }
+ if (message.extension && message.extension.length) {
+ object.extension = [];
+ for (var j = 0; j < message.extension.length; ++j)
+ object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options);
+ }
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.MessageOptions.toObject(message.options, options);
+ if (message.oneofDecl && message.oneofDecl.length) {
+ object.oneofDecl = [];
+ for (var j = 0; j < message.oneofDecl.length; ++j)
+ object.oneofDecl[j] = $root.google.protobuf.OneofDescriptorProto.toObject(message.oneofDecl[j], options);
+ }
+ if (message.reservedRange && message.reservedRange.length) {
+ object.reservedRange = [];
+ for (var j = 0; j < message.reservedRange.length; ++j)
+ object.reservedRange[j] = $root.google.protobuf.DescriptorProto.ReservedRange.toObject(message.reservedRange[j], options);
+ }
+ if (message.reservedName && message.reservedName.length) {
+ object.reservedName = [];
+ for (var j = 0; j < message.reservedName.length; ++j)
+ object.reservedName[j] = message.reservedName[j];
+ }
+ if (message.visibility != null && message.hasOwnProperty("visibility"))
+ object.visibility = options.enums === String ? $root.google.protobuf.SymbolVisibility[message.visibility] === undefined ? message.visibility : $root.google.protobuf.SymbolVisibility[message.visibility] : message.visibility;
+ return object;
+ };
+
+ /**
+ * Converts this DescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.DescriptorProto";
+ };
+
+ DescriptorProto.ExtensionRange = (function() {
+
+ /**
+ * Properties of an ExtensionRange.
+ * @memberof google.protobuf.DescriptorProto
+ * @interface IExtensionRange
+ * @property {number|null} [start] ExtensionRange start
+ * @property {number|null} [end] ExtensionRange end
+ * @property {google.protobuf.IExtensionRangeOptions|null} [options] ExtensionRange options
+ */
+
+ /**
+ * Constructs a new ExtensionRange.
+ * @memberof google.protobuf.DescriptorProto
+ * @classdesc Represents an ExtensionRange.
+ * @implements IExtensionRange
+ * @constructor
+ * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set
+ */
+ function ExtensionRange(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]];
+ }
+
+ /**
+ * ExtensionRange start.
+ * @member {number} start
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @instance
+ */
+ ExtensionRange.prototype.start = 0;
+
+ /**
+ * ExtensionRange end.
+ * @member {number} end
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @instance
+ */
+ ExtensionRange.prototype.end = 0;
+
+ /**
+ * ExtensionRange options.
+ * @member {google.protobuf.IExtensionRangeOptions|null|undefined} options
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @instance
+ */
+ ExtensionRange.prototype.options = null;
+
+ /**
+ * Creates a new ExtensionRange instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set
+ * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange instance
+ */
+ ExtensionRange.create = function create(properties) {
+ return new ExtensionRange(properties);
+ };
+
+ /**
+ * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExtensionRange.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.start != null && Object.hasOwnProperty.call(message, "start"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start);
+ if (message.end != null && Object.hasOwnProperty.call(message, "end"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end);
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.ExtensionRangeOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExtensionRange.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExtensionRange.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.protobuf.DescriptorProto.ExtensionRange();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.start = reader.int32();
+ break;
+ }
+ case 2: {
+ message.end = reader.int32();
+ break;
+ }
+ case 3: {
+ message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExtensionRange.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExtensionRange message.
+ * @function verify
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExtensionRange.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.start != null && message.hasOwnProperty("start"))
+ if (!$util.isInteger(message.start))
+ return "start: integer expected";
+ if (message.end != null && message.hasOwnProperty("end"))
+ if (!$util.isInteger(message.end))
+ return "end: integer expected";
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange
+ */
+ ExtensionRange.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange)
+ return object;
+ var message = new $root.google.protobuf.DescriptorProto.ExtensionRange();
+ if (object.start != null)
+ message.start = object.start | 0;
+ if (object.end != null)
+ message.end = object.end | 0;
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected");
+ message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.ExtensionRange} message ExtensionRange
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExtensionRange.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.start = 0;
+ object.end = 0;
+ object.options = null;
+ }
+ if (message.start != null && message.hasOwnProperty("start"))
+ object.start = message.start;
+ if (message.end != null && message.hasOwnProperty("end"))
+ object.end = message.end;
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.ExtensionRangeOptions.toObject(message.options, options);
+ return object;
+ };
+
+ /**
+ * Converts this ExtensionRange to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExtensionRange.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExtensionRange
+ * @function getTypeUrl
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExtensionRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.DescriptorProto.ExtensionRange";
+ };
+
+ return ExtensionRange;
+ })();
+
+ DescriptorProto.ReservedRange = (function() {
+
+ /**
+ * Properties of a ReservedRange.
+ * @memberof google.protobuf.DescriptorProto
+ * @interface IReservedRange
+ * @property {number|null} [start] ReservedRange start
+ * @property {number|null} [end] ReservedRange end
+ */
+
+ /**
+ * Constructs a new ReservedRange.
+ * @memberof google.protobuf.DescriptorProto
+ * @classdesc Represents a ReservedRange.
+ * @implements IReservedRange
+ * @constructor
+ * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set
+ */
+ function ReservedRange(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]];
+ }
+
+ /**
+ * ReservedRange start.
+ * @member {number} start
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @instance
+ */
+ ReservedRange.prototype.start = 0;
+
+ /**
+ * ReservedRange end.
+ * @member {number} end
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @instance
+ */
+ ReservedRange.prototype.end = 0;
+
+ /**
+ * Creates a new ReservedRange instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set
+ * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange instance
+ */
+ ReservedRange.create = function create(properties) {
+ return new ReservedRange(properties);
+ };
+
+ /**
+ * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReservedRange.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.start != null && Object.hasOwnProperty.call(message, "start"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start);
+ if (message.end != null && Object.hasOwnProperty.call(message, "end"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReservedRange.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReservedRange.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.protobuf.DescriptorProto.ReservedRange();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.start = reader.int32();
+ break;
+ }
+ case 2: {
+ message.end = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReservedRange.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ReservedRange message.
+ * @function verify
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ReservedRange.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.start != null && message.hasOwnProperty("start"))
+ if (!$util.isInteger(message.start))
+ return "start: integer expected";
+ if (message.end != null && message.hasOwnProperty("end"))
+ if (!$util.isInteger(message.end))
+ return "end: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange
+ */
+ ReservedRange.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange)
+ return object;
+ var message = new $root.google.protobuf.DescriptorProto.ReservedRange();
+ if (object.start != null)
+ message.start = object.start | 0;
+ if (object.end != null)
+ message.end = object.end | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ReservedRange message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.ReservedRange} message ReservedRange
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ReservedRange.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.start = 0;
+ object.end = 0;
+ }
+ if (message.start != null && message.hasOwnProperty("start"))
+ object.start = message.start;
+ if (message.end != null && message.hasOwnProperty("end"))
+ object.end = message.end;
+ return object;
+ };
+
+ /**
+ * Converts this ReservedRange to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ReservedRange.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ReservedRange
+ * @function getTypeUrl
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.DescriptorProto.ReservedRange";
+ };
+
+ return ReservedRange;
+ })();
+
+ return DescriptorProto;
+ })();
+
+ protobuf.ExtensionRangeOptions = (function() {
+
+ /**
+ * Properties of an ExtensionRangeOptions.
+ * @memberof google.protobuf
+ * @interface IExtensionRangeOptions
+ * @property {Array.|null} [uninterpretedOption] ExtensionRangeOptions uninterpretedOption
+ * @property {Array.|null} [declaration] ExtensionRangeOptions declaration
+ * @property {google.protobuf.IFeatureSet|null} [features] ExtensionRangeOptions features
+ * @property {google.protobuf.ExtensionRangeOptions.VerificationState|null} [verification] ExtensionRangeOptions verification
+ */
+
+ /**
+ * Constructs a new ExtensionRangeOptions.
+ * @memberof google.protobuf
+ * @classdesc Represents an ExtensionRangeOptions.
+ * @implements IExtensionRangeOptions
+ * @constructor
+ * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set
+ */
+ function ExtensionRangeOptions(properties) {
+ this.uninterpretedOption = [];
+ this.declaration = [];
+ 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]];
+ }
+
+ /**
+ * ExtensionRangeOptions uninterpretedOption.
+ * @member {Array.} uninterpretedOption
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @instance
+ */
+ ExtensionRangeOptions.prototype.uninterpretedOption = $util.emptyArray;
+
+ /**
+ * ExtensionRangeOptions declaration.
+ * @member {Array.} declaration
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @instance
+ */
+ ExtensionRangeOptions.prototype.declaration = $util.emptyArray;
+
+ /**
+ * ExtensionRangeOptions features.
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @instance
+ */
+ ExtensionRangeOptions.prototype.features = null;
+
+ /**
+ * ExtensionRangeOptions verification.
+ * @member {google.protobuf.ExtensionRangeOptions.VerificationState} verification
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @instance
+ */
+ ExtensionRangeOptions.prototype.verification = 1;
+
+ /**
+ * Creates a new ExtensionRangeOptions instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set
+ * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions instance
+ */
+ ExtensionRangeOptions.create = function create(properties) {
+ return new ExtensionRangeOptions(properties);
+ };
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExtensionRangeOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.declaration != null && message.declaration.length)
+ for (var i = 0; i < message.declaration.length; ++i)
+ $root.google.protobuf.ExtensionRangeOptions.Declaration.encode(message.declaration[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.verification != null && Object.hasOwnProperty.call(message, "verification"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.verification);
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 50, wireType 2 =*/402).fork()).ldelim();
+ if (message.uninterpretedOption != null && message.uninterpretedOption.length)
+ for (var i = 0; i < message.uninterpretedOption.length; ++i)
+ $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExtensionRangeOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExtensionRangeOptions.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.protobuf.ExtensionRangeOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 999: {
+ if (!(message.uninterpretedOption && message.uninterpretedOption.length))
+ message.uninterpretedOption = [];
+ message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ if (!(message.declaration && message.declaration.length))
+ message.declaration = [];
+ message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32()));
+ break;
+ }
+ case 50: {
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.verification = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExtensionRangeOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExtensionRangeOptions message.
+ * @function verify
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExtensionRangeOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
+ if (!Array.isArray(message.uninterpretedOption))
+ return "uninterpretedOption: array expected";
+ for (var i = 0; i < message.uninterpretedOption.length; ++i) {
+ var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+ if (error)
+ return "uninterpretedOption." + error;
+ }
+ }
+ if (message.declaration != null && message.hasOwnProperty("declaration")) {
+ if (!Array.isArray(message.declaration))
+ return "declaration: array expected";
+ for (var i = 0; i < message.declaration.length; ++i) {
+ var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i]);
+ if (error)
+ return "declaration." + error;
+ }
+ }
+ if (message.features != null && message.hasOwnProperty("features")) {
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
+ if (error)
+ return "features." + error;
+ }
+ if (message.verification != null && message.hasOwnProperty("verification"))
+ switch (message.verification) {
+ default:
+ return "verification: enum value expected";
+ case 0:
+ case 1:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions
+ */
+ ExtensionRangeOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.ExtensionRangeOptions)
+ return object;
+ var message = new $root.google.protobuf.ExtensionRangeOptions();
+ if (object.uninterpretedOption) {
+ if (!Array.isArray(object.uninterpretedOption))
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected");
+ message.uninterpretedOption = [];
+ for (var i = 0; i < object.uninterpretedOption.length; ++i) {
+ if (typeof object.uninterpretedOption[i] !== "object")
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected");
+ message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+ }
+ }
+ if (object.declaration) {
+ if (!Array.isArray(object.declaration))
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: array expected");
+ message.declaration = [];
+ for (var i = 0; i < object.declaration.length; ++i) {
+ if (typeof object.declaration[i] !== "object")
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected");
+ message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i]);
+ }
+ }
+ if (object.features != null) {
+ if (typeof object.features !== "object")
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected");
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+ }
+ switch (object.verification) {
+ case "DECLARATION":
+ case 0:
+ message.verification = 0;
+ break;
+ default:
+ if (typeof object.verification === "number") {
+ message.verification = object.verification;
+ break;
+ }
+ break;
+ case "UNVERIFIED":
+ case 1:
+ message.verification = 1;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {google.protobuf.ExtensionRangeOptions} message ExtensionRangeOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExtensionRangeOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.declaration = [];
+ object.uninterpretedOption = [];
+ }
+ if (options.defaults) {
+ object.verification = options.enums === String ? "UNVERIFIED" : 1;
+ object.features = null;
+ }
+ if (message.declaration && message.declaration.length) {
+ object.declaration = [];
+ for (var j = 0; j < message.declaration.length; ++j)
+ object.declaration[j] = $root.google.protobuf.ExtensionRangeOptions.Declaration.toObject(message.declaration[j], options);
+ }
+ if (message.verification != null && message.hasOwnProperty("verification"))
+ object.verification = options.enums === String ? $root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification] === undefined ? message.verification : $root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification] : message.verification;
+ if (message.features != null && message.hasOwnProperty("features"))
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
+ if (message.uninterpretedOption && message.uninterpretedOption.length) {
+ object.uninterpretedOption = [];
+ for (var j = 0; j < message.uninterpretedOption.length; ++j)
+ object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ExtensionRangeOptions to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExtensionRangeOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExtensionRangeOptions
+ * @function getTypeUrl
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExtensionRangeOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions";
+ };
+
+ ExtensionRangeOptions.Declaration = (function() {
+
+ /**
+ * Properties of a Declaration.
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @interface IDeclaration
+ * @property {number|null} [number] Declaration number
+ * @property {string|null} [fullName] Declaration fullName
+ * @property {string|null} [type] Declaration type
+ * @property {boolean|null} [reserved] Declaration reserved
+ * @property {boolean|null} [repeated] Declaration repeated
+ */
+
+ /**
+ * Constructs a new Declaration.
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @classdesc Represents a Declaration.
+ * @implements IDeclaration
+ * @constructor
+ * @param {google.protobuf.ExtensionRangeOptions.IDeclaration=} [properties] Properties to set
+ */
+ function Declaration(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]];
+ }
+
+ /**
+ * Declaration number.
+ * @member {number} number
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @instance
+ */
+ Declaration.prototype.number = 0;
+
+ /**
+ * Declaration fullName.
+ * @member {string} fullName
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @instance
+ */
+ Declaration.prototype.fullName = "";
+
+ /**
+ * Declaration type.
+ * @member {string} type
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @instance
+ */
+ Declaration.prototype.type = "";
+
+ /**
+ * Declaration reserved.
+ * @member {boolean} reserved
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @instance
+ */
+ Declaration.prototype.reserved = false;
+
+ /**
+ * Declaration repeated.
+ * @member {boolean} repeated
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @instance
+ */
+ Declaration.prototype.repeated = false;
+
+ /**
+ * Creates a new Declaration instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @static
+ * @param {google.protobuf.ExtensionRangeOptions.IDeclaration=} [properties] Properties to set
+ * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration instance
+ */
+ Declaration.create = function create(properties) {
+ return new Declaration(properties);
+ };
+
+ /**
+ * Encodes the specified Declaration message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @static
+ * @param {google.protobuf.ExtensionRangeOptions.IDeclaration} message Declaration message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Declaration.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.number != null && Object.hasOwnProperty.call(message, "number"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.number);
+ if (message.fullName != null && Object.hasOwnProperty.call(message, "fullName"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.fullName);
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.type);
+ if (message.reserved != null && Object.hasOwnProperty.call(message, "reserved"))
+ writer.uint32(/* id 5, wireType 0 =*/40).bool(message.reserved);
+ if (message.repeated != null && Object.hasOwnProperty.call(message, "repeated"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.repeated);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Declaration message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @static
+ * @param {google.protobuf.ExtensionRangeOptions.IDeclaration} message Declaration message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Declaration.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Declaration message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Declaration.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.protobuf.ExtensionRangeOptions.Declaration();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.number = reader.int32();
+ break;
+ }
+ case 2: {
+ message.fullName = reader.string();
+ break;
+ }
+ case 3: {
+ message.type = reader.string();
+ break;
+ }
+ case 5: {
+ message.reserved = reader.bool();
+ break;
+ }
+ case 6: {
+ message.repeated = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Declaration message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Declaration.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Declaration message.
+ * @function verify
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Declaration.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.number != null && message.hasOwnProperty("number"))
+ if (!$util.isInteger(message.number))
+ return "number: integer expected";
+ if (message.fullName != null && message.hasOwnProperty("fullName"))
+ if (!$util.isString(message.fullName))
+ return "fullName: string expected";
+ if (message.type != null && message.hasOwnProperty("type"))
+ if (!$util.isString(message.type))
+ return "type: string expected";
+ if (message.reserved != null && message.hasOwnProperty("reserved"))
+ if (typeof message.reserved !== "boolean")
+ return "reserved: boolean expected";
+ if (message.repeated != null && message.hasOwnProperty("repeated"))
+ if (typeof message.repeated !== "boolean")
+ return "repeated: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a Declaration message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration
+ */
+ Declaration.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration)
+ return object;
+ var message = new $root.google.protobuf.ExtensionRangeOptions.Declaration();
+ if (object.number != null)
+ message.number = object.number | 0;
+ if (object.fullName != null)
+ message.fullName = String(object.fullName);
+ if (object.type != null)
+ message.type = String(object.type);
+ if (object.reserved != null)
+ message.reserved = Boolean(object.reserved);
+ if (object.repeated != null)
+ message.repeated = Boolean(object.repeated);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Declaration message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @static
+ * @param {google.protobuf.ExtensionRangeOptions.Declaration} message Declaration
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Declaration.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.number = 0;
+ object.fullName = "";
+ object.type = "";
+ object.reserved = false;
+ object.repeated = false;
+ }
+ if (message.number != null && message.hasOwnProperty("number"))
+ object.number = message.number;
+ if (message.fullName != null && message.hasOwnProperty("fullName"))
+ object.fullName = message.fullName;
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = message.type;
+ if (message.reserved != null && message.hasOwnProperty("reserved"))
+ object.reserved = message.reserved;
+ if (message.repeated != null && message.hasOwnProperty("repeated"))
+ object.repeated = message.repeated;
+ return object;
+ };
+
+ /**
+ * Converts this Declaration to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Declaration.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Declaration
+ * @function getTypeUrl
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Declaration.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions.Declaration";
+ };
+
+ return Declaration;
+ })();
+
+ /**
+ * VerificationState enum.
+ * @name google.protobuf.ExtensionRangeOptions.VerificationState
+ * @enum {number}
+ * @property {number} DECLARATION=0 DECLARATION value
+ * @property {number} UNVERIFIED=1 UNVERIFIED value
+ */
+ ExtensionRangeOptions.VerificationState = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "DECLARATION"] = 0;
+ values[valuesById[1] = "UNVERIFIED"] = 1;
+ return values;
+ })();
+
+ return ExtensionRangeOptions;
+ })();
+
+ protobuf.FieldDescriptorProto = (function() {
+
+ /**
+ * Properties of a FieldDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IFieldDescriptorProto
+ * @property {string|null} [name] FieldDescriptorProto name
+ * @property {number|null} [number] FieldDescriptorProto number
+ * @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label
+ * @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type
+ * @property {string|null} [typeName] FieldDescriptorProto typeName
+ * @property {string|null} [extendee] FieldDescriptorProto extendee
+ * @property {string|null} [defaultValue] FieldDescriptorProto defaultValue
+ * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex
+ * @property {string|null} [jsonName] FieldDescriptorProto jsonName
+ * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options
+ * @property {boolean|null} [proto3Optional] FieldDescriptorProto proto3Optional
+ */
+
+ /**
+ * Constructs a new FieldDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents a FieldDescriptorProto.
+ * @implements IFieldDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set
+ */
+ function FieldDescriptorProto(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]];
+ }
+
+ /**
+ * FieldDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.name = "";
+
+ /**
+ * FieldDescriptorProto number.
+ * @member {number} number
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.number = 0;
+
+ /**
+ * FieldDescriptorProto label.
+ * @member {google.protobuf.FieldDescriptorProto.Label} label
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.label = 1;
+
+ /**
+ * FieldDescriptorProto type.
+ * @member {google.protobuf.FieldDescriptorProto.Type} type
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.type = 1;
+
+ /**
+ * FieldDescriptorProto typeName.
+ * @member {string} typeName
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.typeName = "";
+
+ /**
+ * FieldDescriptorProto extendee.
+ * @member {string} extendee
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.extendee = "";
+
+ /**
+ * FieldDescriptorProto defaultValue.
+ * @member {string} defaultValue
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.defaultValue = "";
+
+ /**
+ * FieldDescriptorProto oneofIndex.
+ * @member {number} oneofIndex
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.oneofIndex = 0;
+
+ /**
+ * FieldDescriptorProto jsonName.
+ * @member {string} jsonName
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.jsonName = "";
+
+ /**
+ * FieldDescriptorProto options.
+ * @member {google.protobuf.IFieldOptions|null|undefined} options
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.options = null;
+
+ /**
+ * FieldDescriptorProto proto3Optional.
+ * @member {boolean} proto3Optional
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.proto3Optional = false;
+
+ /**
+ * Creates a new FieldDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto instance
+ */
+ FieldDescriptorProto.create = function create(properties) {
+ return new FieldDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FieldDescriptorProto.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.extendee != null && Object.hasOwnProperty.call(message, "extendee"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.extendee);
+ if (message.number != null && Object.hasOwnProperty.call(message, "number"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.number);
+ if (message.label != null && Object.hasOwnProperty.call(message, "label"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.label);
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type);
+ if (message.typeName != null && Object.hasOwnProperty.call(message, "typeName"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.typeName);
+ if (message.defaultValue != null && Object.hasOwnProperty.call(message, "defaultValue"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.defaultValue);
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.FieldOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.oneofIndex != null && Object.hasOwnProperty.call(message, "oneofIndex"))
+ writer.uint32(/* id 9, wireType 0 =*/72).int32(message.oneofIndex);
+ if (message.jsonName != null && Object.hasOwnProperty.call(message, "jsonName"))
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName);
+ if (message.proto3Optional != null && Object.hasOwnProperty.call(message, "proto3Optional"))
+ writer.uint32(/* id 17, wireType 0 =*/136).bool(message.proto3Optional);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FieldDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FieldDescriptorProto.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.protobuf.FieldDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 3: {
+ message.number = reader.int32();
+ break;
+ }
+ case 4: {
+ message.label = reader.int32();
+ break;
+ }
+ case 5: {
+ message.type = reader.int32();
+ break;
+ }
+ case 6: {
+ message.typeName = reader.string();
+ break;
+ }
+ case 2: {
+ message.extendee = reader.string();
+ break;
+ }
+ case 7: {
+ message.defaultValue = reader.string();
+ break;
+ }
+ case 9: {
+ message.oneofIndex = reader.int32();
+ break;
+ }
+ case 10: {
+ message.jsonName = reader.string();
+ break;
+ }
+ case 8: {
+ message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 17: {
+ message.proto3Optional = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FieldDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FieldDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FieldDescriptorProto.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.number != null && message.hasOwnProperty("number"))
+ if (!$util.isInteger(message.number))
+ return "number: integer expected";
+ if (message.label != null && message.hasOwnProperty("label"))
+ switch (message.label) {
+ default:
+ return "label: enum value expected";
+ case 1:
+ case 3:
+ case 2:
+ break;
+ }
+ if (message.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ break;
+ }
+ if (message.typeName != null && message.hasOwnProperty("typeName"))
+ if (!$util.isString(message.typeName))
+ return "typeName: string expected";
+ if (message.extendee != null && message.hasOwnProperty("extendee"))
+ if (!$util.isString(message.extendee))
+ return "extendee: string expected";
+ if (message.defaultValue != null && message.hasOwnProperty("defaultValue"))
+ if (!$util.isString(message.defaultValue))
+ return "defaultValue: string expected";
+ if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex"))
+ if (!$util.isInteger(message.oneofIndex))
+ return "oneofIndex: integer expected";
+ if (message.jsonName != null && message.hasOwnProperty("jsonName"))
+ if (!$util.isString(message.jsonName))
+ return "jsonName: string expected";
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.FieldOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional"))
+ if (typeof message.proto3Optional !== "boolean")
+ return "proto3Optional: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto
+ */
+ FieldDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FieldDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.FieldDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.number != null)
+ message.number = object.number | 0;
+ switch (object.label) {
+ default:
+ if (typeof object.label === "number") {
+ message.label = object.label;
+ break;
+ }
+ break;
+ case "LABEL_OPTIONAL":
+ case 1:
+ message.label = 1;
+ break;
+ case "LABEL_REPEATED":
+ case 3:
+ message.label = 3;
+ break;
+ case "LABEL_REQUIRED":
+ case 2:
+ message.label = 2;
+ break;
+ }
+ switch (object.type) {
+ default:
+ if (typeof object.type === "number") {
+ message.type = object.type;
+ break;
+ }
+ break;
+ case "TYPE_DOUBLE":
+ case 1:
+ message.type = 1;
+ break;
+ case "TYPE_FLOAT":
+ case 2:
+ message.type = 2;
+ break;
+ case "TYPE_INT64":
+ case 3:
+ message.type = 3;
+ break;
+ case "TYPE_UINT64":
+ case 4:
+ message.type = 4;
+ break;
+ case "TYPE_INT32":
+ case 5:
+ message.type = 5;
+ break;
+ case "TYPE_FIXED64":
+ case 6:
+ message.type = 6;
+ break;
+ case "TYPE_FIXED32":
+ case 7:
+ message.type = 7;
+ break;
+ case "TYPE_BOOL":
+ case 8:
+ message.type = 8;
+ break;
+ case "TYPE_STRING":
+ case 9:
+ message.type = 9;
+ break;
+ case "TYPE_GROUP":
+ case 10:
+ message.type = 10;
+ break;
+ case "TYPE_MESSAGE":
+ case 11:
+ message.type = 11;
+ break;
+ case "TYPE_BYTES":
+ case 12:
+ message.type = 12;
+ break;
+ case "TYPE_UINT32":
+ case 13:
+ message.type = 13;
+ break;
+ case "TYPE_ENUM":
+ case 14:
+ message.type = 14;
+ break;
+ case "TYPE_SFIXED32":
+ case 15:
+ message.type = 15;
+ break;
+ case "TYPE_SFIXED64":
+ case 16:
+ message.type = 16;
+ break;
+ case "TYPE_SINT32":
+ case 17:
+ message.type = 17;
+ break;
+ case "TYPE_SINT64":
+ case 18:
+ message.type = 18;
+ break;
+ }
+ if (object.typeName != null)
+ message.typeName = String(object.typeName);
+ if (object.extendee != null)
+ message.extendee = String(object.extendee);
+ if (object.defaultValue != null)
+ message.defaultValue = String(object.defaultValue);
+ if (object.oneofIndex != null)
+ message.oneofIndex = object.oneofIndex | 0;
+ if (object.jsonName != null)
+ message.jsonName = String(object.jsonName);
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.FieldOptions.fromObject(object.options);
+ }
+ if (object.proto3Optional != null)
+ message.proto3Optional = Boolean(object.proto3Optional);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {google.protobuf.FieldDescriptorProto} message FieldDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FieldDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.extendee = "";
+ object.number = 0;
+ object.label = options.enums === String ? "LABEL_OPTIONAL" : 1;
+ object.type = options.enums === String ? "TYPE_DOUBLE" : 1;
+ object.typeName = "";
+ object.defaultValue = "";
+ object.options = null;
+ object.oneofIndex = 0;
+ object.jsonName = "";
+ object.proto3Optional = false;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.extendee != null && message.hasOwnProperty("extendee"))
+ object.extendee = message.extendee;
+ if (message.number != null && message.hasOwnProperty("number"))
+ object.number = message.number;
+ if (message.label != null && message.hasOwnProperty("label"))
+ object.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] === undefined ? message.label : $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label;
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] === undefined ? message.type : $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type;
+ if (message.typeName != null && message.hasOwnProperty("typeName"))
+ object.typeName = message.typeName;
+ if (message.defaultValue != null && message.hasOwnProperty("defaultValue"))
+ object.defaultValue = message.defaultValue;
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.FieldOptions.toObject(message.options, options);
+ if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex"))
+ object.oneofIndex = message.oneofIndex;
+ if (message.jsonName != null && message.hasOwnProperty("jsonName"))
+ object.jsonName = message.jsonName;
+ if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional"))
+ object.proto3Optional = message.proto3Optional;
+ return object;
+ };
+
+ /**
+ * Converts this FieldDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FieldDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FieldDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FieldDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FieldDescriptorProto";
+ };
+
+ /**
+ * Type enum.
+ * @name google.protobuf.FieldDescriptorProto.Type
+ * @enum {number}
+ * @property {number} TYPE_DOUBLE=1 TYPE_DOUBLE value
+ * @property {number} TYPE_FLOAT=2 TYPE_FLOAT value
+ * @property {number} TYPE_INT64=3 TYPE_INT64 value
+ * @property {number} TYPE_UINT64=4 TYPE_UINT64 value
+ * @property {number} TYPE_INT32=5 TYPE_INT32 value
+ * @property {number} TYPE_FIXED64=6 TYPE_FIXED64 value
+ * @property {number} TYPE_FIXED32=7 TYPE_FIXED32 value
+ * @property {number} TYPE_BOOL=8 TYPE_BOOL value
+ * @property {number} TYPE_STRING=9 TYPE_STRING value
+ * @property {number} TYPE_GROUP=10 TYPE_GROUP value
+ * @property {number} TYPE_MESSAGE=11 TYPE_MESSAGE value
+ * @property {number} TYPE_BYTES=12 TYPE_BYTES value
+ * @property {number} TYPE_UINT32=13 TYPE_UINT32 value
+ * @property {number} TYPE_ENUM=14 TYPE_ENUM value
+ * @property {number} TYPE_SFIXED32=15 TYPE_SFIXED32 value
+ * @property {number} TYPE_SFIXED64=16 TYPE_SFIXED64 value
+ * @property {number} TYPE_SINT32=17 TYPE_SINT32 value
+ * @property {number} TYPE_SINT64=18 TYPE_SINT64 value
+ */
+ FieldDescriptorProto.Type = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[1] = "TYPE_DOUBLE"] = 1;
+ values[valuesById[2] = "TYPE_FLOAT"] = 2;
+ values[valuesById[3] = "TYPE_INT64"] = 3;
+ values[valuesById[4] = "TYPE_UINT64"] = 4;
+ values[valuesById[5] = "TYPE_INT32"] = 5;
+ values[valuesById[6] = "TYPE_FIXED64"] = 6;
+ values[valuesById[7] = "TYPE_FIXED32"] = 7;
+ values[valuesById[8] = "TYPE_BOOL"] = 8;
+ values[valuesById[9] = "TYPE_STRING"] = 9;
+ values[valuesById[10] = "TYPE_GROUP"] = 10;
+ values[valuesById[11] = "TYPE_MESSAGE"] = 11;
+ values[valuesById[12] = "TYPE_BYTES"] = 12;
+ values[valuesById[13] = "TYPE_UINT32"] = 13;
+ values[valuesById[14] = "TYPE_ENUM"] = 14;
+ values[valuesById[15] = "TYPE_SFIXED32"] = 15;
+ values[valuesById[16] = "TYPE_SFIXED64"] = 16;
+ values[valuesById[17] = "TYPE_SINT32"] = 17;
+ values[valuesById[18] = "TYPE_SINT64"] = 18;
+ return values;
+ })();
+
+ /**
+ * Label enum.
+ * @name google.protobuf.FieldDescriptorProto.Label
+ * @enum {number}
+ * @property {number} LABEL_OPTIONAL=1 LABEL_OPTIONAL value
+ * @property {number} LABEL_REPEATED=3 LABEL_REPEATED value
+ * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value
+ */
+ FieldDescriptorProto.Label = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[1] = "LABEL_OPTIONAL"] = 1;
+ values[valuesById[3] = "LABEL_REPEATED"] = 3;
+ values[valuesById[2] = "LABEL_REQUIRED"] = 2;
+ return values;
+ })();
+
+ return FieldDescriptorProto;
+ })();
+
+ protobuf.OneofDescriptorProto = (function() {
+
+ /**
+ * Properties of an OneofDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IOneofDescriptorProto
+ * @property {string|null} [name] OneofDescriptorProto name
+ * @property {google.protobuf.IOneofOptions|null} [options] OneofDescriptorProto options
+ */
+
+ /**
+ * Constructs a new OneofDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents an OneofDescriptorProto.
+ * @implements IOneofDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set
+ */
+ function OneofDescriptorProto(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]];
+ }
+
+ /**
+ * OneofDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @instance
+ */
+ OneofDescriptorProto.prototype.name = "";
+
+ /**
+ * OneofDescriptorProto options.
+ * @member {google.protobuf.IOneofOptions|null|undefined} options
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @instance
+ */
+ OneofDescriptorProto.prototype.options = null;
+
+ /**
+ * Creates a new OneofDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto instance
+ */
+ OneofDescriptorProto.create = function create(properties) {
+ return new OneofDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OneofDescriptorProto.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.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.OneofOptions.encode(message.options, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OneofDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OneofDescriptorProto.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.protobuf.OneofDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OneofDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an OneofDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ OneofDescriptorProto.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.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.OneofOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto
+ */
+ OneofDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.OneofDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.OneofDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.OneofOptions.fromObject(object.options);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {google.protobuf.OneofDescriptorProto} message OneofDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ OneofDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.options = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.OneofOptions.toObject(message.options, options);
+ return object;
+ };
+
+ /**
+ * Converts this OneofDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ OneofDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for OneofDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ OneofDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.OneofDescriptorProto";
+ };
+
+ return OneofDescriptorProto;
+ })();
+
+ protobuf.EnumDescriptorProto = (function() {
+
+ /**
+ * Properties of an EnumDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IEnumDescriptorProto
+ * @property {string|null} [name] EnumDescriptorProto name
+ * @property {Array.|null} [value] EnumDescriptorProto value
+ * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options
+ * @property {Array.|null} [reservedRange] EnumDescriptorProto reservedRange
+ * @property {Array.|null} [reservedName] EnumDescriptorProto reservedName
+ * @property {google.protobuf.SymbolVisibility|null} [visibility] EnumDescriptorProto visibility
+ */
+
+ /**
+ * Constructs a new EnumDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents an EnumDescriptorProto.
+ * @implements IEnumDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set
+ */
+ function EnumDescriptorProto(properties) {
+ this.value = [];
+ this.reservedRange = [];
+ this.reservedName = [];
+ 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]];
+ }
+
+ /**
+ * EnumDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @instance
+ */
+ EnumDescriptorProto.prototype.name = "";
+
+ /**
+ * EnumDescriptorProto value.
+ * @member {Array.} value
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @instance
+ */
+ EnumDescriptorProto.prototype.value = $util.emptyArray;
+
+ /**
+ * EnumDescriptorProto options.
+ * @member {google.protobuf.IEnumOptions|null|undefined} options
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @instance
+ */
+ EnumDescriptorProto.prototype.options = null;
+
+ /**
+ * EnumDescriptorProto reservedRange.
+ * @member {Array.} reservedRange
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @instance
+ */
+ EnumDescriptorProto.prototype.reservedRange = $util.emptyArray;
+
+ /**
+ * EnumDescriptorProto reservedName.
+ * @member {Array.} reservedName
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @instance
+ */
+ EnumDescriptorProto.prototype.reservedName = $util.emptyArray;
+
+ /**
+ * EnumDescriptorProto visibility.
+ * @member {google.protobuf.SymbolVisibility} visibility
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @instance
+ */
+ EnumDescriptorProto.prototype.visibility = 0;
+
+ /**
+ * Creates a new EnumDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto instance
+ */
+ EnumDescriptorProto.create = function create(properties) {
+ return new EnumDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumDescriptorProto.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.value != null && message.value.length)
+ for (var i = 0; i < message.value.length; ++i)
+ $root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.EnumOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.reservedRange != null && message.reservedRange.length)
+ for (var i = 0; i < message.reservedRange.length; ++i)
+ $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.reservedName != null && message.reservedName.length)
+ for (var i = 0; i < message.reservedName.length; ++i)
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.reservedName[i]);
+ if (message.visibility != null && Object.hasOwnProperty.call(message, "visibility"))
+ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.visibility);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumDescriptorProto.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.protobuf.EnumDescriptorProto();
+ 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.value && message.value.length))
+ message.value = [];
+ message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ if (!(message.reservedRange && message.reservedRange.length))
+ message.reservedRange = [];
+ message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ if (!(message.reservedName && message.reservedName.length))
+ message.reservedName = [];
+ message.reservedName.push(reader.string());
+ break;
+ }
+ case 6: {
+ message.visibility = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EnumDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EnumDescriptorProto.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.value != null && message.hasOwnProperty("value")) {
+ if (!Array.isArray(message.value))
+ return "value: array expected";
+ for (var i = 0; i < message.value.length; ++i) {
+ var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]);
+ if (error)
+ return "value." + error;
+ }
+ }
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.EnumOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) {
+ if (!Array.isArray(message.reservedRange))
+ return "reservedRange: array expected";
+ for (var i = 0; i < message.reservedRange.length; ++i) {
+ var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]);
+ if (error)
+ return "reservedRange." + error;
+ }
+ }
+ if (message.reservedName != null && message.hasOwnProperty("reservedName")) {
+ if (!Array.isArray(message.reservedName))
+ return "reservedName: array expected";
+ for (var i = 0; i < message.reservedName.length; ++i)
+ if (!$util.isString(message.reservedName[i]))
+ return "reservedName: string[] expected";
+ }
+ if (message.visibility != null && message.hasOwnProperty("visibility"))
+ switch (message.visibility) {
+ default:
+ return "visibility: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto
+ */
+ EnumDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.EnumDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.EnumDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.value) {
+ if (!Array.isArray(object.value))
+ throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected");
+ message.value = [];
+ for (var i = 0; i < object.value.length; ++i) {
+ if (typeof object.value[i] !== "object")
+ throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected");
+ message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]);
+ }
+ }
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.EnumOptions.fromObject(object.options);
+ }
+ if (object.reservedRange) {
+ if (!Array.isArray(object.reservedRange))
+ throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected");
+ message.reservedRange = [];
+ for (var i = 0; i < object.reservedRange.length; ++i) {
+ if (typeof object.reservedRange[i] !== "object")
+ throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected");
+ message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]);
+ }
+ }
+ if (object.reservedName) {
+ if (!Array.isArray(object.reservedName))
+ throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected");
+ message.reservedName = [];
+ for (var i = 0; i < object.reservedName.length; ++i)
+ message.reservedName[i] = String(object.reservedName[i]);
+ }
+ switch (object.visibility) {
+ default:
+ if (typeof object.visibility === "number") {
+ message.visibility = object.visibility;
+ break;
+ }
+ break;
+ case "VISIBILITY_UNSET":
+ case 0:
+ message.visibility = 0;
+ break;
+ case "VISIBILITY_LOCAL":
+ case 1:
+ message.visibility = 1;
+ break;
+ case "VISIBILITY_EXPORT":
+ case 2:
+ message.visibility = 2;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {google.protobuf.EnumDescriptorProto} message EnumDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EnumDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.value = [];
+ object.reservedRange = [];
+ object.reservedName = [];
+ }
+ if (options.defaults) {
+ object.name = "";
+ object.options = null;
+ object.visibility = options.enums === String ? "VISIBILITY_UNSET" : 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.value && message.value.length) {
+ object.value = [];
+ for (var j = 0; j < message.value.length; ++j)
+ object.value[j] = $root.google.protobuf.EnumValueDescriptorProto.toObject(message.value[j], options);
+ }
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.EnumOptions.toObject(message.options, options);
+ if (message.reservedRange && message.reservedRange.length) {
+ object.reservedRange = [];
+ for (var j = 0; j < message.reservedRange.length; ++j)
+ object.reservedRange[j] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(message.reservedRange[j], options);
+ }
+ if (message.reservedName && message.reservedName.length) {
+ object.reservedName = [];
+ for (var j = 0; j < message.reservedName.length; ++j)
+ object.reservedName[j] = message.reservedName[j];
+ }
+ if (message.visibility != null && message.hasOwnProperty("visibility"))
+ object.visibility = options.enums === String ? $root.google.protobuf.SymbolVisibility[message.visibility] === undefined ? message.visibility : $root.google.protobuf.SymbolVisibility[message.visibility] : message.visibility;
+ return object;
+ };
+
+ /**
+ * Converts this EnumDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EnumDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EnumDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EnumDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto";
+ };
+
+ EnumDescriptorProto.EnumReservedRange = (function() {
+
+ /**
+ * Properties of an EnumReservedRange.
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @interface IEnumReservedRange
+ * @property {number|null} [start] EnumReservedRange start
+ * @property {number|null} [end] EnumReservedRange end
+ */
+
+ /**
+ * Constructs a new EnumReservedRange.
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @classdesc Represents an EnumReservedRange.
+ * @implements IEnumReservedRange
+ * @constructor
+ * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set
+ */
+ function EnumReservedRange(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]];
+ }
+
+ /**
+ * EnumReservedRange start.
+ * @member {number} start
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @instance
+ */
+ EnumReservedRange.prototype.start = 0;
+
+ /**
+ * EnumReservedRange end.
+ * @member {number} end
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @instance
+ */
+ EnumReservedRange.prototype.end = 0;
+
+ /**
+ * Creates a new EnumReservedRange instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set
+ * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange instance
+ */
+ EnumReservedRange.create = function create(properties) {
+ return new EnumReservedRange(properties);
+ };
+
+ /**
+ * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumReservedRange.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.start != null && Object.hasOwnProperty.call(message, "start"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start);
+ if (message.end != null && Object.hasOwnProperty.call(message, "end"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumReservedRange.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumReservedRange.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.protobuf.EnumDescriptorProto.EnumReservedRange();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.start = reader.int32();
+ break;
+ }
+ case 2: {
+ message.end = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumReservedRange.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EnumReservedRange message.
+ * @function verify
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EnumReservedRange.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.start != null && message.hasOwnProperty("start"))
+ if (!$util.isInteger(message.start))
+ return "start: integer expected";
+ if (message.end != null && message.hasOwnProperty("end"))
+ if (!$util.isInteger(message.end))
+ return "end: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange
+ */
+ EnumReservedRange.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange)
+ return object;
+ var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange();
+ if (object.start != null)
+ message.start = object.start | 0;
+ if (object.end != null)
+ message.end = object.end | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {google.protobuf.EnumDescriptorProto.EnumReservedRange} message EnumReservedRange
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EnumReservedRange.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.start = 0;
+ object.end = 0;
+ }
+ if (message.start != null && message.hasOwnProperty("start"))
+ object.start = message.start;
+ if (message.end != null && message.hasOwnProperty("end"))
+ object.end = message.end;
+ return object;
+ };
+
+ /**
+ * Converts this EnumReservedRange to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EnumReservedRange.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EnumReservedRange
+ * @function getTypeUrl
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EnumReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto.EnumReservedRange";
+ };
+
+ return EnumReservedRange;
+ })();
+
+ return EnumDescriptorProto;
+ })();
+
+ protobuf.EnumValueDescriptorProto = (function() {
+
+ /**
+ * Properties of an EnumValueDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IEnumValueDescriptorProto
+ * @property {string|null} [name] EnumValueDescriptorProto name
+ * @property {number|null} [number] EnumValueDescriptorProto number
+ * @property {google.protobuf.IEnumValueOptions|null} [options] EnumValueDescriptorProto options
+ */
+
+ /**
+ * Constructs a new EnumValueDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents an EnumValueDescriptorProto.
+ * @implements IEnumValueDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set
+ */
+ function EnumValueDescriptorProto(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]];
+ }
+
+ /**
+ * EnumValueDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @instance
+ */
+ EnumValueDescriptorProto.prototype.name = "";
+
+ /**
+ * EnumValueDescriptorProto number.
+ * @member {number} number
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @instance
+ */
+ EnumValueDescriptorProto.prototype.number = 0;
+
+ /**
+ * EnumValueDescriptorProto options.
+ * @member {google.protobuf.IEnumValueOptions|null|undefined} options
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @instance
+ */
+ EnumValueDescriptorProto.prototype.options = null;
+
+ /**
+ * Creates a new EnumValueDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto instance
+ */
+ EnumValueDescriptorProto.create = function create(properties) {
+ return new EnumValueDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumValueDescriptorProto.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.number != null && Object.hasOwnProperty.call(message, "number"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.number);
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.EnumValueOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumValueDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumValueDescriptorProto.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.protobuf.EnumValueDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.number = reader.int32();
+ break;
+ }
+ case 3: {
+ message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumValueDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EnumValueDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EnumValueDescriptorProto.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.number != null && message.hasOwnProperty("number"))
+ if (!$util.isInteger(message.number))
+ return "number: integer expected";
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.EnumValueOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto
+ */
+ EnumValueDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.EnumValueDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.EnumValueDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.number != null)
+ message.number = object.number | 0;
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {google.protobuf.EnumValueDescriptorProto} message EnumValueDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EnumValueDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.number = 0;
+ object.options = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.number != null && message.hasOwnProperty("number"))
+ object.number = message.number;
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.EnumValueOptions.toObject(message.options, options);
+ return object;
+ };
+
+ /**
+ * Converts this EnumValueDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EnumValueDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EnumValueDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EnumValueDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.EnumValueDescriptorProto";
+ };
+
+ return EnumValueDescriptorProto;
+ })();
+
+ protobuf.ServiceDescriptorProto = (function() {
+
+ /**
+ * Properties of a ServiceDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IServiceDescriptorProto
+ * @property {string|null} [name] ServiceDescriptorProto name
+ * @property {Array.|null} [method] ServiceDescriptorProto method
+ * @property {google.protobuf.IServiceOptions|null} [options] ServiceDescriptorProto options
+ */
+
+ /**
+ * Constructs a new ServiceDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents a ServiceDescriptorProto.
+ * @implements IServiceDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set
+ */
+ function ServiceDescriptorProto(properties) {
+ this.method = [];
+ 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]];
+ }
+
+ /**
+ * ServiceDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @instance
+ */
+ ServiceDescriptorProto.prototype.name = "";
+
+ /**
+ * ServiceDescriptorProto method.
+ * @member {Array.} method
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @instance
+ */
+ ServiceDescriptorProto.prototype.method = $util.emptyArray;
+
+ /**
+ * ServiceDescriptorProto options.
+ * @member {google.protobuf.IServiceOptions|null|undefined} options
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @instance
+ */
+ ServiceDescriptorProto.prototype.options = null;
+
+ /**
+ * Creates a new ServiceDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto instance
+ */
+ ServiceDescriptorProto.create = function create(properties) {
+ return new ServiceDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ServiceDescriptorProto.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.method != null && message.method.length)
+ for (var i = 0; i < message.method.length; ++i)
+ $root.google.protobuf.MethodDescriptorProto.encode(message.method[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.ServiceOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ServiceDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ServiceDescriptorProto.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.protobuf.ServiceDescriptorProto();
+ 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.method && message.method.length))
+ message.method = [];
+ message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ServiceDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ServiceDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ServiceDescriptorProto.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.method != null && message.hasOwnProperty("method")) {
+ if (!Array.isArray(message.method))
+ return "method: array expected";
+ for (var i = 0; i < message.method.length; ++i) {
+ var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]);
+ if (error)
+ return "method." + error;
+ }
+ }
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.ServiceOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto
+ */
+ ServiceDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.ServiceDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.ServiceDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.method) {
+ if (!Array.isArray(object.method))
+ throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected");
+ message.method = [];
+ for (var i = 0; i < object.method.length; ++i) {
+ if (typeof object.method[i] !== "object")
+ throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected");
+ message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]);
+ }
+ }
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {google.protobuf.ServiceDescriptorProto} message ServiceDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ServiceDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.method = [];
+ if (options.defaults) {
+ object.name = "";
+ object.options = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.method && message.method.length) {
+ object.method = [];
+ for (var j = 0; j < message.method.length; ++j)
+ object.method[j] = $root.google.protobuf.MethodDescriptorProto.toObject(message.method[j], options);
+ }
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.ServiceOptions.toObject(message.options, options);
+ return object;
+ };
+
+ /**
+ * Converts this ServiceDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ServiceDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ServiceDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ServiceDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.ServiceDescriptorProto";
+ };
+
+ return ServiceDescriptorProto;
+ })();
+
+ protobuf.MethodDescriptorProto = (function() {
+
+ /**
+ * Properties of a MethodDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IMethodDescriptorProto
+ * @property {string|null} [name] MethodDescriptorProto name
+ * @property {string|null} [inputType] MethodDescriptorProto inputType
+ * @property {string|null} [outputType] MethodDescriptorProto outputType
+ * @property {google.protobuf.IMethodOptions|null} [options] MethodDescriptorProto options
+ * @property {boolean|null} [clientStreaming] MethodDescriptorProto clientStreaming
+ * @property {boolean|null} [serverStreaming] MethodDescriptorProto serverStreaming
+ */
+
+ /**
+ * Constructs a new MethodDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents a MethodDescriptorProto.
+ * @implements IMethodDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set
+ */
+ function MethodDescriptorProto(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]];
+ }
+
+ /**
+ * MethodDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @instance
+ */
+ MethodDescriptorProto.prototype.name = "";
+
+ /**
+ * MethodDescriptorProto inputType.
+ * @member {string} inputType
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @instance
+ */
+ MethodDescriptorProto.prototype.inputType = "";
+
+ /**
+ * MethodDescriptorProto outputType.
+ * @member {string} outputType
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @instance
+ */
+ MethodDescriptorProto.prototype.outputType = "";
+
+ /**
+ * MethodDescriptorProto options.
+ * @member {google.protobuf.IMethodOptions|null|undefined} options
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @instance
+ */
+ MethodDescriptorProto.prototype.options = null;
+
+ /**
+ * MethodDescriptorProto clientStreaming.
+ * @member {boolean} clientStreaming
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @instance
+ */
+ MethodDescriptorProto.prototype.clientStreaming = false;
+
+ /**
+ * MethodDescriptorProto serverStreaming.
+ * @member {boolean} serverStreaming
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @instance
+ */
+ MethodDescriptorProto.prototype.serverStreaming = false;
+
+ /**
+ * Creates a new MethodDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @static
+ * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto instance
+ */
+ MethodDescriptorProto.create = function create(properties) {
+ return new MethodDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @static
+ * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MethodDescriptorProto.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.inputType != null && Object.hasOwnProperty.call(message, "inputType"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.inputType);
+ if (message.outputType != null && Object.hasOwnProperty.call(message, "outputType"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputType);
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.MethodOptions.encode(message.options, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.clientStreaming != null && Object.hasOwnProperty.call(message, "clientStreaming"))
+ writer.uint32(/* id 5, wireType 0 =*/40).bool(message.clientStreaming);
+ if (message.serverStreaming != null && Object.hasOwnProperty.call(message, "serverStreaming"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.serverStreaming);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @static
+ * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MethodDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MethodDescriptorProto.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.protobuf.MethodDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.inputType = reader.string();
+ break;
+ }
+ case 3: {
+ message.outputType = reader.string();
+ break;
+ }
+ case 4: {
+ message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.clientStreaming = reader.bool();
+ break;
+ }
+ case 6: {
+ message.serverStreaming = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MethodDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MethodDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MethodDescriptorProto.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.inputType != null && message.hasOwnProperty("inputType"))
+ if (!$util.isString(message.inputType))
+ return "inputType: string expected";
+ if (message.outputType != null && message.hasOwnProperty("outputType"))
+ if (!$util.isString(message.outputType))
+ return "outputType: string expected";
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.MethodOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming"))
+ if (typeof message.clientStreaming !== "boolean")
+ return "clientStreaming: boolean expected";
+ if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming"))
+ if (typeof message.serverStreaming !== "boolean")
+ return "serverStreaming: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto
+ */
+ MethodDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.MethodDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.MethodDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.inputType != null)
+ message.inputType = String(object.inputType);
+ if (object.outputType != null)
+ message.outputType = String(object.outputType);
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.MethodOptions.fromObject(object.options);
+ }
+ if (object.clientStreaming != null)
+ message.clientStreaming = Boolean(object.clientStreaming);
+ if (object.serverStreaming != null)
+ message.serverStreaming = Boolean(object.serverStreaming);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @static
+ * @param {google.protobuf.MethodDescriptorProto} message MethodDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MethodDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.inputType = "";
+ object.outputType = "";
+ object.options = null;
+ object.clientStreaming = false;
+ object.serverStreaming = false;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.inputType != null && message.hasOwnProperty("inputType"))
+ object.inputType = message.inputType;
+ if (message.outputType != null && message.hasOwnProperty("outputType"))
+ object.outputType = message.outputType;
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.MethodOptions.toObject(message.options, options);
+ if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming"))
+ object.clientStreaming = message.clientStreaming;
+ if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming"))
+ object.serverStreaming = message.serverStreaming;
+ return object;
+ };
+
+ /**
+ * Converts this MethodDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MethodDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MethodDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.MethodDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MethodDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.MethodDescriptorProto";
+ };
+
+ return MethodDescriptorProto;
+ })();
+
+ protobuf.FileOptions = (function() {
+
+ /**
+ * Properties of a FileOptions.
+ * @memberof google.protobuf
+ * @interface IFileOptions
+ * @property {string|null} [javaPackage] FileOptions javaPackage
+ * @property {string|null} [javaOuterClassname] FileOptions javaOuterClassname
+ * @property {boolean|null} [javaMultipleFiles] FileOptions javaMultipleFiles
+ * @property {boolean|null} [javaGenerateEqualsAndHash] FileOptions javaGenerateEqualsAndHash
+ * @property {boolean|null} [javaStringCheckUtf8] FileOptions javaStringCheckUtf8
+ * @property {google.protobuf.FileOptions.OptimizeMode|null} [optimizeFor] FileOptions optimizeFor
+ * @property {string|null} [goPackage] FileOptions goPackage
+ * @property {boolean|null} [ccGenericServices] FileOptions ccGenericServices
+ * @property {boolean|null} [javaGenericServices] FileOptions javaGenericServices
+ * @property {boolean|null} [pyGenericServices] FileOptions pyGenericServices
+ * @property {boolean|null} [deprecated] FileOptions deprecated
+ * @property {boolean|null} [ccEnableArenas] FileOptions ccEnableArenas
+ * @property {string|null} [objcClassPrefix] FileOptions objcClassPrefix
+ * @property {string|null} [csharpNamespace] FileOptions csharpNamespace
+ * @property {string|null} [swiftPrefix] FileOptions swiftPrefix
+ * @property {string|null} [phpClassPrefix] FileOptions phpClassPrefix
+ * @property {string|null} [phpNamespace] FileOptions phpNamespace
+ * @property {string|null} [phpMetadataNamespace] FileOptions phpMetadataNamespace
+ * @property {string|null} [rubyPackage] FileOptions rubyPackage
+ * @property {google.protobuf.IFeatureSet|null} [features] FileOptions features
+ * @property {Array.|null} [uninterpretedOption] FileOptions uninterpretedOption
+ * @property {Array.|null} [".google.api.resourceDefinition"] FileOptions .google.api.resourceDefinition
+ */
+
+ /**
+ * Constructs a new FileOptions.
+ * @memberof google.protobuf
+ * @classdesc Represents a FileOptions.
+ * @implements IFileOptions
+ * @constructor
+ * @param {google.protobuf.IFileOptions=} [properties] Properties to set
+ */
+ function FileOptions(properties) {
+ this.uninterpretedOption = [];
+ this[".google.api.resourceDefinition"] = [];
+ 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]];
+ }
+
+ /**
+ * FileOptions javaPackage.
+ * @member {string} javaPackage
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.javaPackage = "";
+
+ /**
+ * FileOptions javaOuterClassname.
+ * @member {string} javaOuterClassname
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.javaOuterClassname = "";
+
+ /**
+ * FileOptions javaMultipleFiles.
+ * @member {boolean} javaMultipleFiles
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.javaMultipleFiles = false;
+
+ /**
+ * FileOptions javaGenerateEqualsAndHash.
+ * @member {boolean} javaGenerateEqualsAndHash
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.javaGenerateEqualsAndHash = false;
+
+ /**
+ * FileOptions javaStringCheckUtf8.
+ * @member {boolean} javaStringCheckUtf8
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.javaStringCheckUtf8 = false;
+
+ /**
+ * FileOptions optimizeFor.
+ * @member {google.protobuf.FileOptions.OptimizeMode} optimizeFor
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.optimizeFor = 1;
+
+ /**
+ * FileOptions goPackage.
+ * @member {string} goPackage
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.goPackage = "";
+
+ /**
+ * FileOptions ccGenericServices.
+ * @member {boolean} ccGenericServices
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.ccGenericServices = false;
+
+ /**
+ * FileOptions javaGenericServices.
+ * @member {boolean} javaGenericServices
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.javaGenericServices = false;
+
+ /**
+ * FileOptions pyGenericServices.
+ * @member {boolean} pyGenericServices
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.pyGenericServices = false;
+
+ /**
+ * FileOptions deprecated.
+ * @member {boolean} deprecated
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.deprecated = false;
+
+ /**
+ * FileOptions ccEnableArenas.
+ * @member {boolean} ccEnableArenas
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.ccEnableArenas = true;
+
+ /**
+ * FileOptions objcClassPrefix.
+ * @member {string} objcClassPrefix
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.objcClassPrefix = "";
+
+ /**
+ * FileOptions csharpNamespace.
+ * @member {string} csharpNamespace
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.csharpNamespace = "";
+
+ /**
+ * FileOptions swiftPrefix.
+ * @member {string} swiftPrefix
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.swiftPrefix = "";
+
+ /**
+ * FileOptions phpClassPrefix.
+ * @member {string} phpClassPrefix
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.phpClassPrefix = "";
+
+ /**
+ * FileOptions phpNamespace.
+ * @member {string} phpNamespace
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.phpNamespace = "";
+
+ /**
+ * FileOptions phpMetadataNamespace.
+ * @member {string} phpMetadataNamespace
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.phpMetadataNamespace = "";
+
+ /**
+ * FileOptions rubyPackage.
+ * @member {string} rubyPackage
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.rubyPackage = "";
+
+ /**
+ * FileOptions features.
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.features = null;
+
+ /**
+ * FileOptions uninterpretedOption.
+ * @member {Array.} uninterpretedOption
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype.uninterpretedOption = $util.emptyArray;
+
+ /**
+ * FileOptions .google.api.resourceDefinition.
+ * @member {Array.} .google.api.resourceDefinition
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ */
+ FileOptions.prototype[".google.api.resourceDefinition"] = $util.emptyArray;
+
+ /**
+ * Creates a new FileOptions instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FileOptions
+ * @static
+ * @param {google.protobuf.IFileOptions=} [properties] Properties to set
+ * @returns {google.protobuf.FileOptions} FileOptions instance
+ */
+ FileOptions.create = function create(properties) {
+ return new FileOptions(properties);
+ };
+
+ /**
+ * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FileOptions
+ * @static
+ * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.javaPackage != null && Object.hasOwnProperty.call(message, "javaPackage"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.javaPackage);
+ if (message.javaOuterClassname != null && Object.hasOwnProperty.call(message, "javaOuterClassname"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.javaOuterClassname);
+ if (message.optimizeFor != null && Object.hasOwnProperty.call(message, "optimizeFor"))
+ writer.uint32(/* id 9, wireType 0 =*/72).int32(message.optimizeFor);
+ if (message.javaMultipleFiles != null && Object.hasOwnProperty.call(message, "javaMultipleFiles"))
+ writer.uint32(/* id 10, wireType 0 =*/80).bool(message.javaMultipleFiles);
+ if (message.goPackage != null && Object.hasOwnProperty.call(message, "goPackage"))
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.goPackage);
+ if (message.ccGenericServices != null && Object.hasOwnProperty.call(message, "ccGenericServices"))
+ writer.uint32(/* id 16, wireType 0 =*/128).bool(message.ccGenericServices);
+ if (message.javaGenericServices != null && Object.hasOwnProperty.call(message, "javaGenericServices"))
+ writer.uint32(/* id 17, wireType 0 =*/136).bool(message.javaGenericServices);
+ if (message.pyGenericServices != null && Object.hasOwnProperty.call(message, "pyGenericServices"))
+ writer.uint32(/* id 18, wireType 0 =*/144).bool(message.pyGenericServices);
+ if (message.javaGenerateEqualsAndHash != null && Object.hasOwnProperty.call(message, "javaGenerateEqualsAndHash"))
+ writer.uint32(/* id 20, wireType 0 =*/160).bool(message.javaGenerateEqualsAndHash);
+ if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
+ writer.uint32(/* id 23, wireType 0 =*/184).bool(message.deprecated);
+ if (message.javaStringCheckUtf8 != null && Object.hasOwnProperty.call(message, "javaStringCheckUtf8"))
+ writer.uint32(/* id 27, wireType 0 =*/216).bool(message.javaStringCheckUtf8);
+ if (message.ccEnableArenas != null && Object.hasOwnProperty.call(message, "ccEnableArenas"))
+ writer.uint32(/* id 31, wireType 0 =*/248).bool(message.ccEnableArenas);
+ if (message.objcClassPrefix != null && Object.hasOwnProperty.call(message, "objcClassPrefix"))
+ writer.uint32(/* id 36, wireType 2 =*/290).string(message.objcClassPrefix);
+ if (message.csharpNamespace != null && Object.hasOwnProperty.call(message, "csharpNamespace"))
+ writer.uint32(/* id 37, wireType 2 =*/298).string(message.csharpNamespace);
+ if (message.swiftPrefix != null && Object.hasOwnProperty.call(message, "swiftPrefix"))
+ writer.uint32(/* id 39, wireType 2 =*/314).string(message.swiftPrefix);
+ if (message.phpClassPrefix != null && Object.hasOwnProperty.call(message, "phpClassPrefix"))
+ writer.uint32(/* id 40, wireType 2 =*/322).string(message.phpClassPrefix);
+ if (message.phpNamespace != null && Object.hasOwnProperty.call(message, "phpNamespace"))
+ writer.uint32(/* id 41, wireType 2 =*/330).string(message.phpNamespace);
+ if (message.phpMetadataNamespace != null && Object.hasOwnProperty.call(message, "phpMetadataNamespace"))
+ writer.uint32(/* id 44, wireType 2 =*/354).string(message.phpMetadataNamespace);
+ if (message.rubyPackage != null && Object.hasOwnProperty.call(message, "rubyPackage"))
+ writer.uint32(/* id 45, wireType 2 =*/362).string(message.rubyPackage);
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 50, wireType 2 =*/402).fork()).ldelim();
+ if (message.uninterpretedOption != null && message.uninterpretedOption.length)
+ for (var i = 0; i < message.uninterpretedOption.length; ++i)
+ $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
+ if (message[".google.api.resourceDefinition"] != null && message[".google.api.resourceDefinition"].length)
+ for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i)
+ $root.google.api.ResourceDescriptor.encode(message[".google.api.resourceDefinition"][i], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FileOptions
+ * @static
+ * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FileOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FileOptions} FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileOptions.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.protobuf.FileOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.javaPackage = reader.string();
+ break;
+ }
+ case 8: {
+ message.javaOuterClassname = reader.string();
+ break;
+ }
+ case 10: {
+ message.javaMultipleFiles = reader.bool();
+ break;
+ }
+ case 20: {
+ message.javaGenerateEqualsAndHash = reader.bool();
+ break;
+ }
+ case 27: {
+ message.javaStringCheckUtf8 = reader.bool();
+ break;
+ }
+ case 9: {
+ message.optimizeFor = reader.int32();
+ break;
+ }
+ case 11: {
+ message.goPackage = reader.string();
+ break;
+ }
+ case 16: {
+ message.ccGenericServices = reader.bool();
+ break;
+ }
+ case 17: {
+ message.javaGenericServices = reader.bool();
+ break;
+ }
+ case 18: {
+ message.pyGenericServices = reader.bool();
+ break;
+ }
+ case 23: {
+ message.deprecated = reader.bool();
+ break;
+ }
+ case 31: {
+ message.ccEnableArenas = reader.bool();
+ break;
+ }
+ case 36: {
+ message.objcClassPrefix = reader.string();
+ break;
+ }
+ case 37: {
+ message.csharpNamespace = reader.string();
+ break;
+ }
+ case 39: {
+ message.swiftPrefix = reader.string();
+ break;
+ }
+ case 40: {
+ message.phpClassPrefix = reader.string();
+ break;
+ }
+ case 41: {
+ message.phpNamespace = reader.string();
+ break;
+ }
+ case 44: {
+ message.phpMetadataNamespace = reader.string();
+ break;
+ }
+ case 45: {
+ message.rubyPackage = reader.string();
+ break;
+ }
+ case 50: {
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+ break;
+ }
+ case 999: {
+ if (!(message.uninterpretedOption && message.uninterpretedOption.length))
+ message.uninterpretedOption = [];
+ message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+ break;
+ }
+ case 1053: {
+ if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length))
+ message[".google.api.resourceDefinition"] = [];
+ message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FileOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FileOptions} FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FileOptions message.
+ * @function verify
+ * @memberof google.protobuf.FileOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FileOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.javaPackage != null && message.hasOwnProperty("javaPackage"))
+ if (!$util.isString(message.javaPackage))
+ return "javaPackage: string expected";
+ if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname"))
+ if (!$util.isString(message.javaOuterClassname))
+ return "javaOuterClassname: string expected";
+ if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles"))
+ if (typeof message.javaMultipleFiles !== "boolean")
+ return "javaMultipleFiles: boolean expected";
+ if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash"))
+ if (typeof message.javaGenerateEqualsAndHash !== "boolean")
+ return "javaGenerateEqualsAndHash: boolean expected";
+ if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8"))
+ if (typeof message.javaStringCheckUtf8 !== "boolean")
+ return "javaStringCheckUtf8: boolean expected";
+ if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor"))
+ switch (message.optimizeFor) {
+ default:
+ return "optimizeFor: enum value expected";
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.goPackage != null && message.hasOwnProperty("goPackage"))
+ if (!$util.isString(message.goPackage))
+ return "goPackage: string expected";
+ if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices"))
+ if (typeof message.ccGenericServices !== "boolean")
+ return "ccGenericServices: boolean expected";
+ if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices"))
+ if (typeof message.javaGenericServices !== "boolean")
+ return "javaGenericServices: boolean expected";
+ if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices"))
+ if (typeof message.pyGenericServices !== "boolean")
+ return "pyGenericServices: boolean expected";
+ if (message.deprecated != null && message.hasOwnProperty("deprecated"))
+ if (typeof message.deprecated !== "boolean")
+ return "deprecated: boolean expected";
+ if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas"))
+ if (typeof message.ccEnableArenas !== "boolean")
+ return "ccEnableArenas: boolean expected";
+ if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix"))
+ if (!$util.isString(message.objcClassPrefix))
+ return "objcClassPrefix: string expected";
+ if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace"))
+ if (!$util.isString(message.csharpNamespace))
+ return "csharpNamespace: string expected";
+ if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix"))
+ if (!$util.isString(message.swiftPrefix))
+ return "swiftPrefix: string expected";
+ if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix"))
+ if (!$util.isString(message.phpClassPrefix))
+ return "phpClassPrefix: string expected";
+ if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace"))
+ if (!$util.isString(message.phpNamespace))
+ return "phpNamespace: string expected";
+ if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace"))
+ if (!$util.isString(message.phpMetadataNamespace))
+ return "phpMetadataNamespace: string expected";
+ if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage"))
+ if (!$util.isString(message.rubyPackage))
+ return "rubyPackage: string expected";
+ if (message.features != null && message.hasOwnProperty("features")) {
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
+ if (error)
+ return "features." + error;
+ }
+ if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
+ if (!Array.isArray(message.uninterpretedOption))
+ return "uninterpretedOption: array expected";
+ for (var i = 0; i < message.uninterpretedOption.length; ++i) {
+ var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+ if (error)
+ return "uninterpretedOption." + error;
+ }
+ }
+ if (message[".google.api.resourceDefinition"] != null && message.hasOwnProperty(".google.api.resourceDefinition")) {
+ if (!Array.isArray(message[".google.api.resourceDefinition"]))
+ return ".google.api.resourceDefinition: array expected";
+ for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) {
+ var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i]);
+ if (error)
+ return ".google.api.resourceDefinition." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FileOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FileOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FileOptions} FileOptions
+ */
+ FileOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FileOptions)
+ return object;
+ var message = new $root.google.protobuf.FileOptions();
+ if (object.javaPackage != null)
+ message.javaPackage = String(object.javaPackage);
+ if (object.javaOuterClassname != null)
+ message.javaOuterClassname = String(object.javaOuterClassname);
+ if (object.javaMultipleFiles != null)
+ message.javaMultipleFiles = Boolean(object.javaMultipleFiles);
+ if (object.javaGenerateEqualsAndHash != null)
+ message.javaGenerateEqualsAndHash = Boolean(object.javaGenerateEqualsAndHash);
+ if (object.javaStringCheckUtf8 != null)
+ message.javaStringCheckUtf8 = Boolean(object.javaStringCheckUtf8);
+ switch (object.optimizeFor) {
+ default:
+ if (typeof object.optimizeFor === "number") {
+ message.optimizeFor = object.optimizeFor;
+ break;
+ }
+ break;
+ case "SPEED":
+ case 1:
+ message.optimizeFor = 1;
+ break;
+ case "CODE_SIZE":
+ case 2:
+ message.optimizeFor = 2;
+ break;
+ case "LITE_RUNTIME":
+ case 3:
+ message.optimizeFor = 3;
+ break;
+ }
+ if (object.goPackage != null)
+ message.goPackage = String(object.goPackage);
+ if (object.ccGenericServices != null)
+ message.ccGenericServices = Boolean(object.ccGenericServices);
+ if (object.javaGenericServices != null)
+ message.javaGenericServices = Boolean(object.javaGenericServices);
+ if (object.pyGenericServices != null)
+ message.pyGenericServices = Boolean(object.pyGenericServices);
+ if (object.deprecated != null)
+ message.deprecated = Boolean(object.deprecated);
+ if (object.ccEnableArenas != null)
+ message.ccEnableArenas = Boolean(object.ccEnableArenas);
+ if (object.objcClassPrefix != null)
+ message.objcClassPrefix = String(object.objcClassPrefix);
+ if (object.csharpNamespace != null)
+ message.csharpNamespace = String(object.csharpNamespace);
+ if (object.swiftPrefix != null)
+ message.swiftPrefix = String(object.swiftPrefix);
+ if (object.phpClassPrefix != null)
+ message.phpClassPrefix = String(object.phpClassPrefix);
+ if (object.phpNamespace != null)
+ message.phpNamespace = String(object.phpNamespace);
+ if (object.phpMetadataNamespace != null)
+ message.phpMetadataNamespace = String(object.phpMetadataNamespace);
+ if (object.rubyPackage != null)
+ message.rubyPackage = String(object.rubyPackage);
+ if (object.features != null) {
+ if (typeof object.features !== "object")
+ throw TypeError(".google.protobuf.FileOptions.features: object expected");
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+ }
+ if (object.uninterpretedOption) {
+ if (!Array.isArray(object.uninterpretedOption))
+ throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected");
+ message.uninterpretedOption = [];
+ for (var i = 0; i < object.uninterpretedOption.length; ++i) {
+ if (typeof object.uninterpretedOption[i] !== "object")
+ throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected");
+ message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+ }
+ }
+ if (object[".google.api.resourceDefinition"]) {
+ if (!Array.isArray(object[".google.api.resourceDefinition"]))
+ throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: array expected");
+ message[".google.api.resourceDefinition"] = [];
+ for (var i = 0; i < object[".google.api.resourceDefinition"].length; ++i) {
+ if (typeof object[".google.api.resourceDefinition"][i] !== "object")
+ throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected");
+ message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FileOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FileOptions
+ * @static
+ * @param {google.protobuf.FileOptions} message FileOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FileOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.uninterpretedOption = [];
+ object[".google.api.resourceDefinition"] = [];
+ }
+ if (options.defaults) {
+ object.javaPackage = "";
+ object.javaOuterClassname = "";
+ object.optimizeFor = options.enums === String ? "SPEED" : 1;
+ object.javaMultipleFiles = false;
+ object.goPackage = "";
+ object.ccGenericServices = false;
+ object.javaGenericServices = false;
+ object.pyGenericServices = false;
+ object.javaGenerateEqualsAndHash = false;
+ object.deprecated = false;
+ object.javaStringCheckUtf8 = false;
+ object.ccEnableArenas = true;
+ object.objcClassPrefix = "";
+ object.csharpNamespace = "";
+ object.swiftPrefix = "";
+ object.phpClassPrefix = "";
+ object.phpNamespace = "";
+ object.phpMetadataNamespace = "";
+ object.rubyPackage = "";
+ object.features = null;
+ }
+ if (message.javaPackage != null && message.hasOwnProperty("javaPackage"))
+ object.javaPackage = message.javaPackage;
+ if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname"))
+ object.javaOuterClassname = message.javaOuterClassname;
+ if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor"))
+ object.optimizeFor = options.enums === String ? $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] === undefined ? message.optimizeFor : $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] : message.optimizeFor;
+ if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles"))
+ object.javaMultipleFiles = message.javaMultipleFiles;
+ if (message.goPackage != null && message.hasOwnProperty("goPackage"))
+ object.goPackage = message.goPackage;
+ if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices"))
+ object.ccGenericServices = message.ccGenericServices;
+ if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices"))
+ object.javaGenericServices = message.javaGenericServices;
+ if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices"))
+ object.pyGenericServices = message.pyGenericServices;
+ if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash"))
+ object.javaGenerateEqualsAndHash = message.javaGenerateEqualsAndHash;
+ if (message.deprecated != null && message.hasOwnProperty("deprecated"))
+ object.deprecated = message.deprecated;
+ if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8"))
+ object.javaStringCheckUtf8 = message.javaStringCheckUtf8;
+ if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas"))
+ object.ccEnableArenas = message.ccEnableArenas;
+ if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix"))
+ object.objcClassPrefix = message.objcClassPrefix;
+ if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace"))
+ object.csharpNamespace = message.csharpNamespace;
+ if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix"))
+ object.swiftPrefix = message.swiftPrefix;
+ if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix"))
+ object.phpClassPrefix = message.phpClassPrefix;
+ if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace"))
+ object.phpNamespace = message.phpNamespace;
+ if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace"))
+ object.phpMetadataNamespace = message.phpMetadataNamespace;
+ if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage"))
+ object.rubyPackage = message.rubyPackage;
+ if (message.features != null && message.hasOwnProperty("features"))
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
+ if (message.uninterpretedOption && message.uninterpretedOption.length) {
+ object.uninterpretedOption = [];
+ for (var j = 0; j < message.uninterpretedOption.length; ++j)
+ object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
+ }
+ if (message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length) {
+ object[".google.api.resourceDefinition"] = [];
+ for (var j = 0; j < message[".google.api.resourceDefinition"].length; ++j)
+ object[".google.api.resourceDefinition"][j] = $root.google.api.ResourceDescriptor.toObject(message[".google.api.resourceDefinition"][j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this FileOptions to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FileOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FileOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FileOptions
+ * @function getTypeUrl
+ * @memberof google.protobuf.FileOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FileOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FileOptions";
+ };
+
+ /**
+ * OptimizeMode enum.
+ * @name google.protobuf.FileOptions.OptimizeMode
+ * @enum {number}
+ * @property {number} SPEED=1 SPEED value
+ * @property {number} CODE_SIZE=2 CODE_SIZE value
+ * @property {number} LITE_RUNTIME=3 LITE_RUNTIME value
+ */
+ FileOptions.OptimizeMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[1] = "SPEED"] = 1;
+ values[valuesById[2] = "CODE_SIZE"] = 2;
+ values[valuesById[3] = "LITE_RUNTIME"] = 3;
+ return values;
+ })();
+
+ return FileOptions;
+ })();
+
+ protobuf.MessageOptions = (function() {
+
+ /**
+ * Properties of a MessageOptions.
+ * @memberof google.protobuf
+ * @interface IMessageOptions
+ * @property {boolean|null} [messageSetWireFormat] MessageOptions messageSetWireFormat
+ * @property {boolean|null} [noStandardDescriptorAccessor] MessageOptions noStandardDescriptorAccessor
+ * @property {boolean|null} [deprecated] MessageOptions deprecated
+ * @property {boolean|null} [mapEntry] MessageOptions mapEntry
+ * @property {boolean|null} [deprecatedLegacyJsonFieldConflicts] MessageOptions deprecatedLegacyJsonFieldConflicts
+ * @property {google.protobuf.IFeatureSet|null} [features] MessageOptions features
+ * @property {Array.|null} [uninterpretedOption] MessageOptions uninterpretedOption
+ * @property {google.api.IResourceDescriptor|null} [".google.api.resource"] MessageOptions .google.api.resource
+ */
+
+ /**
+ * Constructs a new MessageOptions.
+ * @memberof google.protobuf
+ * @classdesc Represents a MessageOptions.
+ * @implements IMessageOptions
+ * @constructor
+ * @param {google.protobuf.IMessageOptions=} [properties] Properties to set
+ */
+ function MessageOptions(properties) {
+ this.uninterpretedOption = [];
+ 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]];
+ }
+
+ /**
+ * MessageOptions messageSetWireFormat.
+ * @member {boolean} messageSetWireFormat
+ * @memberof google.protobuf.MessageOptions
+ * @instance
+ */
+ MessageOptions.prototype.messageSetWireFormat = false;
+
+ /**
+ * MessageOptions noStandardDescriptorAccessor.
+ * @member {boolean} noStandardDescriptorAccessor
+ * @memberof google.protobuf.MessageOptions
+ * @instance
+ */
+ MessageOptions.prototype.noStandardDescriptorAccessor = false;
+
+ /**
+ * MessageOptions deprecated.
+ * @member {boolean} deprecated
+ * @memberof google.protobuf.MessageOptions
+ * @instance
+ */
+ MessageOptions.prototype.deprecated = false;
+
+ /**
+ * MessageOptions mapEntry.
+ * @member {boolean} mapEntry
+ * @memberof google.protobuf.MessageOptions
+ * @instance
+ */
+ MessageOptions.prototype.mapEntry = false;
+
+ /**
+ * MessageOptions deprecatedLegacyJsonFieldConflicts.
+ * @member {boolean} deprecatedLegacyJsonFieldConflicts
+ * @memberof google.protobuf.MessageOptions
+ * @instance
+ */
+ MessageOptions.prototype.deprecatedLegacyJsonFieldConflicts = false;
+
+ /**
+ * MessageOptions features.
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
+ * @memberof google.protobuf.MessageOptions
+ * @instance
+ */
+ MessageOptions.prototype.features = null;
+
+ /**
+ * MessageOptions uninterpretedOption.
+ * @member {Array.} uninterpretedOption
+ * @memberof google.protobuf.MessageOptions
+ * @instance
+ */
+ MessageOptions.prototype.uninterpretedOption = $util.emptyArray;
+
+ /**
+ * MessageOptions .google.api.resource.
+ * @member {google.api.IResourceDescriptor|null|undefined} .google.api.resource
+ * @memberof google.protobuf.MessageOptions
+ * @instance
+ */
+ MessageOptions.prototype[".google.api.resource"] = null;
+
+ /**
+ * Creates a new MessageOptions instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.MessageOptions
+ * @static
+ * @param {google.protobuf.IMessageOptions=} [properties] Properties to set
+ * @returns {google.protobuf.MessageOptions} MessageOptions instance
+ */
+ MessageOptions.create = function create(properties) {
+ return new MessageOptions(properties);
+ };
+
+ /**
+ * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.MessageOptions
+ * @static
+ * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MessageOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.messageSetWireFormat != null && Object.hasOwnProperty.call(message, "messageSetWireFormat"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.messageSetWireFormat);
+ if (message.noStandardDescriptorAccessor != null && Object.hasOwnProperty.call(message, "noStandardDescriptorAccessor"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.noStandardDescriptorAccessor);
+ if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated);
+ if (message.mapEntry != null && Object.hasOwnProperty.call(message, "mapEntry"))
+ writer.uint32(/* id 7, wireType 0 =*/56).bool(message.mapEntry);
+ if (message.deprecatedLegacyJsonFieldConflicts != null && Object.hasOwnProperty.call(message, "deprecatedLegacyJsonFieldConflicts"))
+ writer.uint32(/* id 11, wireType 0 =*/88).bool(message.deprecatedLegacyJsonFieldConflicts);
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ if (message.uninterpretedOption != null && message.uninterpretedOption.length)
+ for (var i = 0; i < message.uninterpretedOption.length; ++i)
+ $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
+ if (message[".google.api.resource"] != null && Object.hasOwnProperty.call(message, ".google.api.resource"))
+ $root.google.api.ResourceDescriptor.encode(message[".google.api.resource"], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.MessageOptions
+ * @static
+ * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MessageOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.MessageOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.MessageOptions} MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MessageOptions.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.protobuf.MessageOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.messageSetWireFormat = reader.bool();
+ break;
+ }
+ case 2: {
+ message.noStandardDescriptorAccessor = reader.bool();
+ break;
+ }
+ case 3: {
+ message.deprecated = reader.bool();
+ break;
+ }
+ case 7: {
+ message.mapEntry = reader.bool();
+ break;
+ }
+ case 11: {
+ message.deprecatedLegacyJsonFieldConflicts = reader.bool();
+ break;
+ }
+ case 12: {
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+ break;
+ }
+ case 999: {
+ if (!(message.uninterpretedOption && message.uninterpretedOption.length))
+ message.uninterpretedOption = [];
+ message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+ break;
+ }
+ case 1053: {
+ message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.MessageOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.MessageOptions} MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MessageOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MessageOptions message.
+ * @function verify
+ * @memberof google.protobuf.MessageOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MessageOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat"))
+ if (typeof message.messageSetWireFormat !== "boolean")
+ return "messageSetWireFormat: boolean expected";
+ if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor"))
+ if (typeof message.noStandardDescriptorAccessor !== "boolean")
+ return "noStandardDescriptorAccessor: boolean expected";
+ if (message.deprecated != null && message.hasOwnProperty("deprecated"))
+ if (typeof message.deprecated !== "boolean")
+ return "deprecated: boolean expected";
+ if (message.mapEntry != null && message.hasOwnProperty("mapEntry"))
+ if (typeof message.mapEntry !== "boolean")
+ return "mapEntry: boolean expected";
+ if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))
+ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean")
+ return "deprecatedLegacyJsonFieldConflicts: boolean expected";
+ if (message.features != null && message.hasOwnProperty("features")) {
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
+ if (error)
+ return "features." + error;
+ }
+ if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
+ if (!Array.isArray(message.uninterpretedOption))
+ return "uninterpretedOption: array expected";
+ for (var i = 0; i < message.uninterpretedOption.length; ++i) {
+ var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+ if (error)
+ return "uninterpretedOption." + error;
+ }
+ }
+ if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) {
+ var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"]);
+ if (error)
+ return ".google.api.resource." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.MessageOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.MessageOptions} MessageOptions
+ */
+ MessageOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.MessageOptions)
+ return object;
+ var message = new $root.google.protobuf.MessageOptions();
+ if (object.messageSetWireFormat != null)
+ message.messageSetWireFormat = Boolean(object.messageSetWireFormat);
+ if (object.noStandardDescriptorAccessor != null)
+ message.noStandardDescriptorAccessor = Boolean(object.noStandardDescriptorAccessor);
+ if (object.deprecated != null)
+ message.deprecated = Boolean(object.deprecated);
+ if (object.mapEntry != null)
+ message.mapEntry = Boolean(object.mapEntry);
+ if (object.deprecatedLegacyJsonFieldConflicts != null)
+ message.deprecatedLegacyJsonFieldConflicts = Boolean(object.deprecatedLegacyJsonFieldConflicts);
+ if (object.features != null) {
+ if (typeof object.features !== "object")
+ throw TypeError(".google.protobuf.MessageOptions.features: object expected");
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+ }
+ if (object.uninterpretedOption) {
+ if (!Array.isArray(object.uninterpretedOption))
+ throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected");
+ message.uninterpretedOption = [];
+ for (var i = 0; i < object.uninterpretedOption.length; ++i) {
+ if (typeof object.uninterpretedOption[i] !== "object")
+ throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected");
+ message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+ }
+ }
+ if (object[".google.api.resource"] != null) {
+ if (typeof object[".google.api.resource"] !== "object")
+ throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected");
+ message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MessageOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.MessageOptions
+ * @static
+ * @param {google.protobuf.MessageOptions} message MessageOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MessageOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.uninterpretedOption = [];
+ if (options.defaults) {
+ object.messageSetWireFormat = false;
+ object.noStandardDescriptorAccessor = false;
+ object.deprecated = false;
+ object.mapEntry = false;
+ object.deprecatedLegacyJsonFieldConflicts = false;
+ object.features = null;
+ object[".google.api.resource"] = null;
+ }
+ if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat"))
+ object.messageSetWireFormat = message.messageSetWireFormat;
+ if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor"))
+ object.noStandardDescriptorAccessor = message.noStandardDescriptorAccessor;
+ if (message.deprecated != null && message.hasOwnProperty("deprecated"))
+ object.deprecated = message.deprecated;
+ if (message.mapEntry != null && message.hasOwnProperty("mapEntry"))
+ object.mapEntry = message.mapEntry;
+ if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))
+ object.deprecatedLegacyJsonFieldConflicts = message.deprecatedLegacyJsonFieldConflicts;
+ if (message.features != null && message.hasOwnProperty("features"))
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
+ if (message.uninterpretedOption && message.uninterpretedOption.length) {
+ object.uninterpretedOption = [];
+ for (var j = 0; j < message.uninterpretedOption.length; ++j)
+ object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
+ }
+ if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource"))
+ object[".google.api.resource"] = $root.google.api.ResourceDescriptor.toObject(message[".google.api.resource"], options);
+ return object;
+ };
+
+ /**
+ * Converts this MessageOptions to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.MessageOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MessageOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MessageOptions
+ * @function getTypeUrl
+ * @memberof google.protobuf.MessageOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MessageOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.MessageOptions";
+ };
+
+ return MessageOptions;
+ })();
+
+ protobuf.FieldOptions = (function() {
+
+ /**
+ * Properties of a FieldOptions.
+ * @memberof google.protobuf
+ * @interface IFieldOptions
+ * @property {google.protobuf.FieldOptions.CType|null} [ctype] FieldOptions ctype
+ * @property {boolean|null} [packed] FieldOptions packed
+ * @property {google.protobuf.FieldOptions.JSType|null} [jstype] FieldOptions jstype
+ * @property {boolean|null} [lazy] FieldOptions lazy
+ * @property {boolean|null} [unverifiedLazy] FieldOptions unverifiedLazy
+ * @property {boolean|null} [deprecated] FieldOptions deprecated
+ * @property {boolean|null} [weak] FieldOptions weak
+ * @property {boolean|null} [debugRedact] FieldOptions debugRedact
+ * @property {google.protobuf.FieldOptions.OptionRetention|null} [retention] FieldOptions retention
+ * @property {Array.|null} [targets] FieldOptions targets
+ * @property {Array.|null} [editionDefaults] FieldOptions editionDefaults
+ * @property {google.protobuf.IFeatureSet|null} [features] FieldOptions features
+ * @property {google.protobuf.FieldOptions.IFeatureSupport|null} [featureSupport] FieldOptions featureSupport
+ * @property {Array.|null} [uninterpretedOption] FieldOptions uninterpretedOption
+ * @property {Array.|null} [".google.api.fieldBehavior"] FieldOptions .google.api.fieldBehavior
+ * @property {google.api.IResourceReference|null} [".google.api.resourceReference"] FieldOptions .google.api.resourceReference
+ */
+
+ /**
+ * Constructs a new FieldOptions.
+ * @memberof google.protobuf
+ * @classdesc Represents a FieldOptions.
+ * @implements IFieldOptions
+ * @constructor
+ * @param {google.protobuf.IFieldOptions=} [properties] Properties to set
+ */
+ function FieldOptions(properties) {
+ this.targets = [];
+ this.editionDefaults = [];
+ this.uninterpretedOption = [];
+ this[".google.api.fieldBehavior"] = [];
+ 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]];
+ }
+
+ /**
+ * FieldOptions ctype.
+ * @member {google.protobuf.FieldOptions.CType} ctype
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype.ctype = 0;
+
+ /**
+ * FieldOptions packed.
+ * @member {boolean} packed
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype.packed = false;
+
+ /**
+ * FieldOptions jstype.
+ * @member {google.protobuf.FieldOptions.JSType} jstype
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype.jstype = 0;
+
+ /**
+ * FieldOptions lazy.
+ * @member {boolean} lazy
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype.lazy = false;
+
+ /**
+ * FieldOptions unverifiedLazy.
+ * @member {boolean} unverifiedLazy
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype.unverifiedLazy = false;
+
+ /**
+ * FieldOptions deprecated.
+ * @member {boolean} deprecated
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype.deprecated = false;
+
+ /**
+ * FieldOptions weak.
+ * @member {boolean} weak
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype.weak = false;
+
+ /**
+ * FieldOptions debugRedact.
+ * @member {boolean} debugRedact
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype.debugRedact = false;
+
+ /**
+ * FieldOptions retention.
+ * @member {google.protobuf.FieldOptions.OptionRetention} retention
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype.retention = 0;
+
+ /**
+ * FieldOptions targets.
+ * @member {Array.} targets
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype.targets = $util.emptyArray;
+
+ /**
+ * FieldOptions editionDefaults.
+ * @member {Array.} editionDefaults
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype.editionDefaults = $util.emptyArray;
+
+ /**
+ * FieldOptions features.
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype.features = null;
+
+ /**
+ * FieldOptions featureSupport.
+ * @member {google.protobuf.FieldOptions.IFeatureSupport|null|undefined} featureSupport
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype.featureSupport = null;
+
+ /**
+ * FieldOptions uninterpretedOption.
+ * @member {Array.} uninterpretedOption
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype.uninterpretedOption = $util.emptyArray;
+
+ /**
+ * FieldOptions .google.api.fieldBehavior.
+ * @member {Array.} .google.api.fieldBehavior
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype[".google.api.fieldBehavior"] = $util.emptyArray;
+
+ /**
+ * FieldOptions .google.api.resourceReference.
+ * @member {google.api.IResourceReference|null|undefined} .google.api.resourceReference
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ */
+ FieldOptions.prototype[".google.api.resourceReference"] = null;
+
+ /**
+ * Creates a new FieldOptions instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FieldOptions
+ * @static
+ * @param {google.protobuf.IFieldOptions=} [properties] Properties to set
+ * @returns {google.protobuf.FieldOptions} FieldOptions instance
+ */
+ FieldOptions.create = function create(properties) {
+ return new FieldOptions(properties);
+ };
+
+ /**
+ * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FieldOptions
+ * @static
+ * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FieldOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.ctype != null && Object.hasOwnProperty.call(message, "ctype"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.ctype);
+ if (message.packed != null && Object.hasOwnProperty.call(message, "packed"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.packed);
+ if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated);
+ if (message.lazy != null && Object.hasOwnProperty.call(message, "lazy"))
+ writer.uint32(/* id 5, wireType 0 =*/40).bool(message.lazy);
+ if (message.jstype != null && Object.hasOwnProperty.call(message, "jstype"))
+ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jstype);
+ if (message.weak != null && Object.hasOwnProperty.call(message, "weak"))
+ writer.uint32(/* id 10, wireType 0 =*/80).bool(message.weak);
+ if (message.unverifiedLazy != null && Object.hasOwnProperty.call(message, "unverifiedLazy"))
+ writer.uint32(/* id 15, wireType 0 =*/120).bool(message.unverifiedLazy);
+ if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact"))
+ writer.uint32(/* id 16, wireType 0 =*/128).bool(message.debugRedact);
+ if (message.retention != null && Object.hasOwnProperty.call(message, "retention"))
+ writer.uint32(/* id 17, wireType 0 =*/136).int32(message.retention);
+ if (message.targets != null && message.targets.length)
+ for (var i = 0; i < message.targets.length; ++i)
+ writer.uint32(/* id 19, wireType 0 =*/152).int32(message.targets[i]);
+ if (message.editionDefaults != null && message.editionDefaults.length)
+ for (var i = 0; i < message.editionDefaults.length; ++i)
+ $root.google.protobuf.FieldOptions.EditionDefault.encode(message.editionDefaults[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim();
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim();
+ if (message.featureSupport != null && Object.hasOwnProperty.call(message, "featureSupport"))
+ $root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim();
+ if (message.uninterpretedOption != null && message.uninterpretedOption.length)
+ for (var i = 0; i < message.uninterpretedOption.length; ++i)
+ $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
+ if (message[".google.api.fieldBehavior"] != null && message[".google.api.fieldBehavior"].length)
+ for (var i = 0; i < message[".google.api.fieldBehavior"].length; ++i)
+ writer.uint32(/* id 1052, wireType 0 =*/8416).int32(message[".google.api.fieldBehavior"][i]);
+ if (message[".google.api.resourceReference"] != null && Object.hasOwnProperty.call(message, ".google.api.resourceReference"))
+ $root.google.api.ResourceReference.encode(message[".google.api.resourceReference"], writer.uint32(/* id 1055, wireType 2 =*/8442).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FieldOptions
+ * @static
+ * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FieldOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FieldOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FieldOptions} FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FieldOptions.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.protobuf.FieldOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.ctype = reader.int32();
+ break;
+ }
+ case 2: {
+ message.packed = reader.bool();
+ break;
+ }
+ case 6: {
+ message.jstype = reader.int32();
+ break;
+ }
+ case 5: {
+ message.lazy = reader.bool();
+ break;
+ }
+ case 15: {
+ message.unverifiedLazy = reader.bool();
+ break;
+ }
+ case 3: {
+ message.deprecated = reader.bool();
+ break;
+ }
+ case 10: {
+ message.weak = reader.bool();
+ break;
+ }
+ case 16: {
+ message.debugRedact = reader.bool();
+ break;
+ }
+ case 17: {
+ message.retention = reader.int32();
+ break;
+ }
+ case 19: {
+ if (!(message.targets && message.targets.length))
+ message.targets = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.targets.push(reader.int32());
+ } else
+ message.targets.push(reader.int32());
+ break;
+ }
+ case 20: {
+ if (!(message.editionDefaults && message.editionDefaults.length))
+ message.editionDefaults = [];
+ message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32()));
+ break;
+ }
+ case 21: {
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+ break;
+ }
+ case 22: {
+ message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32());
+ break;
+ }
+ case 999: {
+ if (!(message.uninterpretedOption && message.uninterpretedOption.length))
+ message.uninterpretedOption = [];
+ message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+ break;
+ }
+ case 1052: {
+ if (!(message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length))
+ message[".google.api.fieldBehavior"] = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message[".google.api.fieldBehavior"].push(reader.int32());
+ } else
+ message[".google.api.fieldBehavior"].push(reader.int32());
+ break;
+ }
+ case 1055: {
+ message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FieldOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FieldOptions} FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FieldOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FieldOptions message.
+ * @function verify
+ * @memberof google.protobuf.FieldOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FieldOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.ctype != null && message.hasOwnProperty("ctype"))
+ switch (message.ctype) {
+ default:
+ return "ctype: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.packed != null && message.hasOwnProperty("packed"))
+ if (typeof message.packed !== "boolean")
+ return "packed: boolean expected";
+ if (message.jstype != null && message.hasOwnProperty("jstype"))
+ switch (message.jstype) {
+ default:
+ return "jstype: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.lazy != null && message.hasOwnProperty("lazy"))
+ if (typeof message.lazy !== "boolean")
+ return "lazy: boolean expected";
+ if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy"))
+ if (typeof message.unverifiedLazy !== "boolean")
+ return "unverifiedLazy: boolean expected";
+ if (message.deprecated != null && message.hasOwnProperty("deprecated"))
+ if (typeof message.deprecated !== "boolean")
+ return "deprecated: boolean expected";
+ if (message.weak != null && message.hasOwnProperty("weak"))
+ if (typeof message.weak !== "boolean")
+ return "weak: boolean expected";
+ if (message.debugRedact != null && message.hasOwnProperty("debugRedact"))
+ if (typeof message.debugRedact !== "boolean")
+ return "debugRedact: boolean expected";
+ if (message.retention != null && message.hasOwnProperty("retention"))
+ switch (message.retention) {
+ default:
+ return "retention: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.targets != null && message.hasOwnProperty("targets")) {
+ if (!Array.isArray(message.targets))
+ return "targets: array expected";
+ for (var i = 0; i < message.targets.length; ++i)
+ switch (message.targets[i]) {
+ default:
+ return "targets: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ break;
+ }
+ }
+ if (message.editionDefaults != null && message.hasOwnProperty("editionDefaults")) {
+ if (!Array.isArray(message.editionDefaults))
+ return "editionDefaults: array expected";
+ for (var i = 0; i < message.editionDefaults.length; ++i) {
+ var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i]);
+ if (error)
+ return "editionDefaults." + error;
+ }
+ }
+ if (message.features != null && message.hasOwnProperty("features")) {
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
+ if (error)
+ return "features." + error;
+ }
+ if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) {
+ var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport);
+ if (error)
+ return "featureSupport." + error;
+ }
+ if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
+ if (!Array.isArray(message.uninterpretedOption))
+ return "uninterpretedOption: array expected";
+ for (var i = 0; i < message.uninterpretedOption.length; ++i) {
+ var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+ if (error)
+ return "uninterpretedOption." + error;
+ }
+ }
+ if (message[".google.api.fieldBehavior"] != null && message.hasOwnProperty(".google.api.fieldBehavior")) {
+ if (!Array.isArray(message[".google.api.fieldBehavior"]))
+ return ".google.api.fieldBehavior: array expected";
+ for (var i = 0; i < message[".google.api.fieldBehavior"].length; ++i)
+ switch (message[".google.api.fieldBehavior"][i]) {
+ default:
+ return ".google.api.fieldBehavior: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ break;
+ }
+ }
+ if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) {
+ var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]);
+ if (error)
+ return ".google.api.resourceReference." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FieldOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FieldOptions} FieldOptions
+ */
+ FieldOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FieldOptions)
+ return object;
+ var message = new $root.google.protobuf.FieldOptions();
+ switch (object.ctype) {
+ default:
+ if (typeof object.ctype === "number") {
+ message.ctype = object.ctype;
+ break;
+ }
+ break;
+ case "STRING":
+ case 0:
+ message.ctype = 0;
+ break;
+ case "CORD":
+ case 1:
+ message.ctype = 1;
+ break;
+ case "STRING_PIECE":
+ case 2:
+ message.ctype = 2;
+ break;
+ }
+ if (object.packed != null)
+ message.packed = Boolean(object.packed);
+ switch (object.jstype) {
+ default:
+ if (typeof object.jstype === "number") {
+ message.jstype = object.jstype;
+ break;
+ }
+ break;
+ case "JS_NORMAL":
+ case 0:
+ message.jstype = 0;
+ break;
+ case "JS_STRING":
+ case 1:
+ message.jstype = 1;
+ break;
+ case "JS_NUMBER":
+ case 2:
+ message.jstype = 2;
+ break;
+ }
+ if (object.lazy != null)
+ message.lazy = Boolean(object.lazy);
+ if (object.unverifiedLazy != null)
+ message.unverifiedLazy = Boolean(object.unverifiedLazy);
+ if (object.deprecated != null)
+ message.deprecated = Boolean(object.deprecated);
+ if (object.weak != null)
+ message.weak = Boolean(object.weak);
+ if (object.debugRedact != null)
+ message.debugRedact = Boolean(object.debugRedact);
+ switch (object.retention) {
+ default:
+ if (typeof object.retention === "number") {
+ message.retention = object.retention;
+ break;
+ }
+ break;
+ case "RETENTION_UNKNOWN":
+ case 0:
+ message.retention = 0;
+ break;
+ case "RETENTION_RUNTIME":
+ case 1:
+ message.retention = 1;
+ break;
+ case "RETENTION_SOURCE":
+ case 2:
+ message.retention = 2;
+ break;
+ }
+ if (object.targets) {
+ if (!Array.isArray(object.targets))
+ throw TypeError(".google.protobuf.FieldOptions.targets: array expected");
+ message.targets = [];
+ for (var i = 0; i < object.targets.length; ++i)
+ switch (object.targets[i]) {
+ default:
+ if (typeof object.targets[i] === "number") {
+ message.targets[i] = object.targets[i];
+ break;
+ }
+ case "TARGET_TYPE_UNKNOWN":
+ case 0:
+ message.targets[i] = 0;
+ break;
+ case "TARGET_TYPE_FILE":
+ case 1:
+ message.targets[i] = 1;
+ break;
+ case "TARGET_TYPE_EXTENSION_RANGE":
+ case 2:
+ message.targets[i] = 2;
+ break;
+ case "TARGET_TYPE_MESSAGE":
+ case 3:
+ message.targets[i] = 3;
+ break;
+ case "TARGET_TYPE_FIELD":
+ case 4:
+ message.targets[i] = 4;
+ break;
+ case "TARGET_TYPE_ONEOF":
+ case 5:
+ message.targets[i] = 5;
+ break;
+ case "TARGET_TYPE_ENUM":
+ case 6:
+ message.targets[i] = 6;
+ break;
+ case "TARGET_TYPE_ENUM_ENTRY":
+ case 7:
+ message.targets[i] = 7;
+ break;
+ case "TARGET_TYPE_SERVICE":
+ case 8:
+ message.targets[i] = 8;
+ break;
+ case "TARGET_TYPE_METHOD":
+ case 9:
+ message.targets[i] = 9;
+ break;
+ }
+ }
+ if (object.editionDefaults) {
+ if (!Array.isArray(object.editionDefaults))
+ throw TypeError(".google.protobuf.FieldOptions.editionDefaults: array expected");
+ message.editionDefaults = [];
+ for (var i = 0; i < object.editionDefaults.length; ++i) {
+ if (typeof object.editionDefaults[i] !== "object")
+ throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected");
+ message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i]);
+ }
+ }
+ if (object.features != null) {
+ if (typeof object.features !== "object")
+ throw TypeError(".google.protobuf.FieldOptions.features: object expected");
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+ }
+ if (object.featureSupport != null) {
+ if (typeof object.featureSupport !== "object")
+ throw TypeError(".google.protobuf.FieldOptions.featureSupport: object expected");
+ message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport);
+ }
+ if (object.uninterpretedOption) {
+ if (!Array.isArray(object.uninterpretedOption))
+ throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: array expected");
+ message.uninterpretedOption = [];
+ for (var i = 0; i < object.uninterpretedOption.length; ++i) {
+ if (typeof object.uninterpretedOption[i] !== "object")
+ throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected");
+ message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+ }
+ }
+ if (object[".google.api.fieldBehavior"]) {
+ if (!Array.isArray(object[".google.api.fieldBehavior"]))
+ throw TypeError(".google.protobuf.FieldOptions..google.api.fieldBehavior: array expected");
+ message[".google.api.fieldBehavior"] = [];
+ for (var i = 0; i < object[".google.api.fieldBehavior"].length; ++i)
+ switch (object[".google.api.fieldBehavior"][i]) {
+ default:
+ if (typeof object[".google.api.fieldBehavior"][i] === "number") {
+ message[".google.api.fieldBehavior"][i] = object[".google.api.fieldBehavior"][i];
+ break;
+ }
+ case "FIELD_BEHAVIOR_UNSPECIFIED":
+ case 0:
+ message[".google.api.fieldBehavior"][i] = 0;
+ break;
+ case "OPTIONAL":
+ case 1:
+ message[".google.api.fieldBehavior"][i] = 1;
+ break;
+ case "REQUIRED":
+ case 2:
+ message[".google.api.fieldBehavior"][i] = 2;
+ break;
+ case "OUTPUT_ONLY":
+ case 3:
+ message[".google.api.fieldBehavior"][i] = 3;
+ break;
+ case "INPUT_ONLY":
+ case 4:
+ message[".google.api.fieldBehavior"][i] = 4;
+ break;
+ case "IMMUTABLE":
+ case 5:
+ message[".google.api.fieldBehavior"][i] = 5;
+ break;
+ case "UNORDERED_LIST":
+ case 6:
+ message[".google.api.fieldBehavior"][i] = 6;
+ break;
+ case "NON_EMPTY_DEFAULT":
+ case 7:
+ message[".google.api.fieldBehavior"][i] = 7;
+ break;
+ case "IDENTIFIER":
+ case 8:
+ message[".google.api.fieldBehavior"][i] = 8;
+ break;
+ }
+ }
+ if (object[".google.api.resourceReference"] != null) {
+ if (typeof object[".google.api.resourceReference"] !== "object")
+ throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected");
+ message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FieldOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FieldOptions
+ * @static
+ * @param {google.protobuf.FieldOptions} message FieldOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FieldOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.targets = [];
+ object.editionDefaults = [];
+ object.uninterpretedOption = [];
+ object[".google.api.fieldBehavior"] = [];
+ }
+ if (options.defaults) {
+ object.ctype = options.enums === String ? "STRING" : 0;
+ object.packed = false;
+ object.deprecated = false;
+ object.lazy = false;
+ object.jstype = options.enums === String ? "JS_NORMAL" : 0;
+ object.weak = false;
+ object.unverifiedLazy = false;
+ object.debugRedact = false;
+ object.retention = options.enums === String ? "RETENTION_UNKNOWN" : 0;
+ object.features = null;
+ object.featureSupport = null;
+ object[".google.api.resourceReference"] = null;
+ }
+ if (message.ctype != null && message.hasOwnProperty("ctype"))
+ object.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] === undefined ? message.ctype : $root.google.protobuf.FieldOptions.CType[message.ctype] : message.ctype;
+ if (message.packed != null && message.hasOwnProperty("packed"))
+ object.packed = message.packed;
+ if (message.deprecated != null && message.hasOwnProperty("deprecated"))
+ object.deprecated = message.deprecated;
+ if (message.lazy != null && message.hasOwnProperty("lazy"))
+ object.lazy = message.lazy;
+ if (message.jstype != null && message.hasOwnProperty("jstype"))
+ object.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] === undefined ? message.jstype : $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype;
+ if (message.weak != null && message.hasOwnProperty("weak"))
+ object.weak = message.weak;
+ if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy"))
+ object.unverifiedLazy = message.unverifiedLazy;
+ if (message.debugRedact != null && message.hasOwnProperty("debugRedact"))
+ object.debugRedact = message.debugRedact;
+ if (message.retention != null && message.hasOwnProperty("retention"))
+ object.retention = options.enums === String ? $root.google.protobuf.FieldOptions.OptionRetention[message.retention] === undefined ? message.retention : $root.google.protobuf.FieldOptions.OptionRetention[message.retention] : message.retention;
+ if (message.targets && message.targets.length) {
+ object.targets = [];
+ for (var j = 0; j < message.targets.length; ++j)
+ object.targets[j] = options.enums === String ? $root.google.protobuf.FieldOptions.OptionTargetType[message.targets[j]] === undefined ? message.targets[j] : $root.google.protobuf.FieldOptions.OptionTargetType[message.targets[j]] : message.targets[j];
+ }
+ if (message.editionDefaults && message.editionDefaults.length) {
+ object.editionDefaults = [];
+ for (var j = 0; j < message.editionDefaults.length; ++j)
+ object.editionDefaults[j] = $root.google.protobuf.FieldOptions.EditionDefault.toObject(message.editionDefaults[j], options);
+ }
+ if (message.features != null && message.hasOwnProperty("features"))
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
+ if (message.featureSupport != null && message.hasOwnProperty("featureSupport"))
+ object.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport, options);
+ if (message.uninterpretedOption && message.uninterpretedOption.length) {
+ object.uninterpretedOption = [];
+ for (var j = 0; j < message.uninterpretedOption.length; ++j)
+ object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
+ }
+ if (message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length) {
+ object[".google.api.fieldBehavior"] = [];
+ for (var j = 0; j < message[".google.api.fieldBehavior"].length; ++j)
+ object[".google.api.fieldBehavior"][j] = options.enums === String ? $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] === undefined ? message[".google.api.fieldBehavior"][j] : $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] : message[".google.api.fieldBehavior"][j];
+ }
+ if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference"))
+ object[".google.api.resourceReference"] = $root.google.api.ResourceReference.toObject(message[".google.api.resourceReference"], options);
+ return object;
+ };
+
+ /**
+ * Converts this FieldOptions to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FieldOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FieldOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FieldOptions
+ * @function getTypeUrl
+ * @memberof google.protobuf.FieldOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FieldOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FieldOptions";
+ };
+
+ /**
+ * CType enum.
+ * @name google.protobuf.FieldOptions.CType
+ * @enum {number}
+ * @property {number} STRING=0 STRING value
+ * @property {number} CORD=1 CORD value
+ * @property {number} STRING_PIECE=2 STRING_PIECE value
+ */
+ FieldOptions.CType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STRING"] = 0;
+ values[valuesById[1] = "CORD"] = 1;
+ values[valuesById[2] = "STRING_PIECE"] = 2;
+ return values;
+ })();
+
+ /**
+ * JSType enum.
+ * @name google.protobuf.FieldOptions.JSType
+ * @enum {number}
+ * @property {number} JS_NORMAL=0 JS_NORMAL value
+ * @property {number} JS_STRING=1 JS_STRING value
+ * @property {number} JS_NUMBER=2 JS_NUMBER value
+ */
+ FieldOptions.JSType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "JS_NORMAL"] = 0;
+ values[valuesById[1] = "JS_STRING"] = 1;
+ values[valuesById[2] = "JS_NUMBER"] = 2;
+ return values;
+ })();
+
+ /**
+ * OptionRetention enum.
+ * @name google.protobuf.FieldOptions.OptionRetention
+ * @enum {number}
+ * @property {number} RETENTION_UNKNOWN=0 RETENTION_UNKNOWN value
+ * @property {number} RETENTION_RUNTIME=1 RETENTION_RUNTIME value
+ * @property {number} RETENTION_SOURCE=2 RETENTION_SOURCE value
+ */
+ FieldOptions.OptionRetention = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "RETENTION_UNKNOWN"] = 0;
+ values[valuesById[1] = "RETENTION_RUNTIME"] = 1;
+ values[valuesById[2] = "RETENTION_SOURCE"] = 2;
+ return values;
+ })();
+
+ /**
+ * OptionTargetType enum.
+ * @name google.protobuf.FieldOptions.OptionTargetType
+ * @enum {number}
+ * @property {number} TARGET_TYPE_UNKNOWN=0 TARGET_TYPE_UNKNOWN value
+ * @property {number} TARGET_TYPE_FILE=1 TARGET_TYPE_FILE value
+ * @property {number} TARGET_TYPE_EXTENSION_RANGE=2 TARGET_TYPE_EXTENSION_RANGE value
+ * @property {number} TARGET_TYPE_MESSAGE=3 TARGET_TYPE_MESSAGE value
+ * @property {number} TARGET_TYPE_FIELD=4 TARGET_TYPE_FIELD value
+ * @property {number} TARGET_TYPE_ONEOF=5 TARGET_TYPE_ONEOF value
+ * @property {number} TARGET_TYPE_ENUM=6 TARGET_TYPE_ENUM value
+ * @property {number} TARGET_TYPE_ENUM_ENTRY=7 TARGET_TYPE_ENUM_ENTRY value
+ * @property {number} TARGET_TYPE_SERVICE=8 TARGET_TYPE_SERVICE value
+ * @property {number} TARGET_TYPE_METHOD=9 TARGET_TYPE_METHOD value
+ */
+ FieldOptions.OptionTargetType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "TARGET_TYPE_UNKNOWN"] = 0;
+ values[valuesById[1] = "TARGET_TYPE_FILE"] = 1;
+ values[valuesById[2] = "TARGET_TYPE_EXTENSION_RANGE"] = 2;
+ values[valuesById[3] = "TARGET_TYPE_MESSAGE"] = 3;
+ values[valuesById[4] = "TARGET_TYPE_FIELD"] = 4;
+ values[valuesById[5] = "TARGET_TYPE_ONEOF"] = 5;
+ values[valuesById[6] = "TARGET_TYPE_ENUM"] = 6;
+ values[valuesById[7] = "TARGET_TYPE_ENUM_ENTRY"] = 7;
+ values[valuesById[8] = "TARGET_TYPE_SERVICE"] = 8;
+ values[valuesById[9] = "TARGET_TYPE_METHOD"] = 9;
+ return values;
+ })();
+
+ FieldOptions.EditionDefault = (function() {
+
+ /**
+ * Properties of an EditionDefault.
+ * @memberof google.protobuf.FieldOptions
+ * @interface IEditionDefault
+ * @property {google.protobuf.Edition|null} [edition] EditionDefault edition
+ * @property {string|null} [value] EditionDefault value
+ */
+
+ /**
+ * Constructs a new EditionDefault.
+ * @memberof google.protobuf.FieldOptions
+ * @classdesc Represents an EditionDefault.
+ * @implements IEditionDefault
+ * @constructor
+ * @param {google.protobuf.FieldOptions.IEditionDefault=} [properties] Properties to set
+ */
+ function EditionDefault(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]];
+ }
+
+ /**
+ * EditionDefault edition.
+ * @member {google.protobuf.Edition} edition
+ * @memberof google.protobuf.FieldOptions.EditionDefault
+ * @instance
+ */
+ EditionDefault.prototype.edition = 0;
+
+ /**
+ * EditionDefault value.
+ * @member {string} value
+ * @memberof google.protobuf.FieldOptions.EditionDefault
+ * @instance
+ */
+ EditionDefault.prototype.value = "";
+
+ /**
+ * Creates a new EditionDefault instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FieldOptions.EditionDefault
+ * @static
+ * @param {google.protobuf.FieldOptions.IEditionDefault=} [properties] Properties to set
+ * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault instance
+ */
+ EditionDefault.create = function create(properties) {
+ return new EditionDefault(properties);
+ };
+
+ /**
+ * Encodes the specified EditionDefault message. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FieldOptions.EditionDefault
+ * @static
+ * @param {google.protobuf.FieldOptions.IEditionDefault} message EditionDefault message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EditionDefault.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.value != null && Object.hasOwnProperty.call(message, "value"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.value);
+ if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.edition);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FieldOptions.EditionDefault
+ * @static
+ * @param {google.protobuf.FieldOptions.IEditionDefault} message EditionDefault message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EditionDefault.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EditionDefault message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FieldOptions.EditionDefault
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EditionDefault.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.protobuf.FieldOptions.EditionDefault();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 3: {
+ message.edition = reader.int32();
+ break;
+ }
+ case 2: {
+ message.value = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EditionDefault message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FieldOptions.EditionDefault
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EditionDefault.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EditionDefault message.
+ * @function verify
+ * @memberof google.protobuf.FieldOptions.EditionDefault
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EditionDefault.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.edition != null && message.hasOwnProperty("edition"))
+ switch (message.edition) {
+ default:
+ return "edition: enum value expected";
+ case 0:
+ case 900:
+ case 998:
+ case 999:
+ case 1000:
+ case 1001:
+ case 1:
+ case 2:
+ case 99997:
+ case 99998:
+ case 99999:
+ case 2147483647:
+ break;
+ }
+ if (message.value != null && message.hasOwnProperty("value"))
+ if (!$util.isString(message.value))
+ return "value: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an EditionDefault message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FieldOptions.EditionDefault
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault
+ */
+ EditionDefault.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FieldOptions.EditionDefault)
+ return object;
+ var message = new $root.google.protobuf.FieldOptions.EditionDefault();
+ switch (object.edition) {
+ default:
+ if (typeof object.edition === "number") {
+ message.edition = object.edition;
+ break;
+ }
+ break;
+ case "EDITION_UNKNOWN":
+ case 0:
+ message.edition = 0;
+ break;
+ case "EDITION_LEGACY":
+ case 900:
+ message.edition = 900;
+ break;
+ case "EDITION_PROTO2":
+ case 998:
+ message.edition = 998;
+ break;
+ case "EDITION_PROTO3":
+ case 999:
+ message.edition = 999;
+ break;
+ case "EDITION_2023":
+ case 1000:
+ message.edition = 1000;
+ break;
+ case "EDITION_2024":
+ case 1001:
+ message.edition = 1001;
+ break;
+ case "EDITION_1_TEST_ONLY":
+ case 1:
+ message.edition = 1;
+ break;
+ case "EDITION_2_TEST_ONLY":
+ case 2:
+ message.edition = 2;
+ break;
+ case "EDITION_99997_TEST_ONLY":
+ case 99997:
+ message.edition = 99997;
+ break;
+ case "EDITION_99998_TEST_ONLY":
+ case 99998:
+ message.edition = 99998;
+ break;
+ case "EDITION_99999_TEST_ONLY":
+ case 99999:
+ message.edition = 99999;
+ break;
+ case "EDITION_MAX":
+ case 2147483647:
+ message.edition = 2147483647;
+ break;
+ }
+ if (object.value != null)
+ message.value = String(object.value);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EditionDefault message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FieldOptions.EditionDefault
+ * @static
+ * @param {google.protobuf.FieldOptions.EditionDefault} message EditionDefault
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EditionDefault.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.value = "";
+ object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0;
+ }
+ if (message.value != null && message.hasOwnProperty("value"))
+ object.value = message.value;
+ if (message.edition != null && message.hasOwnProperty("edition"))
+ object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition;
+ return object;
+ };
+
+ /**
+ * Converts this EditionDefault to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FieldOptions.EditionDefault
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EditionDefault.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EditionDefault
+ * @function getTypeUrl
+ * @memberof google.protobuf.FieldOptions.EditionDefault
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FieldOptions.EditionDefault";
+ };
+
+ return EditionDefault;
+ })();
+
+ FieldOptions.FeatureSupport = (function() {
+
+ /**
+ * Properties of a FeatureSupport.
+ * @memberof google.protobuf.FieldOptions
+ * @interface IFeatureSupport
+ * @property {google.protobuf.Edition|null} [editionIntroduced] FeatureSupport editionIntroduced
+ * @property {google.protobuf.Edition|null} [editionDeprecated] FeatureSupport editionDeprecated
+ * @property {string|null} [deprecationWarning] FeatureSupport deprecationWarning
+ * @property {google.protobuf.Edition|null} [editionRemoved] FeatureSupport editionRemoved
+ */
+
+ /**
+ * Constructs a new FeatureSupport.
+ * @memberof google.protobuf.FieldOptions
+ * @classdesc Represents a FeatureSupport.
+ * @implements IFeatureSupport
+ * @constructor
+ * @param {google.protobuf.FieldOptions.IFeatureSupport=} [properties] Properties to set
+ */
+ function FeatureSupport(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]];
+ }
+
+ /**
+ * FeatureSupport editionIntroduced.
+ * @member {google.protobuf.Edition} editionIntroduced
+ * @memberof google.protobuf.FieldOptions.FeatureSupport
+ * @instance
+ */
+ FeatureSupport.prototype.editionIntroduced = 0;
+
+ /**
+ * FeatureSupport editionDeprecated.
+ * @member {google.protobuf.Edition} editionDeprecated
+ * @memberof google.protobuf.FieldOptions.FeatureSupport
+ * @instance
+ */
+ FeatureSupport.prototype.editionDeprecated = 0;
+
+ /**
+ * FeatureSupport deprecationWarning.
+ * @member {string} deprecationWarning
+ * @memberof google.protobuf.FieldOptions.FeatureSupport
+ * @instance
+ */
+ FeatureSupport.prototype.deprecationWarning = "";
+
+ /**
+ * FeatureSupport editionRemoved.
+ * @member {google.protobuf.Edition} editionRemoved
+ * @memberof google.protobuf.FieldOptions.FeatureSupport
+ * @instance
+ */
+ FeatureSupport.prototype.editionRemoved = 0;
+
+ /**
+ * Creates a new FeatureSupport instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FieldOptions.FeatureSupport
+ * @static
+ * @param {google.protobuf.FieldOptions.IFeatureSupport=} [properties] Properties to set
+ * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport instance
+ */
+ FeatureSupport.create = function create(properties) {
+ return new FeatureSupport(properties);
+ };
+
+ /**
+ * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FieldOptions.FeatureSupport
+ * @static
+ * @param {google.protobuf.FieldOptions.IFeatureSupport} message FeatureSupport message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FeatureSupport.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.editionIntroduced != null && Object.hasOwnProperty.call(message, "editionIntroduced"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.editionIntroduced);
+ if (message.editionDeprecated != null && Object.hasOwnProperty.call(message, "editionDeprecated"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.editionDeprecated);
+ if (message.deprecationWarning != null && Object.hasOwnProperty.call(message, "deprecationWarning"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.deprecationWarning);
+ if (message.editionRemoved != null && Object.hasOwnProperty.call(message, "editionRemoved"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.editionRemoved);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FieldOptions.FeatureSupport
+ * @static
+ * @param {google.protobuf.FieldOptions.IFeatureSupport} message FeatureSupport message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FeatureSupport.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FeatureSupport message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FieldOptions.FeatureSupport
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FeatureSupport.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.protobuf.FieldOptions.FeatureSupport();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.editionIntroduced = reader.int32();
+ break;
+ }
+ case 2: {
+ message.editionDeprecated = reader.int32();
+ break;
+ }
+ case 3: {
+ message.deprecationWarning = reader.string();
+ break;
+ }
+ case 4: {
+ message.editionRemoved = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FeatureSupport message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FieldOptions.FeatureSupport
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FeatureSupport.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FeatureSupport message.
+ * @function verify
+ * @memberof google.protobuf.FieldOptions.FeatureSupport
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FeatureSupport.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced"))
+ switch (message.editionIntroduced) {
+ default:
+ return "editionIntroduced: enum value expected";
+ case 0:
+ case 900:
+ case 998:
+ case 999:
+ case 1000:
+ case 1001:
+ case 1:
+ case 2:
+ case 99997:
+ case 99998:
+ case 99999:
+ case 2147483647:
+ break;
+ }
+ if (message.editionDeprecated != null && message.hasOwnProperty("editionDeprecated"))
+ switch (message.editionDeprecated) {
+ default:
+ return "editionDeprecated: enum value expected";
+ case 0:
+ case 900:
+ case 998:
+ case 999:
+ case 1000:
+ case 1001:
+ case 1:
+ case 2:
+ case 99997:
+ case 99998:
+ case 99999:
+ case 2147483647:
+ break;
+ }
+ if (message.deprecationWarning != null && message.hasOwnProperty("deprecationWarning"))
+ if (!$util.isString(message.deprecationWarning))
+ return "deprecationWarning: string expected";
+ if (message.editionRemoved != null && message.hasOwnProperty("editionRemoved"))
+ switch (message.editionRemoved) {
+ default:
+ return "editionRemoved: enum value expected";
+ case 0:
+ case 900:
+ case 998:
+ case 999:
+ case 1000:
+ case 1001:
+ case 1:
+ case 2:
+ case 99997:
+ case 99998:
+ case 99999:
+ case 2147483647:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FieldOptions.FeatureSupport
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport
+ */
+ FeatureSupport.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FieldOptions.FeatureSupport)
+ return object;
+ var message = new $root.google.protobuf.FieldOptions.FeatureSupport();
+ switch (object.editionIntroduced) {
+ default:
+ if (typeof object.editionIntroduced === "number") {
+ message.editionIntroduced = object.editionIntroduced;
+ break;
+ }
+ break;
+ case "EDITION_UNKNOWN":
+ case 0:
+ message.editionIntroduced = 0;
+ break;
+ case "EDITION_LEGACY":
+ case 900:
+ message.editionIntroduced = 900;
+ break;
+ case "EDITION_PROTO2":
+ case 998:
+ message.editionIntroduced = 998;
+ break;
+ case "EDITION_PROTO3":
+ case 999:
+ message.editionIntroduced = 999;
+ break;
+ case "EDITION_2023":
+ case 1000:
+ message.editionIntroduced = 1000;
+ break;
+ case "EDITION_2024":
+ case 1001:
+ message.editionIntroduced = 1001;
+ break;
+ case "EDITION_1_TEST_ONLY":
+ case 1:
+ message.editionIntroduced = 1;
+ break;
+ case "EDITION_2_TEST_ONLY":
+ case 2:
+ message.editionIntroduced = 2;
+ break;
+ case "EDITION_99997_TEST_ONLY":
+ case 99997:
+ message.editionIntroduced = 99997;
+ break;
+ case "EDITION_99998_TEST_ONLY":
+ case 99998:
+ message.editionIntroduced = 99998;
+ break;
+ case "EDITION_99999_TEST_ONLY":
+ case 99999:
+ message.editionIntroduced = 99999;
+ break;
+ case "EDITION_MAX":
+ case 2147483647:
+ message.editionIntroduced = 2147483647;
+ break;
+ }
+ switch (object.editionDeprecated) {
+ default:
+ if (typeof object.editionDeprecated === "number") {
+ message.editionDeprecated = object.editionDeprecated;
+ break;
+ }
+ break;
+ case "EDITION_UNKNOWN":
+ case 0:
+ message.editionDeprecated = 0;
+ break;
+ case "EDITION_LEGACY":
+ case 900:
+ message.editionDeprecated = 900;
+ break;
+ case "EDITION_PROTO2":
+ case 998:
+ message.editionDeprecated = 998;
+ break;
+ case "EDITION_PROTO3":
+ case 999:
+ message.editionDeprecated = 999;
+ break;
+ case "EDITION_2023":
+ case 1000:
+ message.editionDeprecated = 1000;
+ break;
+ case "EDITION_2024":
+ case 1001:
+ message.editionDeprecated = 1001;
+ break;
+ case "EDITION_1_TEST_ONLY":
+ case 1:
+ message.editionDeprecated = 1;
+ break;
+ case "EDITION_2_TEST_ONLY":
+ case 2:
+ message.editionDeprecated = 2;
+ break;
+ case "EDITION_99997_TEST_ONLY":
+ case 99997:
+ message.editionDeprecated = 99997;
+ break;
+ case "EDITION_99998_TEST_ONLY":
+ case 99998:
+ message.editionDeprecated = 99998;
+ break;
+ case "EDITION_99999_TEST_ONLY":
+ case 99999:
+ message.editionDeprecated = 99999;
+ break;
+ case "EDITION_MAX":
+ case 2147483647:
+ message.editionDeprecated = 2147483647;
+ break;
+ }
+ if (object.deprecationWarning != null)
+ message.deprecationWarning = String(object.deprecationWarning);
+ switch (object.editionRemoved) {
+ default:
+ if (typeof object.editionRemoved === "number") {
+ message.editionRemoved = object.editionRemoved;
+ break;
+ }
+ break;
+ case "EDITION_UNKNOWN":
+ case 0:
+ message.editionRemoved = 0;
+ break;
+ case "EDITION_LEGACY":
+ case 900:
+ message.editionRemoved = 900;
+ break;
+ case "EDITION_PROTO2":
+ case 998:
+ message.editionRemoved = 998;
+ break;
+ case "EDITION_PROTO3":
+ case 999:
+ message.editionRemoved = 999;
+ break;
+ case "EDITION_2023":
+ case 1000:
+ message.editionRemoved = 1000;
+ break;
+ case "EDITION_2024":
+ case 1001:
+ message.editionRemoved = 1001;
+ break;
+ case "EDITION_1_TEST_ONLY":
+ case 1:
+ message.editionRemoved = 1;
+ break;
+ case "EDITION_2_TEST_ONLY":
+ case 2:
+ message.editionRemoved = 2;
+ break;
+ case "EDITION_99997_TEST_ONLY":
+ case 99997:
+ message.editionRemoved = 99997;
+ break;
+ case "EDITION_99998_TEST_ONLY":
+ case 99998:
+ message.editionRemoved = 99998;
+ break;
+ case "EDITION_99999_TEST_ONLY":
+ case 99999:
+ message.editionRemoved = 99999;
+ break;
+ case "EDITION_MAX":
+ case 2147483647:
+ message.editionRemoved = 2147483647;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FieldOptions.FeatureSupport
+ * @static
+ * @param {google.protobuf.FieldOptions.FeatureSupport} message FeatureSupport
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FeatureSupport.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.editionIntroduced = options.enums === String ? "EDITION_UNKNOWN" : 0;
+ object.editionDeprecated = options.enums === String ? "EDITION_UNKNOWN" : 0;
+ object.deprecationWarning = "";
+ object.editionRemoved = options.enums === String ? "EDITION_UNKNOWN" : 0;
+ }
+ if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced"))
+ object.editionIntroduced = options.enums === String ? $root.google.protobuf.Edition[message.editionIntroduced] === undefined ? message.editionIntroduced : $root.google.protobuf.Edition[message.editionIntroduced] : message.editionIntroduced;
+ if (message.editionDeprecated != null && message.hasOwnProperty("editionDeprecated"))
+ object.editionDeprecated = options.enums === String ? $root.google.protobuf.Edition[message.editionDeprecated] === undefined ? message.editionDeprecated : $root.google.protobuf.Edition[message.editionDeprecated] : message.editionDeprecated;
+ if (message.deprecationWarning != null && message.hasOwnProperty("deprecationWarning"))
+ object.deprecationWarning = message.deprecationWarning;
+ if (message.editionRemoved != null && message.hasOwnProperty("editionRemoved"))
+ object.editionRemoved = options.enums === String ? $root.google.protobuf.Edition[message.editionRemoved] === undefined ? message.editionRemoved : $root.google.protobuf.Edition[message.editionRemoved] : message.editionRemoved;
+ return object;
+ };
+
+ /**
+ * Converts this FeatureSupport to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FieldOptions.FeatureSupport
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FeatureSupport.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FeatureSupport
+ * @function getTypeUrl
+ * @memberof google.protobuf.FieldOptions.FeatureSupport
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FeatureSupport.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FieldOptions.FeatureSupport";
+ };
+
+ return FeatureSupport;
+ })();
+
+ return FieldOptions;
+ })();
+
+ protobuf.OneofOptions = (function() {
+
+ /**
+ * Properties of an OneofOptions.
+ * @memberof google.protobuf
+ * @interface IOneofOptions
+ * @property {google.protobuf.IFeatureSet|null} [features] OneofOptions features
+ * @property {Array.|null} [uninterpretedOption] OneofOptions uninterpretedOption
+ */
+
+ /**
+ * Constructs a new OneofOptions.
+ * @memberof google.protobuf
+ * @classdesc Represents an OneofOptions.
+ * @implements IOneofOptions
+ * @constructor
+ * @param {google.protobuf.IOneofOptions=} [properties] Properties to set
+ */
+ function OneofOptions(properties) {
+ this.uninterpretedOption = [];
+ 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]];
+ }
+
+ /**
+ * OneofOptions features.
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
+ * @memberof google.protobuf.OneofOptions
+ * @instance
+ */
+ OneofOptions.prototype.features = null;
+
+ /**
+ * OneofOptions uninterpretedOption.
+ * @member {Array.} uninterpretedOption
+ * @memberof google.protobuf.OneofOptions
+ * @instance
+ */
+ OneofOptions.prototype.uninterpretedOption = $util.emptyArray;
+
+ /**
+ * Creates a new OneofOptions instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.OneofOptions
+ * @static
+ * @param {google.protobuf.IOneofOptions=} [properties] Properties to set
+ * @returns {google.protobuf.OneofOptions} OneofOptions instance
+ */
+ OneofOptions.create = function create(properties) {
+ return new OneofOptions(properties);
+ };
+
+ /**
+ * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.OneofOptions
+ * @static
+ * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OneofOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.uninterpretedOption != null && message.uninterpretedOption.length)
+ for (var i = 0; i < message.uninterpretedOption.length; ++i)
+ $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.OneofOptions
+ * @static
+ * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OneofOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.OneofOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.OneofOptions} OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OneofOptions.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.protobuf.OneofOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+ break;
+ }
+ case 999: {
+ if (!(message.uninterpretedOption && message.uninterpretedOption.length))
+ message.uninterpretedOption = [];
+ message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.OneofOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.OneofOptions} OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OneofOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an OneofOptions message.
+ * @function verify
+ * @memberof google.protobuf.OneofOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ OneofOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.features != null && message.hasOwnProperty("features")) {
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
+ if (error)
+ return "features." + error;
+ }
+ if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
+ if (!Array.isArray(message.uninterpretedOption))
+ return "uninterpretedOption: array expected";
+ for (var i = 0; i < message.uninterpretedOption.length; ++i) {
+ var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+ if (error)
+ return "uninterpretedOption." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.OneofOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.OneofOptions} OneofOptions
+ */
+ OneofOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.OneofOptions)
+ return object;
+ var message = new $root.google.protobuf.OneofOptions();
+ if (object.features != null) {
+ if (typeof object.features !== "object")
+ throw TypeError(".google.protobuf.OneofOptions.features: object expected");
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+ }
+ if (object.uninterpretedOption) {
+ if (!Array.isArray(object.uninterpretedOption))
+ throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected");
+ message.uninterpretedOption = [];
+ for (var i = 0; i < object.uninterpretedOption.length; ++i) {
+ if (typeof object.uninterpretedOption[i] !== "object")
+ throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected");
+ message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an OneofOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.OneofOptions
+ * @static
+ * @param {google.protobuf.OneofOptions} message OneofOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ OneofOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.uninterpretedOption = [];
+ if (options.defaults)
+ object.features = null;
+ if (message.features != null && message.hasOwnProperty("features"))
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
+ if (message.uninterpretedOption && message.uninterpretedOption.length) {
+ object.uninterpretedOption = [];
+ for (var j = 0; j < message.uninterpretedOption.length; ++j)
+ object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this OneofOptions to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.OneofOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ OneofOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for OneofOptions
+ * @function getTypeUrl
+ * @memberof google.protobuf.OneofOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ OneofOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.OneofOptions";
+ };
+
+ return OneofOptions;
+ })();
+
+ protobuf.EnumOptions = (function() {
+
+ /**
+ * Properties of an EnumOptions.
+ * @memberof google.protobuf
+ * @interface IEnumOptions
+ * @property {boolean|null} [allowAlias] EnumOptions allowAlias
+ * @property {boolean|null} [deprecated] EnumOptions deprecated
+ * @property {boolean|null} [deprecatedLegacyJsonFieldConflicts] EnumOptions deprecatedLegacyJsonFieldConflicts
+ * @property {google.protobuf.IFeatureSet|null} [features] EnumOptions features
+ * @property {Array.|null} [uninterpretedOption] EnumOptions uninterpretedOption
+ */
+
+ /**
+ * Constructs a new EnumOptions.
+ * @memberof google.protobuf
+ * @classdesc Represents an EnumOptions.
+ * @implements IEnumOptions
+ * @constructor
+ * @param {google.protobuf.IEnumOptions=} [properties] Properties to set
+ */
+ function EnumOptions(properties) {
+ this.uninterpretedOption = [];
+ 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]];
+ }
+
+ /**
+ * EnumOptions allowAlias.
+ * @member {boolean} allowAlias
+ * @memberof google.protobuf.EnumOptions
+ * @instance
+ */
+ EnumOptions.prototype.allowAlias = false;
+
+ /**
+ * EnumOptions deprecated.
+ * @member {boolean} deprecated
+ * @memberof google.protobuf.EnumOptions
+ * @instance
+ */
+ EnumOptions.prototype.deprecated = false;
+
+ /**
+ * EnumOptions deprecatedLegacyJsonFieldConflicts.
+ * @member {boolean} deprecatedLegacyJsonFieldConflicts
+ * @memberof google.protobuf.EnumOptions
+ * @instance
+ */
+ EnumOptions.prototype.deprecatedLegacyJsonFieldConflicts = false;
+
+ /**
+ * EnumOptions features.
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
+ * @memberof google.protobuf.EnumOptions
+ * @instance
+ */
+ EnumOptions.prototype.features = null;
+
+ /**
+ * EnumOptions uninterpretedOption.
+ * @member {Array.} uninterpretedOption
+ * @memberof google.protobuf.EnumOptions
+ * @instance
+ */
+ EnumOptions.prototype.uninterpretedOption = $util.emptyArray;
+
+ /**
+ * Creates a new EnumOptions instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.EnumOptions
+ * @static
+ * @param {google.protobuf.IEnumOptions=} [properties] Properties to set
+ * @returns {google.protobuf.EnumOptions} EnumOptions instance
+ */
+ EnumOptions.create = function create(properties) {
+ return new EnumOptions(properties);
+ };
+
+ /**
+ * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.EnumOptions
+ * @static
+ * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.allowAlias != null && Object.hasOwnProperty.call(message, "allowAlias"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allowAlias);
+ if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated);
+ if (message.deprecatedLegacyJsonFieldConflicts != null && Object.hasOwnProperty.call(message, "deprecatedLegacyJsonFieldConflicts"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.deprecatedLegacyJsonFieldConflicts);
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.uninterpretedOption != null && message.uninterpretedOption.length)
+ for (var i = 0; i < message.uninterpretedOption.length; ++i)
+ $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.EnumOptions
+ * @static
+ * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.EnumOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.EnumOptions} EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumOptions.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.protobuf.EnumOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 2: {
+ message.allowAlias = reader.bool();
+ break;
+ }
+ case 3: {
+ message.deprecated = reader.bool();
+ break;
+ }
+ case 6: {
+ message.deprecatedLegacyJsonFieldConflicts = reader.bool();
+ break;
+ }
+ case 7: {
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+ break;
+ }
+ case 999: {
+ if (!(message.uninterpretedOption && message.uninterpretedOption.length))
+ message.uninterpretedOption = [];
+ message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.EnumOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.EnumOptions} EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EnumOptions message.
+ * @function verify
+ * @memberof google.protobuf.EnumOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EnumOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.allowAlias != null && message.hasOwnProperty("allowAlias"))
+ if (typeof message.allowAlias !== "boolean")
+ return "allowAlias: boolean expected";
+ if (message.deprecated != null && message.hasOwnProperty("deprecated"))
+ if (typeof message.deprecated !== "boolean")
+ return "deprecated: boolean expected";
+ if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))
+ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean")
+ return "deprecatedLegacyJsonFieldConflicts: boolean expected";
+ if (message.features != null && message.hasOwnProperty("features")) {
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
+ if (error)
+ return "features." + error;
+ }
+ if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
+ if (!Array.isArray(message.uninterpretedOption))
+ return "uninterpretedOption: array expected";
+ for (var i = 0; i < message.uninterpretedOption.length; ++i) {
+ var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+ if (error)
+ return "uninterpretedOption." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.EnumOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.EnumOptions} EnumOptions
+ */
+ EnumOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.EnumOptions)
+ return object;
+ var message = new $root.google.protobuf.EnumOptions();
+ if (object.allowAlias != null)
+ message.allowAlias = Boolean(object.allowAlias);
+ if (object.deprecated != null)
+ message.deprecated = Boolean(object.deprecated);
+ if (object.deprecatedLegacyJsonFieldConflicts != null)
+ message.deprecatedLegacyJsonFieldConflicts = Boolean(object.deprecatedLegacyJsonFieldConflicts);
+ if (object.features != null) {
+ if (typeof object.features !== "object")
+ throw TypeError(".google.protobuf.EnumOptions.features: object expected");
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+ }
+ if (object.uninterpretedOption) {
+ if (!Array.isArray(object.uninterpretedOption))
+ throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected");
+ message.uninterpretedOption = [];
+ for (var i = 0; i < object.uninterpretedOption.length; ++i) {
+ if (typeof object.uninterpretedOption[i] !== "object")
+ throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected");
+ message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EnumOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.EnumOptions
+ * @static
+ * @param {google.protobuf.EnumOptions} message EnumOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EnumOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.uninterpretedOption = [];
+ if (options.defaults) {
+ object.allowAlias = false;
+ object.deprecated = false;
+ object.deprecatedLegacyJsonFieldConflicts = false;
+ object.features = null;
+ }
+ if (message.allowAlias != null && message.hasOwnProperty("allowAlias"))
+ object.allowAlias = message.allowAlias;
+ if (message.deprecated != null && message.hasOwnProperty("deprecated"))
+ object.deprecated = message.deprecated;
+ if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))
+ object.deprecatedLegacyJsonFieldConflicts = message.deprecatedLegacyJsonFieldConflicts;
+ if (message.features != null && message.hasOwnProperty("features"))
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
+ if (message.uninterpretedOption && message.uninterpretedOption.length) {
+ object.uninterpretedOption = [];
+ for (var j = 0; j < message.uninterpretedOption.length; ++j)
+ object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this EnumOptions to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.EnumOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EnumOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EnumOptions
+ * @function getTypeUrl
+ * @memberof google.protobuf.EnumOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EnumOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.EnumOptions";
+ };
+
+ return EnumOptions;
+ })();
+
+ protobuf.EnumValueOptions = (function() {
+
+ /**
+ * Properties of an EnumValueOptions.
+ * @memberof google.protobuf
+ * @interface IEnumValueOptions
+ * @property {boolean|null} [deprecated] EnumValueOptions deprecated
+ * @property {google.protobuf.IFeatureSet|null} [features] EnumValueOptions features
+ * @property {boolean|null} [debugRedact] EnumValueOptions debugRedact
+ * @property {google.protobuf.FieldOptions.IFeatureSupport|null} [featureSupport] EnumValueOptions featureSupport
+ * @property {Array.|null} [uninterpretedOption] EnumValueOptions uninterpretedOption
+ */
+
+ /**
+ * Constructs a new EnumValueOptions.
+ * @memberof google.protobuf
+ * @classdesc Represents an EnumValueOptions.
+ * @implements IEnumValueOptions
+ * @constructor
+ * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set
+ */
+ function EnumValueOptions(properties) {
+ this.uninterpretedOption = [];
+ 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]];
+ }
+
+ /**
+ * EnumValueOptions deprecated.
+ * @member {boolean} deprecated
+ * @memberof google.protobuf.EnumValueOptions
+ * @instance
+ */
+ EnumValueOptions.prototype.deprecated = false;
+
+ /**
+ * EnumValueOptions features.
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
+ * @memberof google.protobuf.EnumValueOptions
+ * @instance
+ */
+ EnumValueOptions.prototype.features = null;
+
+ /**
+ * EnumValueOptions debugRedact.
+ * @member {boolean} debugRedact
+ * @memberof google.protobuf.EnumValueOptions
+ * @instance
+ */
+ EnumValueOptions.prototype.debugRedact = false;
+
+ /**
+ * EnumValueOptions featureSupport.
+ * @member {google.protobuf.FieldOptions.IFeatureSupport|null|undefined} featureSupport
+ * @memberof google.protobuf.EnumValueOptions
+ * @instance
+ */
+ EnumValueOptions.prototype.featureSupport = null;
+
+ /**
+ * EnumValueOptions uninterpretedOption.
+ * @member {Array.} uninterpretedOption
+ * @memberof google.protobuf.EnumValueOptions
+ * @instance
+ */
+ EnumValueOptions.prototype.uninterpretedOption = $util.emptyArray;
+
+ /**
+ * Creates a new EnumValueOptions instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.EnumValueOptions
+ * @static
+ * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set
+ * @returns {google.protobuf.EnumValueOptions} EnumValueOptions instance
+ */
+ EnumValueOptions.create = function create(properties) {
+ return new EnumValueOptions(properties);
+ };
+
+ /**
+ * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.EnumValueOptions
+ * @static
+ * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumValueOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.deprecated);
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.debugRedact);
+ if (message.featureSupport != null && Object.hasOwnProperty.call(message, "featureSupport"))
+ $root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.uninterpretedOption != null && message.uninterpretedOption.length)
+ for (var i = 0; i < message.uninterpretedOption.length; ++i)
+ $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.EnumValueOptions
+ * @static
+ * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumValueOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.EnumValueOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.EnumValueOptions} EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumValueOptions.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.protobuf.EnumValueOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.deprecated = reader.bool();
+ break;
+ }
+ case 2: {
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.debugRedact = reader.bool();
+ break;
+ }
+ case 4: {
+ message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32());
+ break;
+ }
+ case 999: {
+ if (!(message.uninterpretedOption && message.uninterpretedOption.length))
+ message.uninterpretedOption = [];
+ message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.EnumValueOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.EnumValueOptions} EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumValueOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EnumValueOptions message.
+ * @function verify
+ * @memberof google.protobuf.EnumValueOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EnumValueOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.deprecated != null && message.hasOwnProperty("deprecated"))
+ if (typeof message.deprecated !== "boolean")
+ return "deprecated: boolean expected";
+ if (message.features != null && message.hasOwnProperty("features")) {
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
+ if (error)
+ return "features." + error;
+ }
+ if (message.debugRedact != null && message.hasOwnProperty("debugRedact"))
+ if (typeof message.debugRedact !== "boolean")
+ return "debugRedact: boolean expected";
+ if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) {
+ var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport);
+ if (error)
+ return "featureSupport." + error;
+ }
+ if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
+ if (!Array.isArray(message.uninterpretedOption))
+ return "uninterpretedOption: array expected";
+ for (var i = 0; i < message.uninterpretedOption.length; ++i) {
+ var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+ if (error)
+ return "uninterpretedOption." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.EnumValueOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.EnumValueOptions} EnumValueOptions
+ */
+ EnumValueOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.EnumValueOptions)
+ return object;
+ var message = new $root.google.protobuf.EnumValueOptions();
+ if (object.deprecated != null)
+ message.deprecated = Boolean(object.deprecated);
+ if (object.features != null) {
+ if (typeof object.features !== "object")
+ throw TypeError(".google.protobuf.EnumValueOptions.features: object expected");
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+ }
+ if (object.debugRedact != null)
+ message.debugRedact = Boolean(object.debugRedact);
+ if (object.featureSupport != null) {
+ if (typeof object.featureSupport !== "object")
+ throw TypeError(".google.protobuf.EnumValueOptions.featureSupport: object expected");
+ message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport);
+ }
+ if (object.uninterpretedOption) {
+ if (!Array.isArray(object.uninterpretedOption))
+ throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected");
+ message.uninterpretedOption = [];
+ for (var i = 0; i < object.uninterpretedOption.length; ++i) {
+ if (typeof object.uninterpretedOption[i] !== "object")
+ throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected");
+ message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.EnumValueOptions
+ * @static
+ * @param {google.protobuf.EnumValueOptions} message EnumValueOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EnumValueOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.uninterpretedOption = [];
+ if (options.defaults) {
+ object.deprecated = false;
+ object.features = null;
+ object.debugRedact = false;
+ object.featureSupport = null;
+ }
+ if (message.deprecated != null && message.hasOwnProperty("deprecated"))
+ object.deprecated = message.deprecated;
+ if (message.features != null && message.hasOwnProperty("features"))
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
+ if (message.debugRedact != null && message.hasOwnProperty("debugRedact"))
+ object.debugRedact = message.debugRedact;
+ if (message.featureSupport != null && message.hasOwnProperty("featureSupport"))
+ object.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport, options);
+ if (message.uninterpretedOption && message.uninterpretedOption.length) {
+ object.uninterpretedOption = [];
+ for (var j = 0; j < message.uninterpretedOption.length; ++j)
+ object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this EnumValueOptions to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.EnumValueOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EnumValueOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EnumValueOptions
+ * @function getTypeUrl
+ * @memberof google.protobuf.EnumValueOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EnumValueOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.EnumValueOptions";
+ };
+
+ return EnumValueOptions;
+ })();
+
+ protobuf.ServiceOptions = (function() {
+
+ /**
+ * Properties of a ServiceOptions.
+ * @memberof google.protobuf
+ * @interface IServiceOptions
+ * @property {google.protobuf.IFeatureSet|null} [features] ServiceOptions features
+ * @property {boolean|null} [deprecated] ServiceOptions deprecated
+ * @property {Array.|null} [uninterpretedOption] ServiceOptions uninterpretedOption
+ * @property {string|null} [".google.api.defaultHost"] ServiceOptions .google.api.defaultHost
+ * @property {string|null} [".google.api.oauthScopes"] ServiceOptions .google.api.oauthScopes
+ * @property {string|null} [".google.api.apiVersion"] ServiceOptions .google.api.apiVersion
+ */
+
+ /**
+ * Constructs a new ServiceOptions.
+ * @memberof google.protobuf
+ * @classdesc Represents a ServiceOptions.
+ * @implements IServiceOptions
+ * @constructor
+ * @param {google.protobuf.IServiceOptions=} [properties] Properties to set
+ */
+ function ServiceOptions(properties) {
+ this.uninterpretedOption = [];
+ 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]];
+ }
+
+ /**
+ * ServiceOptions features.
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
+ * @memberof google.protobuf.ServiceOptions
+ * @instance
+ */
+ ServiceOptions.prototype.features = null;
+
+ /**
+ * ServiceOptions deprecated.
+ * @member {boolean} deprecated
+ * @memberof google.protobuf.ServiceOptions
+ * @instance
+ */
+ ServiceOptions.prototype.deprecated = false;
+
+ /**
+ * ServiceOptions uninterpretedOption.
+ * @member {Array.} uninterpretedOption
+ * @memberof google.protobuf.ServiceOptions
+ * @instance
+ */
+ ServiceOptions.prototype.uninterpretedOption = $util.emptyArray;
+
+ /**
+ * ServiceOptions .google.api.defaultHost.
+ * @member {string} .google.api.defaultHost
+ * @memberof google.protobuf.ServiceOptions
+ * @instance
+ */
+ ServiceOptions.prototype[".google.api.defaultHost"] = "";
+
+ /**
+ * ServiceOptions .google.api.oauthScopes.
+ * @member {string} .google.api.oauthScopes
+ * @memberof google.protobuf.ServiceOptions
+ * @instance
+ */
+ ServiceOptions.prototype[".google.api.oauthScopes"] = "";
+
+ /**
+ * ServiceOptions .google.api.apiVersion.
+ * @member {string} .google.api.apiVersion
+ * @memberof google.protobuf.ServiceOptions
+ * @instance
+ */
+ ServiceOptions.prototype[".google.api.apiVersion"] = "";
+
+ /**
+ * Creates a new ServiceOptions instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.ServiceOptions
+ * @static
+ * @param {google.protobuf.IServiceOptions=} [properties] Properties to set
+ * @returns {google.protobuf.ServiceOptions} ServiceOptions instance
+ */
+ ServiceOptions.create = function create(properties) {
+ return new ServiceOptions(properties);
+ };
+
+ /**
+ * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.ServiceOptions
+ * @static
+ * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ServiceOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
+ writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated);
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 34, wireType 2 =*/274).fork()).ldelim();
+ if (message.uninterpretedOption != null && message.uninterpretedOption.length)
+ for (var i = 0; i < message.uninterpretedOption.length; ++i)
+ $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
+ if (message[".google.api.defaultHost"] != null && Object.hasOwnProperty.call(message, ".google.api.defaultHost"))
+ writer.uint32(/* id 1049, wireType 2 =*/8394).string(message[".google.api.defaultHost"]);
+ if (message[".google.api.oauthScopes"] != null && Object.hasOwnProperty.call(message, ".google.api.oauthScopes"))
+ writer.uint32(/* id 1050, wireType 2 =*/8402).string(message[".google.api.oauthScopes"]);
+ if (message[".google.api.apiVersion"] != null && Object.hasOwnProperty.call(message, ".google.api.apiVersion"))
+ writer.uint32(/* id 525000001, wireType 2 =*/4200000010).string(message[".google.api.apiVersion"]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.ServiceOptions
+ * @static
+ * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ServiceOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.ServiceOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.ServiceOptions} ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ServiceOptions.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.protobuf.ServiceOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 34: {
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+ break;
+ }
+ case 33: {
+ message.deprecated = reader.bool();
+ break;
+ }
+ case 999: {
+ if (!(message.uninterpretedOption && message.uninterpretedOption.length))
+ message.uninterpretedOption = [];
+ message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+ break;
+ }
+ case 1049: {
+ message[".google.api.defaultHost"] = reader.string();
+ break;
+ }
+ case 1050: {
+ message[".google.api.oauthScopes"] = reader.string();
+ break;
+ }
+ case 525000001: {
+ message[".google.api.apiVersion"] = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.ServiceOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.ServiceOptions} ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ServiceOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ServiceOptions message.
+ * @function verify
+ * @memberof google.protobuf.ServiceOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ServiceOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.features != null && message.hasOwnProperty("features")) {
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
+ if (error)
+ return "features." + error;
+ }
+ if (message.deprecated != null && message.hasOwnProperty("deprecated"))
+ if (typeof message.deprecated !== "boolean")
+ return "deprecated: boolean expected";
+ if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
+ if (!Array.isArray(message.uninterpretedOption))
+ return "uninterpretedOption: array expected";
+ for (var i = 0; i < message.uninterpretedOption.length; ++i) {
+ var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+ if (error)
+ return "uninterpretedOption." + error;
+ }
+ }
+ if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost"))
+ if (!$util.isString(message[".google.api.defaultHost"]))
+ return ".google.api.defaultHost: string expected";
+ if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes"))
+ if (!$util.isString(message[".google.api.oauthScopes"]))
+ return ".google.api.oauthScopes: string expected";
+ if (message[".google.api.apiVersion"] != null && message.hasOwnProperty(".google.api.apiVersion"))
+ if (!$util.isString(message[".google.api.apiVersion"]))
+ return ".google.api.apiVersion: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.ServiceOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.ServiceOptions} ServiceOptions
+ */
+ ServiceOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.ServiceOptions)
+ return object;
+ var message = new $root.google.protobuf.ServiceOptions();
+ if (object.features != null) {
+ if (typeof object.features !== "object")
+ throw TypeError(".google.protobuf.ServiceOptions.features: object expected");
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+ }
+ if (object.deprecated != null)
+ message.deprecated = Boolean(object.deprecated);
+ if (object.uninterpretedOption) {
+ if (!Array.isArray(object.uninterpretedOption))
+ throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected");
+ message.uninterpretedOption = [];
+ for (var i = 0; i < object.uninterpretedOption.length; ++i) {
+ if (typeof object.uninterpretedOption[i] !== "object")
+ throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected");
+ message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+ }
+ }
+ if (object[".google.api.defaultHost"] != null)
+ message[".google.api.defaultHost"] = String(object[".google.api.defaultHost"]);
+ if (object[".google.api.oauthScopes"] != null)
+ message[".google.api.oauthScopes"] = String(object[".google.api.oauthScopes"]);
+ if (object[".google.api.apiVersion"] != null)
+ message[".google.api.apiVersion"] = String(object[".google.api.apiVersion"]);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.ServiceOptions
+ * @static
+ * @param {google.protobuf.ServiceOptions} message ServiceOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ServiceOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.uninterpretedOption = [];
+ if (options.defaults) {
+ object.deprecated = false;
+ object.features = null;
+ object[".google.api.defaultHost"] = "";
+ object[".google.api.oauthScopes"] = "";
+ object[".google.api.apiVersion"] = "";
+ }
+ if (message.deprecated != null && message.hasOwnProperty("deprecated"))
+ object.deprecated = message.deprecated;
+ if (message.features != null && message.hasOwnProperty("features"))
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
+ if (message.uninterpretedOption && message.uninterpretedOption.length) {
+ object.uninterpretedOption = [];
+ for (var j = 0; j < message.uninterpretedOption.length; ++j)
+ object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
+ }
+ if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost"))
+ object[".google.api.defaultHost"] = message[".google.api.defaultHost"];
+ if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes"))
+ object[".google.api.oauthScopes"] = message[".google.api.oauthScopes"];
+ if (message[".google.api.apiVersion"] != null && message.hasOwnProperty(".google.api.apiVersion"))
+ object[".google.api.apiVersion"] = message[".google.api.apiVersion"];
+ return object;
+ };
+
+ /**
+ * Converts this ServiceOptions to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.ServiceOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ServiceOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ServiceOptions
+ * @function getTypeUrl
+ * @memberof google.protobuf.ServiceOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ServiceOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.ServiceOptions";
+ };
+
+ return ServiceOptions;
+ })();
+
+ protobuf.MethodOptions = (function() {
+
+ /**
+ * Properties of a MethodOptions.
+ * @memberof google.protobuf
+ * @interface IMethodOptions
+ * @property {boolean|null} [deprecated] MethodOptions deprecated
+ * @property {google.protobuf.MethodOptions.IdempotencyLevel|null} [idempotencyLevel] MethodOptions idempotencyLevel
+ * @property {google.protobuf.IFeatureSet|null} [features] MethodOptions features
+ * @property {Array.|null} [uninterpretedOption] MethodOptions uninterpretedOption
+ * @property {google.api.IHttpRule|null} [".google.api.http"] MethodOptions .google.api.http
+ * @property {Array.|null} [".google.api.methodSignature"] MethodOptions .google.api.methodSignature
+ * @property {google.longrunning.IOperationInfo|null} [".google.longrunning.operationInfo"] MethodOptions .google.longrunning.operationInfo
+ */
+
+ /**
+ * Constructs a new MethodOptions.
+ * @memberof google.protobuf
+ * @classdesc Represents a MethodOptions.
+ * @implements IMethodOptions
+ * @constructor
+ * @param {google.protobuf.IMethodOptions=} [properties] Properties to set
+ */
+ function MethodOptions(properties) {
+ this.uninterpretedOption = [];
+ this[".google.api.methodSignature"] = [];
+ 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]];
+ }
+
+ /**
+ * MethodOptions deprecated.
+ * @member {boolean} deprecated
+ * @memberof google.protobuf.MethodOptions
+ * @instance
+ */
+ MethodOptions.prototype.deprecated = false;
+
+ /**
+ * MethodOptions idempotencyLevel.
+ * @member {google.protobuf.MethodOptions.IdempotencyLevel} idempotencyLevel
+ * @memberof google.protobuf.MethodOptions
+ * @instance
+ */
+ MethodOptions.prototype.idempotencyLevel = 0;
+
+ /**
+ * MethodOptions features.
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
+ * @memberof google.protobuf.MethodOptions
+ * @instance
+ */
+ MethodOptions.prototype.features = null;
+
+ /**
+ * MethodOptions uninterpretedOption.
+ * @member {Array.} uninterpretedOption
+ * @memberof google.protobuf.MethodOptions
+ * @instance
+ */
+ MethodOptions.prototype.uninterpretedOption = $util.emptyArray;
+
+ /**
+ * MethodOptions .google.api.http.
+ * @member {google.api.IHttpRule|null|undefined} .google.api.http
+ * @memberof google.protobuf.MethodOptions
+ * @instance
+ */
+ MethodOptions.prototype[".google.api.http"] = null;
+
+ /**
+ * MethodOptions .google.api.methodSignature.
+ * @member {Array.} .google.api.methodSignature
+ * @memberof google.protobuf.MethodOptions
+ * @instance
+ */
+ MethodOptions.prototype[".google.api.methodSignature"] = $util.emptyArray;
+
+ /**
+ * MethodOptions .google.longrunning.operationInfo.
+ * @member {google.longrunning.IOperationInfo|null|undefined} .google.longrunning.operationInfo
+ * @memberof google.protobuf.MethodOptions
+ * @instance
+ */
+ MethodOptions.prototype[".google.longrunning.operationInfo"] = null;
+
+ /**
+ * Creates a new MethodOptions instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.MethodOptions
+ * @static
+ * @param {google.protobuf.IMethodOptions=} [properties] Properties to set
+ * @returns {google.protobuf.MethodOptions} MethodOptions instance
+ */
+ MethodOptions.create = function create(properties) {
+ return new MethodOptions(properties);
+ };
+
+ /**
+ * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.MethodOptions
+ * @static
+ * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MethodOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
+ writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated);
+ if (message.idempotencyLevel != null && Object.hasOwnProperty.call(message, "idempotencyLevel"))
+ writer.uint32(/* id 34, wireType 0 =*/272).int32(message.idempotencyLevel);
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 35, wireType 2 =*/282).fork()).ldelim();
+ if (message.uninterpretedOption != null && message.uninterpretedOption.length)
+ for (var i = 0; i < message.uninterpretedOption.length; ++i)
+ $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
+ if (message[".google.longrunning.operationInfo"] != null && Object.hasOwnProperty.call(message, ".google.longrunning.operationInfo"))
+ $root.google.longrunning.OperationInfo.encode(message[".google.longrunning.operationInfo"], writer.uint32(/* id 1049, wireType 2 =*/8394).fork()).ldelim();
+ if (message[".google.api.methodSignature"] != null && message[".google.api.methodSignature"].length)
+ for (var i = 0; i < message[".google.api.methodSignature"].length; ++i)
+ writer.uint32(/* id 1051, wireType 2 =*/8410).string(message[".google.api.methodSignature"][i]);
+ if (message[".google.api.http"] != null && Object.hasOwnProperty.call(message, ".google.api.http"))
+ $root.google.api.HttpRule.encode(message[".google.api.http"], writer.uint32(/* id 72295728, wireType 2 =*/578365826).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.MethodOptions
+ * @static
+ * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MethodOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.MethodOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.MethodOptions} MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MethodOptions.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.protobuf.MethodOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 33: {
+ message.deprecated = reader.bool();
+ break;
+ }
+ case 34: {
+ message.idempotencyLevel = reader.int32();
+ break;
+ }
+ case 35: {
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+ break;
+ }
+ case 999: {
+ if (!(message.uninterpretedOption && message.uninterpretedOption.length))
+ message.uninterpretedOption = [];
+ message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+ break;
+ }
+ case 72295728: {
+ message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32());
+ break;
+ }
+ case 1051: {
+ if (!(message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length))
+ message[".google.api.methodSignature"] = [];
+ message[".google.api.methodSignature"].push(reader.string());
+ break;
+ }
+ case 1049: {
+ message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.MethodOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.MethodOptions} MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MethodOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MethodOptions message.
+ * @function verify
+ * @memberof google.protobuf.MethodOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MethodOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.deprecated != null && message.hasOwnProperty("deprecated"))
+ if (typeof message.deprecated !== "boolean")
+ return "deprecated: boolean expected";
+ if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel"))
+ switch (message.idempotencyLevel) {
+ default:
+ return "idempotencyLevel: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.features != null && message.hasOwnProperty("features")) {
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
+ if (error)
+ return "features." + error;
+ }
+ if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
+ if (!Array.isArray(message.uninterpretedOption))
+ return "uninterpretedOption: array expected";
+ for (var i = 0; i < message.uninterpretedOption.length; ++i) {
+ var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+ if (error)
+ return "uninterpretedOption." + error;
+ }
+ }
+ if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) {
+ var error = $root.google.api.HttpRule.verify(message[".google.api.http"]);
+ if (error)
+ return ".google.api.http." + error;
+ }
+ if (message[".google.api.methodSignature"] != null && message.hasOwnProperty(".google.api.methodSignature")) {
+ if (!Array.isArray(message[".google.api.methodSignature"]))
+ return ".google.api.methodSignature: array expected";
+ for (var i = 0; i < message[".google.api.methodSignature"].length; ++i)
+ if (!$util.isString(message[".google.api.methodSignature"][i]))
+ return ".google.api.methodSignature: string[] expected";
+ }
+ if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) {
+ var error = $root.google.longrunning.OperationInfo.verify(message[".google.longrunning.operationInfo"]);
+ if (error)
+ return ".google.longrunning.operationInfo." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.MethodOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.MethodOptions} MethodOptions
+ */
+ MethodOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.MethodOptions)
+ return object;
+ var message = new $root.google.protobuf.MethodOptions();
+ if (object.deprecated != null)
+ message.deprecated = Boolean(object.deprecated);
+ switch (object.idempotencyLevel) {
+ default:
+ if (typeof object.idempotencyLevel === "number") {
+ message.idempotencyLevel = object.idempotencyLevel;
+ break;
+ }
+ break;
+ case "IDEMPOTENCY_UNKNOWN":
+ case 0:
+ message.idempotencyLevel = 0;
+ break;
+ case "NO_SIDE_EFFECTS":
+ case 1:
+ message.idempotencyLevel = 1;
+ break;
+ case "IDEMPOTENT":
+ case 2:
+ message.idempotencyLevel = 2;
+ break;
+ }
+ if (object.features != null) {
+ if (typeof object.features !== "object")
+ throw TypeError(".google.protobuf.MethodOptions.features: object expected");
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+ }
+ if (object.uninterpretedOption) {
+ if (!Array.isArray(object.uninterpretedOption))
+ throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected");
+ message.uninterpretedOption = [];
+ for (var i = 0; i < object.uninterpretedOption.length; ++i) {
+ if (typeof object.uninterpretedOption[i] !== "object")
+ throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected");
+ message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+ }
+ }
+ if (object[".google.api.http"] != null) {
+ if (typeof object[".google.api.http"] !== "object")
+ throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected");
+ message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"]);
+ }
+ if (object[".google.api.methodSignature"]) {
+ if (!Array.isArray(object[".google.api.methodSignature"]))
+ throw TypeError(".google.protobuf.MethodOptions..google.api.methodSignature: array expected");
+ message[".google.api.methodSignature"] = [];
+ for (var i = 0; i < object[".google.api.methodSignature"].length; ++i)
+ message[".google.api.methodSignature"][i] = String(object[".google.api.methodSignature"][i]);
+ }
+ if (object[".google.longrunning.operationInfo"] != null) {
+ if (typeof object[".google.longrunning.operationInfo"] !== "object")
+ throw TypeError(".google.protobuf.MethodOptions..google.longrunning.operationInfo: object expected");
+ message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.fromObject(object[".google.longrunning.operationInfo"]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MethodOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.MethodOptions
+ * @static
+ * @param {google.protobuf.MethodOptions} message MethodOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MethodOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.uninterpretedOption = [];
+ object[".google.api.methodSignature"] = [];
+ }
+ if (options.defaults) {
+ object.deprecated = false;
+ object.idempotencyLevel = options.enums === String ? "IDEMPOTENCY_UNKNOWN" : 0;
+ object.features = null;
+ object[".google.longrunning.operationInfo"] = null;
+ object[".google.api.http"] = null;
+ }
+ if (message.deprecated != null && message.hasOwnProperty("deprecated"))
+ object.deprecated = message.deprecated;
+ if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel"))
+ object.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] === undefined ? message.idempotencyLevel : $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel;
+ if (message.features != null && message.hasOwnProperty("features"))
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
+ if (message.uninterpretedOption && message.uninterpretedOption.length) {
+ object.uninterpretedOption = [];
+ for (var j = 0; j < message.uninterpretedOption.length; ++j)
+ object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
+ }
+ if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo"))
+ object[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.toObject(message[".google.longrunning.operationInfo"], options);
+ if (message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length) {
+ object[".google.api.methodSignature"] = [];
+ for (var j = 0; j < message[".google.api.methodSignature"].length; ++j)
+ object[".google.api.methodSignature"][j] = message[".google.api.methodSignature"][j];
+ }
+ if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http"))
+ object[".google.api.http"] = $root.google.api.HttpRule.toObject(message[".google.api.http"], options);
+ return object;
+ };
+
+ /**
+ * Converts this MethodOptions to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.MethodOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MethodOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MethodOptions
+ * @function getTypeUrl
+ * @memberof google.protobuf.MethodOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MethodOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.MethodOptions";
+ };
+
+ /**
+ * IdempotencyLevel enum.
+ * @name google.protobuf.MethodOptions.IdempotencyLevel
+ * @enum {number}
+ * @property {number} IDEMPOTENCY_UNKNOWN=0 IDEMPOTENCY_UNKNOWN value
+ * @property {number} NO_SIDE_EFFECTS=1 NO_SIDE_EFFECTS value
+ * @property {number} IDEMPOTENT=2 IDEMPOTENT value
+ */
+ MethodOptions.IdempotencyLevel = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "IDEMPOTENCY_UNKNOWN"] = 0;
+ values[valuesById[1] = "NO_SIDE_EFFECTS"] = 1;
+ values[valuesById[2] = "IDEMPOTENT"] = 2;
+ return values;
+ })();
+
+ return MethodOptions;
+ })();
+
+ protobuf.UninterpretedOption = (function() {
+
+ /**
+ * Properties of an UninterpretedOption.
+ * @memberof google.protobuf
+ * @interface IUninterpretedOption
+ * @property {Array.|null} [name] UninterpretedOption name
+ * @property {string|null} [identifierValue] UninterpretedOption identifierValue
+ * @property {number|Long|null} [positiveIntValue] UninterpretedOption positiveIntValue
+ * @property {number|Long|null} [negativeIntValue] UninterpretedOption negativeIntValue
+ * @property {number|null} [doubleValue] UninterpretedOption doubleValue
+ * @property {Uint8Array|null} [stringValue] UninterpretedOption stringValue
+ * @property {string|null} [aggregateValue] UninterpretedOption aggregateValue
+ */
+
+ /**
+ * Constructs a new UninterpretedOption.
+ * @memberof google.protobuf
+ * @classdesc Represents an UninterpretedOption.
+ * @implements IUninterpretedOption
+ * @constructor
+ * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set
+ */
+ function UninterpretedOption(properties) {
+ this.name = [];
+ 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]];
+ }
+
+ /**
+ * UninterpretedOption name.
+ * @member {Array.} name
+ * @memberof google.protobuf.UninterpretedOption
+ * @instance
+ */
+ UninterpretedOption.prototype.name = $util.emptyArray;
+
+ /**
+ * UninterpretedOption identifierValue.
+ * @member {string} identifierValue
+ * @memberof google.protobuf.UninterpretedOption
+ * @instance
+ */
+ UninterpretedOption.prototype.identifierValue = "";
+
+ /**
+ * UninterpretedOption positiveIntValue.
+ * @member {number|Long} positiveIntValue
+ * @memberof google.protobuf.UninterpretedOption
+ * @instance
+ */
+ UninterpretedOption.prototype.positiveIntValue = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+ /**
+ * UninterpretedOption negativeIntValue.
+ * @member {number|Long} negativeIntValue
+ * @memberof google.protobuf.UninterpretedOption
+ * @instance
+ */
+ UninterpretedOption.prototype.negativeIntValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * UninterpretedOption doubleValue.
+ * @member {number} doubleValue
+ * @memberof google.protobuf.UninterpretedOption
+ * @instance
+ */
+ UninterpretedOption.prototype.doubleValue = 0;
+
+ /**
+ * UninterpretedOption stringValue.
+ * @member {Uint8Array} stringValue
+ * @memberof google.protobuf.UninterpretedOption
+ * @instance
+ */
+ UninterpretedOption.prototype.stringValue = $util.newBuffer([]);
+
+ /**
+ * UninterpretedOption aggregateValue.
+ * @member {string} aggregateValue
+ * @memberof google.protobuf.UninterpretedOption
+ * @instance
+ */
+ UninterpretedOption.prototype.aggregateValue = "";
+
+ /**
+ * Creates a new UninterpretedOption instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.UninterpretedOption
+ * @static
+ * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set
+ * @returns {google.protobuf.UninterpretedOption} UninterpretedOption instance
+ */
+ UninterpretedOption.create = function create(properties) {
+ return new UninterpretedOption(properties);
+ };
+
+ /**
+ * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.UninterpretedOption
+ * @static
+ * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UninterpretedOption.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && message.name.length)
+ for (var i = 0; i < message.name.length; ++i)
+ $root.google.protobuf.UninterpretedOption.NamePart.encode(message.name[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.identifierValue != null && Object.hasOwnProperty.call(message, "identifierValue"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.identifierValue);
+ if (message.positiveIntValue != null && Object.hasOwnProperty.call(message, "positiveIntValue"))
+ writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.positiveIntValue);
+ if (message.negativeIntValue != null && Object.hasOwnProperty.call(message, "negativeIntValue"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int64(message.negativeIntValue);
+ if (message.doubleValue != null && Object.hasOwnProperty.call(message, "doubleValue"))
+ writer.uint32(/* id 6, wireType 1 =*/49).double(message.doubleValue);
+ if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue"))
+ writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.stringValue);
+ if (message.aggregateValue != null && Object.hasOwnProperty.call(message, "aggregateValue"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.aggregateValue);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.UninterpretedOption
+ * @static
+ * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UninterpretedOption.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.UninterpretedOption
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.UninterpretedOption} UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UninterpretedOption.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.protobuf.UninterpretedOption();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 2: {
+ if (!(message.name && message.name.length))
+ message.name = [];
+ message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ message.identifierValue = reader.string();
+ break;
+ }
+ case 4: {
+ message.positiveIntValue = reader.uint64();
+ break;
+ }
+ case 5: {
+ message.negativeIntValue = reader.int64();
+ break;
+ }
+ case 6: {
+ message.doubleValue = reader.double();
+ break;
+ }
+ case 7: {
+ message.stringValue = reader.bytes();
+ break;
+ }
+ case 8: {
+ message.aggregateValue = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.UninterpretedOption
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.UninterpretedOption} UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UninterpretedOption.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UninterpretedOption message.
+ * @function verify
+ * @memberof google.protobuf.UninterpretedOption
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UninterpretedOption.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name")) {
+ if (!Array.isArray(message.name))
+ return "name: array expected";
+ for (var i = 0; i < message.name.length; ++i) {
+ var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]);
+ if (error)
+ return "name." + error;
+ }
+ }
+ if (message.identifierValue != null && message.hasOwnProperty("identifierValue"))
+ if (!$util.isString(message.identifierValue))
+ return "identifierValue: string expected";
+ if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue"))
+ if (!$util.isInteger(message.positiveIntValue) && !(message.positiveIntValue && $util.isInteger(message.positiveIntValue.low) && $util.isInteger(message.positiveIntValue.high)))
+ return "positiveIntValue: integer|Long expected";
+ if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue"))
+ if (!$util.isInteger(message.negativeIntValue) && !(message.negativeIntValue && $util.isInteger(message.negativeIntValue.low) && $util.isInteger(message.negativeIntValue.high)))
+ return "negativeIntValue: integer|Long expected";
+ if (message.doubleValue != null && message.hasOwnProperty("doubleValue"))
+ if (typeof message.doubleValue !== "number")
+ return "doubleValue: number expected";
+ if (message.stringValue != null && message.hasOwnProperty("stringValue"))
+ if (!(message.stringValue && typeof message.stringValue.length === "number" || $util.isString(message.stringValue)))
+ return "stringValue: buffer expected";
+ if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue"))
+ if (!$util.isString(message.aggregateValue))
+ return "aggregateValue: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.UninterpretedOption
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.UninterpretedOption} UninterpretedOption
+ */
+ UninterpretedOption.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.UninterpretedOption)
+ return object;
+ var message = new $root.google.protobuf.UninterpretedOption();
+ if (object.name) {
+ if (!Array.isArray(object.name))
+ throw TypeError(".google.protobuf.UninterpretedOption.name: array expected");
+ message.name = [];
+ for (var i = 0; i < object.name.length; ++i) {
+ if (typeof object.name[i] !== "object")
+ throw TypeError(".google.protobuf.UninterpretedOption.name: object expected");
+ message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]);
+ }
+ }
+ if (object.identifierValue != null)
+ message.identifierValue = String(object.identifierValue);
+ if (object.positiveIntValue != null)
+ if ($util.Long)
+ (message.positiveIntValue = $util.Long.fromValue(object.positiveIntValue)).unsigned = true;
+ else if (typeof object.positiveIntValue === "string")
+ message.positiveIntValue = parseInt(object.positiveIntValue, 10);
+ else if (typeof object.positiveIntValue === "number")
+ message.positiveIntValue = object.positiveIntValue;
+ else if (typeof object.positiveIntValue === "object")
+ message.positiveIntValue = new $util.LongBits(object.positiveIntValue.low >>> 0, object.positiveIntValue.high >>> 0).toNumber(true);
+ if (object.negativeIntValue != null)
+ if ($util.Long)
+ (message.negativeIntValue = $util.Long.fromValue(object.negativeIntValue)).unsigned = false;
+ else if (typeof object.negativeIntValue === "string")
+ message.negativeIntValue = parseInt(object.negativeIntValue, 10);
+ else if (typeof object.negativeIntValue === "number")
+ message.negativeIntValue = object.negativeIntValue;
+ else if (typeof object.negativeIntValue === "object")
+ message.negativeIntValue = new $util.LongBits(object.negativeIntValue.low >>> 0, object.negativeIntValue.high >>> 0).toNumber();
+ if (object.doubleValue != null)
+ message.doubleValue = Number(object.doubleValue);
+ if (object.stringValue != null)
+ if (typeof object.stringValue === "string")
+ $util.base64.decode(object.stringValue, message.stringValue = $util.newBuffer($util.base64.length(object.stringValue)), 0);
+ else if (object.stringValue.length >= 0)
+ message.stringValue = object.stringValue;
+ if (object.aggregateValue != null)
+ message.aggregateValue = String(object.aggregateValue);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.UninterpretedOption
+ * @static
+ * @param {google.protobuf.UninterpretedOption} message UninterpretedOption
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UninterpretedOption.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.name = [];
+ if (options.defaults) {
+ object.identifierValue = "";
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, true);
+ object.positiveIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.positiveIntValue = options.longs === String ? "0" : 0;
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.negativeIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.negativeIntValue = options.longs === String ? "0" : 0;
+ object.doubleValue = 0;
+ if (options.bytes === String)
+ object.stringValue = "";
+ else {
+ object.stringValue = [];
+ if (options.bytes !== Array)
+ object.stringValue = $util.newBuffer(object.stringValue);
+ }
+ object.aggregateValue = "";
+ }
+ if (message.name && message.name.length) {
+ object.name = [];
+ for (var j = 0; j < message.name.length; ++j)
+ object.name[j] = $root.google.protobuf.UninterpretedOption.NamePart.toObject(message.name[j], options);
+ }
+ if (message.identifierValue != null && message.hasOwnProperty("identifierValue"))
+ object.identifierValue = message.identifierValue;
+ if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue"))
+ if (typeof message.positiveIntValue === "number")
+ object.positiveIntValue = options.longs === String ? String(message.positiveIntValue) : message.positiveIntValue;
+ else
+ object.positiveIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.positiveIntValue) : options.longs === Number ? new $util.LongBits(message.positiveIntValue.low >>> 0, message.positiveIntValue.high >>> 0).toNumber(true) : message.positiveIntValue;
+ if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue"))
+ if (typeof message.negativeIntValue === "number")
+ object.negativeIntValue = options.longs === String ? String(message.negativeIntValue) : message.negativeIntValue;
+ else
+ object.negativeIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.negativeIntValue) : options.longs === Number ? new $util.LongBits(message.negativeIntValue.low >>> 0, message.negativeIntValue.high >>> 0).toNumber() : message.negativeIntValue;
+ if (message.doubleValue != null && message.hasOwnProperty("doubleValue"))
+ object.doubleValue = options.json && !isFinite(message.doubleValue) ? String(message.doubleValue) : message.doubleValue;
+ if (message.stringValue != null && message.hasOwnProperty("stringValue"))
+ object.stringValue = options.bytes === String ? $util.base64.encode(message.stringValue, 0, message.stringValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.stringValue) : message.stringValue;
+ if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue"))
+ object.aggregateValue = message.aggregateValue;
+ return object;
+ };
+
+ /**
+ * Converts this UninterpretedOption to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.UninterpretedOption
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UninterpretedOption.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UninterpretedOption
+ * @function getTypeUrl
+ * @memberof google.protobuf.UninterpretedOption
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UninterpretedOption.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.UninterpretedOption";
+ };
+
+ UninterpretedOption.NamePart = (function() {
+
+ /**
+ * Properties of a NamePart.
+ * @memberof google.protobuf.UninterpretedOption
+ * @interface INamePart
+ * @property {string} namePart NamePart namePart
+ * @property {boolean} isExtension NamePart isExtension
+ */
+
+ /**
+ * Constructs a new NamePart.
+ * @memberof google.protobuf.UninterpretedOption
+ * @classdesc Represents a NamePart.
+ * @implements INamePart
+ * @constructor
+ * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set
+ */
+ function NamePart(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]];
+ }
+
+ /**
+ * NamePart namePart.
+ * @member {string} namePart
+ * @memberof google.protobuf.UninterpretedOption.NamePart
+ * @instance
+ */
+ NamePart.prototype.namePart = "";
+
+ /**
+ * NamePart isExtension.
+ * @member {boolean} isExtension
+ * @memberof google.protobuf.UninterpretedOption.NamePart
+ * @instance
+ */
+ NamePart.prototype.isExtension = false;
+
+ /**
+ * Creates a new NamePart instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.UninterpretedOption.NamePart
+ * @static
+ * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set
+ * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart instance
+ */
+ NamePart.create = function create(properties) {
+ return new NamePart(properties);
+ };
+
+ /**
+ * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.UninterpretedOption.NamePart
+ * @static
+ * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NamePart.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.namePart);
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isExtension);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.UninterpretedOption.NamePart
+ * @static
+ * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NamePart.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.UninterpretedOption.NamePart
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NamePart.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.protobuf.UninterpretedOption.NamePart();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.namePart = reader.string();
+ break;
+ }
+ case 2: {
+ message.isExtension = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ if (!message.hasOwnProperty("namePart"))
+ throw $util.ProtocolError("missing required 'namePart'", { instance: message });
+ if (!message.hasOwnProperty("isExtension"))
+ throw $util.ProtocolError("missing required 'isExtension'", { instance: message });
+ return message;
+ };
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.UninterpretedOption.NamePart
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NamePart.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a NamePart message.
+ * @function verify
+ * @memberof google.protobuf.UninterpretedOption.NamePart
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ NamePart.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (!$util.isString(message.namePart))
+ return "namePart: string expected";
+ if (typeof message.isExtension !== "boolean")
+ return "isExtension: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a NamePart message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.UninterpretedOption.NamePart
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart
+ */
+ NamePart.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart)
+ return object;
+ var message = new $root.google.protobuf.UninterpretedOption.NamePart();
+ if (object.namePart != null)
+ message.namePart = String(object.namePart);
+ if (object.isExtension != null)
+ message.isExtension = Boolean(object.isExtension);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a NamePart message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.UninterpretedOption.NamePart
+ * @static
+ * @param {google.protobuf.UninterpretedOption.NamePart} message NamePart
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ NamePart.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.namePart = "";
+ object.isExtension = false;
+ }
+ if (message.namePart != null && message.hasOwnProperty("namePart"))
+ object.namePart = message.namePart;
+ if (message.isExtension != null && message.hasOwnProperty("isExtension"))
+ object.isExtension = message.isExtension;
+ return object;
+ };
+
+ /**
+ * Converts this NamePart to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.UninterpretedOption.NamePart
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ NamePart.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for NamePart
+ * @function getTypeUrl
+ * @memberof google.protobuf.UninterpretedOption.NamePart
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ NamePart.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.UninterpretedOption.NamePart";
+ };
+
+ return NamePart;
+ })();
+
+ return UninterpretedOption;
+ })();
+
+ protobuf.FeatureSet = (function() {
+
+ /**
+ * Properties of a FeatureSet.
+ * @memberof google.protobuf
+ * @interface IFeatureSet
+ * @property {google.protobuf.FeatureSet.FieldPresence|null} [fieldPresence] FeatureSet fieldPresence
+ * @property {google.protobuf.FeatureSet.EnumType|null} [enumType] FeatureSet enumType
+ * @property {google.protobuf.FeatureSet.RepeatedFieldEncoding|null} [repeatedFieldEncoding] FeatureSet repeatedFieldEncoding
+ * @property {google.protobuf.FeatureSet.Utf8Validation|null} [utf8Validation] FeatureSet utf8Validation
+ * @property {google.protobuf.FeatureSet.MessageEncoding|null} [messageEncoding] FeatureSet messageEncoding
+ * @property {google.protobuf.FeatureSet.JsonFormat|null} [jsonFormat] FeatureSet jsonFormat
+ * @property {google.protobuf.FeatureSet.EnforceNamingStyle|null} [enforceNamingStyle] FeatureSet enforceNamingStyle
+ * @property {google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|null} [defaultSymbolVisibility] FeatureSet defaultSymbolVisibility
+ */
+
+ /**
+ * Constructs a new FeatureSet.
+ * @memberof google.protobuf
+ * @classdesc Represents a FeatureSet.
+ * @implements IFeatureSet
+ * @constructor
+ * @param {google.protobuf.IFeatureSet=} [properties] Properties to set
+ */
+ function FeatureSet(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]];
+ }
+
+ /**
+ * FeatureSet fieldPresence.
+ * @member {google.protobuf.FeatureSet.FieldPresence} fieldPresence
+ * @memberof google.protobuf.FeatureSet
+ * @instance
+ */
+ FeatureSet.prototype.fieldPresence = 0;
+
+ /**
+ * FeatureSet enumType.
+ * @member {google.protobuf.FeatureSet.EnumType} enumType
+ * @memberof google.protobuf.FeatureSet
+ * @instance
+ */
+ FeatureSet.prototype.enumType = 0;
+
+ /**
+ * FeatureSet repeatedFieldEncoding.
+ * @member {google.protobuf.FeatureSet.RepeatedFieldEncoding} repeatedFieldEncoding
+ * @memberof google.protobuf.FeatureSet
+ * @instance
+ */
+ FeatureSet.prototype.repeatedFieldEncoding = 0;
+
+ /**
+ * FeatureSet utf8Validation.
+ * @member {google.protobuf.FeatureSet.Utf8Validation} utf8Validation
+ * @memberof google.protobuf.FeatureSet
+ * @instance
+ */
+ FeatureSet.prototype.utf8Validation = 0;
+
+ /**
+ * FeatureSet messageEncoding.
+ * @member {google.protobuf.FeatureSet.MessageEncoding} messageEncoding
+ * @memberof google.protobuf.FeatureSet
+ * @instance
+ */
+ FeatureSet.prototype.messageEncoding = 0;
+
+ /**
+ * FeatureSet jsonFormat.
+ * @member {google.protobuf.FeatureSet.JsonFormat} jsonFormat
+ * @memberof google.protobuf.FeatureSet
+ * @instance
+ */
+ FeatureSet.prototype.jsonFormat = 0;
+
+ /**
+ * FeatureSet enforceNamingStyle.
+ * @member {google.protobuf.FeatureSet.EnforceNamingStyle} enforceNamingStyle
+ * @memberof google.protobuf.FeatureSet
+ * @instance
+ */
+ FeatureSet.prototype.enforceNamingStyle = 0;
+
+ /**
+ * FeatureSet defaultSymbolVisibility.
+ * @member {google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility} defaultSymbolVisibility
+ * @memberof google.protobuf.FeatureSet
+ * @instance
+ */
+ FeatureSet.prototype.defaultSymbolVisibility = 0;
+
+ /**
+ * Creates a new FeatureSet instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FeatureSet
+ * @static
+ * @param {google.protobuf.IFeatureSet=} [properties] Properties to set
+ * @returns {google.protobuf.FeatureSet} FeatureSet instance
+ */
+ FeatureSet.create = function create(properties) {
+ return new FeatureSet(properties);
+ };
+
+ /**
+ * Encodes the specified FeatureSet message. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FeatureSet
+ * @static
+ * @param {google.protobuf.IFeatureSet} message FeatureSet message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FeatureSet.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.fieldPresence != null && Object.hasOwnProperty.call(message, "fieldPresence"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.fieldPresence);
+ if (message.enumType != null && Object.hasOwnProperty.call(message, "enumType"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.enumType);
+ if (message.repeatedFieldEncoding != null && Object.hasOwnProperty.call(message, "repeatedFieldEncoding"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.repeatedFieldEncoding);
+ if (message.utf8Validation != null && Object.hasOwnProperty.call(message, "utf8Validation"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.utf8Validation);
+ if (message.messageEncoding != null && Object.hasOwnProperty.call(message, "messageEncoding"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.messageEncoding);
+ if (message.jsonFormat != null && Object.hasOwnProperty.call(message, "jsonFormat"))
+ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jsonFormat);
+ if (message.enforceNamingStyle != null && Object.hasOwnProperty.call(message, "enforceNamingStyle"))
+ writer.uint32(/* id 7, wireType 0 =*/56).int32(message.enforceNamingStyle);
+ if (message.defaultSymbolVisibility != null && Object.hasOwnProperty.call(message, "defaultSymbolVisibility"))
+ writer.uint32(/* id 8, wireType 0 =*/64).int32(message.defaultSymbolVisibility);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FeatureSet message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FeatureSet
+ * @static
+ * @param {google.protobuf.IFeatureSet} message FeatureSet message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FeatureSet.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FeatureSet message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FeatureSet
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FeatureSet} FeatureSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FeatureSet.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.protobuf.FeatureSet();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ message.fieldPresence = reader.int32();
+ break;
+ }
+ case 2: {
+ message.enumType = reader.int32();
+ break;
+ }
+ case 3: {
+ message.repeatedFieldEncoding = reader.int32();
+ break;
+ }
+ case 4: {
+ message.utf8Validation = reader.int32();
+ break;
+ }
+ case 5: {
+ message.messageEncoding = reader.int32();
+ break;
+ }
+ case 6: {
+ message.jsonFormat = reader.int32();
+ break;
+ }
+ case 7: {
+ message.enforceNamingStyle = reader.int32();
+ break;
+ }
+ case 8: {
+ message.defaultSymbolVisibility = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FeatureSet message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FeatureSet
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FeatureSet} FeatureSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FeatureSet.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FeatureSet message.
+ * @function verify
+ * @memberof google.protobuf.FeatureSet
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FeatureSet.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence"))
+ switch (message.fieldPresence) {
+ default:
+ return "fieldPresence: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.enumType != null && message.hasOwnProperty("enumType"))
+ switch (message.enumType) {
+ default:
+ return "enumType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.repeatedFieldEncoding != null && message.hasOwnProperty("repeatedFieldEncoding"))
+ switch (message.repeatedFieldEncoding) {
+ default:
+ return "repeatedFieldEncoding: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.utf8Validation != null && message.hasOwnProperty("utf8Validation"))
+ switch (message.utf8Validation) {
+ default:
+ return "utf8Validation: enum value expected";
+ case 0:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.messageEncoding != null && message.hasOwnProperty("messageEncoding"))
+ switch (message.messageEncoding) {
+ default:
+ return "messageEncoding: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat"))
+ switch (message.jsonFormat) {
+ default:
+ return "jsonFormat: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.enforceNamingStyle != null && message.hasOwnProperty("enforceNamingStyle"))
+ switch (message.enforceNamingStyle) {
+ default:
+ return "enforceNamingStyle: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.defaultSymbolVisibility != null && message.hasOwnProperty("defaultSymbolVisibility"))
+ switch (message.defaultSymbolVisibility) {
+ default:
+ return "defaultSymbolVisibility: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FeatureSet message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FeatureSet
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FeatureSet} FeatureSet
+ */
+ FeatureSet.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FeatureSet)
+ return object;
+ var message = new $root.google.protobuf.FeatureSet();
+ switch (object.fieldPresence) {
+ default:
+ if (typeof object.fieldPresence === "number") {
+ message.fieldPresence = object.fieldPresence;
+ break;
+ }
+ break;
+ case "FIELD_PRESENCE_UNKNOWN":
+ case 0:
+ message.fieldPresence = 0;
+ break;
+ case "EXPLICIT":
+ case 1:
+ message.fieldPresence = 1;
+ break;
+ case "IMPLICIT":
+ case 2:
+ message.fieldPresence = 2;
+ break;
+ case "LEGACY_REQUIRED":
+ case 3:
+ message.fieldPresence = 3;
+ break;
+ }
+ switch (object.enumType) {
+ default:
+ if (typeof object.enumType === "number") {
+ message.enumType = object.enumType;
+ break;
+ }
+ break;
+ case "ENUM_TYPE_UNKNOWN":
+ case 0:
+ message.enumType = 0;
+ break;
+ case "OPEN":
+ case 1:
+ message.enumType = 1;
+ break;
+ case "CLOSED":
+ case 2:
+ message.enumType = 2;
+ break;
+ }
+ switch (object.repeatedFieldEncoding) {
+ default:
+ if (typeof object.repeatedFieldEncoding === "number") {
+ message.repeatedFieldEncoding = object.repeatedFieldEncoding;
+ break;
+ }
+ break;
+ case "REPEATED_FIELD_ENCODING_UNKNOWN":
+ case 0:
+ message.repeatedFieldEncoding = 0;
+ break;
+ case "PACKED":
+ case 1:
+ message.repeatedFieldEncoding = 1;
+ break;
+ case "EXPANDED":
+ case 2:
+ message.repeatedFieldEncoding = 2;
+ break;
+ }
+ switch (object.utf8Validation) {
+ default:
+ if (typeof object.utf8Validation === "number") {
+ message.utf8Validation = object.utf8Validation;
+ break;
+ }
+ break;
+ case "UTF8_VALIDATION_UNKNOWN":
+ case 0:
+ message.utf8Validation = 0;
+ break;
+ case "VERIFY":
+ case 2:
+ message.utf8Validation = 2;
+ break;
+ case "NONE":
+ case 3:
+ message.utf8Validation = 3;
+ break;
+ }
+ switch (object.messageEncoding) {
+ default:
+ if (typeof object.messageEncoding === "number") {
+ message.messageEncoding = object.messageEncoding;
+ break;
+ }
+ break;
+ case "MESSAGE_ENCODING_UNKNOWN":
+ case 0:
+ message.messageEncoding = 0;
+ break;
+ case "LENGTH_PREFIXED":
+ case 1:
+ message.messageEncoding = 1;
+ break;
+ case "DELIMITED":
+ case 2:
+ message.messageEncoding = 2;
+ break;
+ }
+ switch (object.jsonFormat) {
+ default:
+ if (typeof object.jsonFormat === "number") {
+ message.jsonFormat = object.jsonFormat;
+ break;
+ }
+ break;
+ case "JSON_FORMAT_UNKNOWN":
+ case 0:
+ message.jsonFormat = 0;
+ break;
+ case "ALLOW":
+ case 1:
+ message.jsonFormat = 1;
+ break;
+ case "LEGACY_BEST_EFFORT":
+ case 2:
+ message.jsonFormat = 2;
+ break;
+ }
+ switch (object.enforceNamingStyle) {
+ default:
+ if (typeof object.enforceNamingStyle === "number") {
+ message.enforceNamingStyle = object.enforceNamingStyle;
+ break;
+ }
+ break;
+ case "ENFORCE_NAMING_STYLE_UNKNOWN":
+ case 0:
+ message.enforceNamingStyle = 0;
+ break;
+ case "STYLE2024":
+ case 1:
+ message.enforceNamingStyle = 1;
+ break;
+ case "STYLE_LEGACY":
+ case 2:
+ message.enforceNamingStyle = 2;
+ break;
+ }
+ switch (object.defaultSymbolVisibility) {
+ default:
+ if (typeof object.defaultSymbolVisibility === "number") {
+ message.defaultSymbolVisibility = object.defaultSymbolVisibility;
+ break;
+ }
+ break;
+ case "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN":
+ case 0:
+ message.defaultSymbolVisibility = 0;
+ break;
+ case "EXPORT_ALL":
+ case 1:
+ message.defaultSymbolVisibility = 1;
+ break;
+ case "EXPORT_TOP_LEVEL":
+ case 2:
+ message.defaultSymbolVisibility = 2;
+ break;
+ case "LOCAL_ALL":
+ case 3:
+ message.defaultSymbolVisibility = 3;
+ break;
+ case "STRICT":
+ case 4:
+ message.defaultSymbolVisibility = 4;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FeatureSet message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FeatureSet
+ * @static
+ * @param {google.protobuf.FeatureSet} message FeatureSet
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FeatureSet.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.fieldPresence = options.enums === String ? "FIELD_PRESENCE_UNKNOWN" : 0;
+ object.enumType = options.enums === String ? "ENUM_TYPE_UNKNOWN" : 0;
+ object.repeatedFieldEncoding = options.enums === String ? "REPEATED_FIELD_ENCODING_UNKNOWN" : 0;
+ object.utf8Validation = options.enums === String ? "UTF8_VALIDATION_UNKNOWN" : 0;
+ object.messageEncoding = options.enums === String ? "MESSAGE_ENCODING_UNKNOWN" : 0;
+ object.jsonFormat = options.enums === String ? "JSON_FORMAT_UNKNOWN" : 0;
+ object.enforceNamingStyle = options.enums === String ? "ENFORCE_NAMING_STYLE_UNKNOWN" : 0;
+ object.defaultSymbolVisibility = options.enums === String ? "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN" : 0;
+ }
+ if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence"))
+ object.fieldPresence = options.enums === String ? $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] === undefined ? message.fieldPresence : $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] : message.fieldPresence;
+ if (message.enumType != null && message.hasOwnProperty("enumType"))
+ object.enumType = options.enums === String ? $root.google.protobuf.FeatureSet.EnumType[message.enumType] === undefined ? message.enumType : $root.google.protobuf.FeatureSet.EnumType[message.enumType] : message.enumType;
+ if (message.repeatedFieldEncoding != null && message.hasOwnProperty("repeatedFieldEncoding"))
+ object.repeatedFieldEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding] === undefined ? message.repeatedFieldEncoding : $root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding] : message.repeatedFieldEncoding;
+ if (message.utf8Validation != null && message.hasOwnProperty("utf8Validation"))
+ object.utf8Validation = options.enums === String ? $root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation] === undefined ? message.utf8Validation : $root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation] : message.utf8Validation;
+ if (message.messageEncoding != null && message.hasOwnProperty("messageEncoding"))
+ object.messageEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] === undefined ? message.messageEncoding : $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] : message.messageEncoding;
+ if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat"))
+ object.jsonFormat = options.enums === String ? $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] === undefined ? message.jsonFormat : $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] : message.jsonFormat;
+ if (message.enforceNamingStyle != null && message.hasOwnProperty("enforceNamingStyle"))
+ object.enforceNamingStyle = options.enums === String ? $root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle] === undefined ? message.enforceNamingStyle : $root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle] : message.enforceNamingStyle;
+ if (message.defaultSymbolVisibility != null && message.hasOwnProperty("defaultSymbolVisibility"))
+ object.defaultSymbolVisibility = options.enums === String ? $root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility] === undefined ? message.defaultSymbolVisibility : $root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility] : message.defaultSymbolVisibility;
+ return object;
+ };
+
+ /**
+ * Converts this FeatureSet to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FeatureSet
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FeatureSet.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FeatureSet
+ * @function getTypeUrl
+ * @memberof google.protobuf.FeatureSet
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FeatureSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FeatureSet";
+ };
+
+ /**
+ * FieldPresence enum.
+ * @name google.protobuf.FeatureSet.FieldPresence
+ * @enum {number}
+ * @property {number} FIELD_PRESENCE_UNKNOWN=0 FIELD_PRESENCE_UNKNOWN value
+ * @property {number} EXPLICIT=1 EXPLICIT value
+ * @property {number} IMPLICIT=2 IMPLICIT value
+ * @property {number} LEGACY_REQUIRED=3 LEGACY_REQUIRED value
+ */
+ FeatureSet.FieldPresence = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "FIELD_PRESENCE_UNKNOWN"] = 0;
+ values[valuesById[1] = "EXPLICIT"] = 1;
+ values[valuesById[2] = "IMPLICIT"] = 2;
+ values[valuesById[3] = "LEGACY_REQUIRED"] = 3;
+ return values;
+ })();
+
+ /**
+ * EnumType enum.
+ * @name google.protobuf.FeatureSet.EnumType
+ * @enum {number}
+ * @property {number} ENUM_TYPE_UNKNOWN=0 ENUM_TYPE_UNKNOWN value
+ * @property {number} OPEN=1 OPEN value
+ * @property {number} CLOSED=2 CLOSED value
+ */
+ FeatureSet.EnumType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "ENUM_TYPE_UNKNOWN"] = 0;
+ values[valuesById[1] = "OPEN"] = 1;
+ values[valuesById[2] = "CLOSED"] = 2;
+ return values;
+ })();
+
+ /**
+ * RepeatedFieldEncoding enum.
+ * @name google.protobuf.FeatureSet.RepeatedFieldEncoding
+ * @enum {number}
+ * @property {number} REPEATED_FIELD_ENCODING_UNKNOWN=0 REPEATED_FIELD_ENCODING_UNKNOWN value
+ * @property {number} PACKED=1 PACKED value
+ * @property {number} EXPANDED=2 EXPANDED value
+ */
+ FeatureSet.RepeatedFieldEncoding = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "REPEATED_FIELD_ENCODING_UNKNOWN"] = 0;
+ values[valuesById[1] = "PACKED"] = 1;
+ values[valuesById[2] = "EXPANDED"] = 2;
+ return values;
+ })();
+
+ /**
+ * Utf8Validation enum.
+ * @name google.protobuf.FeatureSet.Utf8Validation
+ * @enum {number}
+ * @property {number} UTF8_VALIDATION_UNKNOWN=0 UTF8_VALIDATION_UNKNOWN value
+ * @property {number} VERIFY=2 VERIFY value
+ * @property {number} NONE=3 NONE value
+ */
+ FeatureSet.Utf8Validation = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "UTF8_VALIDATION_UNKNOWN"] = 0;
+ values[valuesById[2] = "VERIFY"] = 2;
+ values[valuesById[3] = "NONE"] = 3;
+ return values;
+ })();
+
+ /**
+ * MessageEncoding enum.
+ * @name google.protobuf.FeatureSet.MessageEncoding
+ * @enum {number}
+ * @property {number} MESSAGE_ENCODING_UNKNOWN=0 MESSAGE_ENCODING_UNKNOWN value
+ * @property {number} LENGTH_PREFIXED=1 LENGTH_PREFIXED value
+ * @property {number} DELIMITED=2 DELIMITED value
+ */
+ FeatureSet.MessageEncoding = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "MESSAGE_ENCODING_UNKNOWN"] = 0;
+ values[valuesById[1] = "LENGTH_PREFIXED"] = 1;
+ values[valuesById[2] = "DELIMITED"] = 2;
+ return values;
+ })();
+
+ /**
+ * JsonFormat enum.
+ * @name google.protobuf.FeatureSet.JsonFormat
+ * @enum {number}
+ * @property {number} JSON_FORMAT_UNKNOWN=0 JSON_FORMAT_UNKNOWN value
+ * @property {number} ALLOW=1 ALLOW value
+ * @property {number} LEGACY_BEST_EFFORT=2 LEGACY_BEST_EFFORT value
+ */
+ FeatureSet.JsonFormat = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "JSON_FORMAT_UNKNOWN"] = 0;
+ values[valuesById[1] = "ALLOW"] = 1;
+ values[valuesById[2] = "LEGACY_BEST_EFFORT"] = 2;
+ return values;
+ })();
+
+ /**
+ * EnforceNamingStyle enum.
+ * @name google.protobuf.FeatureSet.EnforceNamingStyle
+ * @enum {number}
+ * @property {number} ENFORCE_NAMING_STYLE_UNKNOWN=0 ENFORCE_NAMING_STYLE_UNKNOWN value
+ * @property {number} STYLE2024=1 STYLE2024 value
+ * @property {number} STYLE_LEGACY=2 STYLE_LEGACY value
+ */
+ FeatureSet.EnforceNamingStyle = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "ENFORCE_NAMING_STYLE_UNKNOWN"] = 0;
+ values[valuesById[1] = "STYLE2024"] = 1;
+ values[valuesById[2] = "STYLE_LEGACY"] = 2;
+ return values;
+ })();
+
+ FeatureSet.VisibilityFeature = (function() {
+
+ /**
+ * Properties of a VisibilityFeature.
+ * @memberof google.protobuf.FeatureSet
+ * @interface IVisibilityFeature
+ */
+
+ /**
+ * Constructs a new VisibilityFeature.
+ * @memberof google.protobuf.FeatureSet
+ * @classdesc Represents a VisibilityFeature.
+ * @implements IVisibilityFeature
+ * @constructor
+ * @param {google.protobuf.FeatureSet.IVisibilityFeature=} [properties] Properties to set
+ */
+ function VisibilityFeature(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 VisibilityFeature instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FeatureSet.VisibilityFeature
+ * @static
+ * @param {google.protobuf.FeatureSet.IVisibilityFeature=} [properties] Properties to set
+ * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature instance
+ */
+ VisibilityFeature.create = function create(properties) {
+ return new VisibilityFeature(properties);
+ };
+
+ /**
+ * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FeatureSet.VisibilityFeature
+ * @static
+ * @param {google.protobuf.FeatureSet.IVisibilityFeature} message VisibilityFeature message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VisibilityFeature.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FeatureSet.VisibilityFeature
+ * @static
+ * @param {google.protobuf.FeatureSet.IVisibilityFeature} message VisibilityFeature message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VisibilityFeature.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a VisibilityFeature message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FeatureSet.VisibilityFeature
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VisibilityFeature.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.protobuf.FeatureSet.VisibilityFeature();
+ 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 VisibilityFeature message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FeatureSet.VisibilityFeature
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VisibilityFeature.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a VisibilityFeature message.
+ * @function verify
+ * @memberof google.protobuf.FeatureSet.VisibilityFeature
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ VisibilityFeature.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ return null;
+ };
+
+ /**
+ * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FeatureSet.VisibilityFeature
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature
+ */
+ VisibilityFeature.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FeatureSet.VisibilityFeature)
+ return object;
+ return new $root.google.protobuf.FeatureSet.VisibilityFeature();
+ };
+
+ /**
+ * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FeatureSet.VisibilityFeature
+ * @static
+ * @param {google.protobuf.FeatureSet.VisibilityFeature} message VisibilityFeature
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ VisibilityFeature.toObject = function toObject() {
+ return {};
+ };
+
+ /**
+ * Converts this VisibilityFeature to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FeatureSet.VisibilityFeature
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ VisibilityFeature.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for VisibilityFeature
+ * @function getTypeUrl
+ * @memberof google.protobuf.FeatureSet.VisibilityFeature
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ VisibilityFeature.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FeatureSet.VisibilityFeature";
+ };
+
+ /**
+ * DefaultSymbolVisibility enum.
+ * @name google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility
+ * @enum {number}
+ * @property {number} DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0 DEFAULT_SYMBOL_VISIBILITY_UNKNOWN value
+ * @property {number} EXPORT_ALL=1 EXPORT_ALL value
+ * @property {number} EXPORT_TOP_LEVEL=2 EXPORT_TOP_LEVEL value
+ * @property {number} LOCAL_ALL=3 LOCAL_ALL value
+ * @property {number} STRICT=4 STRICT value
+ */
+ VisibilityFeature.DefaultSymbolVisibility = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN"] = 0;
+ values[valuesById[1] = "EXPORT_ALL"] = 1;
+ values[valuesById[2] = "EXPORT_TOP_LEVEL"] = 2;
+ values[valuesById[3] = "LOCAL_ALL"] = 3;
+ values[valuesById[4] = "STRICT"] = 4;
+ return values;
+ })();
+
+ return VisibilityFeature;
+ })();
+
+ return FeatureSet;
+ })();
+
+ protobuf.FeatureSetDefaults = (function() {
+
+ /**
+ * Properties of a FeatureSetDefaults.
+ * @memberof google.protobuf
+ * @interface IFeatureSetDefaults
+ * @property {Array.|null} [defaults] FeatureSetDefaults defaults
+ * @property {google.protobuf.Edition|null} [minimumEdition] FeatureSetDefaults minimumEdition
+ * @property {google.protobuf.Edition|null} [maximumEdition] FeatureSetDefaults maximumEdition
+ */
+
+ /**
+ * Constructs a new FeatureSetDefaults.
+ * @memberof google.protobuf
+ * @classdesc Represents a FeatureSetDefaults.
+ * @implements IFeatureSetDefaults
+ * @constructor
+ * @param {google.protobuf.IFeatureSetDefaults=} [properties] Properties to set
+ */
+ function FeatureSetDefaults(properties) {
+ this.defaults = [];
+ 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]];
+ }
+
+ /**
+ * FeatureSetDefaults defaults.
+ * @member {Array.} defaults
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @instance
+ */
+ FeatureSetDefaults.prototype.defaults = $util.emptyArray;
+
+ /**
+ * FeatureSetDefaults minimumEdition.
+ * @member {google.protobuf.Edition} minimumEdition
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @instance
+ */
+ FeatureSetDefaults.prototype.minimumEdition = 0;
+
+ /**
+ * FeatureSetDefaults maximumEdition.
+ * @member {google.protobuf.Edition} maximumEdition
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @instance
+ */
+ FeatureSetDefaults.prototype.maximumEdition = 0;
+
+ /**
+ * Creates a new FeatureSetDefaults instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @static
+ * @param {google.protobuf.IFeatureSetDefaults=} [properties] Properties to set
+ * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults instance
+ */
+ FeatureSetDefaults.create = function create(properties) {
+ return new FeatureSetDefaults(properties);
+ };
+
+ /**
+ * Encodes the specified FeatureSetDefaults message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @static
+ * @param {google.protobuf.IFeatureSetDefaults} message FeatureSetDefaults message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FeatureSetDefaults.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.defaults != null && message.defaults.length)
+ for (var i = 0; i < message.defaults.length; ++i)
+ $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.encode(message.defaults[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.minimumEdition != null && Object.hasOwnProperty.call(message, "minimumEdition"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.minimumEdition);
+ if (message.maximumEdition != null && Object.hasOwnProperty.call(message, "maximumEdition"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.maximumEdition);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FeatureSetDefaults message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @static
+ * @param {google.protobuf.IFeatureSetDefaults} message FeatureSetDefaults message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FeatureSetDefaults.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FeatureSetDefaults message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FeatureSetDefaults.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.protobuf.FeatureSetDefaults();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.defaults && message.defaults.length))
+ message.defaults = [];
+ message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ message.minimumEdition = reader.int32();
+ break;
+ }
+ case 5: {
+ message.maximumEdition = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FeatureSetDefaults message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FeatureSetDefaults.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FeatureSetDefaults message.
+ * @function verify
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FeatureSetDefaults.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.defaults != null && message.hasOwnProperty("defaults")) {
+ if (!Array.isArray(message.defaults))
+ return "defaults: array expected";
+ for (var i = 0; i < message.defaults.length; ++i) {
+ var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i]);
+ if (error)
+ return "defaults." + error;
+ }
+ }
+ if (message.minimumEdition != null && message.hasOwnProperty("minimumEdition"))
+ switch (message.minimumEdition) {
+ default:
+ return "minimumEdition: enum value expected";
+ case 0:
+ case 900:
+ case 998:
+ case 999:
+ case 1000:
+ case 1001:
+ case 1:
+ case 2:
+ case 99997:
+ case 99998:
+ case 99999:
+ case 2147483647:
+ break;
+ }
+ if (message.maximumEdition != null && message.hasOwnProperty("maximumEdition"))
+ switch (message.maximumEdition) {
+ default:
+ return "maximumEdition: enum value expected";
+ case 0:
+ case 900:
+ case 998:
+ case 999:
+ case 1000:
+ case 1001:
+ case 1:
+ case 2:
+ case 99997:
+ case 99998:
+ case 99999:
+ case 2147483647:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FeatureSetDefaults message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults
+ */
+ FeatureSetDefaults.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FeatureSetDefaults)
+ return object;
+ var message = new $root.google.protobuf.FeatureSetDefaults();
+ if (object.defaults) {
+ if (!Array.isArray(object.defaults))
+ throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: array expected");
+ message.defaults = [];
+ for (var i = 0; i < object.defaults.length; ++i) {
+ if (typeof object.defaults[i] !== "object")
+ throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected");
+ message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i]);
+ }
+ }
+ switch (object.minimumEdition) {
+ default:
+ if (typeof object.minimumEdition === "number") {
+ message.minimumEdition = object.minimumEdition;
+ break;
+ }
+ break;
+ case "EDITION_UNKNOWN":
+ case 0:
+ message.minimumEdition = 0;
+ break;
+ case "EDITION_LEGACY":
+ case 900:
+ message.minimumEdition = 900;
+ break;
+ case "EDITION_PROTO2":
+ case 998:
+ message.minimumEdition = 998;
+ break;
+ case "EDITION_PROTO3":
+ case 999:
+ message.minimumEdition = 999;
+ break;
+ case "EDITION_2023":
+ case 1000:
+ message.minimumEdition = 1000;
+ break;
+ case "EDITION_2024":
+ case 1001:
+ message.minimumEdition = 1001;
+ break;
+ case "EDITION_1_TEST_ONLY":
+ case 1:
+ message.minimumEdition = 1;
+ break;
+ case "EDITION_2_TEST_ONLY":
+ case 2:
+ message.minimumEdition = 2;
+ break;
+ case "EDITION_99997_TEST_ONLY":
+ case 99997:
+ message.minimumEdition = 99997;
+ break;
+ case "EDITION_99998_TEST_ONLY":
+ case 99998:
+ message.minimumEdition = 99998;
+ break;
+ case "EDITION_99999_TEST_ONLY":
+ case 99999:
+ message.minimumEdition = 99999;
+ break;
+ case "EDITION_MAX":
+ case 2147483647:
+ message.minimumEdition = 2147483647;
+ break;
+ }
+ switch (object.maximumEdition) {
+ default:
+ if (typeof object.maximumEdition === "number") {
+ message.maximumEdition = object.maximumEdition;
+ break;
+ }
+ break;
+ case "EDITION_UNKNOWN":
+ case 0:
+ message.maximumEdition = 0;
+ break;
+ case "EDITION_LEGACY":
+ case 900:
+ message.maximumEdition = 900;
+ break;
+ case "EDITION_PROTO2":
+ case 998:
+ message.maximumEdition = 998;
+ break;
+ case "EDITION_PROTO3":
+ case 999:
+ message.maximumEdition = 999;
+ break;
+ case "EDITION_2023":
+ case 1000:
+ message.maximumEdition = 1000;
+ break;
+ case "EDITION_2024":
+ case 1001:
+ message.maximumEdition = 1001;
+ break;
+ case "EDITION_1_TEST_ONLY":
+ case 1:
+ message.maximumEdition = 1;
+ break;
+ case "EDITION_2_TEST_ONLY":
+ case 2:
+ message.maximumEdition = 2;
+ break;
+ case "EDITION_99997_TEST_ONLY":
+ case 99997:
+ message.maximumEdition = 99997;
+ break;
+ case "EDITION_99998_TEST_ONLY":
+ case 99998:
+ message.maximumEdition = 99998;
+ break;
+ case "EDITION_99999_TEST_ONLY":
+ case 99999:
+ message.maximumEdition = 99999;
+ break;
+ case "EDITION_MAX":
+ case 2147483647:
+ message.maximumEdition = 2147483647;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FeatureSetDefaults message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @static
+ * @param {google.protobuf.FeatureSetDefaults} message FeatureSetDefaults
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FeatureSetDefaults.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.defaults = [];
+ if (options.defaults) {
+ object.minimumEdition = options.enums === String ? "EDITION_UNKNOWN" : 0;
+ object.maximumEdition = options.enums === String ? "EDITION_UNKNOWN" : 0;
+ }
+ if (message.defaults && message.defaults.length) {
+ object.defaults = [];
+ for (var j = 0; j < message.defaults.length; ++j)
+ object.defaults[j] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.toObject(message.defaults[j], options);
+ }
+ if (message.minimumEdition != null && message.hasOwnProperty("minimumEdition"))
+ object.minimumEdition = options.enums === String ? $root.google.protobuf.Edition[message.minimumEdition] === undefined ? message.minimumEdition : $root.google.protobuf.Edition[message.minimumEdition] : message.minimumEdition;
+ if (message.maximumEdition != null && message.hasOwnProperty("maximumEdition"))
+ object.maximumEdition = options.enums === String ? $root.google.protobuf.Edition[message.maximumEdition] === undefined ? message.maximumEdition : $root.google.protobuf.Edition[message.maximumEdition] : message.maximumEdition;
+ return object;
+ };
+
+ /**
+ * Converts this FeatureSetDefaults to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FeatureSetDefaults.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FeatureSetDefaults
+ * @function getTypeUrl
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FeatureSetDefaults.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FeatureSetDefaults";
+ };
+
+ FeatureSetDefaults.FeatureSetEditionDefault = (function() {
+
+ /**
+ * Properties of a FeatureSetEditionDefault.
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @interface IFeatureSetEditionDefault
+ * @property {google.protobuf.Edition|null} [edition] FeatureSetEditionDefault edition
+ * @property {google.protobuf.IFeatureSet|null} [overridableFeatures] FeatureSetEditionDefault overridableFeatures
+ * @property {google.protobuf.IFeatureSet|null} [fixedFeatures] FeatureSetEditionDefault fixedFeatures
+ */
+
+ /**
+ * Constructs a new FeatureSetEditionDefault.
+ * @memberof google.protobuf.FeatureSetDefaults
+ * @classdesc Represents a FeatureSetEditionDefault.
+ * @implements IFeatureSetEditionDefault
+ * @constructor
+ * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault=} [properties] Properties to set
+ */
+ function FeatureSetEditionDefault(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]];
+ }
+
+ /**
+ * FeatureSetEditionDefault edition.
+ * @member {google.protobuf.Edition} edition
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ * @instance
+ */
+ FeatureSetEditionDefault.prototype.edition = 0;
+
+ /**
+ * FeatureSetEditionDefault overridableFeatures.
+ * @member {google.protobuf.IFeatureSet|null|undefined} overridableFeatures
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ * @instance
+ */
+ FeatureSetEditionDefault.prototype.overridableFeatures = null;
+
+ /**
+ * FeatureSetEditionDefault fixedFeatures.
+ * @member {google.protobuf.IFeatureSet|null|undefined} fixedFeatures
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ * @instance
+ */
+ FeatureSetEditionDefault.prototype.fixedFeatures = null;
+
+ /**
+ * Creates a new FeatureSetEditionDefault instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ * @static
+ * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault=} [properties] Properties to set
+ * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault instance
+ */
+ FeatureSetEditionDefault.create = function create(properties) {
+ return new FeatureSetEditionDefault(properties);
+ };
+
+ /**
+ * Encodes the specified FeatureSetEditionDefault message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ * @static
+ * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault} message FeatureSetEditionDefault message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FeatureSetEditionDefault.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.edition);
+ if (message.overridableFeatures != null && Object.hasOwnProperty.call(message, "overridableFeatures"))
+ $root.google.protobuf.FeatureSet.encode(message.overridableFeatures, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.fixedFeatures != null && Object.hasOwnProperty.call(message, "fixedFeatures"))
+ $root.google.protobuf.FeatureSet.encode(message.fixedFeatures, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FeatureSetEditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ * @static
+ * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault} message FeatureSetEditionDefault message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FeatureSetEditionDefault.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FeatureSetEditionDefault message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FeatureSetEditionDefault.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.protobuf.FeatureSetDefaults.FeatureSetEditionDefault();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ if (tag === error)
+ break;
+ switch (tag >>> 3) {
+ case 3: {
+ message.edition = reader.int32();
+ break;
+ }
+ case 4: {
+ message.overridableFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.fixedFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FeatureSetEditionDefault message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FeatureSetEditionDefault.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FeatureSetEditionDefault message.
+ * @function verify
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FeatureSetEditionDefault.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.edition != null && message.hasOwnProperty("edition"))
+ switch (message.edition) {
+ default:
+ return "edition: enum value expected";
+ case 0:
+ case 900:
+ case 998:
+ case 999:
+ case 1000:
+ case 1001:
+ case 1:
+ case 2:
+ case 99997:
+ case 99998:
+ case 99999:
+ case 2147483647:
+ break;
+ }
+ if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) {
+ var error = $root.google.protobuf.FeatureSet.verify(message.overridableFeatures);
+ if (error)
+ return "overridableFeatures." + error;
+ }
+ if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures")) {
+ var error = $root.google.protobuf.FeatureSet.verify(message.fixedFeatures);
+ if (error)
+ return "fixedFeatures." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault
+ */
+ FeatureSetEditionDefault.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
+ return object;
+ var message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault();
+ switch (object.edition) {
+ default:
+ if (typeof object.edition === "number") {
+ message.edition = object.edition;
+ break;
+ }
+ break;
+ case "EDITION_UNKNOWN":
+ case 0:
+ message.edition = 0;
+ break;
+ case "EDITION_LEGACY":
+ case 900:
+ message.edition = 900;
+ break;
+ case "EDITION_PROTO2":
+ case 998:
+ message.edition = 998;
+ break;
+ case "EDITION_PROTO3":
+ case 999:
+ message.edition = 999;
+ break;
+ case "EDITION_2023":
+ case 1000:
+ message.edition = 1000;
+ break;
+ case "EDITION_2024":
+ case 1001:
+ message.edition = 1001;
+ break;
+ case "EDITION_1_TEST_ONLY":
+ case 1:
+ message.edition = 1;
+ break;
+ case "EDITION_2_TEST_ONLY":
+ case 2:
+ message.edition = 2;
+ break;
+ case "EDITION_99997_TEST_ONLY":
+ case 99997:
+ message.edition = 99997;
+ break;
+ case "EDITION_99998_TEST_ONLY":
+ case 99998:
+ message.edition = 99998;
+ break;
+ case "EDITION_99999_TEST_ONLY":
+ case 99999:
+ message.edition = 99999;
+ break;
+ case "EDITION_MAX":
+ case 2147483647:
+ message.edition = 2147483647;
+ break;
+ }
+ if (object.overridableFeatures != null) {
+ if (typeof object.overridableFeatures !== "object")
+ throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridableFeatures: object expected");
+ message.overridableFeatures = $root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures);
+ }
+ if (object.fixedFeatures != null) {
+ if (typeof object.fixedFeatures !== "object")
+ throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected");
+ message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FeatureSetEditionDefault message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ * @static
+ * @param {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} message FeatureSetEditionDefault
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FeatureSetEditionDefault.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0;
+ object.overridableFeatures = null;
+ object.fixedFeatures = null;
+ }
+ if (message.edition != null && message.hasOwnProperty("edition"))
+ object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition;
+ if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures"))
+ object.overridableFeatures = $root.google.protobuf.FeatureSet.toObject(message.overridableFeatures, options);
+ if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures"))
+ object.fixedFeatures = $root.google.protobuf.FeatureSet.toObject(message.fixedFeatures, options);
+ return object;
+ };
+
+ /**
+ * Converts this FeatureSetEditionDefault to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FeatureSetEditionDefault.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FeatureSetEditionDefault
+ * @function getTypeUrl
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FeatureSetEditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault";
+ };
+
+ return FeatureSetEditionDefault;
+ })();
+
+ return FeatureSetDefaults;
+ })();
+
+ protobuf.SourceCodeInfo = (function() {
+
+ /**
+ * Properties of a SourceCodeInfo.
+ * @memberof google.protobuf
+ * @interface ISourceCodeInfo
+ * @property {Array.|null} [location] SourceCodeInfo location
+ */
+
+ /**
+ * Constructs a new SourceCodeInfo.
+ * @memberof google.protobuf
+ * @classdesc Represents a SourceCodeInfo.
+ * @implements ISourceCodeInfo
+ * @constructor
+ * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set
+ */
+ function SourceCodeInfo(properties) {
+ this.location = [];
+ 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]];
+ }
+
+ /**
+ * SourceCodeInfo location.
+ * @member {Array.